Instructiuni de intrare iesire
Asa cum am vazut in lectiile anterioare schema fluxului de date in rezolvarea unei probleme este urmatoarea:
Date de intrare -> Algoritm -> Date de iesire (Rezultate)
Deducem ca aven nevoie de o metoda de a prelua datele initiale (ale problemei reale) pentru a le putea prelucra in algoritm. De asemenea, avem nevoie de o metoda de a transmite rezultatul calculului nostru.
Pentru preluarea datelor vom folosi instructiunea Citeste.
- Sintaxa: Citeste variabila;
- Exemplu: Citeste a;
- Efect: Se citeste o valoarea care va fi memorata in variabila a
- Observatii:
- pentru " intreg n; citeste n " , nu putem introduce o valoare reala (3.14) deoarece variabila n este declarata ca fiind intreaga
Pentru afisarea rezultatului vom folosi instructiunea Scrie:
- Sintaxa: Scrie expresie
- Exemplu: Scrie a
- Efect:
- instructiunea Scrie afiseaza valoarea expresiei
- presupunand ca ceea ce se scrie este transmis care monitor, atunci prima instructiune scrie afiseaza sirul de caractere Rezultatul problemei iar cea de a doua afiseaza valoarea memorata in variabila a la acel moment
- Observatii
- pentruafisarea unor texte folosim text " acesta este mesajul"
- instructiunea scrie afiseaza valoarea expresiei; atunci o instructiune de tipul Scrie a+b va afisa valoarea calculata a expresiei a+b; adica se aduna valoarea lui a cu valoarea lui b si se afiseaza rezultatul expresiei
Pana acum, cel mai complicat algoritm pe care il putem scrie este cel de adunare a doua valori intregi:
Intreg a, b;
Citeste a, b;
Scrie a+b.
Daca ar fi doar atat... :P
Atribuirea
Pentru a schimba valoarea unei variabile pot folosi citirea. Daca totusi doresc ca variabila sa primeasca valoarea unei expresii calculate pe parcursul algoritmului, atunci am nevoie de atribuire:
- Sintaxa: variabila<- expresie;
- Efect: In "cutia" variabilei se memoreaza valoarea expresiei;
- Exemplu:
- intreg a; a<- 10;
- real b; fie b<- 3.14;
- sir c; fie c<- 'totul e ok';
- Observatie:
- noua valoare se memoreaza peste vechea valoare care se va pierde; adica, se inloceste vechea valoare cu cea noua
- in fiecare din exemple in variabila se memoreaza o valoare de acelasi tip cu variabila; nu putem memora intr-o variabila o valoare de alt tip:
- secventa intreg a; a<-3.14; scrie a; nu este corecta; variabila a este de tip intreg si nu poate memora o valoare reala.
- secventa real a; a<- +10; este corecta deoarece valoarea intreaga 10 este si valoare reala, conform incluziunii matematice.
- greselile frecvente sunt cele in care valori obtinute in urma unor impartiri sau radicali (valori reale) sunt atribuite unor variabile intregi
- operatiile cele mai de intalnite la atribuire sunt incrementarea (marirea cu 1 a valorii variabilei) si decrementarea (micsorarea cu 1 a valorii variabilei)
- incrementarea: a<- a+1;
- asa cum stim , intai se calculeaza valaorea expresiei (cresterea cu 1 a lui a) si apoi se memoreaza in variabila, peste vechea valoare
- decrementarea: a<- a-1;
- se calculeaza valoarea expresiei (scadereacu 1 a lui a) si apoi se memoreaza in variabila, peste vechea valoare
Exemplul 1: calculul vitezei, atunci cand stim valoarea distantei parcurse si timpul necesar;
- real viteza;
- intreg timp, distanta;
- citeste timp, distanta;
- viteza <- distanta/timp;
- scrie viteza.
Exemplul 2 (interschimbarea a doua variabile folosind auxiliar). Fie doua variabile intregi. Sa se interschimbe valorile variabilelor. Daca variabila a are valoarea 5 si variabila b are valoarea 7, dupa executarea algorimului, variabila a sa aiba valoare 7 si variabila b sa aiba valoare 5.
- intreg a, b, aux;
- citesc a, b;
- aux<-a;
- a<-b;
- b<-aux;
- scrie a, b.
- observatie: problema este similara cu urmatoarea problema. Aveti un pahar de bere (rolul variabilei a) si o halba de suc (rolul variabilei b). Pentru a schimba bauturile aveti nevoie de o cana goala (rolul variabilei aux);
- turnam in cana goala continutul paharului
- turnam in pahar continutul halbei
- turnam in halba continutul canii
- acum toate sunt in ordine; berea in halba si sucul in pahar si gana este goala; NU BEM DECAT SUCUL!
Exemplul 2 (interschimbarea valorii a doua variabile fara auxiliar). Avem aceeasi problema dar trebuie rezolvata fara o variabila in plus.
- intreg a, b;
- citeste a,b;
- a <- a+b; b<- a-b; a<- a-b;
- scrie a,b.
Niciun comentariu:
Trimiteți un comentariu