I Scrieți în caietele voastre programele care rezolvă problemele de mai jos în C++, apoi rezolvați probeleme folosind mediul Code Blocks sau un compilator online C++. 

Indicație Manualul de mai sus pag. 84, 85. 

1. Completează programul care citește de la tastatură un număr natural n cu cel mult 9 cifre. Programul afișează mesajul Numarul este par, dacă numărul citit este par, sau mesajul Numarul este impar, dacă numărul citit este impar. 

C++

# include using namespace std; 

int main()

 { 

int n; 

cin>>n; 

if(n%2==0)

 cout<<"..............................."; 

else cout<<"..............................";

 return 0; 

}

Python

n = int(input("n="))

if a%2==0

print("..............................")

else:

print(".............................")


Cerințe


II Răspundeți în caietele voastre:

1. Dați exemple de două șiruri de numere ale căror elemente se construiesc după o regulă dată. 

2 Completați șirurile cu elementele care lipsesc: 

a 1, 4, 7, 10, ..., ..., 19, 22, ..., 28, 31 

b 2, 3, 5, ..., 11, 13, 17, ..., 23, ..., 31, 37, 41, 43, 47, ..., 59 

3 Se dă șirul de numere: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, ... . Care este valoarea elementului al 44-lea al acestui șir? 

a 6; b 9; c 8; d 10. 

4. Un program care urmează să prelucreze valorile unui șir de 20 de numere reale citește aceste numere într-o variabilă a. Care este declararea corectă a acestei variabile? 

a float a; b int a[20]; c float a[20]; d float a[19]; 

5. Ce valoare trebuie să primească variabila întreagă a pentru ca, în urma executării secvenței de cod alăturate, cel mai mare element al șirului v să aibă valoarea 38? 

a=...; 

for (i=0; i<=5; i++) v[i]=a*i+3; 

6. Scrieți secvențele de cod pentru introducerea valorilor unui tablou unidimensional cu n elemente numere întregi, unde 1 ≤ n ≤ 100, utilizând structura repetitivă condiționată anterior și, apoi, pe cea condiționată posterior. 

7. Se dă secvența de cod alăturată. Scrieți în caiete care este varianta corectă dintre cele de mai jos:

 a. se afișează elementele impare de pe pozițiile impare ale tabloului v; 

b. se afișează elementele pare de pe pozițiile impare ale tabloului v; 

c. se afișează elementele impare de pe pozițiile pare ale tabloului v. 

for (k=30; k>=0; k--) 

if (v[k]%2==0 && k%2==1) 

cout<<v[k]<<" ";

8. Dați un exemplu de aplicabilitate practică a algoritmului de calculare a maximului unui șir de numere. 

9. Care este rezultatul executării secvenței de cod alăturate, dacă la intrare avem n=6 și șirul v={1, 7, 3, 17, 27, 5}? 

a 1; b 2; c 3; d 0. 

int v[100], n, i=0, nr=0; 

cout<<"n="; cin>>n;

 do { 

cin>>v[i]; 

if (v[i]%10==7 && i%2==0) 

nr++; i++; } while (i<n)

cout<<nr;

10. Completați valoarea pe care trebuie să o ia variabila a din secvența de cod alăturată astfel încât să se afișeze rezultatul 24. 

int v[]={1,2,3,4,5,6}, i=0, a, nr=0; 

a=......;

 while (i<6) 

{ if (v[i]>4)

 {nr++; 

a++;

}

 i++;

 }

cout<<nr<<a; 

11. Scrie un program care citește de la tastatură un număr natural nenul n cu cel mult 9 cifre. Programul afișează mesajul Divizorii sunt:, urmat de valorile divizorilor, separate prin câte un spațiu.  

# include <iostream>

using namespace std; 

int main() 

{

 int n,i; 

cin>>n;

 cout<<"Divizorii sunt: ";

 for(i=1;i<=n;i++)

.................................

cout<<i<<" ";

return 0;

}

12. Scrie un program care citește de la tastatură un număr natural nenul n cu cel mult 9 cifre. Programul afișează pe ecran mesajul Nr. este perfect, dacă numărul citit este perfect, sau mesajul Nr. nu este perfect, dacă numărul citit nu este perfect. Un număr este perfect dacă este egal cu suma divizorilor săi mai mici decât el. 

# include <iostream>

using namespace std;

 int main() 

int n,i,s=0; 

cin>>n; 

for(i=1;i<=n/2;i++) 

if(n%i==0)

.........................;

if(s==n) 

cout<<"..........................."; 

else cout<<"............................"; 

return 0; 

13.  Alegeți care dintre secvențele de cod următoare afișează valoarea 10!. 

a p=1;

 for (i=0; i<=10; i++) 

p=p*i; 

cout<<p;

b. 

p=1;

 for (i=2; i<=10; i++)

 p=p*i; 

cout<<p; 

c. p=1; 

for (i=2; i=10; i++) 

p=p*i; 

cout< <p;

14. Care este rezultatul executării secvenței de cod alăturate, dacă la intrare avem n=6 și șirul v={1, 2, 3, 4, 5, 6}? 

a 1; b 2; c 3; d 0. 

int v[]={1,2,3,4,5,6}, i=0, a, nr=0; a=......;

 while (i<6)

 { 

if (v[i]>4)

 {nr++;

 a++;

} i++;

 } cout<<nr<<a; 

15. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg. 

i=2;

while(.....)

{ if(x%i==0) cout<<i<<’ ’;

i=i+1;

}

Pentru a afişa în ordine crescătoare toţi divizorii pozitivi ai numărului natural nenul memorat în variabila x, cu excepţia lui 1 şi a numărului respectiv, o expresie care poate înlocui punctele de suspensie este: 

a. i>0 

b. i>=2 

c. i<=x/2 

d. i<=x 

16. Ce afişează secvenţa: 

int a[] = {14, 3, 7, 0, -4, 3, 10, 15, 7};

int s = 0;

for (int i = 0; i < 9; i++)

if (i % 2 == 0) s += a[i];

cout << s;


a. 0;

b. 34;

c. 21;

d. 50;