Sunteți pe pagina 1din 8

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.

Centrul Noilor Tehnologii Informaionale ianuarie 2000


Pagina 1 din 8
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.
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
Centrul Noilor Tehnologii Informaionale ianuarie 2000
Pagina 2 din 8
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 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).
Centrul Noilor Tehnologii Informaionale ianuarie 2000
Pagina 3 din 8
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 v-om 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.

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.

Centrul Noilor Tehnologii Informaionale ianuarie 2000


Pagina 4 din 8
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 Algoritm de Algoritm
ramificare combinat
[ [ [ [
PAS CIT NU DACA E_LINIE CIT NU
PAS E_MARGINE ATUNCI E_MARGINE
SALT PAS ROTIRE PAS
ROTIRE SFIRSITUL ALTFEL DACA E_LINIE
PAS CICLULUI PAS ATUNCI
SALT ] ] ROTIRE
] SFIRSITUL
CICLULUI
]
Acesta este un
exemplu de
algoritm ce se
cicleaz.
Centrul Noilor Tehnologii Informaionale ianuarie 2000
Pagina 5 din 8
8. Modul de lucru cu executantul Furnica.

Instalarea
Copiai fiierul Firnica_ins pe winchester.
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


...

Centrul Noilor Tehnologii Informaionale ianuarie 2000


Pagina 6 din 8
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
- 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 Algoritm ciclic
INCEPUT INCEPUT
DREAPTA CIT NU_E_MARGINE
DREAPTA EXECUTA
DREAPTA DREAPTA
JOS SFIRSIT CIT
JOS SFIRSIT
STINGA
SUS
SFIRSIT

Algoritm de ramificare
INCEPUT
Centrul Noilor Tehnologii Informaionale ianuarie 2000
Pagina 7 din 8
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 ianuarie 2000


Pagina 8 din 8

S-ar putea să vă placă și