Sunteți pe pagina 1din 5

Paragraful 4.

Ciclul Ct
Pn acum Cangurul executa algoritmi unde era cunoscut din timp succesiunea de aciuni. Cangurul execut instruciunile dar nicidecum nu analiza situaia din cmpul de lucru. nchipuiivun ef care d ordine dar nu primete nici o ntiinare despre rezultatele ndeplinirii lor; un ofer care conduce un transport cu ochii nchii. E clar, c n aa fel departe nu ajungi. Pentru a alctui algoritmi de rezolvare a problemelor mai complicate este nevoie i de a analiza situaii posibile. Pentru aciasta Cangurul are 4 instruciuni de analiz: e_margine, nu e_margine, e_linie, nu e_linie. Fie c Cangurul se afl la o careva distan de la margine. Este nevoie de a aduce Cangurul la margine. Cum de fcut? Vom ntreba Cangurul e_margine. Dac Cangurul rspunde nu el va ndeplini un salt i din nou vom ntreba e_margine , dac rspunde din nou nu din nou va executa un salt i aa mai departe pn cnd Cangurul nu va rspunde da. n aa fel noi nu tim din timp de cte ori vom ntreba Cangurul. Totul depinde la ce distan de la margine se afl Cangurul. Scopul nostru e ca Cangurul s ndeplineasc instruciunile din calculator. Deaceea instruciunile de mai sus trebuie nscrise n limbajul algoritmic pentru Cangur. Algoritmul trebuie s fie universal, adic s depind de distana de la Cangur pn la margine. Pentru aceasta n limbajul algoritmic este instruciunea de ciclu - ct. [ ct nu e_margine salt

sfritul ciclului ] n caz general ciclul ct are forma: Ct condiie Succesiune de instruc iuni Sfritul ciclului La ndeplinirea ciclului executantul la nceput verific dac se ndeplinete condiia. Dac da atunci se ndeplinete succesiunea de instruciuni, dup care din nou se verific condiia etc. Dac condiia nu se ndeplinete executantul ndeplinete instruciunile ce urmeaz dup sfritul ciclului. Vom ine cont de urmtoarele proprieti ale ciclului ct: a) Condiia nu se verific n timpul procesului ndeplinirii succesiunii de instruciuni. b) Dac condiia nu se ndeplinete de la nceput atunci succesiunea de instruciuni nu se va ndeplini niciodat. c) Dup ce cilul ct a luat sfrit, independent de numrul de repetri, condiia nu se mai ndeplinete. d) ndeplinirea ciclului ct poate s nu ia sfrit dac condiia are loc tot timpul (aa numita ciclare). Vom exemplfica prin cteva exemple aceste proprieti: Exemplul A. [ ct nu e_margine

salt salt sfritul ciclului ] Ct nu e margine cangurul va efectua cte dou salturi dup care va verifica din nou condiia (condiia nu se verific dup fiecare salt). n figura 9 cangurul va verifica condiia i rspunsul va fi da dup care va efectua dou salturi, va verifica din nou condiia, rspunsul fiind din nou da i va ncerca din nou s efectueze dou salturi ceea ce este imposibil. Vom avea o eroare de tip refuz. i deci n procesul de ndeplinire a instruciunilor din ciclul condiia nu se verific, i despre nendeplinirea condiiei executantul nu poate afla i va ncerca s ndeplineasc instruciunile din ciclu pn la sfrit. Exemplu B. [ ct e_linie salt sfritul ciclului ] Ciclul dat nu se va efectua nici odat deoarece cangurul n faa sa nu are nici o linie i deci rspunsul la ntrebarea "e_linie?" va fi de la bun ]nceput nu (figura 10). Exemplul C:

[ ct e_linie rotire sfritul ciclului ] Ciclul dat se va repeta de un numr nelimitat de ori deoarece condiia se respect la fiecare dat. Nu exist nici o linie n faa cangurului orict nu s-ar roti el figura 11. Exerci ii i probleme: 1. Folosind forma general a ciclului ct, scriei urmtorul algoritm de ndeplinire a temei pentru acas la limba strin, pentru a traduce un text: Gsim prima propoziie. Traducem propoziia. nscriem propoziia tradus. Gsim urmtoare propoziie. Traducem propoziia. nscriem propoziia tradus... 2. Aflnduse n ora i fiind flmnd Costel a ntrat ntr-o cantin pentru a procura o tartin. Un rufctor fiind alturi la sftuit s se conduc de urmtorul algoritm: Ct simi c eti flmnd Cumperi o tartin Sfritul ciclului Mnnci tartina

Va avea posibilitatea oare Costic s mnnce tartina? Corectai algoritmul n aa fel ca Costic s ias stul din cantin. 3. Lui Ionel i-au fost date pentru acas la matematic cteva probleme. Venind acas el hotr mai nti s ndeplineasc tema pentru acas dup care pn la cin s se joace. Un rufctor fiind alturi la sftuit s se conduc de urmtorul algoritm: Ct nu snt rezolvate toate problemele Rezolvi urmtoarea problem. Pleci i te joci pn la cin. Sfritul ciclului. A doua zi Ionel a primit la matematic nota doi. Lmurii de ce? Corectai algoritmul n aa fel ca Ionel s vin a doua zi cu temele pregtite.

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