Structuri de control

10

description

Structuri de control. - parte teoretica -. Cuprins :. Notiuni generale Structura repetitiva cu numar necunoscut de pasi conditionata anterior Structura repetitiva cu numar necunoscut de pasi conditionata posterior Structura repetitiva cu numar cunoscut de pasi. - PowerPoint PPT Presentation

Transcript of Structuri de control

Page 1: Structuri  de control
Page 2: Structuri  de control

Notiuni generale Structura repetitiva cu numar

necunoscut de pasi conditionata anterior

Structura repetitiva cu numar necunoscut de pasi conditionata posterior

Structura repetitiva cu numar cunoscut de pasi

Page 3: Structuri  de control

prin aceasta structura se repeta o actiune sau un grup de actiuni atata timp cat conditia precizata este adevaratase mai numeste iteratie, bucla sau cicluprocesul de control presupune 3 actiuni:

1)initializarea reprezinta starea de dinainte de prima parcurgere 2)testarea reprezinta starea prin care se compara

starea dintr-un anumit moment cu starea care termina procesul de repetare; daca aceasta comparatie este adevarata,

ciclul se continua, daca nu se termina 3)modificarea ce schimba starea curenta astfel incat sa

se avanseze catre starea finala face parte din corpul ciclului

poate fi: 1) cu numar necunoscut de pasi: a) conditionata anterior

b) conditionata posterior 2) cu numar cunoscut de pasi

Page 4: Structuri  de control

testeaza conditia de repetare a ciclului inainte de executarea corpului ciclului

conditia structurii repetitive cu numar necunoscut de pasi conditionata posterior este complementara conditiei structurii repetitive cu numar necunoscut de pasi conditionata anterior

Page 5: Structuri  de control

la aceasta structura sunt necesare 2 variabile de memorie : una numita contor care numara de cate ori s-a realizat actiunea pana in acel moment si alta numita numar de repetari care determina de cate ori trebuie sa se execute corpul ciclului.

Page 6: Structuri  de control

Structura “pentru” se foloseste atunci cand stim cate numere sunt(indiferent daca stim sau nu care sunt numerele)Se foloseste si contorul (i) dar si variabila (x) cand stim cate numere sunt, dar nu stim care suntSe foloseste contorul (i) cand stim cate numere sunt, indiferent daca stim sau nu care sunt numereleSe foloseste doar contorul (i) dar nu si variabila (x) cand stim care sunt numerele(la intervale)Structura “cat timp” se foloseste de 2 ori cand nu stim cate numere sunt intr-un sir, dar stim care este ultimul numar din sir(inversul unui numar, suma cifrelor, CMMDC)Suma se intializeaza cu 0, iar produsul cu 1Numerele palindrom = sunt aceleasi numere citite de la dreapta la stangMOD = se aplica penru extragerea ultimei cifre dintr-un numar

= pentru a verifica daca doua numare sunt divizibile intre ele( x mod y = 0 ->sunt divizibile; x mod y = 1 -> nu sunt divizibile)DIV = se aplica pentru eliminarea ultimei cifre a unui numarMaximul se initializeaza cu -32000Structura “citeste x” se foloseste de 2 ori cand avem un sir si se cunoaste ultimul numar

Page 7: Structuri  de control

Cat timp numarul este diferit de 0 se incrementeaza numarul cifrelor (care initial a fost 0) si se imparte numarul la 10.Similar se calculeaza suma cifrelor unui numar cu deosebirea ca in loc de incrementarea numarului cifrelor, se actualizeaza suma cu cifra curenta.

Numarul cifrelor unui numar Suma cifrelor unui numar

nrc←0citeste n;cat timp n<>0 executanrc←nrc+1n←n div 10sfrasit cat timpafiseaza nrc

S←0citeste n;cat timp n<>0 executaS←S+n mod 10n←n div 10sfrasit cat timpafiseaza S

Page 8: Structuri  de control

Algoritmul consta in: se presupune ca numarul este prim; se parcurg apoi toti posibilii divizori ai numarului incepand de la 2 pana la jumatatea numarului (sau pana la radical din numar – mai eficient) si daca se gaseste un divizor atunci presupunerea cum ca numarul este prim e falsa.

n,d,OK intregiinceputciteste n;OK ←1pentru d ←2, n/2 executadaca n mod d =0 atunciOK ←0sfarsit dacasfarsit pentrudaca OK=1 atunci scrie “Numarul nu e prim”altfel scrie “Numarul e prim”sfarsit dacasfarsit

Page 9: Structuri  de control

Se presupune ca maximul este primul dintre numere. Se parcurg restul de numere si daca se ajunge la un numar care e mai mare decat maximul curent se actualizeaza maximul preluand acea valoare.

n,x,i, max intregiinceputciteste n;citeste xmax ←xpentru i ←1, n-1 executaciteste x;daca x >max atuncimax ←xsfarsit dacasfarsit pentruafiseaza maxsfarsit

Page 10: Structuri  de control

Se citeste numarul si se initializeaza rasturnatul cu 0. Cat timp numarul este diferit de 0 se preia cate o cifra de la sfarsitul numarului si se adauga la multiplul de 10 al rasturnatului si apoi se renunta la ultima cifra.

n,inv intregiinceputciteste n;ninv ←0cat timp n<>0 executaninv ←ninv*10+n mod 10n ←n div 10sfarsit cat timpafiseaza ninvsfarsit

OBS. La sfarsitul operatiei de obtinere a rasturnatului unui numar, numarul devine 0. Daca in cadrul unei probleme este necesar si numarul initial trebuie ca acesta sa fie retinut intr-o variabila auxiliara si sa se faca rasturnatul auxiliarului.