Documente Academic
Documente Profesional
Documente Cultură
SUBIECTUL I
1. a. 3;
2. a)
a b c s x y
19 23 2 0 19 19
19 23 2 1 20 20
19 23 2 2 21 21
19 23 2 4 22 22
19 23 2 5 23 23
Finalizare: s=5;
b) a=1; c=1; s=12;
Finalizare: Numerele sunt: 19 si 20.
Algoritmul constă în identificarea numerelor din intervalul [a,b] care conțin cifra c. Spre
exemplu, dacă un număr conține de două ori „c”, contorul va crește cu 2, dacă numărul
conține o singură dată cifra „c” , contorul va crește cu 1 ș.a.m.
c) citeste a,b,c ( numere naturale, a≤b, 0≤c≤9)
s<-0
pentru x<-a,b executa
y<-x
repeta
daca y%10=c atunci
s<-s+1
y<-[y/10]
pana cand y==0
scrie s
d) #include <cstring> numere naturale= unsigned int;
using namespace std;
unsigned int a,b,c,x,y,s;
int main ( )
{ cin>>a>>b>>c;
s=0;
for(x=a;x<=b;x++)
{
y=x;
while(y>0)
{
if(y%10==c)
{s=s+1;
}
y=y/10;
}
}
cout<<s;
return 0;
}
SUBIECTUL AL II-LEA
1.b;
2.d; Graf complet= [n(n-1)]/2 muchii.
3. if(x.v%2==0)
x.paritate=”p”;
else
x.paritate=”i”;
4. 2 si 3
Matricea trebuie parcursă astfel
încat liniile să crească ,nu coloanele
după cum ne-am obișnuit.
Linii...
{Coloane..
if(ok==0)
cout<<"Nu exista"<<" ";
return 0;
}
SUBIECTUL AL III-LEA
1. return 2*f2(2,3)=8;
return 2*f2(2,1)=4;
c;
2. A=1; M=2;
MAAAM=21112
MAAMM=21122
MAMAM=21212
MAMMM=21222
MMAAM =22112
MMAMM =22122
3.
#include <iostream>
Având un număr n dat, noi trebuie sa afișăm
using namespace std; toate numerele 2*n cu anumite proprietăți
int nr,v[101],n,i,ap,v1[101]; precizate: numerele impare în ordine crescătoare ,
void valuri(int n,int v1[101]) numerele pare în ordine descrescătoare și pe
poziții consecutive să nu existe numere de aceeași
{
paritate.
for(i=1; i<=2*n; i++)
Pentru a evita interclasarea, care este un
{if(i%2==1) algoritm destul de complex verificăm paritatea
v[++nr]=i; indicelui:
else if(i%2==0) 1) Dacă i este impar, îl afișăm;
{ 2) Dacă i este par, din n-ul nostru scădem un
v[++nr]=2*n-ap; număr n care va crește din 2 în 2.
ap=ap+2;
i=1 => Afișăm 1.
}
} i=2 => Afișăm n=8-0=8 si nr va crește nr=2.
} i=3 => Afișăm 3.
int main()
{ i=4 => Afișăm n=8-2=6.
cin>>n; i=5 => Afișăm 5.
valuri(n,v);
i=6 => Afișăm n=8-4=4.
for(i=1; i<=nr; i++)
i=7 => Afișăm 7.
cout<<v[i]<<" ";
i=8 => Afișăm n=8-6=2.
return 0;
} Se va afișa: 1 8 3 6 5 4 7 2.
4. a)
x=15 => 15 8 7 4 3 2 1 Avem un număr x.
}
return 0;
}
b) Algoritmul utilizat este eficient din punct de vedere al memoriei utilizate și al timpului de
executare întrucât se folosește doar o variabilă în care se memorează numărul citit de la
tastatură; din acesta se formează succesiv după afișare, alt număr în funcție de paritate,
efectuând aceeași metodă până când n devine 1 și programul se va opri. De asemenea,
algoritmul este eficient dpv al timpului de executare deoarece este liniar și de tipul O(n).
Subiect:
https://www.pbinfo.ro/resurse/9dc152/examene/2013/E_d_Informatica_C_sp_MI_var_02_LRO.p
df