You are on page 1of 8

1. Algoritmi. Introducere.

Algoritmii stau la baza dialogului dintre om și calculator în sensul că omul îi transmite


calculatorului o serie de instrucțiuni. Calculatorul execută instrucțiunile cu scopul
rezolvării unei probleme sau simulării unui proces. Instrucțiunile sunt transmise
calculatorului prin intermediul unui limbaj specific, numit limbaj de programare.

Formalizarea unei metode de rezolvare a unei probleme se poate face numai pe baza
unei gândiri algoritmice, adică a unui mod de a gândi rezolvarea unei probleme prin prisma
rezolvării unei întregi clase de probleme asemănătoare.

Astfel, algoritmul poate fi definit ca o metodă de rezolvare a unei probleme alcătuită


dintr-un număr finit de pași.

Pentru studiul algoritmilor este necesară înțelegerea celor doi termeni care stau la
baza tehnologiei informației: Date și Informații.

Datele reprezintă unități indivizibile ce pot fi componente ale informației.

Exemplu de date: 5 (dată numerică), „a” (caracter = literă sau simbol).

Informația reprezintă un set organizat de date ce poate fi interpretat.

Exemplu de informații: 5 ianuarie (dată calendaristică), 5 secunde (timp), 5 metri


(distanță).

Astfel informațiilor li se pot asocia o interpretare. De exemplu cifra 5 este


neinterpretabilă dacă nu știm că vorbim despre o valoare cantitativă, o mărime. Dacă vorbim
despre 5 metri, înțelegem că ne referim la o anumită distanță cunoscută.

Orice prelucrare automata a informațiilor presupune definirea următorului lanț:

Date de intrare (intrări/input) -> Prelucrări (Operații) -> Date de ieșire (ieșiri/output)

Datele de intrare sunt acele date cunoscute într-o problemă sau datele care ni se dau.

Datele de ieșire sunt acele date care ni se cer într-o problemă, deci datele necunoscute
(rezultatul la care vrem să ajungem).

Prelucrările reprezintă acele operații aplicate datelor de intrare pentru a obține date de
ieșire. Prelucrările pot folosi, de asemenea, date intermediare denumite date de prelucrare
sau date de manevră.

Informatică și TIC - Anghelache Alina


Ex. de problemă: Într-o curte sunt doar 5 găini. Să se determine numărul de picioare
ale păsărilor din curte.

În cazul acestei probleme datele de intrare (ce se dă) sunt reprezentate de numărul
găinilor, datele de ieșire sunt reprezentate de numărul picioarelor (ce se cere), iar prelucrările
sunt reprezentate de operația necesară pentru a obține numărul picioarelor (numărul de găini
înmulțit cu 2).

Exemplu cerință pentru realizarea unui algoritm: Să se determine un algoritm în


limbaj natural pentru achiziționarea unui produs dintr-un magazin online.

Posibilă rezolvare:

Pasul 1) Alegerea produsului.

Pasul 2) Alegerea magazinului online.

Pasul 3) Adăugarea produsului în coșul de cumpărături.

Pasul 4) Furnizarea informațiilor de transport.

Pasul 5) Finalizarea comenzii.

Pasul 6) Achiziția produsului.

Se observă că algoritmul nu descrie toți pașii posibili (de exemplu se putea introduce
un pas pentru deschiderea dispozitivului de pe care se realizează comanda sau accesarea
magazinului online). Astfel acesta constituie doar un exemplu de realizare a unui algoritm. Un
algoritm poate fi realizat în mai multe moduri. Important este ca succesiunea logică de pași să
ducă la rezultatul dorit.

Pentru algoritmul dat se pot considera ca date de intrare: produsul și magazinul online
(alese de noi la început, datele ce constituie informația de la care pornim pentru a realiza ceea
ce ne-am propus), ca date de ieșire: achiziția produsului (rezultatul la care vrem să ajungem), iar
ca prelucrări, de exemplu: adăugarea produsului în coșul de cumpărături (operația aplicată
datelor de intrare – produsului).

Pentru orice rezolvare a unei probleme cu ajutorul calculatorului, trebuie parcurse


următoarele etape:

Informatică și TIC - Anghelache Alina


1) analiza problemei;

Analiza problemei constă în: identificarea funcţiei programului; identificarea fluxului de


informaţii. Funcţia programului determină ceea ce urmează să realizeze programul.
Identificarea fluxului de informaţii presupune identificarea informaţiilor de intrare (descrise cu
ajutorul datelor de intrare) şi a informaţiilor de ieşire (descrise cu ajutorul datelor de ieşire).

2) elaborarea unui algoritm de rezolvare a problemei;

Constă în găsirea metodei prin care să se poată rezolva problema. Presupune identificarea
prelucrărilor care se fac asupra datelor de intrare pentru a obţine datele de ieşire. Este etapa cea
mai importantă şi cea mai dificilă, deoarece presupune definirea logică a unei secvenţe de
operaţii pe care să le poată executa calculatorul astfel încât să se obţină rezultatele dorite.

3) implementarea algoritmului într-un limbaj de programare.

Algoritmul de rezolvare este transpus în limbaj de programare pentru a fi comunicat


calculatorului. Exemple de limbaje: Pascal, Scratch, C/C++, C#, Java, Python etc.

4) testarea programului şi corectarea erorilor.

Testarea programului constă în execuţia repetată a programului cu seturi de date de intrare


care să prevadă toate situaţiile care pot să apară în exploatarea curentă a programului. Erorile
sunt de 2 tipuri: erori de sintaxă (de limbaj) şi erori de semantică (logice). Erorile de sintaxă
apar în scrierea incorectă a instrucţiunilor şi ele vor fi corectate în program. Erorile de semantică
(logice) apar din cauza metodei de rezolvare alese şi ele vor trebui identificate în cadrul
programului şi corectate în program.

Proprietățile principale pe care trebuie să le aibă un algoritm sunt următoarele:

1. claritatea – algoritmul să fie precis definit, să prezinte clar şi fără ambiguităţi toate etapele
care trebuie parcurse până la obţinerea soluţiei;

2. finitatea – algoritmul să fie format dintr-un număr finit de paşi, prin executarea cărora să
se ajungă la rezolvarea problemei şi obţinerea rezultatelor;

3. universalitatea – algoritmul trebuie să permită rezolvarea unei clase de probleme, care sunt
de acelaşi tip şi care diferă între ele numai prin datele de intrare;

4. eficienţa – etapele care compun algoritmul trebuie alese astfel încât soluţia problemei să
fie obţinută după un număr minim de paşi.

Informatică și TIC - Anghelache Alina


2. Date și expresii. Pseudocodul.

O expresie este constituită dintr-o succesiune de operanzi, conectaţi prin operatori.

Prin operatori se înțeleg simbolurile specifice unor operații (Ex: „+” pentru adunare, „-”
pentru scădere, „*” sau „x” pentru înmulțire etc.).

Prin operanzi se înțeleg elemente cărora li se aplică operații (pot fi numere, Ex.: „5” sau
caractere, Ex.: „a”).

Operanzii reprezintă date, însă datele nu reprezintă întotdeauna operanzi deoarece datelor
nu le sunt aplicate neapărat o operație.

Exemplu de expresie: 5+3=8, unde 8 este rezultatul, 5 și 3 sunt operanzii, iar „+” și „=” sunt
operatorii.

Pseudocodul reprezintă un limbaj în care se folosesc cuvinte cheie și simboluri specifice.


Forma generică a unei expresii în pseudocod: variabilă <- expresie (variabilei i se atribuie
valoarea expresiei) .

„<-” = operatorul de atribuire (a atribui o valoare = a da, a însuși o valoare).

Variabila reprezintă un tip de dată a cărei valoare se poate schimba.

Datele sunt caracterizate prin nume (Ex.: x), valoare (Ex.: 5) și tip (Ex.: număr natural).

Exemplu de expresie în pseudocod: x <- 5+3 (lui x i se atribuie rezultatul sumei dintre 5 și 3,
deci x va fi 8).

Cuvintele cheie apărute în pseudocod sunt : „citește” și „scrie”.

Citește x – alegerea unei valori pentru variabila x.

Scrie x – afișarea valorii alese variabilei x.

Informatică și TIC - Anghelache Alina


Ex. problemă rezolvată prin pseudocod:

Cerință: Să se realizeze un algoritm în pseudocod prin care să se afișeze suma a două


numere date.

Rezolvare:

Metoda 1.

Citește x, y (alegerea a două valori pentru x și y)

Scrie x+y (afișarea sumei dintre valoarea aleasă pentru x și valoarea aleasă pentru y)

Metoda 2.

Citește x, y (alegerea a două valori pentru x și y)

Suma <- x+y (atribuirea sumei dintre x și y variabilei „Suma”)

Scrie Suma (afișarea sumei memorate în variabila „Suma”)

În acest exemplu datele de intrare sunt considerate ca fiind numerele date pentru variabilele x
și y (ce se dă), iar datele de ieșire sunt considerate ca fiind rezultatul sumei dintre x și y (ce se
cere). Prelucrarea este considerată expresia „Suma <- x+y” prin care se realizează operația de
atribuire a valorii expresiei x+y, sumei: „Suma”.

Informatică și TIC - Anghelache Alina


3. Clasificarea datelor și operatorilor.

Clasificarea datelor se poate realiza:

1. în funcţie de momentul în care se produc în fluxul de date:

- date de intrare

- date de ieşire

- date de manevră

2. în funcţie de valoare:

- variabile (Ex.: viteza, timpul)

- constante (Ex.: 5,56)

3. în funcţie de tip:

- date numerice (Ex.: 5, 67)

- date logice („Adevărat”, „Fals”)

- caractere (Ex.: „a”, „?”)

Informatică și TIC - Anghelache Alina


Tipuri de operatori:

- operatori aritmetici („+”, „-”, „:”, „*” etc.);

- operatori relaţionali („=”, „>”, „<” etc.);

- operatori logici („SAU”, „ȘI”, „NU” etc.).

a. operatori aritmetici (matematici) - definesc o operaţie

aritmetică - pot fi dpdv. al nr. operanzilor:

1. unari (se aplică asupra unui singur operand: radicalul, ridicarea la putere)

2. binari (acţionează asupra a doi operanzi: suma, scăderea, înmulțirea etc.)

- multiplicativi: * (înmulţire), / (împărţire, DIV), % (restul împărţirii întregi, MOD)

- aditivi: + (adunare), - (scădere)

Operatori specifici pentru limbaje de programare sunt:

A % B (A Mod B) – restul împărțirii lui A la B

A / B (A Div B) – rezultatul împărțirii lui A la B (de obicei număr întreg)

b. operatori relaţionali (de comparaţie)

- se aplică asupra operanzilor de tip numeric sau de tip şir de caractere

- furnizează un rezultat de tip logic.

Operatorii relaţionali sunt: = (egal) ≠ (diferit) < (mai mic) > (mai mare) ≤ (mai mic sau egal)
≥ (mai mare sau egal)

Informatică și TIC - Anghelache Alina


c. operatori logici

- definesc o operaţie logică

- se pot aplica numai asupra operanzilor logici („Adevărat” și „Fals”) - produc un rezultat
de tip logic

Operatorii logici sunt:

  „not”, „nu”, simbol: „- !” (negaţie logică),


  „and”, „și”, simbol: „&&” (ŞI logic)
 „or”, „sau”, simbol: „||” (SAU logic)

Informatică și TIC - Anghelache Alina

You might also like