Page 78 - MATINF Nr. 6
P. 78
˘
78 PROBLEME DE INFORMATICA PENTRU EXAMENE
a utiliza alte variabile decˆat cele ment¸ionate, scriet¸i secvent¸a de instruct¸iuni urm˘atoare,
ˆınlocuind punctele de suspensie astfel ˆıncˆat, ˆın urma execut˘arii secvent¸ei obt¸inute, variabila
a s˘a memoreze tabloul al˘aturat. (6p.)
for(i=0;i <=5;i++) 1 2 3 4 5 6
for(j=0;j <=5;j++) 6 5 4 3 2 1
............ 1 2 3 4 5 6
6 5 4 3 2 1
1 2 3 4 5 6
6 5 4 3 2 1
SUBIECTUL al III-lea (30 de puncte)
Scriet¸i pe foaia de examen r˘aspunsul pentru fiecare din cerint¸ele urm˘atoare.
1. Scriet¸i definit¸ia complet˘a a unui subprogram calcul cu doi parametri:
9
- n, prin care prime¸ste un num˘ar natural (1 ≤ n ≤ 10 );
- x, prin care furnizeaz˘a media aritmetic˘a a cifrelor impare ale num˘arului n, sau -1
dac˘a acesta nu are cifre impare.
Exemplu: pentru n=3254, dup˘a apel, x va avea valoarea 4, iar pentru n=246, dup˘a apel,
x va avea valoarea -1. (10p.)
2. Un ¸sir cu maximum 255 de caractere cont¸ine cuvinte formate numai din litere mici ale
alfabetului englez. Cuvintele sunt desp˘art¸ite prin unul sau mai multe spat¸ii, virgul˘a sau
punct. Scriet¸i un program C/C++ care cite¸ste un astfel de ¸sir s , i afis , eaz˘a pe ecran, separate
printr-un singur spatiu, cuvintele din s , ir care au aceleas , i consoane ca s , i primul cuvˆant, ˆın
aceeas , i ordine dar nu neap˘arat pe aceleas , i pozit , ii. (10p.)
Exemplu: pentru ¸sirul
mara are un borcan cu miere, rame si cirese amare
se va afi¸sa
mara miere amare
3. Numim secvent , ˘a munte a unui s , ir de numere naturale un subs , ir al acestuia, format din
termeni aflat , i pe pozit , ii consecutive ˆın s , irul dat, cu proprietatea c˘a formeaz˘a un s , ir nevid
strict cresc˘ator pˆan˘a la un moment dat, apoi formeaz˘a un s , ir nevid strict descresc˘ator.
Lungimea secvent , ei este egal˘a cu num˘arul de termeni ai acesteia. O secvent , ˘a munte are
cel put , in 3 elemente.
9
9
Fis , ierul bac.txt cont , ine un s , ir de cel mult 10 numere naturale din intervalul [0,10 ].
Numerele sunt separate prin cˆate un spat , iu. Se cere s˘a se afis , eze pe ecran lungimea
maxim˘a a unei secvent , e munte s , i num˘arul de secvent , e munte din s , ir. Cele dou˘a valori
se vor afis , a pe o singur˘a linie, separate printr-un spat , iu. Proiectat , i un algoritm eficient
din punct de vedere al memoriei s , i al timpului de executare.
Exemplu: dac˘a fis , ierul bac.txt cont , ine numerele
1,2,3,4,3,2,2,4,3,1,1,4,6,1
atunci pe ecran se va afis , a 6 3.
a) Scriet¸i programul C/C++ corespunz˘ator. (8p.)
b) Descriet , i ˆın limbaj natural algoritmul proiectat, justificˆand eficient , a acestuia. (2p.)