Sunteți pe pagina 1din 6

Noiuni despre algoritmi.

Executanii

1. Noiune de algoritm
Noiunea de algoritm este una dintre noiunile de baz ale informaticii. nc n Egiptul i Grecia antic la rezolvarea problemelor de calcul se efectuau nite calcule succesive conform unor reguli i instruciuni bine determinate. Pornind de la unele date iniiale se obinea rezultatul dorit. Cu timpul aceste procese de calcul au fost numite algoritmi. Termenul algoritm provine de la algorithmi n numele marelui matematician uzbec din sec. IX ali-Xorezmi, care a formulat regulile de efectuare a operaiilor aritmetice n sistemul zecimal de numeraie. La nceput sub algoritm se subnelegeau numai regulile de efectuare a celor patru operaii aritmetice asupra numerelor de mai multe cifre. Ulterior aceast noiune a nceput s fie folosit n general pentru notarea succesiunilor de operaii care duceau la rezolvarea problemei formulate . Prin algoritm se nelege o prescripie (indicaie) precis i clar pentru executant de a efectua o succesiune de operaii orientate spre atingerea scopului indicat sau spre rezolvarea problemei formulate . Exemplu: S se calculeze valoarea lui Y dup formul, pentru orice valoare a lui X. Y=(A*X+B)*(C*X-D) Pentru a efectua aceast problem e suficient s efectum urmtoarea succesiune de operaii: 1) nmulim A cu X , notnd rezultatul prin R1, 2) Adunm R1 la B, notnd rezultatul prin R2, 3) nmulim C cu X , notnd rezultatul prin R3, 4) Scdem D din R3, notnd rezultatul prin R4, 5) nmulim R2 cu R 4, rezultatul fiind considerat ca valoarea lui Y. Aceast prescripie reprezint algoritmul de rezolvare a problemei formulate. Nu mai este necesar pentru omul care efectueaz operaiile s cunoasc formula de calcul al valorii Y. El trebuie doar s urmeze prescripia indicat, executnd-o pas cu pas. Exemplul de algoritm arat c notarea algoritmului se descompune n indicaii distincte pentru ca executantul s efectueze o succesiune de operaii finite - pai. Fiecare operaie trebuie terminat de ctre executant nainte de trecerea lui la execuia operaiei urmtoare. O indicaie special n notarea algoritmului, numit instruciune, i prescrie executantului s efectueze fiecare instruciune n parte. Aceast proprietate a algoritmului se numete discontinuitate. n afar de aceasta, algoritmul trebuie scris astfel, nct executnd o instruciune dat, executantul trebuie s tie precis, care instruciune trebuie efectuat ulterior. Aceast proprietate a algoritmului se numete exactitate. Cea mai important particularitate a algoritmului const n faptul, c ndeplinirea lui se reduce la executarea unui numr finit de operaii, ceea ce duce ntotdeauna la rezolvarea problemei. Aceast proprietate a algoritmului se numete finititudine. Prin intermediul aceluiai algoritm pot fi rezolvate repetat probleme de acelai tip. Aceast proprietate a algoritmului se numete universalitate. Universalitatea sporete considerabil valoarea practic a algoritmilor. Fiecare algoritm e alctuit pentru un anumit executant. E necesar ca executantul s fie n stare s execute fiecare aciune prescris de instruciune ca s poat rezolva problema conform algoritmului . Totalitatea instruciunilor care pot fi efectuate de ctre executant se numete sistem de instruciuni ale executantului. Astfel, pentru alctuirea corect a algoritmului e necesar s cunoatem sistemul de instruciuni ale executantului i s fim siguri c execuia algoritmului se termin dup un numr finit de pai.
Centrul Noilor Tehnologii Informaionale Pagina 1 din 6 ianuarie 2000

Noiuni despre algoritmi. Executanii

Vom deosebi: Algoritmi liniari, Algoritmi ciclici, Algoritmi de ramificare, Algoritmi combinai.

2. Limbajul algoritmic
Limbajul algoritmic este un sistem de notaii i reguli de scriere n mod unic i precis a algoritmilor i de execuie a lor. Algoritmii n acest limbaj pot fi scrii i citii ca un text obinuit. El poate conine i caractere matematice: numere, notaiile mrimilor i ale funciilor, semnele operaiilor i parantezele Regulile limbajului algoritmic stau la baza limbajelor de programare.

3. Reguli generale ale limbajului algoritmic


Limbajul algoritmic ca i orice limb -i are vocabularul su. Baza acestui vocabular l constituie cuvintele folosite pentru scrierea instruciunilor din sistemul de instruciuni ale executantului cruiva algoritm. Astfel de instruciuni se numesc simple. O instruciune simpl arat ca o propoziie imperativ a limbii noastre ntr-o form complet sau prescurtat, cuprinznd , dac e necesar, formule i alte notaii simbolice. Afar de aceasta n limbajul algoritmic se folosete un numr limitat de cuvinte al cror sens n mod de ntrebuinare e fixat o dat i pentru totdeauna. Ele se numesc cuvinte rezervate. La scrierea algoritmilor ele sunt evideniate i scrise abreviat. Folosirea cuvintelor rezervate face scrierea algoritmilor mai sugestiv , iar forma de reprezentare a diferiilor algoritmi mai uoar.

4. Instruciuni compuse
Algoritmii sunt de trei tipuri liniari, ramificai, ciclici. Algoritmii alctuii dintr-o secven de instruciuni simple n limbajul algoritmic sunt liniari. Pentru scrierea algoritmilor ramificai i ciclici se ntrebuineaz aa numitele instruciuni compuse. Pentru fiecare executant sunt indicate instruciunile respective.

5. Subalgoritmi (Proceduri).
la compunerea unor noi algoritme pot fi utilizai algoritmi deja alctuii. Algoritmii folosii n ntregime n cadrul altor algoritmi se numesc subalgoritmi (sau algoritmi auxiliari). Nu este exclus ca un algoritm care conine o referin la un subalgoritm, ntr-o anumit situaie s devin el nsui subalgoritm. Utilizarea algoritmilor deja alctuii la compunerea celor noi -i afl o larg aplicaie n practica algoritmizrii.

6. Executanii
Pentru o mai bun nelegere a noiunii de algoritm e necesar cunoaterea i nsuirea caracteristicilor de baz ale executantului: mediul, comenzile simple, comenzile avansate, refuzurile. Executantul nu tie nimic despre scopul final al algoritmului. El execut instruciunile parvenite fr a medita care-i sensul i scopul execuiei instruciunii curente. Executanii permit a lucra n trei limbi: romn, rus i englez. Acest fapt, c copilul studiaz instruciunile executantului n limba matern, trebuie s ajute elevul n a le nelege repede i bine. Lucrul cu executanii Cangurul i Furnica au drept scop studierea i cptarea deprinderilor de lucru cu cele mai simple instruciuni care se folosesc n limbajele de
Centrul Noilor Tehnologii Informaionale Pagina 2 din 6 ianuarie 2000

Noiuni despre algoritmi. Executanii

programare. n procesul studierii n clasa a VIII e necesar de lucrat cu unul din executanii Cangurul sau Furnica, la discreia profesorului. Nu e obligatoriu de lucrat cu ambii. E de dorit ns, de a propune pentru lucru de sinestttor careva probleme pentru a fi rezolvate cu alt executant, diferit de cel studiat, pentru a deprinde elevii s se descurce singuri.

7. Modul de lucru cu executantul Cangur.


Instalarea Copiai fiierul Setup pe winchester. Fixm oricelul la fiierul Setup Tastai butonul stng al oricelului de 2 ori. Tastai OK. Alegei calea, unde dorii s se dezarhiveze, dac nu dorii pe cea propus (C:\Program Files\Cangourou). Tastai Unzip. Tastai OK. Programele sau dezarhivat i automat se lanseaz programul Cangurul. Dac dorim s lucrm scriem algoritmul, dac nu prsim programul. Pentru al apela alt dat e mai comod de fcut o comand scurt pe masa de lucru: Tastm butonul drept al oricelului pe un loc gol de pe masa de lucru. Alegem new/shortcut. Tastm Browse. Alegem Program Files/Cangourou/ Cangourou/Open. Tastm Next/Finish. Tastnd pe aceast iconi de dou ori activm programul Cangur. Unde n partea stng sunt desenate 6 butoane, pentru: 1. A ncheia sesiunea de lucru cu programul. 2. A trece la ndeplinirea comenzilor manual. Adic cangurul primete comanda i n acelai timp o ndeplinete. 3. A trece la ndeplinirea comenzilor prin program. Adic scriem algoritmul, i abea dup aceasta cangurul l ndeplinete. 4. Verificarea corectitudinii programului i scrie mesajul respectiv. 5. A stopa avariat ndeplinirea algoritmului 6. ndeplinete algoritmul. Programul conine de asemenea i un meniu principal, unde sunt indicate: Fiier / Editare / Comenzi / Opiuni / Ajutor. Comenzile acestor meniuri sunt destul de simple de acea nu ne v-om opri la ele numai ct vom meniona doar: La Opiuni vei gsi Setarea limbii unde vei alege Romn, Englez sau Rus. La Fiier / Fiier Nou sunt 2 variante Fereastr nou i Program nou. Comenzile simple pas, salt i rotire pot fi culese, inserate prin Comenzi/Comenzi simple cum i prin butoanele respective din partea de sus a ferestrei de program. Comenzile executantului.
Centrul Noilor Tehnologii Informaionale Pagina 3 din 6 ianuarie 2000

Noiuni despre algoritmi. Executanii

Cangurul poate executa urmtoarele comenzi simple: PAS se mic n direcia n care se uit cu un ptrel i trage o linie pe unde sa micat. SALT se mic n direcia n care se uit cu un ptrel dar nu trage linie pe unde sa micat. ROTIRE se rotete cu 900 dup acele de ceasornic. Pentru a scrie algoritmi mai complicai se folosesc Procedurile, care pot fi scrise cu ajutorul cuvntului rezervat PROCEDURA <nume>, i respectiv apelat cu EXECUT<nume>. De asemenea sunt 2 instruciuni de ciclu REPET N ORI Secven SFIRSITUL REPETARII i CIT <condiie> Secven SFIRSITUL CICLULUI unde n calitate de condiie Se folosesc: E_MARGINE, NU E_MARGINE, E_LINIE, NU E_LINIE. Se poate folosi i instruciunea de ramificare DAC <condiie> ATUNCI <instruciune> ALTFEL <instruciune>. Exemple de algoritmi: Algoritm liniar Algoritm ciclic [ PAS PAS SALT ROTIRE PAS SALT ] [ CIT E_MARGINE PAS SFIRSITUL CICLULUI ] Algoritm de Algoritm combinat ramificare [ [ NU DACA E_LINIE CIT NU ATUNCI E_MARGINE ROTIRE PAS ALTFEL DACA E_LINIE PAS ATUNCI ] ROTIRE SFIRSITUL CICLULUI ] Acesta este un exemplu de algoritm ce se cicleaz.

8. Modul de lucru cu executantul Furnica.


Instalarea Copiai fiierul Firnica_ins pe winchester.
Centrul Noilor Tehnologii Informaionale Pagina 4 din 6 ianuarie 2000

Noiuni despre algoritmi. Executanii

Fixm oricelul la fiierul Firnica_ins Tastai butonul stng al oricelului de 2 ori. Tastai OK. Alegei calea, unde dorii s se dezarhiveze, dac nu dorii pe cea propus (C:\Program Files\Furnica). Tastai Unzip. Tastai OK. nchidei fereastra. Programele sau dezarhivat i automat se lanseaz programul Furnica. Dac dorim s lucrm scriem algoritmul, dac nu prsim programul. Pentru al apela alt dat e mai comod de fcut o comand scurt pe masa de lucru. n partea de sus sunt desenate 8 butoane sub care se scrie funcia lui cnd aducem cursorul la el. Programul conine de asemenea i un meniu principal, unde sunt indicate: Fiier / Program / Configurare / Ajutor. Comenzile executantului. Menionm c: INCEPUT - indica nceputul programului SFIRSIT - indica sfritul programului Furnica poate executa urmtoarele comenzi simple: SUS - mic furnica cu o poziie in sus JOS - mic furnica cu o poziie in jos DREAPTA - mic furnica cu o poziie in dreapta STINGA - mic furnica cu o poziie in stnga Comenzile compuse: REPETA <N> ORI ... SFIRSIT REPETA - este structura repetitiva ce repeta un anumit set de instruciuni de <n> ori CIT <condiie> EXECUTA ... SFIRSIT CIT - este o structura repetitiva ce repeta un anumit set de instruciuni pn cnd <CONDITIE> va fi adevrat DACA <condiie> ATUNCI <instructiune1> ALTFEL <instructiune2> - este instruciunea de ramificator ce va ndeplini <intructiune1> in caz cnd <condiie> este adevrat i <intructiune2> in caz cnd <condiie> este fals. <condiie> - poate avea valorile E_MARGINE sau NU_E_MARGINE PROCEDURA <nume> ... SFIRSIT PROCEDURA
Centrul Noilor Tehnologii Informaionale Pagina 5 din 6 ianuarie 2000

Noiuni despre algoritmi. Executanii

- in acest fel se declara procedurile. Ele sunt plasate ntotdeauna naintea instruciunii nceput. In corpul procedurii pot intra toate instruciunile descrise mai sus, cit si alte proceduri. Apelul procedurii se face in program scriind doar numele ei. <nume> - poate conine att litere cit si cifre, excluznd semnele speciale, spatiile i cuvinte rezervate. La editarea algoritmului se poate de folosit: Textul selectat + CTRL + INS = Copierea textului selectat in memorie Textul selectat + SHIFT + INS = Plasarea textului din memorie Textul selectat + SHIFT + DEL = tergerea textului selectat + plasarea lui in memorie Exemple de algoritmi: Algoritm liniar INCEPUT DREAPTA DREAPTA DREAPTA JOS JOS STINGA SUS SFIRSIT Algoritm ciclic INCEPUT CIT NU_E_MARGINE EXECUTA DREAPTA SFIRSIT CIT SFIRSIT

Algoritm de ramificare INCEPUT DACA E_MARGINE ATUNCI JOS ALTFEL DREAPTA SFIRSIT Atenie: Dac . Se scrie ntr-un singur rnd. Algoritm combinat INCEPUT REPETA 5 ORI DACA E_MARGINE ATUNCI JOS ALTFEL DREAPTA SFIRSIT REPETA SFIRSIT Cu ajutorul butonului Setarea poziiei se poate de schimbat poziia iniial a furnicii, de unde se va ncepe ndeplinirea algoritmului. Pentru a scrie careva simboluri pe cmp folosim butonul editare caracterul, unde scriem simbolul necesar, care se nscrie n cmp tastnd butonul stng al oricelului n locul dorit. Pentru a terge simbolurile folosim butonul terge i procedm ca la scriere. Not: Fii atent cnd lucrai cu mutarea simbolurilor. S nu ducei simbolul la margine, de unde dorii sa-l mutai. V-a fi imposibil. Executanii au fost creai la colile de var la Informatic n anii 1998 i 1999 de ctre elevii Stas Oaserele i Andrei Boboc, care studiaz respectiv la Colegiul Republican de informatic i la Liceul Iulia Hajdeu.

Centrul Noilor Tehnologii Informaionale Pagina 6 din 6

ianuarie 2000