Sunteți pe pagina 1din 13

TEST INIȚIAL

1. Variabila întreagă a memorează un număr natural format din exact 3 cifre, toate cifrele fiind nenule și distincte. Care dintre
următoarele instrucțiuni C++ atribuie variabilei e suma cifrelor lui a?
a) e = a%10/10 + a/100%10 + a%10
b) e = a/10 + a/100 + a/1000
c) e = a*10/1000 + a/10%10 + a%10
d) e = a*10/1000 + a%100%10 + a%10

2. Scrieți un program care citește de la tastatură un număr natural N și determină suma divizorilor săi.

3. Scrieți un program care citește de la tastatură un număr N (1 <= N <= 1.000.000), iar apoi N numere naturale din intervalul închis
[0, 9] şi determină cifrele cu număr maxim de apariții.
Exemplu: 
Date de intrare:
45
104354294042953876041071010912304386566658975
Date de ieșire:
0, 4 - apar de 6 ori
Ce este un algoritm?
- o succesiune de pași care se execută în vederea obținerii unui rezultat
- algoritmul este independent de implementarea lui. Posibile
implementări:
- Limbaj natural
- Pseudocod
- Limbaj de programare
Exemplu 1: algoritmul prin care o persoană face de mâncare
- date de intrare: făină, ouă, apă, etc.
- se combină ingredientele în anumite proporții, amestecul se pune apoi la cuptor un interval de timp
- în cele din urmă mai adăugăm câte ceva și ==> prăjitura e gata (acesta e rezultatul dorit- datele de ieșire)

Exemplu 2: Se citește un număr natural n, diferit de 0. Să se afișeze suma


cifrelor sale. Dacă se citește 248, se va afișa 14.
întreg i, n, s
citește n
s0
cât timp n <> 0 execută
| s  s+n mod 10
| n  n div 10
|⚫
scrie s
Ce este un program?
- reprezintă implementarea unui algoritm într-un anumit limbaj de
programare
- în urma compilării programului se obține o reprezentare în cod binar
(cod mașină) specific unei anumite arhitecturi (x86, ARM)
- compilatorul este specific unui anumit limbaj. El acceptă un text scris
într-un anumit limbaj și îl transformă în cod mașină
Reprezentarea informației
- informațiile prelucrate de calculator(datele și programele) sunt
codificate numeric în baza de numerație 2
Coversia din Baza 10 în Baza 2
Câtul Restul Rezultat:
11 (11)10 = ( … )2

Câtul Restul Rezultat:


67 (63)10 = ( … )2
Coversia din Baza 2 în Baza 10
(N)2 = bn … b2 b1 b0
(N)10 = b0*20 + b1 *21 + b2 *22 + … + bn *2n

Exemple:
(0110)2 =
(0110 0010)2 =
Cum reprezentăm numerele negative?
Sign Magnitude One’s Complement
1111 -7 1000 -7

1110 -6 1001 -6

1101 -5 1010 -5

1100 -4 1011 -4

1011 -3 1100 -3

1010 -2 1101 -2

1001 -1 1110 -1

1000 -0 1111 -0

0000 +0 0000 +0

0001 1 0001 1

0010 2 0010 2

0011 3 0011 3

0100 4 0100 4

0101 5 0101 5

0110 6 0110 6

0111 7 0111 7
Cum reprezentăm numerele negative?
Two’s Complement
-8 4 2 1
1000 -8 One’s complement – pur și simplu
1001 -7
1010 -6
se inversează biții
1011 -5
1100 -4
1101 -3 Two’s complement – se adaugă +1
1110 -2
1111 -1
la one’s complement
0000 0
0001 1
0010 2 Numerele negative se stochează în
0011 3
0100 4
memoria calculatorului sub forma
0101 5 de Two’s Complement
0110 6
0111 7
Temă
https://docs.google.com/document/d/1iLf2eZlNYOkhbhr2pWT0ARRBx
NvPlgctmAXmtT8RdmA/edit?usp=sharing

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