Page 83 - REVISTA MATINF Nr. 5
P. 83
˘
PROBLEME DE INFORMATICA PENTRU EXAMENE 83
c) Scriet , i programul C/C++ corespunz˘ator algoritmului dat. (10p.)
d) Scriet , i ˆın pseudocod un algoritm echivalent cu cel dat, ˆınlocuind adecvat structura
pentru ... execut˘ a cu o structur˘a repetitic˘a de alt tip. (6p.)
2. Variabila c memoreaz˘a date specifice unui cerc: coordonatele reale (abscisa s , i ordonata),
ˆın planul xOy, ale centrului cercului, precum s , i lungimea razei acestuia. S , tiind c˘a
expresiile C/C++: c.centru.x, c.centru.y, respectiv c.raza au ca valori numere reale
reprezentˆand datele specifice ale unui cerc, scriet , i definit , ia unei structuri cu eticheta
figura, care permite memorarea datelor precizate s , i declarat , i corespunz˘ator variabila c.
(6p.)
3. Variabilele i s , i j sunt de tip ˆıntreg, iar variabila m memoreaz˘a un tablou bidimensional
cu 7 linii s , i 7 coloane, numerotate de la 0 la 6, cu elemente de tip char. Init , ial, fiecare
element memoreaz˘a caracterul *. (6p.)
F˘ar˘a a utiliza alte variabile, scriet , i a b c d e f g
secvent , a de instruct , iuni de mai jos, + a b c d e f
ˆınlocuind punctele de suspensie astfelˆıncˆat, + + a b c d e
ˆın urma execut˘arii secvent , ei obt , inute, va- + + + a b c d
riabila m s˘a memoreze tabloul al˘aturat. + + + + a b c
+ + + + + a b
for(i=0;i<7;i++)
+ + + + + + a
for(j=0;j<7;j++)
............
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul multiplu are un singur parametru, n, prin care primes , te un num˘ar natural
(n∈[1,104]). Subprogramul returneaz˘a cel mai mic multiplu nenul al lui n cu proprietatea
c˘a este p˘atrat perfect. Scriet , i definit , ia complet˘a a subprogramului.
Exemplu: dac˘a n=72 sau n=144, subprogramul returneaz˘a num˘arul 144. (10p.)
2. Numim citat ˆıntr-un text o secvent , ˘a de caractere din acel text care ˆıncepe cu un caracter
< s , i se termin˘a cu un caracter >, celelalte caractere ale secvent , ei fiind diferite de < s , i >.
Un text de cel mult 100 de caractere (litere mici ale alfabetului englez, spat , ii s , i caracterele
< s , i >) cont , ine cel put , in un citat. Textul nu cont , ine alte caractere < s , i > decˆat cele care
m˘arginesc citatele, s , i oricare dou˘a citate nu au nici caractere < s , i > s , i nici alte caractere ˆın
comun. Scriet , i un program C/C++ care cites , te de la tastatur˘a un text de tipul precizat
s , i ˆıl transform˘a ˆın memorie prin ˆınlocuirea tuturor literelor mici cuprinse ˆın citate cu
literele mari corespunz˘atoare, celelalte r˘amˆanˆand nemodificate, ca ˆın exemplul de mai jos.
Programul afis , eaz˘a pe ecran textul obt , inut. (10p.)
Exemplu: pentru textul
mai bine sa fii un <om de valoare> decat un <om de succes>
se afis , eaz˘a
mai bine sa fii un <OM DE VALOARE> decat un <OM DE SUCCES>.
3. Se numes , te vˆ arf ˆıntr-un s , ir de numere naturale un termen al s , irului care este strict mai
mare decˆat fiecare dintre cei doi termeni vecini cu el, aflat , i ˆın s , ir pe pozit , ia din stˆanga,
respectiv din dreapta sa. Fis , ierul bac.in cont , ine un s , ir de cel mult 106 numere naturale
din intervalul [0,109], separate prin cˆate un spat , iu. Se cere s˘a se afis , eze pe ecran vˆarful
din s , irul aflat ˆın fis , ier pentru care valoarea absolut˘a a diferent , ei dintre cei doi vecini ai
s˘ai este minim˘a. Dac˘a exist˘a mai multe astfel de numere, se afis , eaz˘a cel mai mare dintre
ele, iar dac˘a nu exist˘a niciun vˆarf, se afis , eaz˘a pe ecran mesajul nu exista. Proiectat , i un