//includerea fisierelor header cu functii predefinite utilizate in program
#include <iostream> //pentru citire-scriere de la /la consola
//declararea constantelor simbolice
using namespace std;
//declarari de variabile globale
//definitii functii utilizator
int main()
{
//declarari variabile locale
//instructiuni care implementeaza algoritmul de rezovare al problemei
return 0;
}
Programele lucreaza cu date si expresii.
Datele pot fi:
a) variabile
O variabila are alocata o zona de memorie, are un nume, un tip si o valoare atasata.
ATENTIE! Orice variabila trebuie declarata înainte de a fi utilizata în program.
b) constante
– sunt date care nu-si schimba valoarea pe parcursul executiei programului.
Declararea unei constante simbolice in C++: #define DIM 1000
Dupa tipul lor, datele pot fi: date numerice si date de tip caracter.
Tipurile întregi sunt:
Operatii posibile cu variabile de tip numeric:
* (înmultire) ,
/ (div, câtul împartirii),
% (mod, restul împartirii),
+ (adunare),
– (scadere)
Ex: 13 / 5 este 2 iar 13 % 5 este 3 (restul împartirii lui 13 la 5)
N % 10 este ultima cifra a lui N (cifra unitatilor
Expresiile
O expresie este formata dintr-o succesiune de operanzi intercalati de operatori, care respecta reguli sintactice
si de asociere.
ex: 2*(a+1)-b este o expresie aritmetica cu operatorii *, +, – (evaluarea ei produce o valoare numerica)
Expresie de tip caracter: c + ‘a’ – ‘A’ (transforma caracterul litera mare memorat in variabila c din litera
mare in litera mica)
Operatii implementate in C++
În cadrul algoritmului, cu datele putem efectua:
• operatia de citire / scriere
• operatia de atribuire – permite efectuarea de calcule; este operatia prin care o variabila primeste o valoare
constanta sau rezultatul evaluarii unei expresii.
variabila = expresie;
ntotdeauna, in partea stanga a unei atribuiri trebuie sa fie o variabila si nu o expresie (variabila are memorie
alocata, expresia NU are)
Ex: a = b + 1; nu este echivalent cu b + 1 = a;
operatia de decizie – în functie de îndeplinirea sau neîndeplinirea unei conditii, algoritmul / programul se
ramifica
if (expresie logica)
//instructiuni ramura DA
else
//instructiuni ramura NU
Expresiile logice au rezultat valori de adevar (valoare nenula – adevarat, valarea 0 – fals)
Operatori relationali: <, <=, >, >=
Operatori de egalitate: == (egal), != (diferit)
Operatori logici: ! (negatia), && (si, conjunctia), || (sau, disjunctia)
Regulile lui de Morgan
!(E1 && E2) = !(E1) || !(E2)
!(E1 || E2) = !(E1) && !(E2)
Ex: a) x ∈[a,b] <=> (x>=a && x<=b)
b) x este un an bisect (divizibil cu 4 si nu este multiplu de 100 sau divizibil cu 400) (x % 4 == 0 && x %
100 != 0) || (x % 400 == 0)
1900 nu este bisect desi se divide cu 4; 1920 si 2000 sunt ani bisecti