algoritmi elementari
DESCRIPTION
Algoritmi elementari. Clasa a IX-a Ştiinţele naturii. Ce sunt ace ştia ?. Algoritmii elementari oferă metode de rezolvare pentru probleme clasice. Algoritmi pentru interschimbare. Varianta 1 – cu variabilă intermediară real a, b, x; început citeşte a, b; x a; a b; - PowerPoint PPT PresentationTRANSCRIPT
ALGORITMI ELEMENTARI
Clasa a IX-aŞtiinţele naturii
ing.Lungu Iudit 2
Ce sunt aceştia ?
Algoritmii elementari oferă metode de rezolvare pentru probleme clasice
ing.Lungu Iudit 3
1. Algoritmi pentru interschimbare
Varianta 1 – cu variabilă intermediarăreal a, b, x;început citeşte a, b; xa; ab; bx; scrie a, b;sfârşit
ing.Lungu Iudit 4
Varianta 2 – fără variabilă intermediară
real a, b;început citeşte a, b; aa-b; ba+b; ab-a; scrie a, b;sfârşit
ing.Lungu Iudit 5
2. Algoritm pentru determinarea maximului (minimului)
Algoritmul determină valoarea maximă (minimă) dintr-un şir de numere introduse de la tastatură.Modalitate de lucru:
Se atribuie primului element valoarea max (min)Apoi se compară acesta cu fiecare element din şir
ing.Lungu Iudit 6
Varianta 1 – se ştie n
întreg a, max, n, i;
început
citeşte n, a;
max a ;
pentru i 2, n execută;
citeşte a;
dacă a max
atunci maxa;
sfîrşit_dacă;
sfârşit_pentru;
scrie max;
sfârşit
ing.Lungu Iudit 7
Varianta 2 – până la introducerea lui 0
întreg a, max;început citeşte a; max a ; cât timp a0 execută; dacă a maxatunci maxa; sfîrşit_dacă;sfârşit_cât_timp;scrie max;sfârşit
ing.Lungu Iudit 8
3. Algoritmi pentru prelucrarea cifrelor unui număra) Algoritm pentru extragerea cifrelor unui numărb) Algoritm pentru compunerea unui număr din cifrele salec) Algoritm pentru determinarea inversului unui număr
ing.Lungu Iudit 9
a) Algoritm pentru extragerea cifrelor unui număr
Se determină cifrele unui număr prin extragerea pe rând a ultimei cifre a numărului prin n mod 10 şi eliminarea din număr a cifrei extrase prin n div 10 până la epuizarea tuturor cifrelor
întreg n, c;început citeşte n;cât timp n0 execută;
cn mod 10; scrie c; nn div 10;sfârşit_cât_timp;sfârşit
ing.Lungu Iudit 10
b) Algoritm pentru compunerea unui număr din cifrele sale
Se determină numărul format din cifrele introduse de la tastatură, primul număr devenind cifra cea mai semnificativă.Algoritmul utilizează reprezentarea unui număr în baza 10
ing.Lungu Iudit 11
c) Algoritm pentru determinarea inversului unui număr
Algoritmul determină inversul unui număr prin extragerea pe rând a fiecărei cifre a unui număr (începând cu cifra unităţilor) şi compunerea unui nou număr în care aceasta devine cifra cea mai semnificativă
întreg n, inv;început citeşte n;cât timp n0 execută;
invinv*10 + n mod 10; nn div 10;sfârşit_cât_timp;scrie inv;sfârşit
ing.Lungu Iudit 12
4. Algoritmi pentru determinarea cmmdc
Varianta 1 – Algoritmul lui Euclid, care atribuie lui b, restul împărţirii lui a la b, iar lui a vechea valoare a lui b (b0)
întreg a, b, r;început citeşte a, b;cât timp b0 execută;
ra mod b;a b;br;
sfârşit_cât_timp;Scrie “cmmdc=“, a;Sfârşit
Sapt.28
ing.Lungu Iudit 13
Varianta 2 – algoritmul de scădere repetată
întreg a, b;început citeşte a, b;cât timp ab execută;
dacă a>batunci a a - b;altfel b b - a;
sfârsit_dacă;sfârşit_cât_timp;Scrie “cmmdc=“ , a;sfârşit
ing.Lungu Iudit 14
5. ALGORITMI PENTRU TESTAREA UNUI NR. PRIM
Constă în generarea tuturor numerelor naturale >=2 şi <=sqrt(n) şi verificarea dacă acestea îl divid pe n. Dacă cel puţin unul dintre ele îl divid pe n nr nu este prim.
ing.Lungu Iudit 15
întreg n,i;logic x;inceputciteste n;xT; i 2;cat timp i<=sqrt(n) and x executa
daca n mod i =0atunci x F;altfel i i+1;
sfarsit_daca;sfarsit_cat_timp;daca x
atunci scrie “numarul este prim”;altfel scrie “numarul nu este prim”;
sfarsit_daca;sfarsit
ing.Lungu Iudit 16
6.ALGORITMI PT. PRELUCRAREA DIVIZORILOR UNUI NUMAR
Algoritmul de generarea a divizorilor proprii ai unui număr n constă în împărţirea numărului la un şir de numere i, i[2,n/2].Dacă numărul n se împarte la numărul generat, atunci acesta este divizor al lui n.
ing.Lungu Iudit 17
Varianta 1
Întreg n,i;Început
citeşte n;scrie 1,n;pentru i2,n div 2 execută
dacă n mod i = 0atunci scrie i;
sfârşit_dacă;sfârşit_pentru;
sfârşit;
ing.Lungu Iudit 18
Varianta 2
Întreg n,i;Început
citeşte n;scrie 1,n;pentru i2, sqrt(n) execută
dacă n mod i = 0atunci scrie i, n div i;
sfârşit_dacă;sfârşit_pentru;
sfârşit;
ing.Lungu Iudit 19
Ciurul lui Eratostene
ing.Lungu Iudit 20
7. ALGORITMI PT. CONVERSII INTRE SISTEME DE NUMERATIE
6.06
ing.Lungu Iudit 21
8. ALGORITMI PT. GENERAREA SIRURILOR RECURENTE
13.06