Sunteți pe pagina 1din 13

Pregatire Bac Informatica

Anexa BAC

n - numarl de mesaje posibile emise


m – lungimea cuvintelor binare
V – Cantitatea totala de informatie
N – Nr de mesaje emise
I - Cantitatea de informatie ocupata de o sursa
f – Frecventa de cadre
Formule

I = log2 n

I = m x m y log2 n (Alb/Negru)

I = 3 m x m y log2 n (Color) I = m x m y log2 n

V=T f I

Transformarea Din Baza 10 in orice baza

(100)10 è (X)2

100 / 2 = 50 Restul = 0;
50 / 2 = 25 Restul = 0;
25 / 2 = 12 Restul = 1;
12 / 2 = 6 Restul = 0;
6/2=3 Restul = 0;
3 / 2 =1 Restul = 1;
1 / 2 =0 Restul = 1;

(100)10 è (1100100)2
Transformarea din orice baza in baza 10

(127)8 è (X)10

(1011,1)2 è (X)10
Functiile Logice

Conjuntiva Negatie Conjunctiva Disjuncta

& & 1

SI (&) SI-NU(&) SAU(V)

Negatie Disjuncta Negatie

SAU-NU(V) NU ( _ )
Ex:y = x1&x2 V x3

Programare C++

Declararea
#include <fstream>

Pentru citire
Ifstream {Nume} (“Nume.txt”);
Pentru Scriere
Ofstream {Nume} (“Nume.txt”);

Declararea Math
#include <cmath>

MAX - variabila Maximala


MIN - variabila Minima
Sqrt - radacina patrata
Round - rotungirea
Log - logoritm natural
Pow – putere
Funcția exp calculează valoarea exponentului de la val și o returnează.

Exemplu
#include <cmath>

cout << max(2,5); Raspuns: 5


cout << min(2,5); Raspuns: 2
cout << sqrt(64); Raspuns: 8
cout << round(2.6); Raspuns: 3
cout << log(4); Raspuns: 2
cout pow(3,2);
<< R: 9
3(a) – nr
2(b) – putere
double param = 5.0;

cout << "exp " << param << " = " << exp(param) << endl;

R: Exponentul lui 5 = 148,413


Operator Descriere
== Egal cu
!= Diferit de
< Mai mic decât
> Mai mare decât
<= Mai mic decât sau egal cu
>= Mai mare decât sau egal cu

Operatorul && (și)


a b a && b
true true true
true false false
false true false
false false false

Operatorul || (sau)
a b a || b
true true true
true false true
false true true
false false false

Operator Scurt-circuit
&&
dacă expresia din partea stângă este false, rezultatul combinat
este false (expresia din partea dreaptă nu va mai fi evaluată).
dacă expresia din partea stângă este true, rezultatul expresiei
|| combinate este true (expresia din partea dreaptă nu va mai fi
evaluată).

Operator Echivalent asm Descriere


& AND AND pe biți
| OR OR inclusiv pe biți
^ XOR OR exclusiv pe biți
~ NOT Complement unar (complementarea pe biți)
<< SHL Shiftare spre stânga pe biți
>> SHR Shiftare spre dreapta (pe biți)
Grad grup de precedență Operator Descriere Grupare
:: De la stânga la
1 Domeniu Calificator de domeniu
dreapta
++ -- Incrementare / decrementare
postfixată
() De la stânga la
2 Postfixat (unar) Forme funcționale
dreapta
[] subscript
. -> Accesare membru
++ -- Incrementare / decrementare
prefixată
~ ! NOT pe biți / NOT logic
+ - Unar prefixat De la dreapta la
3 Prefixat (unar) & * Referențiere / Dereferențiere stânga
new delete Alocare / Dealocare
sizeof parameter pack
(type) Conversie de tip în stilul C
.* ->* De la stânga la
4 Pointer la membru Pointer de acces
dreapta
* / % De la stânga la
5 Aritmetic: scaling înmulțire, împărțire, modulo
dreapta
+ - De la stânga la
6 Aritmetic: adunare adunare, scădere
dreapta
<< >> deplasare stânga, deplasare De la stânga la
7 Deplasare pe biți
dreapta dreapta
< > <= >= De la stânga la
8 Relațional Operatori de comparație
dreapta
== != De la stânga la
9 Egalitate egalitate / inegalitate
dreapta
& De la stânga la
10 Și AND pe biți
dreapta
^ De la stânga la
11 OR exclusiv XOR pe biți
dreapta
| De la stânga la
12 OR inclusiv OR pe biți
dreapta
&& De la stânga la
13 Conjuncție AND logic
dreapta
|| De la stânga la
14 Disjuncție OR logic
dreapta
= *= /= %=
+= -=
Expresii la nivel de >>= <<= &= Atribuire / Atribuire compusă De la dreapta la
15
atribuire ^= |= stânga
?: Operator condițional
, De la stânga la
16 Secvență Separator virgulă
dreapta
1 (7 == 5) // are valoarea false
2 (5 > 4) // are valoarea true
3 (3 != 2) // are valoarea true
4 (6 >= 6) // are valoarea true
5 (5 < 5) // are valoarea false
(a == 5) // are valoarea false, deoarece a nu este egal
cu 5
(a*b >= c) // are valoarea true, deoarece (2*3 >= 6) este
true
(b+4 > a*c) // are valoarea false, deoarece (3+4 > 2*6)
este false
((b=2) == a) // are valoarea true
!(5 == 5) // are valoarea false deoarece expresia din
dreapta (5 == 5) este true
!(6 <= 4) // are valoarea true deoarece (6 <= 4) este
false
!true // are valoarea false
!false // are valoarea true
( (5 == 5) && (3 > 6) ) // are valoarea false ( true &&
false )
( (5 == 5) || (3 > 6) ) // are valoarea true ( true ||
false )
if ( (i<10) && (++i<n) ) { /*...*/ } // atentie la
expresia care il incrementeaza pe i

7==5 ? 4 : 3 // are valoarea 3, deoarece 7 nu este egal


cu 5.
7==5+2 ? 4 : 3 // are valoarea 4, deoarece 7 este egal cu
5+2.
5>3 ? a : b // are valoarea lui a, deoarece 5 este mai
mare decat 3.
a>b ? a : b // are acea valoare care este mai mare, a
sau b.
Access

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