Sunteți pe pagina 1din 2

1.

Se considera programul pseudocod alaturat:


S-a notat cu x%y restul împãrtirii nr. întregi x si y si cu [z] partea întreaga a numarului real z.
1. Ce valori se vor afisa pentru n=40?
2. Scrieti o valoare a lui n pentru care, în urma executarii alg., singura valoare afisata este n.
3. Scrieti programul C++ corespunzator algoritmului dat.
4. Scrieti programul pseudocod echivalent cu o singura structura repetitiva.
citeste n {n natural}
i 2
┌repetă
│┌cât timp n%i=0 execută
││ scrie i; n[n/i]
│└■
│ i i+1
└până când n=1
2.Ce se va afisa în urma executarii secventei de instructiuni alaturate?
i=1; j=1; while (i<=7) {cout<<j; i=i+3; } a. 1 1 1 b. 1 2 3 4 5 6 7 c. 1 4 7 d. 1 1 1 1 1 1 1
3. Se considera graful orientat G = (X, U) unde X = {1, 2, 3, 4, 5, 6}si U = {(1,2),(1,5), (1,6), (2,3),
(3,5), (4,1), (5,4)}. Identificati care sunt nodurile accesibile din toate celelalte noduri ale grafului prin
intermediul unor drumuri elementare. a. 6 b. 1 5 c. 1 2 3 5 d. 4 5
4. Ce valoare va retine variabila x dupa executarea urmatoarei secvente de atribuiri ?
x10; y3; xx-y; yx+y; xy-x a. 10 b. -3 c. 7 d. 3
5.Un graf neorientat are 9 noduri. Numărul minim de muchii pe care trebuie să le aibă graful astfel încât
să nu existe noduri izolate este: a.5 b. 8 c. 9 d. 36
6.Câţi fraţi are nodul 1 din arborele cu rădăcină cu 7 noduri, numerotate de la 1 la 7, având următorul
vector ”de taţi”: (5,1,5,1,0,7,5)? a.0 b. 1 c. 2 d. 3
7. Care este numărul minim de arce pe care le poate avea un graf orientat cu 6 vârfuri şi 3
componente tare conexe? a) 4; b) 5; c) 6; d) 10.
8.Câte grafuri orientate cu 5 vârfuri, dintre care unul este izolat există? a)10*211; b)10*25; c) 212; d) nu
poate fi precizat.
9. Pentru un elev, în variabila e se memorează următoarele informații: nume (un șir de cel mult 20 de
caractere), data nașterii (ziua, luna și anul) şi media anuală. Știind că expresiile C++ de mai jos au ca
valori ziua (un număr natural din intervalul [1,31]), luna (un număr natural din intervalul [1,12]) și anul
nașterii (număr natural), respectiv media anuală (un număr real), scrieți definiția unei structuri cu
eticheta elev, care permite memorarea informațiilor pentru un elev, și declarați corespunzător variabila e.
10.Utilizând metoda backtracking, se generează toate posibilitățile de a forma echipe diferite de câte 4
persoane din mulțimea {Ionuț, Maria, Mihai, Ana, Mihaela, Gabriel}, astfel încât în fiecare echipă să fie
exact doi băieți și două fete. Primele două soluţii generate sunt, în această ordine, (Ionuț, Maria, Mihai,
Ana), (Ionuț, Maria, Mihai, Mihaela,). Scrieți, în ordinea obținerii, ultimele două soluții generate.
11. Un algoritm generează în ordine crescătoare, toate numerele de n cifre (n<9), cu cifre distincte, care
nu au două cifre pare alăturate. Dacă pentru n=5, primele 5 soluţii generate sunt 10325, 10327, 10329,
10345, 10347, precizaţi care sunt următoarele 3 soluţii generate, în ordinea obţinerii lor.
12.Utilizând metoda backtracking, se generează în ordine lexicografică toate anagramele cuvântului
caiet (cuvinte formate din aceleaşi litere, eventual în altă ordine). Câte cuvinte vor fi generate?
a. 60 b. 100 c. 200 d. 120
13.Subprogramul f este definit alăturat. Indicați cea mai mare valoare din intervalul [20,25] pe care o
poate avea variabila întreagă x, astfel încât, în urma apelului f(x,1), să se afișeze numerele 2 4 16.
void f(int n, int p)
{ if(n>0)
{ if(n%2==1) cout<<p<<" "; f(n/2, p*2); } } a.21 b. 22 c. 23 d. 24
14. Se consideră subprogramul f, definit alăturat. Indicați ce valoare are f(15).
int f(int n)
{ if (n<10) return f(n+1)+3;
else if (n==10) return 7;
else return f(n-2)-1; } a. 1 b. 7 c. 8 d. 10

15.Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈[3,50]) și construiește în
memorie un tablou bidimensional cu n linii şi n coloane, astfel încât:- fiecare element aflat pe diagonala
secundară va avea valoarea n; - elementele aflate strict deasupra diagonalei secundare vor fi primele
n(n-1)/2 pătrate perfecte nenule; - elementele aflate strict sub diagonala secundară vor avea valoarea 1.
Programul afişează pe ecran tabloul obținut, câte o linie a tabloului pe câte o linie a ecranului,
elementele fiecărei linii fiind separate prin câte un spaţiu. Exemplu: dacă n=4, se afișează pe ecran
1 4 9 4
16 25 4 1
36 4 1 1
4 1 1 1

16.Se consideră subprogramul perechi, cu cinci parametri: a, b, c, n numere naturale distincte, v vector
cu cel mult 100 de elemente numere naturale distincte. Subprogramul afișează toate perechile (x,y) cu cu
proprietatea că x și y sunt numere diferite din v, care verifică ecuația ax^2 + by^2 = c. Dacă nu există
astfel de valori, se va afișa Nu. Exemplu: Dacă a = 1, b = 1, c = 25, n = 5, v = (3 18 5 0 4), atunci se vor
afișa perechile (3,4) (4,3) (0,5) (5,0), nu neapărat în această ordine.

17.Scrieţi un program C++ care citeşte de la tastatură un şir de cel mult 50 de caractere (litere mici şi
mari ale alfabetului englez, cifre şi spaţii) şi afişează pe ecran litera mare cel mai des întâlnită în şirul
citit. Dacă există mai multe litere mari cu număr maxim de apariţii, programul o va afişa pe ultima
dintre ele în ordine alfabetică. Dacă şirul nu conţine litere mari, atunci pe ecran se va afişa mesajul nu.
Exemplu: dacă se citeşte şirul: MERGEM LA MARE atunci se va afişa: M (pentru că literele E şi M
apar de cele mai multe ori în şir şi M este ultima dintre ele în ordine alfabetică).

18.Scrieti programul C++ care citeste din fisierul BAC.TXT un sir s de cel mult un milion de numere
naturale, fiecare numar având cel mult patru cifre, si care determina în mod eficient din punctul de
vedere al timpului de executare si al spatiului de memorie folosit, numarul de componente ale sirului
obtinut prin eliminarea din cele doua extremitati ale lui s a unui numar minim de componente, astfel
încât sirul rezultat sa înceapa si sa se termine cu câte un numar par. Fisierul BAC.TXT contine cel putin
un numar par iar numerele din fisier sunt separate printr-un singur spatiu. Programul va afisa pe ecran
numarul de componente ale sirului obtinut.De exemplu, daca fisierul BAC.TXT contine numerele:
1 245 22 67 34 29 345 8 354 11 7 34 12 45 39 41 26 67 89 1011
se va afisa pe ecran numarul: 15, deoarece sunt eliminate numerele subliniate iar sirul rezultat este
format din 15 numere.

19.Fișierul bac.in conţine pe prima linie două valori naturale, m şi n (m≤100, n≤100), pe a doua linie un
şir de m numere întregi, iar pe a treia linie un şir de n numere întregi. Fiecare dintre aceste şiruri sunt
ordonate strict crescător, iar elementele lor au cel mult 9 cifre fiecare. Numerele de pe acelaşi rând sunt
separate prin câte un spaţiu. Se cere să se afişeze pe ecran câte dintre elementele celui de al doilea şir nu
se regăsesc şi în primul şir.Exemplu: dacă fişierul are conţinutul 6 7
1 2 3 4 7 20
3 5 7 8 9 20 24
se va afişa valoarea 4 (numerele care respectă condiţia sunt 5 8 9 24).

S-ar putea să vă placă și