prezentare algoritmi repetitivi

Post on 05-Jul-2015

737 views 11 download

transcript

Algoritmi repetitiviAlgoritmi repetitivi..

Ciclu cu contor.Ciclu cu contor.

Termeni-cheie:Termeni-cheie:• Schemă logică• Algoritm liniar• Algoritm repetitiv• Ciclu cu contor• Instrucţiune simplă• Instrucţiune compusă

Schemă logică:Reprezintă un desen, care conţine următoarele

simboluri grafice:

START

STOP

- punctul de pornire a procesului de execuţie a algoritmului;

- punctul de oprire a procesului de execuţie a algoritmului;

Instrucţiune - execuţia unei instrucţiuni;

Nume - apelul unei subalgoritm;

-indică ordinea în care trebuie executate instrucţiunile algoritmului.

START

STOP

PAS

ROTIRE

PAS

ROTIRE

PAS

ROTIRE

PAS

ROTIRE

SALT

SALT

START

STOP

Pătrat

Pătrat

Pătrat

Pătrat

Pătrat

Pătrat

Pătrat

Pătrat

STOP

START

Din analiza schemelor logice se observă că procesul de execuţie a unui algoritm poate fi simbolizat printr-o deplasare imaginară dintr-un simbol grafic în altul în direcţia indicată de liniile respective.

Algoritmii instrucţiunile cărora sînt executate Algoritmii instrucţiunile cărora sînt executate în ordinea apariţiei lor în text se numesc în ordinea apariţiei lor în text se numesc algoritmi liniari.algoritmi liniari.

În procesul elaborării algoritmilor s-a observat că unele secvenţe de instrucţiuni deseori trebuie executate de mai multe ori. De exemplu, în cazul procedurii Pătrat , secvenţa de instrucţiuni PAS, ROTIRE se execută de patru ori, iar instrucţiunea apel de procedură din programul Opt_pătrate –de opt ori. Pentru a simplifica procesele de elaborare a algoritmilor, în astfel de cazuri se poate utiliza instrucţiunea REPETĂ.

REPETĂ n ORI

Instrucţiunea_1

Instrucţiunea_2

...

Instrucţiunea_k

SFÎRŞITUL REPETĂRII

unde n reprezintă numărul dorit de repetări, iar cuvintele REPETĂ, ORI, SFIRŞITUL REPETĂRII sînt cuvinte auxiliare.

Instrucţiunea_1

Instrucţiunea_2

Instrucţiunea_k

:

REPETĂ n ORI

1

PROCEDURĂ Pătrat

REPETĂ 4 ORI

PAS

ROTIRE

SFÎRŞITUL REPETĂRII

SALT

SALT

SFÎRŞITUL PROCEDURII

2

ÎNCEPUT

REPETĂ 8 ORI

EXECUTĂ Pătrat

SFÎRŞITUL REPETĂRII

SFÎRŞIT

Instrucţiunea REPETĂ n ORI se numeşte ciclu cu contor, deoarece la execuţia ei se repetă ciclic aceeaşi secvenţă de instrucţiuni, iar numărul de repetări n este cunoscut în momentul scrierii programului. Secvenţa de instrucţiuni încadrată între liniile ce conţin cuvintele auxiliare REPETĂ şi SFÎRŞIT se numeşte corpul ciclului.

Algoritmii ce conţin secvenţe de instrucţiuni Algoritmii ce conţin secvenţe de instrucţiuni care în procesul execuţiei se îndeplinesc de care în procesul execuţiei se îndeplinesc de mai multe ori se numesc algoritmi repetitivi.mai multe ori se numesc algoritmi repetitivi.

Schemele logice, care reprezintă în mod grafic procesele de execuţie a procedurii Pătrat şi a programului Opt_pătrate, sînt 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 instrucţiunile din corpul ciclului iar a doua – spre instrucţiunea care va fi executată imediat după terminarea ciclului.

a)

PAS

ROTIRE

SALT

SALT Procedura Pătrat

START

START

REPETĂ 4 ORI

b)

Din analiza schemelor logice ale algoritmilor repetitivi se observă că drumul imaginar parcurs de la simbolul grafic START pînă la simbolul grafic STOP reprezintă o linie ce conţine cel puţin o buclă. Această buclă include simbolul grafic REPETĂ şi toate simbolurile grafice ce corespund instrucţiunilor din corpul ciclului.

Programul Opt_pătrate

Pătrat

START

STOP

REPETĂ 8 ORI

Instrucţiunea REPETĂ se notează pe cîteva linii şi include în componenţa sa alte instrucţiuni. Instrucţiunile de felul aceasta se numesc instrucţiuni compuse, spre deosebire de instrucţiunile simple PAS, SALT, ROTIRE, SUS, JOS, DREAPTA, STÎNGA, apel de procedură, studiate în paragrafele precedente.

Fiind o instrucţiune compusă, instrucţiunea REPETĂ poate include în corpul său alte instrucţiuni de acest tip, formîndu-se astfel o structură imbricată. Pentru exemplificare, prezentăm î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

SFÎRŞITUL REPETĂRII

ROTIRE

ROTIRE

SFÎRŞITUL REPETĂRII

SFÎRŞIT