Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Teză clasa a IX-a, semestrul al II-lea

Rândul 1 (2 puncte din oficiu)

1. (2 puncte) Ce afişează următoarea secvenţă:

int a[30],i;
for (i = 1; i <= 10; i++) a[i] = 2 * i;
for (i = 1; i <= 5; i++) cout << a[i] << " " << 22 – a[i] << " " ;

2. (2 puncte) Scrieţi un program care citeşte cifra k şi afişează toate numerele naturale cuprinse între 1 şi 100 al căror pătrat perfect se termină cu cifra k.

3. (2 puncte) Se consideră un şir de n (n<=100) numere naturale mai mici decât 1000. Să se scrie un program care afişează mesajul "DA" dacă numerele sunt toate distincte şi "NU" dacă există măcar o pereche de numere egale în şir. De exemplu, pentru şirul 49, 564, 23, 12, 10000 se va afişa "DA", iar pentru şirul 22, 345, 6543, 1, 312, 345, 11 se va afişa "NU".

4. (2 puncte) Se consideră un şir de n (n <= 10000) numere naturale mai mici decât 100. Scrieţi un program eficient care se determine şi să afişeze numărul secvenţelor din şir cu proprietatea că suma elementelor din secvenţă este strict mai mare decât 50. De exemplu, pentru şirul 10, 20, 31, 40, numărul secvenţelor este 5. Acestea sunt:
10  20  31
10  20  31  40
20  31
20  31  40
31  40
O secvenţă este formată dintr-o succesiune de elemente alăturate din şirul iniţial. Nu veţi afişa secvenţele, ci doar câte sunt. Veţi preciza pe scurt şi ideea de rezolvare.

 

Rândul 2 (2 puncte din oficiu)

1. (2 puncte) Ce afişează următoarea secvenţă:

int a[20], i, j;
for (i = 1; i <= 10; i++) a[i] = i;
i = 1;
j = 10;
while (i < j)
  {
    if (i % 2) cout << a[i] << “ “ << a[j] << “  “;
        else cout << a[j] << “  “ << a[i] << “  “;
    i++; j--;
  }

2. (2 puncte) Scrieţi un program care citeşte un număr natural n şi verifică dacă toate cifrele sunt strict mai mici decât 5. De exemplu, pentru n = 24301, se afişează „Toate mai mici ca 5”. Pentru n = 27612, se afişează „Există cifre mai mari sau egale cu 5”.

3. (2 puncte) Se consideră doi vectori a şi b având n respectiv m numere naturale. Scrieţi o secvenţă care să afişeze numerele din a care nu apar în b. De exemplu, dacă a = (3, 5, 1, 7, 4) şi b = (9, 5, 1, 14), se va afişa 3, 7, 4

4. (2 puncte) Se consideră un şir de n (n <= 10000) numere naturale mai mici decât 100. Scrieţi un program eficient care se determine şi să afişeze numărul secvenţelor din şir cu proprietatea că suma elementelor din secvenţă este strict mai mare decât 50. De exemplu, pentru şirul 10, 20, 31, 40, numărul secvenţelor este 5. Acestea sunt:
10  20  31
10  20  31  40
20  31
20  31  40
31  40
O secvenţă este formată dintr-o succesiune de elemente alăturate din şirul iniţial. Nu veţi afişa secvenţele, ci doar câte sunt. Veţi preciza pe scurt şi ideea de rezolvare.

 

Rândul 3 (2 puncte din oficiu)

1. (2 puncte) Ce afişează următoarea secvenţă:

int a[1000001], i;
for (i = 0; i < 1000; i++)
   for (j = 0; j < 1000; j++) a[i * 1000 + j] = j * i;
cout << a[999997];

2. (2 puncte) Scrieţi programul care citeşte un număr natural n şi afişează puterile lui 2 mai mici sau egale cu n. De exemplu, pentru n=35, se va afişa 1, 2, 4, 8, 16, 32.

3. (2 puncte) Se consideră un şir de n (n <= 10000) numere naturale mai mici decât 1 000 000. Să se scrie un program care afişează mesajul "DA" dacă numerele sunt toate distincte şi "NU" dacă există măcar o pereche de numere egale în şir. De exemplu, pentru şirul 49, 564, 23, 12, 10000 se va afişa "DA", iar pentru şirul 22, 345, 6543, 1, 312, 345, 11 se va afişa "NU".

4. (2 puncte) Se consideră un şir de n (n <= 10000) numere naturale mai mici decât 100. Scrieţi un program eficient care se determine şi să afişeze numărul secvenţelor din şir cu proprietatea că suma elementelor din secvenţă este strict mai mare decât 50. De exemplu, pentru şirul 10, 20, 31, 40, numărul secvenţelor este 5. Acestea sunt:
10  20  31
10  20  31  40
20  31
20  31  40
31  40
O secvenţă este formată dintr-o succesiune de elemente alăturate din şirul iniţial. Nu veţi afişa secvenţele, ci doar câte sunt. Veţi preciza pe scurt şi ideea de rezolvare.

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Comentarii (1)
Scrie un comentariu
Nume:

Comentariu:

15 + 10 =