marți

Subalgoritmi

Ca şi în cazul limbajelor folosite de oameni, un limbaj de programare este alcătuit dintr-un set de reguli ce guvernează alcătuirea propoziţiilor şi un set de reguli care determină înţelesul, semnificaţia propoziţiilor alcătuite.
În cazul limbajelor de programare echivalentul propoziţiei este programul.
Sintaxa programelor poate fi descrisă de diverse modele de utilizare a instrucţiunilor, a simbolurilor şi a cuvintelor auxiliare.


În urama unei analize sa depistat, că unele problem practice conţin instructiuni sau segvenţe de instrucţiuni ce execută aceleaşi operaţii. De exemplu, dorim sa desenăm opt pătrate aranjate in ordinea urmatoare:

Deci pentru a excuta acest program noi trebie să introducem de OPT ori urmatorul algoritm:
ÎNCEPUT
PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
SALT
SALT
SFÎRŞIT
Respectiv programul dat va fi foarte lung, iar scriera lui va reprezenta o muncă deosebinta. Şi nu este exclus faptul că în timpul elaborarii programului să scapăm careva instrucţiuni, şi respective la execuţie ne va da erore şi vom fi neviţi sa revedem programul.O soluţie a aceste problem sete elaborarea unui program auxiliar pentru desenarea unui pătrat de dimensiunile dorite şi folosirea ulterioară a acestui program pentru desenarea unui numar necesar de pătrate.
Programl auxiliar se numeşte subprogram, iar programul ce îl apeleaza se numeşte program principal.
în cazul executantului cagurul subprogramul se numeste procedură şi are următoarea structură:



Exemple:
1) PROCEDURA PATRAT

PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
SALT
SALT
SFIRSITUL PROCEDURII
[
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
EXECUTA PATRAT
]
Rzultatul executării:


2) PROCEDURA patrat
PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
PAS
ROTIRE
ROTIRE
SALT
ROTIRE
ROTIRE
ROTIRE
SFIRSITUL PROCEDURII
PROCEDURA TRECERE
ROTIRE
ROTIRE
ROTIRE
SALT
SALT
SALT
ROTIRE
SALT
SALT
SFIRSITUL PROCEDURII
[
EXECUTA patrat
EXECUTA patrat
EXECUTA patrat
EXECUTA TRECERE
EXECUTA patrat
EXECUTA patrat
EXECUTA patrat
EXECUTA TRECERE
EXECUTA patrat
EXECUTA patrat
EXECUTA patrat
]
Rzultatul executării:

3) PROCEDURA Dreptunghi
PAS
ROTIRE
PAS
PAS
ROTIRE
PAS
ROTIRE
PAS
PAS
ROTIRE
SALT
SALT
SFIRSITUL PROCEDURII
[
EXECUTA Dreptunghi
EXECUTA Dreptunghi
EXECUTA Dreptunghi
]
Rzultatul executării:

4) PROCEDURA Linie
PAS
PAS
PAS
PAS
PAS
SFIRSITUL PROCEDURII
[
EXECUTA Linie
ROTIRE
SALT
ROTIRE
EXECUTA Linie
ROTIRE
ROTIRE
ROTIRE
SALT
ROTIRE
ROTIRE
ROTIRE
EXECUTA Linie
ROTIRE
SALT
ROTIRE
EXECUTA Linie
ROTIRE
SALT
SALT
SALT
ROTIRE
SALT
SALT
SALT
SALT
SALT
SFIRSITUL REPETARII
]
Rzultatul executării:


Niciun comentariu:

Trimiteți un comentariu