Sunteți pe pagina 1din 3

Lectia 6 Ex 1. Se considera variabilele s,p si i de tip integer.

Explicati pasii parcursi pentru urmatorea secventa de instructiuni : s :=0 ;p :=1 ; for i :=2 to 5 do begin s :=s+1 ; p:=p*i; end; writeln(s,,p); Ex 2. Se da de la tastatura un numar natural cu maxim 2 cifre in variabila n. Se cere sa se afiseze pe ecran cel mai mare numar si cel mai mic numar cu n cifre. Exemplu : pentru numarul 5 se va afisa 99999 si 10000. Ex. 3. Se dau numerele a i n. S se afieze numrul a urmat de n zerouri. Exemplu : Date de intrare a=34 n=5 Date de ieire 3400000. Instructiuni repetitive cu numar necunoscut de pasi, conditionata superior Instructiunea while ne permite sa repetam executia unei instructiuni, cat timp o anumita expresie booleana este adevarata. Evaluarea acestei expresii se face la inceputul instructiunii. Forma generala a instructiunii while este: while expresie booleana do instructiune Pas1: Se evalueaza expresia logica; Pas2 : Daca valoarea expresiei este False, se iese din instructiunea WHILE ;daca valoearea expresiei este TRUE, se executa instructiunea, apoi se revine la Pas1. Observatii: 1. Tipul Boolean este format din doua valori: true si false. Propozitiile care sunt adevarate sau false se numesc propozitii booleene sau logice. Dintre propozitiile booleene cele mai des intalnite sunt expresiile care folosesc operatiile de comparare. Exemplu : ( i>0). 2. In instructiune trebuie sa modificam o variabila care apare in expreise booleana, pentru ca altfel aceasta ramane numai cu valoarea true si while nu se mai termina niciodata. Exemplu : Se considera variabilele s,p si i de tip integer. Explicati pasii parcursi pentru urmatorea secventa de instructiuni : s :=0 ;p :=1; i:=5; for i>=2 do begin s :=s+1 ; p:=p*i; i:=i-1;

end; writeln(s,,p); 3. In cazul in care corpul ciclului contine cel putin 2 instructiuni, acesta va fi cuprins intre begin si end. 4. Testarea conditiei are loc la inceput, deci corpul ciclului poate sa nu se execute niciodata.

Probleme: 1. Se considera urmatorul program pseudocod : citeste a,b ma cat timp b mod m #0 mm+1 scrie m Ce se va afisa pentru a=46 si b=100? 2. Se dau n numere intregi. Sa se afiseze suma lor. 3. Scrieti pseudocodul unui algoritm care calculeaza produsul numerelor impare mai mici sau egale cu o valoare data n. Exemplu : pentru n=8 rezulta p=1*3*5*7=105 Prin Sir de numere intelegem o succesiune de numere care respecta o anumita ordine. Numerele care alcatuiesc sirul se vor numi termenii sirului. Elementele sirului se citesc pe rand , in aceeasi variabila, pana la intalnirea unei anumite valori sau conditii care marcheaza sfarsitul sirului. 4. Se da un sir de numere care se citesc pe rand de la tastatura, atata timp cat nu s-a introdus valoarea 0 (care nu face parte din sir). Sa se afiseze cate numere pozitive sunt in sir. 5. Se da un sir de numere care se citesc pe rand de la tastatura, atata timp cat nu s-a intordus valoarea 0. Sa se afiseze maximul dintre elementele sirului. 6. Realizati un algoritm care calculeaza suma cifrelor unui numar natural x citit de la tastatura.

Lectia 7 Instructiuni repetitive cu numar necunoscut de pasi, conditionata inferior

Instructiunea REPEAT Repeat Instructiune1 Instructiune2 Instructiune n Unitl expresie_logica Pas1 : se executa secventa instructiune1, , instructiune n Pas2 : se evalueaza expresia_logica Pas3 : daca valoarea expresiei este TRUE se iese din instructiunea repetitiva ; daca valoarea expresiei este FALSE, se revine la Pas1. Observatie : 1. Spre deosebire de instructiunea WHILE, instructiunea REPEAT executa secventa de instructiuni specificate cel putin o data, chiard aca la inceput valoarea expresiei este TRUE, deoarece testarea expresiei se face dupa executia secventei de instructiuni. 2. Preferam sa uitilizam WHILE, cand este necesar sa testam conditia la inceput. 3. Preferam sa utilizam REPEAT cand conditia depinde strict de prelucrarile din ciclu si prin urmare o testam la sfarsit, dupa executarea secventei de instructiuni.

Probleme :

1. Se dau de la tastatura mai multe numere naturale, cu cel mult 4 cifre fiecare. Citirea se incheie prin introducerea cifrei 0. Se cere sa se calculeze suma numerelor citite. Exemplu : pentru numerele 1 23 1 5 se va afisa 30. 2. Pentru a o elibera pe Ileana Cosnzeana, Ft-Frumos trebuie s parcurg x km. El merge zilnic a km, dar Zna-cea-Rea l duce n fiecare noapte cu b km napoi, b<a. Dup cte zile o elibereaz? Exemplu: Date de intrare x=10 a=4 b=1 Date de ieire 3 zile. 3. A fost odat un balaur cu 6 capete. ntr-o zi Ft Frumos s-a suprat i i-a tiat un cap. Peste noapte i-au crescut alte 6 capete la loc. A doua zi Ft Frumos iar i-a tiat un cap dar peste noapte balaurului i-au crescut alte 6 capete i tot aa timp de n zile. n cea de a (n+1)-a zi, Ft Frumos s-a plictisit i a plecat acas! Scriei un program care citete de la tastatur n, numrul de zile, i care afieaz pe ecran cte capete avea balaurul dup n zile. Exemplu: pentru n=3 se va afia 15 capete. (ONI 2002 cl.a V-a) 4. A fost odat ca niciodat, a fost un cangur care cretea ntr-un an precum alii n zece. ntr-o zi a nceput s fac srituri. i a srit pentru nceput 7 metri. A doua zi a srit, n plus fa de ziua precedent, de zece ori mai mult. n a treia zi a reuit s sar, n plus fa de prima zi, de zece ori mai mult dect n ziua a doua. n a patra zi a srit, n plus fa de prima zi, de zece ori mai mult dect n ziua a treia. i tot aa mai departe. Scriei un program care calculeaz ci metri a srit cangurul, n total, n n zile. Exemplu: pentru n=3 se va afia 861 m. (ONI Focani 2003 cl.a V-a)

S-ar putea să vă placă și