Sunteți pe pagina 1din 5

Obiective:

Săptămâna 1:  Ce reprezintă un algoritm?

Noțiuni introductive  Care sunt etapele pentru


rezolvarea unei probleme ce
ajutorul calculatorului?
 Operatori utilizați în programare

Definiţie 1: Informatica este ştiinţa care se ocupă cu prelucrarea informaţiilor cu ajutorul


calculatorului. Informaţiile prelucrate pot avea diferite tipuri (valori numerice intregi sau reale,
şiruri de caractere, imagini, sunete, filme, etc.).
Definiţie 2: Algoritmul este alcătuit dintr-o succesiune de etape, numite paşi, care trebuie
parcurse într-o anumită ordine astfel încât plecând de la datele iniţiale ale problemei, într-un timp
finit sa ajungem la rezultatul dorit. Algoritmul este noţiunea fundamentală a informaticii.

Fig.1. Reprezentare grafică a modului de lucru a unui algoritm

Definiţie 3: Descrierea unui algoritm de rezolvare a unei probleme sau a unei situaţii date într-un
limbaj de programare se numeste program sau cod sursă.

Etapele rezolvării unei probleme cu ajutorul calculatorului

1. Analiza problemei de rezolvat presupune efectuarea următoarelor etape:


o Citirea şi analiza cu atenţie a enunţului problemei (Ce se cunoaste ?)
o Înţelegerea şi identificarea rezultatului aşteptat (Ce se cere?)
o Alegerea strategiei de rezolvare a problemei (Cum rezolv?)

2. Descrierea în limbaj natural a modului de rezolvare propus, înseamnă stabilirea tipurilor de


informaţii care trebuie prelucrate precum şi a tipurilor de rezultate aşteptate. Limbajul natural
descrie în termeni largi etapele propuse pentru rezolvarea problemei date
3. Descrierea algoritmului în limbaj pseudocod: Limbajul pseudocod este un limbaj intermediar
între limbajul natural şi limbajul de programare. Un algoritm scris în limbaj pseudocod nu este un
program care poate fi rulat direct pe calculator, dar poate fi transcris uşor într-un limbaj de
programare ţinând cont de vocabularul, semantica și sintaxa limbajului de programare.
4. Scrierea codului sursă: Aceasta este etapa în care algoritmul scris în limbaj pseudocod este
transcris în limbaj de programare, ţinând cont de regulile impuse de acesta şi repectând
semnificaţia construcţiilor sintactice corecte impuse de limbajul de programare.
5. Corectarea erorilor sintactice: Corectarea unui cod sursă din punct de vedere sintactic se
numeste compilare.
Cel care scrie un program are obligaţia să corecteze aceste erori folosindu-se de mesajele de
eroare afişate precum şi de cunoştinţele sale. Mesajele de eroare afişate, care semnalează o
eroare de compilare, nu indică întotdeauna corect modalitatea de corectare (ele sunt mai mult
informative).
6. Testarea programului: În această etapă se verifică corectitudinea rezolvării problemei prin
analiza rezultatului obţinut pentru diferite valori ale datelor de intrare. Tot aici se identifică și
eventualele erori de gândire, care apar prin alegerea unui algoritm de rezolvare greşit. În această
etapă trebuie indentificate seturi de date de intrare numite şi cazuri limită pentru care programul
s-ar putea bloca sau ar genera rezultate greşite datorită unei neglijenţe în etapa de analiză şi
implementare a programului.

Operatori. Expresii. Evaluarea expresiilor


1. Operatori aritmetici
+ adunare
- scădere
* înmulţire (atenție! Operatorul de înmulțire trebuie să fie prezent în scrierea
expresiilor aritmetice, nu se subînțelege ca la matematică)
/ sau DIV împărțire, a/b - daca ă şi b sunt două valori întregi determină câtul
împărțirii, dacă a şi b sunt două valori reale determină rezultatul
împărţirii în format de număr real (cu zecimale)
% sau MOD determină restul împărţirii a două numere, nu se aplică valorilor reale
2.Operatori relaţionali şi de egalitate
== este egal
< mai mic
<= mai mic sau egal
> mai mare
>= mai mare sau egal
!= diferit
3. Operatori logici
NOT sau ! negaţie logică
AND sau && conjucţie logică (şi logic)
OR sau || disjuncţie logică (sau logic)

Fig.2. Tabele de adevăr ale operatorilor logici

Aplicaţii practice

1. Un algoritm este un limbaj de programare?


 Adevărat
 Fals
2. Cu ajutorul unui calculator se pot prelucra următoarele tipuri de informaţii:
 Imagini
 Documente
 Numere
 Cărţi
3. Descrierea unui algoritm se poate face prin:
 Limbaj natural
 Limbaj de programare
 Limbaj pseudocod
 Nici un răspuns nu e corect
4. Limbajul pseudocod este un limbaj de programare?
 Fals
 Adevărat
5. Datele de intrare sunt și date de ieşire?
 Adevărat
 Fals
6. Complexitatea unui cod sursă al unui program este măsurată prin numărul de linii de cod
scrise?
 Adevărat
 Fals
7. Corectarea erorilor de compilare implică automat și corectarea erorilor de gândire?
 Adevărat
 Fals
8. Datele de ieşire reprezintă acele valori obţinute la terminarea unui algoritm?
 Adevărat
 Fals
9. Pentru a verifica corectitudinea funcţionării unui program acesta trebuie testat cu:
 Valorile pentru care a fost gândit în etapa de analiză
 Cu orice fel de valori
 Cu valori speciale identificate pentru cazurile limită
 Nici un răspuns nu e corect.
10. Precizaţi care este diferenţa între scrierea algoritmului în limbaj pseudocod faţă de
limbajul de programare. (Precizaţi avantajele şi dezavantajele)
Avantaje Dezavantaje

11. Care sunt deosebirile dintre erorile de compilare și erorile de gândire?

12. Definiți următorii termeni:


 Complexitatea unui algoritm
 Operaţia de compilare
 Limbaj de programare
 Limbaj natural
13. Definiți noțiunile:
Deîmpărțit:
Împărțitor:
Cât:
Rest:
Teorema împărțirii cu rest:
Divizor:
Divizor propriu:
Număr prim:
Număr par:
Număr impar:
Numere prime între ele:

14. Efectuați folosind împărțirea întreagă următoare împărțiri, precizând câtul și restul:
Expresie Cât Rest
1243 : 1=
1243 : 10 =
1243 : 100 =
1243 : 1000 =
1243 : 10000 =
Ce se observă?

15. Câte resturi se pot obține împărțind un număr la 7? Care este cel mai mare rest care se
poate obține împărțind A la B?


16. Care este câtul împărțirii lui A la B dacă A este mai mic decât B? Dați trei exemple.



17. Care este restul împărțirii lui A la B dacă A este mai mic decât B? Dați trei exemple.



18. Ce valoare poate avea restul împărțirii unui număr x la 2? Ce puteți spune despre x, dacă
x împărțit la 2 dă restul 1?Dar dacă x împărțit la 2 dă restul 0?

19. Cum puteți scrie o egalitate care să fie adevărată dacă X se divide la Y?

20. Câte numere sunt de la 25 la 66?

21. Câte numere impare sunt de la 10 la 20?

22. Câte numere pare sunt de la 10 la 20?

23. Câte numere impare sunt de la 11 la 20?

24. Cu câte cifre de zero se termină produsul 1*2*3*…*100 ?

25. Care sunt numerele prime mai mici decât 29? Câte numere prime ați găsit?

26. Care sunt divizorii lui 12? Care sunt divizorii proprii ai lui 12?

27. Dați exemplu de 3 numere care au un singur divizor propriu.

28. Descompuneți în factori primi numerele: 24, 75, 105, 300, 2100
29. Dați exemplu de 2 numere naturale care au în descompunerea lor în factori primi, toți
factorii la aceeași putere.

30. Calculați suma 1 + 2 + 3 + …+100

31. Dacă a este un număr natural cu exact 5 cifre, Scrieți expresii astfel încât:

cifra unităților: U=
cifra zecilor: Z=
cifra sutelor: S=
cifra miilor: M=
cifra zecilor de mii: Zm=

32. Evaluați următoarele expresii ținând cont de ordinea efectuării operațiilor.


 2+5*3-7*4%2=
 (2*3+1)/6%2=
 234561/100%1000=
 5+3<=5+2-4*3
 123%10==123%100%10 && 123/100<123/10%10
 1234%10+1234%10%10+1234/100%10+1234/1000%10=

33. Completaţi următorul tabel de adevăr:

not
a b c not c or b a and b or not c not (c and not b)
c
F F F
F F T
F T F
F T T
T F F
T F T
T T F
T T T

S-ar putea să vă placă și