Biblioteca
Tutora
BibliotecaInformatică și TIC › clasa a VI-a

Algoritmi și programare – noțiuni introductive

Introducerea conceptelor de algoritm, date și instrucțiuni ca bază a gândirii computaționale.

Evaluarea Națională

Ce este un algoritm și ce proprietăți are

Un algoritm este o succesiune finită și ordonată de pași care rezolvă o problemă: pornește de la niște date cunoscute și ajunge, după un număr limitat de operații, la un rezultat. Algoritmi există și în afara informaticii: o rețetă de clătite, instrucțiunile de asamblare a unei piese de mobilier, drumul explicat unui turist — toate sunt liste de pași care duc la un rezultat.

Proprietățile algoritmului — se cer cu denumirile exacte:

Capcana teoretică preferată a subiectelor: o listă de pași care se repetă la nesfârșit („mergi înainte; reia de la primul pas”) încalcă finitudinea, iar un enunț vag încalcă claritatea. Când o întrebare descrie un defect al unui pseudo-algoritm, caută mai întâi care dintre aceste proprietăți este încălcată.

Date de intrare, date de ieșire și etapele rezolvării

Orice algoritm lucrează cu date:

Rezolvarea unei probleme urmează mereu același drum: citim datele de intrare, le prelucrăm după pașii algoritmului, apoi afișăm datele de ieșire. Schema „citire → prelucrare → afișare” este scheletul oricărui algoritm de la această clasă.

La test se cere des identificarea lor dintr-un enunț: „Se citesc două numere naturale și se afișează suma lor” — intrarea: cele două numere; ieșirea: suma. Greșeala tipică este includerea rezultatului printre datele de intrare: suma NU se citește, ea se calculează. Verbul din enunț este indiciul: ce „se citește / se dă / se cunoaște” este intrare; ce „se afișează / se cere / se determină” este ieșire.

Variabile și tipuri de date

O variabilă este o zonă de memorie cu un nume, în care se păstrează o valoare ce se poate modifica pe parcursul algoritmului. Imagineaz-o ca pe o cutiuță etichetată: eticheta este numele variabilei (a, suma, nota), iar înăuntru stă valoarea curentă. Regula fundamentală a cutiuței: poate conține o singură valoare la un moment dat — când pui o valoare nouă, cea veche se pierde definitiv.

Prin contrast, o constantă este o valoare care nu se schimbă pe parcursul algoritmului (de exemplu numărul 2 din formula mediei).

Fiecare variabilă are un tip de date, care spune ce fel de valori poate păstra:

Tipul se alege după natura datelor: numărul de elevi dintr-o clasă este întreg (nu există 25,5 elevi), media notelor este reală (poate fi 8,75), iar răspunsul la „este numărul par?” este logic. Întrebarea-capcană tipică cere exact această potrivire: temperatura măsurată cu zecimale nu poate fi păstrată corect într-o variabilă de tip întreg — partea zecimală s-ar pierde.

Instrucțiunea de atribuire

Atribuirea este operația prin care o variabilă primește o valoare. În pseudocod se notează cu o săgeată: a ← 5 se citește „a primește valoarea 5”. În dreapta săgeții poate sta o valoare, altă variabilă sau o expresie de calcul:

Ultima formă îi încurcă pe mulți: a ← a + 1 nu este o ecuație, ci o comandă — „mărește-l pe a cu 1”. În matematică, egalitatea a = a + 1 ar fi imposibilă; în informatică, atribuirea se execută întâi dreapta, apoi stânga: se calculează expresia din dreapta cu valorile actuale, apoi rezultatul se depozitează în variabila din stânga.

Două reguli care se punctează:

Exemplul clasic de test — interschimbarea valorilor a două variabile a și b — cere o a treia variabilă ajutătoare: aux ← a; a ← b; b ← aux. Varianta „directă” a ← b; b ← a NU funcționează: după primul pas, vechea valoare a lui a e deja pierdută, iar ambele variabile ajung să conțină aceeași valoare.

Pseudocod, schemă logică și urmărirea execuției

Un algoritm poate fi descris în mai multe feluri. La școală folosim două reprezentări standard:

Urmărirea execuției (testarea pe hârtie) înseamnă să joci rolul calculatorului: execuți pașii în ordine și ții evidența valorilor fiecărei variabile într-un tabel. Exemplu: citește x (se citește 4); y ← x * 2 (y devine 8); x ← x + y (x devine 4 + 8 = 12); scrie x (se afișează 12).

Două greșeli de urmărire care apar mereu: folosirea valorii vechi a unei variabile după ce ea a fost modificată (după x ← x + y, vechiul 4 nu mai există) și executarea pașilor în altă ordine decât cea scrisă. Calculatorul nu „vede” tot algoritmul deodată — execută strict pas cu pas, de sus în jos, iar la urmărire trebuie să faci exact la fel.

De reținut

algoritm
succesiune finită și ordonată de pași clar descriși, care rezolvă toate problemele dintr-o clasă, pornind de la date de intrare și producând date de ieșire
finitudine
proprietatea algoritmului de a se încheia după un număr finit de pași
claritate
proprietatea algoritmului de a avea fiecare pas descris precis, fără ambiguități
generalitate
proprietatea algoritmului de a rezolva o întreagă clasă de probleme, nu doar un caz particular
date de intrare
valorile cunoscute la început, pe care algoritmul le citește pentru a lucra cu ele
date de ieșire
rezultatele produse de algoritm și comunicate utilizatorului
variabilă
zonă de memorie cu nume, care păstrează o singură valoare la un moment dat, valoare ce se poate modifica în timpul execuției
atribuire
operația notată cu ← prin care o variabilă primește rezultatul expresiei din dreapta, pierzând valoarea anterioară
pseudocod
descrierea unui algoritm în cuvinte apropiate de limbajul natural, cu instrucțiunile citește, scrie și atribuirea ←
schemă logică
reprezentarea grafică a unui algoritm cu blocuri: oval (Start/Stop), paralelogram (citire/scriere), dreptunghi (calcul), romb (decizie)

Greșeli frecvente

Greșit: Tratarea atribuirii a ← a + 1 ca pe o ecuație imposibilă
Corect: Atribuirea nu este egalitate matematică: se calculează întâi expresia din dreapta cu valoarea curentă, apoi rezultatul se pune în variabila din stânga
Greșit: Interschimbarea a două variabile prin a ← b; b ← a
Corect: După a ← b, vechea valoare a lui a s-a pierdut; interschimbarea corectă folosește o variabilă auxiliară: aux ← a; a ← b; b ← aux
Greșit: Includerea rezultatului cerut printre datele de intrare
Corect: Datele de intrare sunt doar cele citite (date, cunoscute); rezultatul se calculează și este dată de ieșire
Greșit: Confundarea blocurilor schemei logice: decizia desenată în dreptunghi
Corect: Dreptunghiul este pentru calcule și atribuiri; decizia (întrebarea cu răspuns da/nu) se desenează întotdeauna în romb
Greșit: Folosirea valorii vechi a unei variabile după ce a fost modificată
Corect: La urmărirea execuției, fiecare variabilă are exact valoarea de la ultima atribuire; valorile anterioare nu mai există

Test — 6 întrebări ca la examen

1. O listă de pași care nu se termină niciodată încalcă proprietatea algoritmului numită:
  1. claritate
  2. finitudine
  3. generalitate
  4. eficiență
Vezi răspunsul
finitudine. Finitudinea cere ca algoritmul să se încheie după un număr finit de pași. Claritatea — distractorul apropiat — se referă la precizia descrierii fiecărui pas, nu la faptul că execuția se oprește.
2. În enunțul „Se citesc două numere și se afișează produsul lor”, datele de ieșire sunt:
  1. cele două numere citite
  2. produsul celor două numere
  3. cele două numere și produsul lor
  4. nu există date de ieșire
Vezi răspunsul
produsul celor două numere. Ieșirea este ceea ce se afișează: produsul. Cele două numere sunt date de intrare, pentru că se citesc. Varianta a treia amestecă intrarea cu ieșirea — exact confuzia pe care o verifică astfel de întrebări.
3. Pentru a păstra media notelor unui elev, care poate fi 8,50, variabila trebuie să fie de tip:
  1. întreg
  2. logic
  3. real
  4. șir de caractere
Vezi răspunsul
real. Media poate avea zecimale, deci tipul potrivit este real. Tipul întreg — alegerea grăbită — ar pierde partea zecimală, iar tipul logic păstrează doar valorile adevărat/fals.
4. Variabila a are valoarea 5. După executarea atribuirii a ← a + 3, variabila a conține:
  1. 5
  2. 3
  3. 8
  4. atribuirea este imposibilă, ca o ecuație fără soluție
Vezi răspunsul
8. Se calculează întâi expresia din dreapta cu valoarea curentă: 5 + 3 = 8, apoi rezultatul se depozitează în a. Ultima variantă e capcana pentru cei care citesc atribuirea ca pe o egalitate matematică — dar ← este o comandă, nu o ecuație.
5. Într-o schemă logică, blocul în formă de romb reprezintă:
  1. o operație de citire
  2. o decizie (întrebare cu răspuns da/nu)
  3. începutul algoritmului
  4. o atribuire
Vezi răspunsul
o decizie (întrebare cu răspuns da/nu). Rombul este blocul de decizie, din care ies două ramuri: da și nu. Citirea se desenează în paralelogram, Start/Stop în oval, iar atribuirea în dreptunghi — asocierea formelor cu operațiile este exact ce testează întrebarea.
6. Se execută pașii: citește x (se citește 3); y ← x * 4; x ← y - x; scrie x. Ce valoare se afișează?
  1. 3
  2. 12
  3. 9
  4. 15
Vezi răspunsul
9. y devine 3 × 4 = 12, apoi x devine 12 − 3 = 9, iar scrie x afișează 9. Varianta 12 e distractorul principal: este valoarea lui y, aleasă de cei care uită că ultima atribuire l-a modificat pe x și se afișează x, nu y.
Deschide varianta interactivă — cu AI care îți explică
← Calcul tabelarStructuri de control – secvențială și alternativă →
BiologieChimieEconomieFilosofieFizicăGeografieInformatică și TICIstorieLogică și argumentareMatematicăPsihologieLimba și literatura română