Documente Academic
Documente Profesional
Documente Cultură
1. Care este expresia logică (condiția) ce completează instrucțiunea de ramificare următoare, astfel încât, în urma executării ei să
se verifice dacă conținutul variabilei de tip caracter x este o cifră sau nu este o cifră?
if ( ) a) (x>='1') && (x<='9')
cout<<"DA este cifra"; b) (x>='0') && (x<='9')
else c) (x>=0) && (x<=9)
cout<<"NU este cifra"; d) '0'<=x<='9'
e) (x-'0')*('9'-x)>=0
2. Fie date valorile variabilelor a=15, b=5, q=true. Scrieți în coloana din dreapta ce se va afișa după execuția fiecărei din
următoarele instrucțiuni:
Instrucțiunea Răspuns
a) if (a<b) cout<<2*a; else cout<<2*b;
b) if (q && a==b) cout<<20; else cout<<100;
c) if (!q || a>0) cout<<45; else cout<<70;
d) if (a!=10 || q && b!=a) cout<<a; else cout<<(!q);
e) if (a>b) if (b<2) cout<<(int)'a' else
cout<<(char)52;
f) if (0) cout<<'F'; else cout<<200;
3. Selectați prin încercuire, care dintre următoarele instrucțiuni vor determina, prin executarea lor, afișarea mesajului DA, dacă și
numai dacă numărul x[a,b) sau a mesajului NU, în caz contrar (a,b,xR, ab).
a) if ((x>a) || (x<b)) cout<<"DA"; else cout<<"NU";
b) if (!((x>=a) && (x<b))) cout<<"DA"; else cout<<"NU";
c) if ((x<a) && (x>=b)) cout<<"DA"; else cout<<"NU";
d) if ((x<a) || (x>=b)); cout<<"DA"; else cout<<"NU";
4. Scrieți o secvență echivalentă cu secvența de instrucțiuni următoare, folosind o singură instrucțiune if. Precizăm faptul că
variabilele x și y sunt de tip unsigned int.
cin>>x;
if ((x>=0) && (x<=1)) y=1;
else if (x<=3) y=2;
else if (x<=5) y=3;
else y=6;
5. Următoarea secvență de instrucțiuni trebuie să afișeze, în urma executării, maximul dintre valorile variabilelor de tip real a și
b. Corectați eroarea astfel încât să se realizeze cerința. Scrieți o secvență echivalentă cu cea corectată, care să nu conțină
instrucțiuni de selecție.
cin>>a>>b;
if (a<b);
cout<<a;
else
cout<<b;
6. Ce valori trebuie citite de la tastatură astfel încât, în urma executării secvenței următoare, să se afișeze valoarea 1? Variabilele
a, b și c sunt variabile de tip char, iar variabila d de tip int).
cin>>a>>b>>c;
if (a>b) Răspuns:__________
if (b>c) d=3;
else d=2;
else if (a>c) d=3;
else d=1;
cout<<d;
a) abc b) bca c) cab d) cba e) acb f) bac
7. Fie n o variabilă de tip caracter și p o variabilă de tip întreg. Se consideră secvența de operații, descrisă cu ajutorul
instrucțiunii if:
p=1; 7.1. Transcrieți secvența, utilizând o singură instrucțiune de selecție multiplă switch. Declarați
if (n=='0') p=p*0; variabilele ce apar în secvență.
else if (n='1') p=p*1;
else if (n='5') p=p*5;
else p=p+10;
7.2. Dacă valoarea variabilei n este '7', ce valoare va avea variabila p la finalul executării secvenței din enunț? Încercuiți.
a) 1 b) 0 c) 11 d) 5
8. Care este cea mai mare mulțime a valorilor pe care le poate avea variabila întreagă x astfel încât să se afișeze * la finalul
executării secvenței?
switch (x)
{
case 1: cout<<"**"; break;
case 2:
case 3: cout<<"*"; break;
default: cout<<"!*";
}
a) x{1,2,3} b) x{2,3} c) x{3} d) x
10. Un șir de furnici, lung de x cm, trece pe un pod lung de p m cu viteza de v m/min (x, p, v numere naturale nenule). Scrieți un
program care citește de la tastatură valorile x, p, v și să afișeze numărul de minute necesare șirului de furnici pentru
traversarea podului.
Exemple: Pentru x=20, p=60, v=10, se va afișa: 7 min.
Pentru x=30, p=100, v=20, se va afișa: 6 min.