Confucius
Pînă acum Cangurul executa algoritmi unde era cunoscut din timp succesiunea de acțiuni. Cangurul execută instrucțiunile dar nicidecum nu analiza situația din cîmpul de lucru.
Închipuiți-vă !!!
E clar, că în așa fel departe nu ajungi.
Pentru a alcătui algoritmi de rezolvare a problemelor mai complicate este nevoie și de a analiza situații posibile.
Cangurul are 4 instrucțiuni 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 făcut?
Vom întreba Cangurul e_margine.
Dacă Cangurul răspunde nu el va îndeplini un salt și din nou vom întreba e_margine , dacă răspunde din nou nu din nou va executa un salt și așa mai departe pînă cînd Cangurul nu va răspunde da. În așa fel noi nu știm din timp de cîte ori vom întreba Cangurul. Totul depinde la ce distanță de la margine se află Cangurul.
Scopul nostru e ca Cangurul să îndeplinească instrucțiunile din calculator. Deaceea instrucțiunile de mai sus trebuie înscrise în limbajul algoritmic pentru Cangur. Algoritmul trebuie să fie universal, adică să depindă de distanța de la Cangur pînă la margine. Pentru aceasta în limbajul algoritmic este instrucțiunea de ciclu - CÎT.
În caz general ciclul CÎT are forma:
CÎT condiție
Succesiune de instrucțiuni
Sfîrșitul ciclului
La îndeplinirea ciclului executantul la început verifică dacă se îndeplinește condiția. Dacă da atunci se îndeplinește succesiunea de instrucțiuni, după care din nou se verifică condiția etc. Dacă condiția nu se îndeplinește executantul îndeplinește instrucțiunile ce urmează după sfîrșitul ciclului.
Deci: instrucţiune asigură execuţia ciclică a unei secvenţe de instrucţiuni atâta timp cât în mediul de lucru se respectă anumite condiţii.
În descrierea instrucţiunii CÂT Condiţie este o expresie logică, iar cuvintele CÂT și SFÂRŞITUL CICLULUI sunt cuvinte auxiliare.
Condiţiile reprezintă expresii logice care indică anumite situaţii din mediul de lucru al executantului.
Instrucţiunea CÂT se numește ciclu cu condiţie, deoarece la execuţia ei se repetă ciclic aceeași secvenţă de instrucţiuni, iar numărul de repetări se stabilește în procesul derulării programului în funcţie de valorile curente ale condiţiei respective.
Algoritmii ce conţin secvenţe de instrucţiuni, execuţia cărora depinde de informaţiile colectate în mediul de lucru al executanţilor, se numesc algoritmi cu conexiune inversă.
Vom ține cont de următoarele proprietăți ale ciclului CÎT: