Upload
sabinsirbu
View
236
Download
0
Embed Size (px)
Citation preview
8/20/2019 Structuri C++
1/22
1Profesor Ravas Centa
Sructuri C++
Structura liniara - se executa neconditionat o singura data;
- poate sa contina:
instructiuni de atribuire
instructiuni de citire
instructiuni de scriere
1. Instructiunea de atribuire este reprezentata prin operatorul de atribuire(=)
Prin operatia de atribuire o variabila primeste valoarea unei alte variabile, expresii sau valori.
SINTAXA: v = expresie; unde v = variabila sau valoare sau expresie
Ex. a=6;
b=a+2; b devine 8; a este 6; b=8 a=6
a=b+a; a devine 8+6 =14; b=8 a=14
b=a-1; b devine 14-1 = 13 b=13 a=14
Obs. - se observa cum isi modifica valoarea variabilele pe fiecare rand...
8/20/2019 Structuri C++
2/22
2Profesor Ravas Centa
nrcrt
Scheme logice Pseudocod Implementare in c++
1 intreg a,b,c;real m1,m2;
inceput
citeste a,b,c;
m1=(a+b)/2;m2=(b+c)/2;
scrie m1,m2;
sfarsit
#include void main()
{
int a,b,c;float m1,m2;
couta;
coutb;coutc;
m1=(a+b)/2;m2=(b+c)/2;
cout
8/20/2019 Structuri C++
3/22
3Profesor Ravas Centa
#includevoid main(){int a,b,c;coutc;if ((c*c==a*a+b*b) || (a*a==c*c+b*b) ||(b*b==a*a+c*c) ) cout
8/20/2019 Structuri C++
4/22
4Profesor Ravas Centa
ma=s/3;cout
8/20/2019 Structuri C++
5/22
5Profesor Ravas Centa
Instructiunea IF
1. Definitie
Structura alternativa dirijeaza executia unei secvente de instructiuni in functie de valoarea unei conditii plasate in blocul de decizie.
2. Sintaxa in pseudocod
daca (expresie logica) atunci secventa1 de operatii
altfel secventa 2 de operatii
3. Sintaxa in C++
if (conditie_logica) instructiune1;
else instructiune 2;
4.Reprezentarea prin schema logica
8/20/2019 Structuri C++
6/22
6Profesor Ravas Centa
5.Mecanismul de executie
- se evalueaza conditia logica
- daca e adevarata conditia logica se executa instructiune 1 altfel se executa instructiunea2
6.Observatii
- structura alternativa cu o singura ramura - numai cea adevarat
-structura alternativa imbricata - secventele de operatii(instructiunile) de pe orice ramura pot avea subordonate alte structuri alternative
7. Aplicatii
schema logica pseodocod program c++
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-2-structura-alternativa/instructiunea-if/if.PNG?attredirects=0
8/20/2019 Structuri C++
7/22
7Profesor Ravas Centa
Fie a un nr. dat de la tastatura .Afisati daca se termina in 0 int a;
inceput
citeste a
daca (a%10==0) scrie "Da"
altfel scrie "Nu"
Sfarsit
#include
void main ( )
{
int a;
couta;
if (a%10==0) cout
8/20/2019 Structuri C++
8/22
8Profesor Ravas Centa
int m1,m2,s1,s2,g1,g2, g,m,s;
coutm1>>s1;
coutm2>>s2;
//1 grad=60 minute = 3600secunde si 1 minut=60secunde
if ( g1
8/20/2019 Structuri C++
9/22
9Profesor Ravas Centa
unde: vi= valoare initiala
vf= valoare finala
pas= incrementare/decrementare
3. Schema logica a structurii in pseudocod
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/instructiunea-for/sintaxa%20in%20pseudocod.PNG?attredirects=0
8/20/2019 Structuri C++
10/22
10Profesor Ravas Centa
principiul de executie :
se initializeaza contorul
se scrie conditia de continuitate (contor=v_f)
se executa secventa de operatii
se modifica contor (incrementare/decrementare)
se repeta initializare contor pentru conditia de continuitate(A) altfel se iese din ciclu(F)
4.Sintaxa in C++
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/instructiunea-for/reprezentare%20for.PNG?attredirects=0
8/20/2019 Structuri C++
11/22
11Profesor Ravas Centa
FOR ( e1; e2; e3 )
S;
unde: e1= initializare contor
e2= conditii de continuare
e3= modificare contor
S= secventa de operatii
5.Implementarea in C++
- reprezentare prin scheme logice
8/20/2019 Structuri C++
12/22
12Profesor Ravas Centa
- implementare
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/instructiunea-for/for-scheme.PNG?attredirects=0
8/20/2019 Structuri C++
13/22
13Profesor Ravas Centa
Structuri Repetitive Conditionate sau iterative
s t r u c t u r a c o n d i t i o n a t a a n t e r i o r s t r u c t u r a c o n d i t i o n a t a p o s t e r i o r
w h i l e d o w h i l e
1. Sintaxa in pseudocod 1. Sintaxa in pseudocod
cat timp
conditie_logica
repeta instructiune
sfarsit cat timp
repeta
instructiune
pana cand conditie
2.Sintaxa in C++ 2. Sintaxa in C++
8/20/2019 Structuri C++
14/22
14Profesor Ravas Centa
while
(conditie_logica)
instructiune;
do
{ instructiune;
} while (conditie_logica);
obs.
- instructiunea se executa in cazul in care conditia logica este adevarata
obs.
- instructiunea se executa cat timp conditia logica e adevarata;
- instructiunea se executa cel putin o data chiar daca conditia logica nu e
indeplinita
3.Schema logica 3.Schema logica
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/structuri-repetit/do%20while.PNG?attredirects=0https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/structuri-repetit/while.PNG?attredirects=0
8/20/2019 Structuri C++
15/22
15Profesor Ravas Centa
4.Mecanism de functionare
- se verifica conditia logica
- daca este adevarata se repeta instructiune
- cat timp ct_logica e adevarata
-altfel iesim din structura pe ramura fals
4. Mecanism de functionare: (executa instructiunile cat timp conditie
adevarata)
- se executa instructiune
- se testeaza conditia logica
- daca nu e indeplinita conditia se repeta instructiunea pana cand e adevarata
-altfel iesim din structura
5.Aplicatii
Suma numerelor pare
# include
void main()
{
int s=0,i=2,n;
coutn;
while ( i%2==0)
{ s=s+i ;
i++; }
cout
8/20/2019 Structuri C++
16/22
16Profesor Ravas Centa
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/structuri-repetit/dowhile-sumpar.PNG?attredirects=0https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/structuri-repetit/while-sumpar.PNG?attredirects=0
8/20/2019 Structuri C++
17/22
17Profesor Ravas Centa
5.Aplicatii
Suma cifrelor unui numar
#include
void main()
{
int x,s=0;
coutx;
while (x != 0)
{ s=s+x%10;
x=x/10; }
cout
8/20/2019 Structuri C++
18/22
18Profesor Ravas Centa
5. Aplicatii - prin aplicatia codeBlocks Afisati inversul numarului a.Ex. 123=321
# include
using namespace std;
int main( )
{
int a, inv = 0 ;
https://sites.google.com/site/programareinc/ii-structuri-de-control/ii-3-structuri-repetitive/structuri-repetit/suma-while.TIF?attredirects=0
8/20/2019 Structuri C++
19/22
19Profesor Ravas Centa
couta;
while (a != 0)
{ inv = inv*10+(a%10) ;
a=a /10; }
cout
8/20/2019 Structuri C++
20/22
20Profesor Ravas Centa
SINTAXA
La d e c l a r a r e a unui tablou trebuiesc precizate:
1. tipul datelor din tablou2. numele tabloului
3. numarul de componente(unidimensional sau bidimensional)
Un tablou unidimensional se declara dupa s t r u c t u r a :
tip_baza nume_tablou [numar componente]
Ex. int v [20];
1. datele din tablou sunt de tip int;
2. nume tablou este v;
3. are 20 componente
v[1] = 9 ----componenta 1
v[2] = 80 ----componenta 2
v[3] = 67 ----componenta 3
CITIRE VECTOR
coutn;
8/20/2019 Structuri C++
21/22
21Profesor Ravas Centa
for ( i=1; i
8/20/2019 Structuri C++
22/22
22Profesor Ravas Centa
{
cout