Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme



Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Baze de date


Index » educatie » » informatica » Baze de date
» Reprezentarea algoritmilor prin limbaj pseudocod


Reprezentarea algoritmilor prin limbaj pseudocod




Reprezentarea algoritmilor prin limbaj pseudocod

Rezolvarea unei probleme, indiferent de natura acesteia, cu ajutorul calculatorului electronic, conduce la necesitatea modelarii problemei respective adica la conceperea unui model matematic al problemei. Acesta va putea fi algoritmizat si apoi transpus intr-un program folosind un limbaj de programare evoluat sau limbajul de comanda al unui sistem de gestiune a bazelor de date.

O etapa importanta in rezolvarea unei probleme cu ajutorul calculatorului electronic este deci conceperea algoritmului de rezolvare. Daca acest algoritm este mai complex sau daca el trebuie prezentat intr-o forma independenta de limbajul de programare, se recomanda descrierea acestuia in schema logica sau intr-un limbaj pseudocod. In felul acesta algoritmul poate fi usor inteles si verificat.

Limbajul pseudocod este o modalitate de reprezentare a algoritmului care, desi este independent de un anumit limbaj de programare, respecta reguli de scriere, o anumita sintaxa, in descrierea operatiilor ce-l compun. Exista multiple forme de limbaje pseudocod, unele supersofisticate si apropiate ca rigoare de limbajele de programare. In continuare vom prezenta o forma simplificata a unui astfel de limbaj, care sa asigure o transpunere clara si usor de inteles a oricarui algoritm. Desi majoritatea limbajelor pseudocod folosesc (pentru universalitate) cuvinte sau prescurtari de cuvinte ale limbii engleze, in limbajul pseudocod propus in continuare vom folosi cuvinte ale limbii romane. Traducerea acestora in limba engleza asigura insa o corespondenta rapida cu instructiunile sau comenzile specifice limbajelor de programare si, respectiv, sistemelor de gestiune a bazelor de date.




In descrierea algoritmilor prin limbaj pseudocod vom inlocui notiunea de operatie, cu care am operat frecvent in cazul schemelor logice, cu cea de instructiune specifica limbajelor de programare.

Descrierea algorimului cu ajutorul unui limbaj pseudocod va respecta principiul programarii structurate conform caruia orice algoritm poate fi reprezentat doar cu ajutorul a trei structuri logice de baza: secventiala, alternativa si repetitiva. De asemenea, notiunile de variabila, constanta, expresie, identificator, prezentate anterior ca elemente cu care opereaza algoritmii, raman valabile.

În limbajul pseudocod, corespunzator operatiilor de intrare / iesire de la schemele logice avem definite instructiuni de intrare – iesire:

Citeste <lista de variabile>

Scrie [<constante alfanumerice>], <lista de variabile>

Efectul acestor doua instructiuni este descrierea operatiei de introducere date si respectiv extragere date.

Inainte de a continua prezentarea instructiunilor limbajului pseudocod sa retinem faptul ca acest limbaj opereaza cu doua tipuri de cuvinte: cuvinte cheie (specifice limbajului si care nu pot fi folosite in alt context; ele vor fi scrise subliniat in cadrul programului) si cuvinte utilizator (care sunt la dispozitia programatorului si pot avea orice semnificatie).

Instructiunea de atribuire

v: = < expresie>

unde v este o variabila, iar expresie este o expresie aritmetica, relationala sau logica. Remarcam ca tipul variabilei trebuie sa corespunda tipului expresiei: variabila numerica pentru expresie aritmetica si logica pentru expresie relationala sau logica.

Structura alternativa este descrisa in limbaj pseudocod prin intermediul instructiunii de decizie cu urmatorul format general:

daca < conditie >

atunci

instructiune_a

astfel

instructiune_f

sf-daca

Alinierea de maniera celei prezentate anterior in descrierea instructiunilor se recomanda a fi pastrata in scrierea programelor. Aceasta sporeste lizibilitatea programului.

Efectul instructiunii de decizie:

se evalueaza conditia ce urmeaza cuvantului daca (ea poate fi expresie relationala sau logica).

daca aceasta conditie este adevarata se executa instructiunea_a

daca aceasta conditie nu este adevarata se executa instructiune_f

Observatie: sunt situatii in care trebuie descrisa in program modalitatea de luare a unei decizii in care nu intereseaza decat situatia de adevarat a conditiei. În aceasta situatie instructiunea alternativa are formatul:

daca <conditie>

atunci

<instructiune>

sf-daca

O astfel de instructiune alternativa se spune ca este cu ramura vida, de tipul IF-THEN, spre deosebire de forma cu doua ramuri, care este de tipul IF-THEN-ELSE.

Structura repetitiva poate fi reprezentata in limbajul pseudocod propus sub trei forme:

(v1)

pentru var := val_i pana la val_f executa

<instructiuni>

sf_pentru

unde “var” este numele unei variabile care controleaza ciclul, “val_i” reprezinta valoarea initiala ce este atribuita variabilei “var”, iar “val_f” este valoarea finala. Efectul acestei instructiuni este urmatorul: repetarea de un numar de ori egal cu val_f - val_i + 1 a corpului instructiunii cuprins intre liniile “pentru” si “sf_pentru” (aceasta din urma marcheaza sfarsitul blocului de instructiuni ce constitue corpul repetitivei). Variabila “var“ joaca astfel rolul unui contor care numara repetarile corpului ciclului, ea incremetandu-si valoarea dupa fiecare iteratie (executie a corpului repetitivei). Aceasta instructiune este cunoscuta sub numele REPEAT-n-TIMES.

(v2)

cat timp <conditie> executa

<instructiuni>

sf-cat_timp

unde “conditie“ reprezinta o expresie relationala sau logica. Efectul instructiunii este urmatorul: se repeta grupul de instructiuni pana la intalnirea cuvantului “sf_cat_timp”, atata timp cat conditia “conditie” este adevarata. Corespunde repetitivei anterior conditionata prezentata in paragraful anterior si este cunoscuta sub numele de DO-WHILE.

( v3)

repeta

<instructiuni>

pana cand <conditie>

unde conditie are aceeasi semnificatie ca la (v2). Efectul instructiunii este urmatorul: repetarea grupului de instructiuni ce constitue corpul repetitivei pana cand conditia ce apare in final devine adevarata. Corespunde structurii repetitive posterior conditionata si este cunoscuta sub numele de REPEAT-UNTIL.

Dupa cum se observa am propus pentru un limbaj pseudocod un set minimal de instructiuni cu o sintaxa simpla si naturala.



Pentru a clarifica si mai mult lucrurile, sa vedem cum arata programele pseudocod corespunzatoare algoritmilor reprezentati anterior prin scheme logice.

Enuntul problemelor este acelasi ca si in paragraful anterior:

(E1)

variabile n, i: intreg

s, v: real

citeste n

s: = 0

pentru i:=1 pana la n executa

citeste v

s:=s+ v

sf-pentru

scrie s/n

stop

Apare aici o instructiune pe care nu am prezentat-o anterior si anume “stop”. Aceasta marcheaza sfarsitul programului.

( E2)

variabile zi: intreg

s1,s2,s3: real

s1:=0

s2:=0

s3:=0

citeste zi

cat timp (zi > 0) and (zi < 32) executa

citeste v

daca zi < 11

atunci

s1: = s1+ v

altfel

daca zi < 21

atunci

s2: = s2+v

altfel

s3: = s3+v

sf-daca

sf_daca

citeste zi

sf-cat timp

scrie s1

scrie s2

scrie s3

stop

( E3)

variabile sn, nrm: intreg

nota, teza: intreg

media: real

sn:=0

citeste nota

sn:=sn+nota

citeste nota

sn:=sn+nota

nrm:=2

citeste nota

cat–timp (nota > 0) and (nota <11) executa

sn:=sn+nota

nrm:=nrm+1

citeste nota

sf-cat timp

citeste TEZA

media:=((sn/nrm)*3+teza)/4

scrie media

Stop







Politica de confidentialitate


Copyright © 2020 - Toate drepturile rezervate