430 likes | 1.23k Views
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;
E N D
Algoritmielementari Clasa a IX-a Ştiinţele naturii
Cesunt aceştia ? Algoritmii elementari oferă metode de rezolvare pentru probleme clasice ing.Lungu Iudit
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
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
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
Varianta 1 – se ştie n întreg a, max, n, i; început citeşte n, a; maxa ; 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
Varianta 2 – până la introducerea lui 0 întreg a, max; început citeşte a; maxa ; cât timp a0 execută; dacă a max atunci maxa; sfîrşit_dacă; sfârşit_cât_timp; scrie max; sfârşit ing.Lungu Iudit
3. Algoritmi pentru prelucrarea cifrelor unui număr Algoritm pentru extragerea cifrelor unui număr Algoritm pentru compunerea unui număr din cifrele sale Algoritm pentru determinarea inversului unui număr ing.Lungu Iudit
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
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
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
Sapt.28 4. Algoritmi pentru determinareacmmdc • 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 ing.Lungu Iudit
Varianta 2 – algoritmul de scădere repetată întreg a, b; început citeşte a, b; cât timp ab execută; dacă a>b atunci 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
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
întregn,i; logic x; inceput citeste n; xT; i 2; cat timpi<=sqrt(n) and x executa daca n mod i =0 atunci x F; altfeli i+1; sfarsit_daca; sfarsit_cat_timp; daca x atunciscrie “numaruleste prim”; altfelscrie “numarul nu este prim”; sfarsit_daca; sfarsit ing.Lungu Iudit
6.ALGORITMI PT. PRELUCRAREA DIVIZORILOR UNUI NUMAR Algoritmul de generarea a divizorilorpropriiaiunui 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
Varianta 1 Întreg n,i; Început citeşte n; scrie 1,n; pentru i2,n div 2 execută dacă n mod i = 0 atunci scrie i; sfârşit_dacă; sfârşit_pentru; sfârşit; ing.Lungu Iudit
Varianta 2 Întreg n,i; Început citeşte n; scrie 1,n; pentru i2, sqrt(n) execută dacă n mod i = 0 atunci scrie i, n div i; sfârşit_dacă; sfârşit_pentru; sfârşit; ing.Lungu Iudit
CiurulluiEratostene ing.Lungu Iudit
7. ALGORITMI PT. CONVERSII INTRE SISTEME DE NUMERATIE 6.06 ing.Lungu Iudit
8. ALGORITMI PT. GENERAREA SIRURILOR RECURENTE 13.06 ing.Lungu Iudit