Sunteți pe pagina 1din 23

1

1.Elemente de baza ale limbajului C++


1.1 Vocabularul limbajului C++
1.2 Instructiunile limbajului C++
1.2.1 Instructiuni decizionale
1.2.2 Instructiuni pentru citiri scrieri
1.2.3 Instructiuni repetitive
2. Vectori in C++
2.1 Declararea unui vector
2.2 Exemplu
2.3 Citirea elementelor unui vector
2.4 Afisarea elementelor unui vector
2.5 Probleme cu vectori :
Scrieti un program C++ care calculeaza :
- suma elementelor unui vector
- minim si maxim
- sorteaza crescator sau descrescator
3. Matrici in C++
3.1 Declararea unei matrici
3.2 Exemplu de matrici
3.3 Citirea unei matrici
3.4 Afisarea unei matrici
3.5 Probleme cu matrici
Scrieti un program C++ care calculeaza :
- suma elementelor unei matrici

2
- minim si maxim
- sorteaza crescator si descrescator
- interschimbarea C1 cu C2
- interschimbarea L1 cu L2
4.Subprograme C++
4.1 Definitie
4.2 Forma generala
4.3 Structura unei functii in C++
4.4 Variabile locale . Variabile globale
4.5 Parametri formali. Parametri efectivi
4.6 Probleme cu subprograme :
Scrieti un program C++ care calculeaza :
-cmmdc dintr-un vector
-elemente prime dintr-un vector
-aria
-sortarea
-suma cifrelor

1.1 Vocabularul limbajului C++


1.2.1 SETUL DE CARACTERE

La scrierea programelor se foloseşte setul de caractere al codului


ASCII. Mulţimea caracterelor se împarte în trei grupe:

3
 caractere negrafice: cod Ascii < 32 şi DEL(cod 127 -
excepţie)
- au diferite funcţii speciale, spre exemplu:
\n - rând nou
\t - TAB
\b - backspace
\v - TAB vertical
\f - salt de pagină etc.
 spaţiu cod Ascii = 32
 caractere grafice cod Ascii > 32
- literle mari ale alfabetului englez (A cod 65)
- literele mici ale alfabetului englez (a cod 97)
- cifre 0..9 (0 cod 48)
- caractere speciale: !, ", *. + etc.
1.2.2 IDENTIFICATORI

Un identificator este o succesiune de litere, eventual cifre care începe


cu o literă. În calitate de litere se folosesc: literele mici şi mari ale
alfabetului englez şi caracterul subliniere.

ATENŢIE!!! Se face distincţie între literele mici şi cele mari

EXEMPLU: Max, _min, distincte, frecv, Max2 - reprezintă identificatori


2min, 67prim, 7_org, A+B, a& - nu reprezintă
identificatori
Max  max, ordonat  ORDONAT

1.2.3 CUVINTE REZERVATE


Cuvintele rezervate sunt identificatori cu semnificaţie fixată, care nu pot fi
folosiţi în alt context decât cel precizat în definirea limbajului.

EXEMPLU: if, while, do, printf, int, main, void etc.

1.2 Instructiunile limbajului C++

1.Instructiunea IF:
Forma generala: If(conditie)instructiune 1;
4
instructiune 2;

2.Instructiunea WHILE
Forma generala: While(conditie)instructiune;

3.Instructiunea FOR
Forma generala: For(expresie text;expresie
initializare;incrementare;decrementare).

2. Vectori In C++

2.1 Declararea unui vector.

5
Int a[10]

2.2 Exemplu de vector in C++

10 5 19 40 1

2.3 Citirea elementelor unui vector in C++.

for(i=1;i<=n;i++)
{
cout<<’’a[“<<i<<”]=”;
cin>>a[i];

2.4 Afisarea elementelor unui vector in C++

for(i=1;i<=n;i++)
cout <<a[i]<<endl; unul sub altul

for(i=1;i<=n;i++)
cout<<a[i]<<” “; spatiu intre ele

2.5 Probele cu vectori in C++

Program care va calcula suma elementelor unui vector


6
#include<iostream.h>
void main()
{
int i,n,a[10],s;
cout<<”n=”;cin>>n;
s=0;
for(i=1;i<=n;i++)
{
cout<<”a[ “<<i<<”]=”;
cin>>a[i];

for(i=1;i<=n;i++)

s=s+a[i];

cout<<”suma este”<<s;

Program care va calcula minimul dintr-un vector

#include<iostream.h>
void main()
7
{
int n,a[10],min;
cout<<”n=”;cin>>n;
for(i=1;i<=n;i++)
{
cout<<”a[“<<i<<”]=”;
cin>>a[i];
}
for(i=2;i<=n;i++)
if(a[1]<min) min=a[i];
cout<<”minimul este”<<min;
}

Program care va calcula maximul dintr-un vector

#include<iostream.h>
void main()
{
int n,a[10],max;
cout<<”n=”;cin>>n;
for(i=1;i<=n;i++)
{
cout<<”a[“<<i<<”]=”;
cin>>a[i];
}
for(i=2;i<=n;i++)
if(a[i]>max) max=a[i];
cout<<”maximul este”<<max;
}

Program care va sorta crescator elementele unui vector

8
#include<iostream.h>
void main()
{
int a[10],n,i,aux;
cout<<”n=”;cin>>n;
for(i=1;i<=n;i++)
{
cout<<”a[“<<i<<”]=”;
cin>>a[i];
}
for(i=1;i<=n;i++)
{
if(a[i]<a[i]+1)
aux=a[i];
a[i]=a[i]+1;
a[i]+1=aux;
}
cout<<a[i]<<” “;
}

3.Matrici in C++

3.1 Declararea unei matrici in C++

int a [15][15];

3.2 Exemplu de matrice:

9
3.3 Citirea elementelor unei matrici:

for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
3.4 Afisarea elementelor unei matrici:
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<a[i][j]<<” “;
cout<<endl;
}

Probleme cu matrici
1. Scrieti un program C++ care calculeaza suma elementelor
unei matrici.

#include<iostream.h>
void main()
{
10
int a[i][j],m,n,i,j,s;
cout<<”m=”;cin>>m;
cout<<”n=”;cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
s=0;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
s=s+a[i][j];
}
cout<<”Suma este”<<s;
}

2. Scrieti un program C++ care calculeaza maximul dintr-o


matrice.

#include<iostream.h>
void main()
{
int a[15][15],m,n,i,j,max;
11
cout<<”m=”;cin>>m;
cout<<”n=”;cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
max=a[i][j];
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
if(max>a[i][j];
max=a[i][j];
}
cout<<”Maximul este”<<” “<<max;
}

3. Scrieti un program C++ care sorteaza crescator elementele


unei matrici.

#include<iostream.h>
void main()
{
12
int a[15][15],m,n,i,j,aux;
cout<<”m=”;cin>>m;
cout<<”n=”;cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
if(a[i][j]<a[i][j]+1)
aux=a[i][j];
a[i][j]=a[i][j]+1;
a[i][j]+1=aux;
}
cout<<a[i][j]<<””;cout<<endl;
}

4. Scrieti un program C++ care interschimba coloana c1 cu


coloana c2.

#include<iostream.h>
void main()
{
13
int a[15][15],m,n,i,j,c1,c2;
cout<<”m=”;cin>>m;
cout<<”n=”;cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
for(j=1;j<=n;j++)
{
aux=a[1][j];
a[1][j]=a[2][j];
a[2][j]=aux;
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<a[i][j]<<” “;
cout<<endl;
}

5. Scrieti un program C++ care interschimba linia l1 cu linia l2.

#include<iostream.h>
void main()
{
int a[15][15],m,n,i,j,l1,l2;
cout<<”m=”;cin>>m;
14
cout<<”n=”;cin>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<”a[“<<i<<”][“<<j<<”]=”;
cin>>a[i][j];
}
for(i=1;i<=m;i++)
{
aux=a[i][1];
a[i][1]=a[i][2];
a[i][2]=aux;
}

for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cout<<a[i][j]<<” “;
cout<<endl;
}

4.Subprograme C++

4.1 Definitie:

Prin notiunea de subprogram intelegem un ansamblu de date, variabile si


instructiuni scrise pentru o anumita prelucrare,care,pentru a fi folosit,trebuie
apelat dintr-un alt subprogram sau program.

15
4.2 Forma generala:

[tip rezultat]nume(parametri formali)


{
corp functie
}

4.3 Structura unei functii in C++:


Orice subprogram are doua componente:
1) Antetul subprogramului care contine numele si tipul functiei si lista de
parametri formali.
2)Corpul subprogramului.

4.4 Variabile Locale.Variabile Globale

Prin notiunea de Variabile Globale vom


intelege acele variabile care sunt declarate in
afara corpului oricarei functii.Aceste variabile
sunt recunoscute in toate subprogramele
folosite in program.

16
Prin notiunea de Variabile Locale vom
intelege variabilele declarate in interiorul
corpului subprogramului respectiv.Acest tip de
variabile este recunoscut doar in cazul
subprogramului respectiv.

Parametri formali.Parametri efectivi

Parametrii formali sunt vizibili doar in


corpul functiei care ii defineste.O functie poate
deci prelucra variabilele globale, cele locale,
precum si parametrii formali.Pentru reutilizare si
pentru a nu modifica accidental variabilele
globale, este indicat ca o functie sa nu acceseze
variabilele globale.
17
Parametrii efectivi sunt expresiile folosite
împreuna cu numele procedurii atunci când
aceasta este apelata.Din moment ce parametrii
efectivi trebuie sa fie substituiti de parametrii
formali corespunzatori, transmiterea
parametrilor trebuie facuta respectând regula de
mai jos.

Regula. Parametrii efectivi trebuie sa


corespunda cu parametrii formali în ceea ce
priveste: numarul, compatibilitatea atribuirii
(tipul), pozitia.

4.6 Probleme cu subprograme

1. Scrieti un subprogram care calculeaza C.M.M.D.C. dintr-un


vector.

#include<iostream.h>
int cmmdc(int a,int b)
{
while(a!=b)
if(a>b)a=a-b;
18
else b=b-a;
return a;
}
void main()
{
int a[10],n,i;
cout<<”n=”;cin>>n;
for(i=1;i<=n;i++)
{
cout<<”a[“<<i<<”]=”;
cin>>a[i];
}
for(i=1;i<=n;i++)
cout<<cmmdc(a,b);
}

2. Scrieti un subprogram care foloseste o functie care verifica


daca un nr este prim.

#include<iostream.h>
int prim(int n)
{
19
int prim,i;
prim=1;
for(i=2;i<=n/2;i++)
if(n%i= =0)prim=0;
return prim;
}
void main()
{
int n;
cout<<”n=”;cin>>n;
if(prim(n)= =1)cout<<”Numarul este prim”;
else cout<<”Numarul nu este prim”;
}

3.Scrieti un subprogram care calculeaza suma cifrelor unui


numar.

#include<iostream.h>
int suma(int n)
{
int c,s;
20
while(n!=0)
{
c=n%10;
s=s+c;
n=n/10;
}
return s;
}
void main()
{
int n;
cout<<”n=”;cin>>n;
cout<<suma(n);
}

4. Scrieti un subprogram care primeste ca parametru


lungimea celor doua catete si returneaza lungimea
ipotenuzei.

#include<iostream.h>
float ipotenuza(int c1,int c2)
{
21
int ip;
ip=sqrt(c1*c1+c2*c2);
return ip;
}
void main()
{
int c1,c2;
cout<<”c1=”;cin>>c1;
cout<<”c2=”;cin>>c2;
cout<<ipotenuza(c1,c2);
}

5. Scrieti un subprogram care calculeaza C.M.M.D.C. dintre 3


numere.

#include<iostream.h>
int cmmdc(int a,int b)
{
22
while(a!=b)
if(a>b)a=a-b;
else b=b-a;
return a;
}
void main()
{
int x,y,z,cm;
cout<<”x=”;cin>>x;
cout<<”y=”;cin>>y;
cout<<”z=”;cin>>z;
cm=cmmdc(x,y);
cout<<cmmdc(cm,z);
}

23

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