Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Atestat - pascal sau c++

ATESTAT - Pascal sau C++

Cap. 1 Algoritmi elementari

  1. Se citesc numere de la tastatura pana la intalnirea lui 0. Afisati suma numerelor care au exact k divizori (k se citeste de la tastatura). Restrictii:

  1. Se citesc de la tastatura n numere naturale mai mici decat 100. Afisati produsul cifrelor diferite de zero ale numerelor citite. Restrictii:



  1. Se citeste un numar natural n (n). Afisati numarul in baza b (b se citeste de la tastatura). Restrictii: .

  1. Scrieti un program care determina toate numerele naturale perfecte mai mici decat un numar natural n  citit de la tastatura. Un numar este perfect daca este egal cu suma divizorilor sai. Exemplu: 28 = 1 + 2 + 4 + 7 + 14

  1. Se citesc dintr-un fisier text, n numere naturale formate din 3 cifre. Afisati in alt fisier mesajul "Este palindrom" daca numarul format din cifra din mijloc a fiecarui numar citit este palindrom. Exemplu: daca n=5 si cele n numere sunt:123, 345, 654, 447, 921 numarul care se obtine este 24542 si este palindrom, sau daca n=5 si numerele sunt : 123, 345, 654, 437, 921, atunci numarul 24532 nu este palindrom

  1. Dintr-un fisier text se citesc n numere naturale pozitive . Afisati pe ecran toate numerele care indeplinesc conditia ca oglinditul lor sa fie un numar prim. Restrictii: Numerele nu vor contine cifra 0.

  1. Se da un numar natural n (n<100.000.000) format din cifre nenule.

    1. Determinati numerele naturale n1 si n2 formate din cifrele pare, respectiv impare din n (in ordinea din numar)
    2. Afisati cel mai mare numar care poate fi obtinut din concatenarea numerelor n1 si n2.

  1. Se da un numar natural n (n<100.000.000). Sa se afiseze descompunerea lui n ca suma de numere naturale consecutive incepand de la 1. In caz ca nu exista solutie, se va afisa un mesaj corespunzator. Exemplu: n=15, n=1+2+3+4+5

  1. Se da un numar natural n (n<100.000.000). Sa se afiseze toate descompunerile lui n ca suma de numere naturale consecutive. Exemplu: n=15n=1+2+3+4+5=4+5+6=7+8

  1. Se citeste un numar natural n. Sa se determine cel mai apropiat numar prim fata de n. Exemplu: daca n= 20 cel mai apropiat numar prim este 19, iar daca n=22 rezultatul va fi 23.

  1. Se citesc doua valori a si b care reprezinta capetele unui intreval. Sa se construiasca un subprogram care primeste prin doi parametri capetele intervalului si intoarce printr-un alt parametru numarul de valori palindrom. Exemplu daca a=10 si b=20 singurul numar palindrom din intervalul dat este 11 si funtia trebuie sa returneze valoarea 1.

  1. Sa se scrie o functie care verifica daca un numar este sufixul patratului sau Exemplu: n=25 si patratul sau 625

  1. Sa se determine si sa se afiseze pe ecran toate numerele naturale de cel putin doua cifre formate numai din cifre pare, distincte.

  1. Sa se genereze primele n numere prime, n citit de la tastaura.

  1. Sa se determine suma tuturor numerelor formate numai din cifre impare distincte.

  1. Se citesc de la tastatura numerele x si y. Afisati divizorii comuni ai acestora.

  1. Se dau 2 numere naturale a si b.(0<=a<=b<100.000.000 . Sa se afiseze numarul de cifre ale tuturor numerelor din intervalul [a,b].

Cap.2 Tablouri

  1. Fisierul text 'matrice.in" contine:

- pe prima linie doua numere naturale n si m care reprezinta numarul de linii, respectiv numarul de coloane ale unui tablou bidimensional A(n x m).

- pe urmatoarele n linii cate m numere naturale din intervalul [0,9].

Elementele de pe fiecare linie reprezinta cifrele unui numar intr-o anumita baza. Determinati si afisati pentru fiecare linie:

a) baza minima in care cifrele respective pot reprezenta un numar.

b) valoarea obtinuta dupa conversia numarului in baza 10, daca se considera ca numarul este reprezentat in baza determinata la punctul a


  1. Din fisierul de intrare tab2.in se citeste de pe prima linie n (0<n<100) si de pe urmatoarele n linii cele n*n elemente ale unei matrici patratice (toate elementele matricii sunt numere naturale mai mici decat 32.767). Scrieti programul care creeaza fisierul text tab2.out care contine:

pe prima linie acele numere din matrice care au cel putin doi divizori strict mai mici decat numarul in sine;

pe linia a doua din fisier toate numerele prime din matrice.


  1. Realizati un program care determina cel mai mare divizor comun al elementelor situate pe fiecare coloana a unei matrice patratice. Matricea se va citi din fisier text care are urmatoarea structura: pe prima linie 2 numere n si m care reprezinta numarul de linii si de coloane si apoi cele n linii ale matricei.

  1. Fie multimea de numere M=. Un tablou cu n linii si n coloane se numeste patrat latin daca fiecare element al multimii M apare o data si numai o data pe fiecare linie si pe fiecare coloana. Sa se scrie programul care citeste din fisierul "tab5.in" de pe prima linie n si de pe urmatoarele n linii elementele tabloului si scrie in fisierul de iesire tab5.out mesajul "Tabloul este patrat latin" sau "Tabloul nu este patrat latin". Exemplu: pentru tab5.in (4//1 2 3 4//4 1 2 3//3 4 1 2//2 3 4 1) se va scrie in fisierul tab5.out mesajul ("Tabloul este patrat latin").



  1. Scrieti programul care creeaza fisierul tab1.out ce contine pe prima sa linie, in ordine, toate literele mari ale alfabetului englez, cu exceptia vocalelor, aflate in alfabet dupa o litera mare citita de la tastatura. Exemplu: daca se citeste litera R, atunci fisierul tab1.out va contine: STVWXYZ.

  1. Se citeste dintr-un fisier text o matrice cu n linii si m coloane cu componente numere intregi. Se cere sa se afiseze numarul/numerele de ordine a liniilor din matrice care au cele mai multe componente distincte.

  1. Se considera o matrice A(n, n) cu p elemente nenule. Matricea este memorata economic sub forma a 3 vectori V, L, C cu cate p elemente ce retin valoarea, linia, coloana fiecarui element nenul din matrice. Sa se scrie programul care citeste n, p si vectorii dintr-un fisier text si construieste matricea A corespunzatoare.

  1. Se citeste de la tastatura un numar natural N cuprins intre 1 si 20 inclusiv. Sa se constriasca o matrice patratica de dimensiune N care sa memoreze primele N*N numere prime. Ordinea de completare a matricei va fi spirala in sens invers trigonometric. Se considera ca primul numar prim este 2. Matricea rezultata se va scrie in fisierul "matrice.out".

Exemplu

Daca N=4 atunci matricea va fi:

2357

37 41 43 11

31 53 47 13

29        23 19 17

  1. Sa se construiasca un program care permite inlocuirea elementelor unui vector cu suma factorialelor cifrelor lor daca aceasta suma nu se afla intr-un interval [x,y], citite de la tastatura.

  1. Se considera un vector cu n elemente numere reale. Inserati in fata fiecarui element negativ un element de valoare 0. Elementele vor fi afisate cu 2 zecimale. Exemplu : n=4 si vectorul : (2.32, -4.34, -9.2, 1.0) se va afisa : 2.23 0.00 -4.34 0.00 -9.20 1.00

  1. Se citeste din fisierul text matrice.txt o matrice patratica, se imparte matricea in patru zone, din care lipsesc diagonalele. Se cere:

a.     suma elementelor din prima zona,

b.     afisarea numerelor prime din zona a doua

c.      suma elementelor pare din zona 3

  1. Se da o matrice patratica de dimensiune n citita din fisierul matrice.in Se cere sa se bordeze matricea cu cel mai mare divizor comun de pe fiecare linie.

  1. Se da un vector cu n elemente numere intregi. Sa se elimine din vector toate elementele care au mai mult de 2 divizori proprii.

  1. Se considera o multime de n numere reale. Se cere o submultime a sa , cu un numar maxim de elemente, astfel incat suma elementelor sale sa fie maxima. Exemplu: daca n=5 si vectorul contine: -3, 2, 1, 5, -6 suma maxima este 8 iar submultimea care o formeaza este alcatuita din valorile : 2,1,5.

Cap. 3 Siruri de caractere, structuri


1.     Se citesc de la tastatura 3 siruri de caractere s, s1 si s2. Sa se inlocuiasca toate aparitiile sirului s1 din sirul s cu sirul s2.


2.     Se citeste un text de la tastatura. Sa se insereze dupa fiecare vocala codul ASCII corespunzator acesteia. Afisati textul modificat.


3.     Se citeste un text de la tastatura. Cuvintele se considera separate prin spatiu, virgula sau punct si virgula. Numarati cate cuvinte contine textul si cate dintre acestea sunt palindrom. Un cuvant se considera ca fiind palindrom, daca ignorand diferentele dintre minuscule si majuscule, este identic cu cuvantul obtinut prin citirea caracterelor de la dreapta la stanga.


4.     Se citeste de la tastatura o propozitie terminata cu punct. Cuvintele din propozitie sunt separate prin caracterul virgula si prin caracterul spatiu. Dupa virgula poate exista si spatiu. Se cere:

a.     sa se afiseze cuvintele din propozitie, fiecare pe cate un rand. Cuvintele vor fi afisate cu litere mici, exceptand prima litera care va fi majuscula.

b.     Sa se numere si sp se afiseze cate cuvinte contine aceasta propozitie.


  1. La un concurs de informatica au participat n elevi, pentru fiecare elev cunoscandu-se numele, liceul de provenienta si nota obtinuta. Realizati un program care citeste datele elevilor participanti, apoi tipareste numele elevilor cu cea mai mare nota, media generala a concurentilor precum si numele elevilor ce au obtinut un punctaj peste aceasta medie.

  1. Sa se descompuna un numar in factori primi, memorand rezultatul sub forma unui vector de inregistrari: fiecare inregistrare va cuprinde doua campuri, unul indicand factorul prim, iar celalalt puterea la care apare in descompunere. Sa se afiseze factorii primi care apar la puterea cea mai mare.

  1. Se citesc din fisier text un text alcatuit din unul sau mai multe cuvinte. Cuvintele sunt separate printr-un singur spatiu. Sa se afiseze aceste cuvinte in ordine alfabetica si apoi sa se numere cate dintre ele incep si se termina cu aceeasi litera.

  1. Sa se elimine toate aparitiile in exces ale caracterului spatiu dintr-un text . De exemplu, daca textul initial este "Examenulla informatica " , se va obtine textul "Examenul la informatica".



  1. Intr-un fisier text sunt pastrate informatii despre elevii unei clase. Pe primul rand este inregistrat numarul n de elevi din clasa. De pe urmatoarele n linii se vor citi pentru fiecare elev: numele si CNP-ul. Sa se afiseze numele si ziua nasterii celui mai tanar elev din clasa. Daca sunt mai multi elevi cu aceeasi varsta minima, se vor afisa toti elevii respectivi. (Codul numeric personal este format din 13 caractere, astfel: saallzzxxxxxx, unde s precizeaza sexul persoanei respective si poate lua valoarea 1 pentru masculin si 2 pentru feminin, iar aa reprezinta anul , ll reprezinta luna, zz reprezinta ziua din data de nastere.)

Cap.4 Recursivitate


1.     Se citesc de la tastatura doua numere naturale n si k (n≥k, n>0). Sa se calculeze, recursiv, nk si Cnk.


2.     Se citeste o valoare naturala n . Se cere sa se scrie un subprogram recursiv care sa calculeze valoarea expresiei:

a.     E1=1*3 - 2*4 + 3*5 - 4*6+.+(-1)n+1 *n*(n+2)

b.     E2=2*4*6*8*..*(2*n)


3.     Se citeste un numar intreg si pozitiv. Se cere sa se scrie cate un subprogram recursiv care sa determine:

a.     Suma cifrelor impare ale numarului

b.     Daca numarul este bine ordonat crescator


4.     Se citeste o valoare naturala n . Se cere sa se scrie cate un subprogram recursiv care sa calculeze valoarea expresiei:

a.     E1=1 *4*7*.*(3n-2)

b.     E2=2 - 4 + 6 +.+(-1)n+1 (2*n)


5.     Se citesc doua numere naturale diferite a si b. Se cere:

a.     Definiti o functie recursiva care sa calculeze valoarea ab.

b.     Definiti o functie recursiva care sa calculeze suma valorilor din intervalul [a, b]


6.     Se citeste de la tastatura un vector cu n elemente numere intregi. Se cere:

a.     Scrieti o functie recursiva care calculeaza produsul elementelor impare din vector.

b.     Scrieti o functie recursiva care determina daca elementele situate simetric fata de mijlocul vectorului sunt egale.


7.     Se citeste de la tastatura un vector cu n elemente numere intregi. Se cere:

a.     Scrieti o functie recursiva care calculeaza suma elementelor din vector

b.     Scrieti o functie recursiva care verifica daca exista cel putin o valoare pozitiva in vector .


8.     Se citeste un sir de caractere. Realizati un subprogram recursiv care returneaza acest sir oglindit, din care lipsesc consoanele.

Cap. 5. Backtracking


  1. Sa se determine toate sirurile de n numere intregi (x1, x2, , xn) astfel incat x1=a, xn=b (n,a si b citite de la tastatura, |a-b|≤n-1), iar diferenta dintre orice doua numere vecine este cel mult 1. Scrierea se va face in fisierul numere.txt. Sa se precizeze numarul de solutii ale problemei.

  1. Sa se genereze toate sirurile de n (n<=6) note muzicale din multimea . Fiecare sir va fi afisat pe cate o linie, acestea se pot repeat in cadrul unui sir.

  1. Un student are de sustinut intr-o sesiune n exemene, numerotate cu numere de la 1 la n, in functie de ordinea in care trebuie sa le sustina. Sesiunea dureaza un numar de m zile consecutive (n<=[m/2]<=10), iar studentul paote sa-si programeze fiecare examen in ce zi doreste, respectand doar ordinea acestora.In plus el nu doreste sa aiba de sustinut doua examnene in zile consecutive. Sa se genereze toate programarile pe zile ale examenelor in conditiile dorite de student.Zilele sesiunii vor fi numerotate de la 1 la m.

  1. Sa se afiseze toate numerele naturale de n cifre care contin k cifre de 1. Exemplu: pentru n=3 si k=2 se obtin solutiile 101, 110 , 112, 113,., 911.

  1. Se citeste n, un numar natural. Sa se afiseze toate numerele naturale, formate din cifre distincte nenule, care sunt mai mici decat n si care au aceiasi suma a cifrelor ca si n. Exemplu: daca n=312 atunci trebuie afisate numerele 123, 132, 15, 213, 231, 24, 42, 51, 6

  1. Se citeste de la tastatura un cuvant de maxim 6 litere. Sa se afiseze toate anagramele sale. Exemplu: daca se citeste cuvantul mar atunci se va afisa: mar, mra, amr, arm, rma, ram.

  1. Sa se genereze toate modalitatile de asezare pe tabla de sah a n regi, fiecare pe cate o linie, astfel incat sa nu se atace intre ei. Solutiile se vor afisa in fisierul text REGI.OUT si se vor numerota.



  1. Se considera un numar natural n (citit de la tastatura) din intervalul (1100). Creati programul care scrie in fisierul de iesire back1.out toate numerele naturale de n cifre cu produsul cifrelor egal cu 8. Exemplu: pentru n=3, in fisierul de iesire se vor scrie, pe cate o linie, urmatoarele secvente:(118//124//142//181//214//222//241//412//421//811).

  1. Sa se genereze toate sirurile strict crescatoare formate din numere naturale cu proprietatea ca primul element din sir este n iar ultimul element din sir este n+p. Numerele n si p se citesc de la tastatura (0<n<20 si 0<p<16). Fiecare sir generat va fi scris pe cate o linie, in fisierul de iesire back2.out, elementele sirului fiind separate prin cate un spatiu. Exemplu: pentru n=7 si p=3 se vor afisa, nu neaparat in aceasta ordine sirurile: (7 8 9 10//7 8 10//7 9 10//7 10) .

Cap. 6. Liste

1.     Din fisierul lista.txt se citesc mai multe numere naturale. Sa se creeze o lista liniara simplu inlantuita cu numerele cu suma cifrelor k (citit de la tastatura) si sa se afiseze. Sa se stearga din lista numerele pare si sa se afiseze lista.

2.     Se citeste N natural. Sa se construiasca o lista care contine divizorii lui N. (toti). Se citeste de la tastatura un numar X. Sa se afiseze elementele din L care sunt prime cu X.


3.     Sa se creeze un arbore binar avand drept chei numere intregi, citite de la tastatura. Pentru acest arbore afisati cheile in postordine, afisati cheile din nodurile care au exact un succesor, fie drept, fie stang. Determinati cate noduri terminale contine arborele.


4.     Intr-un fisier text sunt asezate numere intregi pe o singura linie. Numerele sunt separate printr-un singur spatiu. Se cere sa se construiasca o lista cu numerele din fisier care sa respecte urmatoarele reguli:

a.     daca numarul curent citit din fisier nu se mai gaseste in lista atunci el va fi adaugat la sfarsitul listei, altfel el va fi adaugat langa numarul care are aceeasi valoare cu el;

b.     se va citi de la tastatura un numar intreg k si vor fi sterse din lista toate elementele care sunt egale cu k;

c.      Se va afisa lista inainte si dupa operatia de stergere.


5.     Sa se scrie un program care construieste un arbore binar cu n noduri avand drept chei numere intregi citite de la tastatura . Sa se afiseze:

a.     arborele construit in preordine, postordine, inordine

b.     suma cheilor pare


6.     Sa se scrie un program care construieste un arbore binar cu n noduri avand drept chei numere intregi citite de la tastatura . Sa se afiseze:

a.     valoarea minima si maxima din arbore

b.     cheile din nodurile care au exact un succesor(fie stang, fie drept).


7.     Sa se scrie un program care construieste o lista simplu inlantuita cu n noduri avand drept chei numere intregi citite de la tastatura . Se citesc apoi doua numere intregi in variabilele x si y. Sa se inlocuiasca toate aparitiile valorii x in lista cu valoarea y. Afisati lista inainte si dupa modificare.


Cap. 7. Grafuri


1.     Se citeste de la tastatura o fraza. Sa se construiasca un arbore binar de cautare cuprinzand caracterele din fraza si frecventele lor de aparitie. Sa se afiseze pe ecran caracterele (in ordinea codurilor ASCII), impreuna cu frecventele lor de aparitie.


2.     Consideram un (di)graf si o functie de cost atasata muchiilor, se cere sa se determine drumurile de cost minim de la un nod i0 la toate nodurile grafului precum si costurile acestor drumuri.


3.     Se citeste matricea de adiacenta a unui graf orientat. Sa se afiseze toate nodurile pentru care d+(x)=d_(x) (gradul exterior este egal cu gradul interior). Pentru un nod x citit sa se listeze toate nodurile adiacente cu acesta.


4.     In fisierul text graf1.in sunt memorate pe prima linie n (numarul de noduri al unui graf neorientat G) si m (numarul de muchii ale grafului) iar pe urmatoarele m linii perechi de numere care reprezinta muchiile lui. Se cere sa se afiseze, in fisierul graf1.out, o parcurgere in adancime a grafului plecand din nodul de grad maxim.


5.     Se defineste o muchie a unui graf neorientat ca o inregistrare cu trei campuri: cele doua varfuri extremitati si un cost asociat muchiei (un numar intreg). Definim un graf neorientat ca un vector de muchii. Fiind dat vectorul de muchii al unui graf neorientat G=(X,U) cu m muchii si n varfuri, sa se afiseze matricea de adiacenta si muchia (muchiile) de cost minim.


6.     Fie un graf G cu n varfuri a carui matrice de adiacenta se citeste dintr-un fisier text. Sa se determine daca graful G este neorientat. In cazul in care G este un graf neorientat, sa se verifice daca este graf regulat.


7.     Se citeste dintr-un fisier text matricea de adiacenta a unui graf neorientat cu n varfuri. Sa se afiseze toate componentele conexe, precum si numarul acestora. La fiecare componenta conexa sa se precizeze cate varfuri contine.


8.     Sa se verifice daca o secventa de noduri data reprezinta un drum elementar sau neelementar intr-un graf orientat. Numarul de noduri ale grafului, matricea de adiacenta si secventa de noduri se citesc dintr-un fisier text.