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.