Lectia 3
Limbajul pseudocod şi schema logică
Pseudocodul este o forma de reprezentare a algoritmilor şi ca orice limbaj foloseşte un grup de cuvinte cheie (citeşte, scrie, dacă, atunci, cât timp, pentru, etc.), organizate în construcţii sintactice care traduc structurile fundamentale[1], dar neavând o sintaxă rigidă ca un limbaj de programare. Limbajul pseudocod lasă la libera alegere a utilizatorului introducerea unor notaţii care să permită o mai buna exprimare.
Schema logică este un mijloc de descriere a algoritmilor prin reprezentare grafică. Fiecărui tip de operaţie îi este consacrată o figură geometrică (un bloc tip) în interiorul căreia se va înscrie operaţia din pasul respectiv, iar succesiunea operaţiilor este indicată prin săgeţi.
Blocuri utilizate în realizarea schemelor logice:
Pentru întocmirea unei scheme logice corecte sunt necesare respectarea unor anumite reguli după cum urmează:
· Orice schemă logică se întocmeşte de sus în jos;
· Legătura intre blocurile schemei se face numai prin săgeţi, pentru a stabili sensul de parcurgere;
· În cazul întâlnirii unui bloc de decizie se precizează deasupra liniilor de legătură când expresia
Vom prezenta în continuare structurile fundamentale, cu ajutorul cărora se poate scrie orice algoritm, în paralel schemă logică –limbaj pseudocod.
Structura liniară: poate fi
· o operatie de intrare / ieşire (citire date de intrare /afişare rezultate)
· o operaţie de atribuire
· un apel de functie procedurala
· o combinaţie liniară a acestora care se va executa necondiţionat.
Operatia de citire:
Schema logică
Limbaj pseudocod
citeste variabila1, variabila2,....variabila_n;
Operatia de afisare:
Schema logică
Limbaj pseudocod
scrie variabila //afiseaza valoarea variabilei
scrie " sir de caractere " //afiseaza mesajul din acolade
scrie expresie aritmetica //afiseaza valoarea expresiei
scrie orice combinatie de cele 3 variante
Operatia de atribuire:
Schema logică
Limbaj pseudocod
variabila <- expresie
// valoarea expresiei este atribuita variabilei
Structura alternativa:
Schema logică
Limbaj pseudocod
daca (conditie) atunci
| bloc de instructiuni 1;
|altfel
| bloc de instructiuni 2;
|_*
Structura repetitiva cu test initial:
Schema logică
Limbaj pseudocod
cat timp (conditie) executa
| Bloc de instructiune
|_*
Structura repetitiva cu test final:
Schema logică
Limbaj pseudocod
executa
| Bloc de instructiuni
|cat timp (conditie);
|_*
Structura repetitiva cu numar fix de pasi:
Schema logică
Limbaj pseudocod
Varianta cu pas pozitiv:
pentru contor=expr1 pana la expr.2 cu pasul +const
| Bloc de instructiuni;
|_*
Varianta cu pas negativ:
pentru contor=expr1 pana la expr.2 cu pasul -const
| Bloc de instructiuni;
|_*
Descrieți etapele de rezolvarea şi scrieţi un algoritm care sa calculeze aria si perimetrul unui patrat de latura L, citita de la tastatura.
Rezolvare:
Analiza problemei:
Datele de intrare(Ce se cunoaste?): L, numar natural citit de la tatstatura
Datele de iesire(Ce se cere?): A - aria patratului si P-perimetrul patratului
Algoritm in limbaj natural:
- citeste de la tastatura valoarea variabilei L
- calculeaza cu ajutorul formulelor matematice aria si perimetru patratului
- afiseaza pe ecran valoarea ariei si a perimetrului
Algoritm in limbaj pseudocod
citeste L, numar natural
A=L*L
P=4*L
scrie "Aria este A=", A
scrie "Perimetrul este P=", P
Algoritm in schema logica
Descrieți etapele de rezolvarea şi scrieţi un algoritm care sa calculeze media aritmetica dintre trei numere naturale.
Rezolvare:
Analiza problemei:
Date de intrare(Ce se cunoaste?): a, b, c trei numere naturale citite de la tastatura
Date de ieşire(Ce se cere?): ma - media artitmetica a celor trei numere
Algoritm în limbaj natural:
- citeşte valori pentru cele tei variabile a,b,c
- calculeaza media aritmetica a celor trei numere cu formula matematica ma=(a+b+c)/3
- afişeaza media aritmetica ma
Algoritm in limbaj pseudocod
citește a, b, c numere naturale
ma=(a+b+c)/3
scrie " Media aritmetica este ma=", ma
Algoritm in schema logica
[1] Structurile fundamentale din programarea structurată sunt structura liniara, structura alternativa şi structurile repetitive.