Вы находитесь на странице: 1из 19

Subiectul leciei:

Algoritmi repetitivi. Ciclu cu contor.

Obiective de referin:
S

defineasc formatul general i s utilizeze instruciunile de ciclu; S precizeze numrul de execuii al instruciunilor din corpul ciclului.

Termeni-cheie:

Schem logic Algoritm liniar Algoritm repetitiv Ciclu cu contor Instruciune simpl Instruciune compus

Schem logic:
Reprezint un desen, care conine urmtoarele simboluri grafice:
START START STOP STOP
Instruciune

- punctul de pornire a procesului de execuie a


algoritmului; algoritmului;

- punctul de oprire a procesului de execuie a


- execuia unei instruciuni;

Nume

- apelul unei subalgoritm;


instruciunile algoritmului.

-indic ordinea n care trebuie executate

Schema logic a procedurii Ptrat


START
PAS ROTIRE PAS ROTIRE PAS

ROTIRE
PAS ROTIRE SALT SALT STOP

Schem logic a programului Opt_ptrate


START Ptrat Ptrat Ptrat Ptrat Ptrat

Ptrat
Ptrat

Ptrat
STOP

Algoritm liniar:
Din analiza schemelor logice se observ c procesul de execuie a unui algoritm poate fi simbolizat printr-o deplasare imaginar dintr-un simbol grafic n altul n direcia indicat de liniile respective. Algoritmii instruciunile crora snt executate n ordinea apariiei lor n text se numesc algoritmi liniari.
Evident, n cazul algoritmilor liniari drumul imaginar parcurs de la simbolul grafic START pn la simbolul grafic STOP reprezint o linie ce nu se autointersecteaz.

Ciclu cu contor:
n procesul elaborrii algoritmilor s-a observat c unele secvene de instruciuni deseori trebuie executate de mai multe ori. De exemplu, n cazul procedurii Ptrat , secvena de instruciuni PAS, ROTIRE se execut de patru ori, iar instruciunea apel de procedur din programul Opt_ptrate de opt ori. Pentru a simplifica procesele de elaborare a algoritmilor, n astfel de cazuri se poate utiliza instruciunea REPET.

Formatul instruciunii REPET:


REPET n ORI
Instruciunea_1 Instruciunea_2

...
Instruciunea_k SFRITUL REPETRII unde n reprezint numrul dorit de repetri, iar cuvintele REPET, ORI, SFIRITUL REPETRII snt cuvinte auxiliare.

Schem logic a instruciunii REPET:


REPET n ORI

Instruciunea_1 Instruciunea_2
:

Instruciunea_k

n procesul execuiei instruciunii REPET, Centrul de comand va ndeplini de n ori secvena de instruciuni ncadrat ntre cuvintele auxiliare. Utiliznd aceast instruciune, putem transcrie programele ce conin secvene de instruciuni, care trebuie executate de mai multe ori, ntr-o form mai compact. De exemplu, programul Opt_ptrate:
1 2

PROCEDUR Ptrat
REPET 4 ORI PAS ROTIRE

NCEPUT
REPET 8 ORI EXECUT Ptrat SFRITUL REPETRII

SFRITUL REPETRII
SALT SALT SFRITUL PROCEDURII

SFRIT

Instruciunea REPET n ORI se numete ciclu cu contor, deoarece la execuia ei se repet ciclic aceeai secven de instruciuni, iar numrul de repetri n este cunoscut n momentul scrierii programului. Secvena de instruciuni ncadrat ntre liniile ce conin cuvintele auxiliare REPET i SFRIT se numete corpul ciclului.

Algoritm repetitiv:
Algoritmii ce conin secvene de instruciuni care n procesul execuiei se ndeplinesc de mai multe ori se numesc algoritmi repetitivi. Schemele logice, care reprezint n mod grafic procesele de execuie a procedurii Ptrat i a programului Opt_ptrate, snt prezentate mai jos. n aceste scheme se utilizeaz simbolul grafic REPET, din care, spre deosebire de simbolurile grafice studiate anterior, pleac dou linii orientate: prima spre instruciunile din corpul ciclului iar a doua spre instruciunea care va fi executat imediat dup terminarea ciclului.

Schemele logice ale algoritmilor repetitivi:


a) START REPET 4 ORI PAS ROTIRE

SALT
SALT START Procedura Ptrat

Schemele logice ale algoritmilor repetitivi:


b)
START REPET 8 ORI Ptrat STOP

Programul Opt_ptrate

Din analiza schemelor logice ale algoritmilor repetitivi se observ c drumul imaginar parcurs de la simbolul grafic START pn la simbolul grafic STOP reprezint o linie ce conine cel puin o bucl. Aceast bucl include simbolul grafic REPET i toate simbolurile grafice ce corespund instruciunilor din corpul ciclului.

Instruciune simpl. Instruciune compus.


Instruciunea REPET se noteaz pe cteva linii i include n componena sa alte instruciuni. Instruciunile de felul aceasta se numesc instruciuni compuse, spre deosebire de instruciunile simple PAS, SALT, ROTIRE, SUS, JOS, DREAPTA, STNGA, apel de procedur, studiate n paragrafele precedente.

Fiind o instruciune compus, instruciunea REPET poate include n corpul su alte instruciuni de acest tip, formnduse astfel o structur imbricat. n consecin, programele ce conin un numr relativ mic de instruciuni pot descrie succesiuni foarte lungi de aciuni. Pentru exemplificare, prezentm n continuare un program care impune Cangurul s se deplaseze de 100 de ori de-a lungul marginii de sus a zonei de desenare: NCEPUT REPET 100 ORI REPET 15 ORI SALT SFRITUL REPETRII

ROTIRE
ROTIRE SFRITUL REPETRII

SFRIT

Comanda REPET N ORI se gsete:

Se introduce numrul de repetri a instruciunilir simple n dependen de condiia problemei.

n clas ndeplinii exerciiul 11, pag. 99, N EXECUTANTUL CANGURUL

TEMA PENTRU ACAS: 5.3. ALGORITMI REPETITIVI. CICLU CU CONTOR EX. 13(A,B), PAG. 100