Sunteți pe pagina 1din 1

(1) Limbaj de programare: O unealta cu care se dau comenzi Legenda: a-variabila intreaga sau reala 

;   i-intreg; d- while(expresie); cin>>a>>b ;


calculatorului. El ne asigura un set de concepte necesare rezolvarii nume tip ;    p-pointer; c-camp;    v-valoare intreaga  sau Ea are rolul de a repeta instrucţiunea până când expresia este (4) cout<<minim (a,b);
problemei. C++ este orientat catre problema adevărată. Diferenţa faţă de instrucţiunea while constă în faptul că
Un program contine: reala; f-nume de functie;    t-tablou; x-nume tip sau testul este plasat la sfârşitul buclei, deci instrucţiunea se execută cu getch();
- cuvinte cheie (for, while, etc.) expresie; e-expresie ; s-structura sau uniune. siguranţă cel puţin o dată, indiferent de valoarea expresiei. }
- constante (x=3, constante sir, constante numerice) Functii: functiile sunt portiuni de cod care au un nume si o Exemplul următor citeşte numere de la tastatură, până când numărul int minim (int x, int y){
- identificatori: - de variabile, -de functii, -de tipuri de functionalitate distincta. tastat este mai mic sau egal cu 10. if (x>y) return x;
utilizatori (care incep cu litera) (2) Definirea functiei: tip intors nume (tip parametru , nume (3) #include <stdio.h>
parametru ) { corpul functiei; } ex: int aduna (int a, int b) { int c; else return y;
- semen punctuatie: “,(), {} void main()
- comentarii c=a+b; return c; } Declaraţia conţine antetul funcţiei şi informează { }
- operatori (majoritatea semnelor) compilatorul asupra tipului, numelui funcţiei şi a listei parametrilor char n;
- declaratii, definitii si utilizatori de :- variabile; -functii; formali (în care se poate indica tipul parametrilor formali şi numele do{ #include <iostream.h>
- declaratii , definitii de tipuri de utilizatori acestora). Declaraţiile de funcţii se numesc prototipuri, şi sunt printf("\nTastaţi un număr < 10 "); #include <conio.h>
Instructiuni de control al executiei: Sunt de 2 feluri : constituite din antetul funcţiei. Definiţia conţine antetul funcţiei şi scanf("%d", &n);
corpul acesteia. Nu este admisă definirea unei funcţii în corpul altei int fast (int n)
- decizie ramificare (if, else, switch) }while(n>10);
- repetitive: - cu test initial (while, for ) funcţii. . Parametri functiei se numesc parametri formali. Tip } {
-cu test final (do while) intors: ceea ce intoarce functia. Daca functia este VOID = functia nu Instructiunea DO WHILE: do instructiune while expresie if (n==1)
{} –delimitatori de bloc intoarce nimic. In corpul unei functii se foloseste RETURN. #include <iostream.h> return 1;
; –se pune la sfarsitul expresiei ca sa devina executabila RETURN FUNCTIE sau RETURN simplu. Apelul functiei: main() else
Directive preprocesor: # -pe aceste linii sunt alte reguli, # include . nume_functie (expresie 1, expresie 2 etc.) –parametrii actuali. {
Declararea functiilor: tip intors nume (tip parametru, nume return n * fast (n-1);
Tipuri de date: standard: CHAR(caracter pe un byte de la 0 -255), int n,s=0,i=1;
INT(2 bytes sau 4 0- 65736), FLOAT, DOUBLE –numere zecimale parametru; ) Ca o promisiune a unei definiri ulterioare. Rolul cout<<”n”;cin>>n; }
Modificatori: declararii: permite apelarea functiilor fara ca acestea sa fie definite. do void main()
- signed – se va interpreta cu semn(+/-) La declararea unei functii numele parametrilor poate lipsi. De ex: { s=s+i; {
- unsigned – fara semn ex: CHAR SIGNED = -125 +125 DECLARE Fx . Declarari de functii se gasesc de regula in i=i+1; int n,i;
- short, long – domenii de reprezentare fisierele .h (fisiere antet – header files). Definirea se face odata si } while (i<=n); cout<<s; }
numai odata. Declararea se poate face de ori cate ori este nevoie cu clrscr ();
Constante: o valoare cu un nume care nu poate fi modificata Instructiunea SWITCH: swicth (expresie)
peparcursul programului. De ex: 3,14 = π Mai departe pe parcursul conditia sa fie la fel sau poate lipsi. Apelul poate fi facut de ori cate { case exp1 secventa instruciuni 1 break; cout <<"\nAcest program calculeaza valoarea n!.";
programului numele π ramane valabil. ori cu conditia sa fie precedat de decralare sau definire. Conventia case exp2 secventa instruciuni 2 break; cout <<"\nIntroduceti o valoare pentru n.";
Definirea unei variabile: O locatie de memorie care poate stoca o de apel in C++: La apelul unei functii se construieste pe stiva un ................. cout <<"\nn="; cin>>n;
valoare de un anumit tip, si poate fi schimbata. Variabilele au 2 mari cadru de stiva pe care se depun: parameti functiei incepand cu case exp n secventa instruciuni n break; cout <<"n!=" <<fast(n);
proprietati: tip si valoare. Tipuri: INT CHAR FLOAT DOUBLE. ultimul ; adresa de revenire si variabilele locale. int aduna (int a, int 1. [default: secventa instructiuni n+1];
b) {int c; c=a+b; return c; } La intoarcerea dintr-o functie se distruge getch ();
Valoarea poate fi initializata si schimbata ulterior pe parcursul }
programului. Variabilele pot fi : locale, globale, publice, protejate cadrul de stiva. Se numeste recursivitate situatia in care o functie se 1 Se evalueaza expresia }
int x ; int = tip data, x = identificator (variabila) ex: int x = 10. apeleaza pe ea insasi. Programele mari se fac din mai multe module. 2 Se executa toate instructiunile de dupa expresie pana cand se
Rolul definirii unei variablie: - introduce identificatorul variabilei Modulele se leaga cu linkeditorul. Modul: de ex un fisier cu cod intalneste o instructiune break (sau goto , return) #include<iostream.h>
respective si aloca memorie acelei variabile. Expresii: Insiruiri de sursa. Programul final va folosi toate modulele linkate astfel incat sa Instructiunea FOR: are forma generala: for (expresie initializare, #include<conio.h>
operatori si operanzi (operatori si variabile). ex: x = y + z daca este para un singur program. Modul.1.c -> compilare->Modul.1.obj . expresie test, expresie incrementare) instructiune -- – in paranteze
Modulele se compileaza separat si se linkediteaza impreuna.. void main()
urmat de ; devine executabila (instructiune). Operatori: semne cu sunt 3 expresii 1. expr.initilaizare se foloseste pt. initialzarea
care putem face operatii asupra variabilelor: +, - / , % . Linkeditorul verifica ca fiecare functie sa fie declarata numai odata.. variabilei de ciclare. 2. expr.test se foloseste pt. a testa daca se {
Caracteristici ale operatorilor: -Aritatea – numarul de operanzi pe Durata de viata si domeniul de vizibilitate: durata de viata a unei executa instructiunea subordonata. expr.incrementare –se foloseste int n,i,sir[20],aux,inv;
care trebuie sa-i aiba operatorul in functie de aritate se deosebesc: variabile in memorie. Variabile locale: de la intrarea intr-o functie pt. incrementarea variabilei de ciclare ex: progr care listeaza clrscr();
unari ++ -- , binari +, -, %, ternari: ? Compilatorul verifica cu pana la iesirea din functie (distrugerea cadrului de stiva). Variabile numerele 5 4 3 2 1: Concret, se poate genera un numar dintr-un cout<<"\nProgramul ordoneaza un sir de maxim 20
strictete indeplinirea aritatii operatorilor. -Prioritatea: Indica ordinea globale: din momentul definirii pana la sfarsitul modulului curent. interval.
Structura: poate contine date functii sau metode. Structura se elemente intregi";
de evaluare a operatorilorin expresii cu mai multi operatori. Ex: Ex:
x=y+z*t (prima oara se face inmultirea, dupa aia adunarea si dupa construieste direct pe stiva. Clase: un prototip pentru obiecte, descrie { int i; cout<<"\nIntroduceti lungimea sirului n=";
aia egalul). Prioritatea se forteaza prin paranteze: x=(x+z)*t . tipurile de date pe care-l va cuprinde un oiect. Declararea unei clase for (i=5;i>=1;i--) cout<<i<<” “; cin>>n;
-Asociativitatea:- ordinea in care se evalueaza operatorii in cazul in este echivalenta cu declararea unui nou tip de date. O structura poate } if(n>20)
care au prioritati egale: x=y=z –regula este de la dreapta la stanga, contine nu numai date si functii.Ex: clasa MASINA este o notine Instrucţiunea IF {cout<<"V-am cerut un numar mai mic de 20";
x=y=z –regula este de la stanga la dreapta. -Comportamentul: abstracta, poate contine: model, culoare etc. Clasa BMW mosteneste Sintaxa instructiunii este:
tot ce e la clasa masina si introduce modelul. Membrii claselor sunt: getch();}
aplicabilitatea operatorului. Nu putem aplica orice semn la orice if ( <conditie> ) <instructiune1>;
operator. metode, variabile, proprietati si evenimente. In C++ Clasa este un Sau in varianta cu executie alternativa (executie pentru cazul in care else
Oper concept fundamental, este constructia prin care se definesc noi tipuri
Asociati conditia este falsa) {for(i=0;i<n;i++)
de date, prin asocierea unui set de functii la o structura de date. if ( <conditie> ) <instructiune1>; {cout<<"\nN["<<i+1<<"]=";
ator Utilizare Semnificatie vitate
Definitia unei clase presupune declararea clasei, la care se specifica else <instructiune2>; cin>>sir[i];}
( )  f(e)  apel functie  numele clasei, lista claselor de baza din care e derivata clasa, daca In ambele cazuri prin instructiune se intelege fie o instructiune do
[ ]  t[i]  indexare  exista, si membrii clasei, atât membrii de date cât si functii. Este simpla, fie una compusa (grup de instructiuni incadrat de { } ).
posibil controlul accesului atât la datele membre cât si la functiile {inv=0;
.  s.c  selectie  Conditia poate sa contina orice expresie.
membre ale unei clase. In acest scop, se pot utiliza specificatorii de Instructiunea IF Expresie: daca .... (conditie) executa ...ex: for(i=0;i<n-1;i++)
->  p->c  selectie indirecta  control al accesului: public, private si protected. Membrii Ex: Daca se indeplineste o conditie pusa atunci executa (functia pe {if(sir[i]>sir[i+1])
--  a--  postdecrementare  privati(date si functii) sunt accesibili numai functiilor membre si care o vrei) {aux=sir[i];
++ a++ postincrementare -->prietene(friend) ale clasei. Un membru public poate fi accesat de #include <iostream.h>
orice functie din domeniul de declaratie al clasei. Accesul la membrii sir[i]=sir[i+1];
-  schimbare semn  main ()
protejati este similar celui la membrii privati, dar accesul se poate { int a,b,max; sir[i+1]=aux;
+  plus unar (fara
extinde la functiile membre si prietene ale claselor derivate din clasa cout<<”a=”;cin>>a; inv=1;
--  -v  efect)  respectiva. Obiecte: instantierea unei clase. De ex: masina Renault cout<<”b=”;cin>>b; }
++  +v  predecrementare  Clio culoare verde ..etc descriere amanuntita. if (a>b ) max=a; }
!  --a  preincrementare  Metodele sunt: entitati de cod care pot calcula valori, citec intrari si else max=b;
executa toate manevrele care definesc comportametul clasei. }while(inv==1);
~  ++a  negatie logica  cout<<”maximul este “<<max;
class stiva { Cuvinte cheie în C++ : cout<<"\nSirul ordonat este:";
!i complementare
public:   stiva(); asm; bool; catch; class; const;_cast; delete; dynamic;_cast; explicit; for(i=0;i<n;i++)
*  ~i  (negare bit cu bit)     int esteVida(); false; friend; inline; mutable; namespace; new; operator; overload; cout<<"\nN["<<i+1<<"]="<<sir[i];
&  adresare indirecta     int estePlina(); private; protected; public; reinterpret; cast; static;_cast; template; }
sizeof  *p  preluare adresa     void adauga( float ); this; throw; true; try; typeid; using; virtual; wchar_t
   float sterge(); getch();
&a  determ. Sintaxa C/C++ Explicaţii
private: }
sizeof(x)  dimensiune  .
   float elementeleStivei[ 100 ];
(in octeti)     int virfulStivei; { Început bloc
() (d) e conversie de tip };
(cast) <--stiva :: stiva()    { } Sfârşit bloc
     virfulStivei = 0; if(<cond>) Instrucţiune condiţională
  }int stiva :: esteVida() { while(<cond>) Repetă până când
     if ( virfulStivei == 0 ) return 1;
a!=b Valoarea variabilei a e diferită
inmultire       else return 0;
de valoarea variabilei b
impartire    }
rest impartire -->int stiva :: estePlina()   { for(i=1;i<=n;i++) For
   if ( virfulStivei == 100 ) return 1; i=a; Atribuire
( modulo )     else return 0;}
*  v1*v2  adunare  void stiva :: adauga( float item ) { i++; Incrementare
/  v1/v2  scadere     elementeleStivei[ virfulStivei++ ] = item; i--; Decrementare
%  v1%v2  deplasare stanga     }
float stiva :: sterge(){ Declarare variabilă (în C++ se
deplasare dreapta 
   return elementeleStivei[ --virfulStivei ];  int i; poate declara oriunde în
+  v1+v2  mai mic     } program/ funcţie)
-  v1-v2  mai mic sau egal  int main()
<<  i1<<i2  mai mare     stiva Stiva1;      // apel stiva::stiva() pentru a crea
if(a==b) Dacă a egal cu b
>>  i1>>i2  mai mare sau egal  // obiectul
cin>>var; Citire de la intrarea standard
<  v1<v2  Stiva1  (de obicei tastatură)
   Stiva1.adauga( 5.0 );
<=  v1<=v2  egal 
>  v1>v2  diferit 
   stiva Stiva2;      // apel stiva::stiva() pentru a crea cout<<"text"<<var; Scriere la ieşirea standard (de
// obiectul obicei ecran)
>=  v1>=v2  si pe biti  Stiva2 cout<<endl; Tipăreşte o linie nouă
==  v1==v2  sau exclusiv pe biti     Stiva2.adauga( 3.3 );
INSTRUCTIUNI    Instructiunile de control al fluxului dintr-un
!=  v1!=v2     Stiva1.adauga( 9.9 );
limbaj specifica ordinea in care se fac calculele
   cout << Stiva1.sterge() << endl;
&  i1&i2  sau pe biti     return 0; Incapsularea, posibilitatea de supraincarcare si modularitatea
^  i1^i2  si logic } intaresc claritatea programelor. Detaliile de implementare sunt
|  i1|i2  (conjunctie)  Instrucţiuni: while (bucla) Această instrucţiune are următoarea izolate de lumea exterioara, numele metodelor pot fi alese cat mai
natural posibil, iar interfetele specifica precis si detaliat modul de
&&  i1&&i2  sau logic sintaxă:
utilizare al obiectului.
|| i1||i2 (disjunctie)   while(expresie) Incapsularea datelor elimina inconvenientele programarii dirijate de
instrucţiune
?: operator Expresia poate fi de orice tip scalar. Instrucţiunea specifică prelucrari si a procedurilor care le manipuleaza intr-o singura entitate
conditional numita obiect. Lumea exterioara obiectului are acces la datele sau
prelucrările ce se efectuează în corpul buclei şi se repetă atâta timp
procedurile lui doar prin intermediul unor operatii care constituie
=  i?v1:v2 ( ternar ) cât expresia este adevărată, mai exact diferită de zero. Instructiunea
interfata obiectului. Pentru crearea, initializarea, copierea si respectiv
*= /= atribuire While (bucla): Atat cat ... executa .... Se citeste n numar natural. Sa
se calculeze suma cifrelor sale (pentru n=123 se va tipari 6) distrugerea obiectelor, în C++ se folosesc functii speciale, numite
%= a=v constructori si destructori. Constructorul se apeleaza automat la
#include <iostream.h>
+= -= main () crearea fiecarui obiect al clasei, static, automatic sau dinamic(cu
operatorul new), inclusiv pentru obiecte temporare. Destructorul
int n,s=0;
este apelat automat la eliminarea unui obiect, la încheierea timpului
&= a*=v variante ale cout<<”n=”; cin>>n;
sau de viata, sau poate fi solicitat prin program, cu operatorul delete.
^= |= operatorului de while (n)
{ s=s+n%10; #include <stdio.h>
atribuire
n=n/10; #include <conio.h>
<<= } #include <iostream.h>
>>=   <--cout<<s; int minim (int, int);
}
, e1,e2 secventiere -->Instrucţiunea do while Această instrucţiune are următoarea sintaxă: void main (void) {
do int a,b;
instrucţiune clrscr();

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