algoritmi elementari

21
ALGORITMI ELEMENTARI Clasa a IX-a Ştiinţele naturii

Upload: minna

Post on 09-Jan-2016

134 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Algoritmi elementari

ALGORITMI ELEMENTARI

Clasa a IX-aŞtiinţele naturii

Page 2: Algoritmi elementari

ing.Lungu Iudit 2

Ce sunt aceştia ?

Algoritmii elementari oferă metode de rezolvare pentru probleme clasice

Page 3: Algoritmi elementari

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

Page 4: Algoritmi elementari

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

Page 5: Algoritmi elementari

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

Page 6: Algoritmi elementari

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

Page 7: Algoritmi elementari

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

Page 8: Algoritmi elementari

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

Page 9: Algoritmi elementari

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

Page 10: Algoritmi elementari

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

Page 11: Algoritmi elementari

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

Page 12: Algoritmi elementari

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

Page 13: Algoritmi elementari

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

Page 14: Algoritmi elementari

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.

Page 15: Algoritmi elementari

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

Page 16: Algoritmi elementari

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.

Page 17: Algoritmi elementari

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;

Page 18: Algoritmi elementari

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;

Page 19: Algoritmi elementari

ing.Lungu Iudit 19

Ciurul lui Eratostene

Page 20: Algoritmi elementari

ing.Lungu Iudit 20

7. ALGORITMI PT. CONVERSII INTRE SISTEME DE NUMERATIE

6.06

Page 21: Algoritmi elementari

ing.Lungu Iudit 21

8. ALGORITMI PT. GENERAREA SIRURILOR RECURENTE

13.06