Documente Academic
Documente Profesional
Documente Cultură
1.ALGORITMUL DE INTERSCHIMBARE
Interschimba valorile a doua variabile de memorie.
Exemplu: Presupunem ca avem 2 pahare: primul pahar (a) contine apa, al doilea
pahar (b) contine lapte. Cum putem interschimba continuturile celor doua pahare?
Raspuns: utilizand un alt pahar (aux).
inceput
citeste a,b;
aux<-a;
a<-b;
b<-aux;
scrie a,b;
sfarsit.
Algoritmul:
– se citeste primul numar si se considera ca fiind cel mai mare ( max <- a)
inceput
citeste n;
citeste a;
max <- a;
pentru i max
atunci
max <- a;
sfarsit_daca;
sfarsit_pentru;
scrie max;
sfarsit.
inceput
citeste a;
s <- 0;
cat_timp a 0 executa
s <- s + a mod 10;
sfarsit_cat_timp;
scrie s;
sfarsit.
inceput
citeste a;
inv <- 0;
cat_timp a 0 executa
sfarsit_cat_timp;
scrie inv;
sfarsit.
Probleme rezolvate prelucrarea cifrelor
4.Determinarea divizorilor unui numar
Pentru determinarea divizorilor unui numar se vor utiliza variabilele: a (numarul
citit de la tastatura), i (contor). Se vor cauta posibilii divizori in intervalul [2, a/2].
Daca a mod i = 0 (a se divide la i) atunci se afiseaza divizorul (i).
intreg a, i;
inceput
citeste a;
atunci scrie i;
sfarsit_daca;
sfarsit_pentru;
sfarsit.
5.Determinarea unui numar prim
Un numar este prim daca se divide doar la 1 si la el insusi.
Pentru verificarea unui numar prim se vor utiliza variabilele: a (numarul citit de la
tastatura), i (contor) si sw. Vom considera ca numarul este prim deci variabila sw se
va initializa cu valoarea 1. Se vor cauta posibilii divizori in intervalul [2, a/2]. Daca
a mod i = 0 (a se divide la i) atunci rezulta ca numarul nu este prim deci schimbam
valoarea variabilei sw=0.
intreg a, i,sw;
inceput
citeste a;
sw <- 1;
atunci sw <- 0;
sfarsit_daca;
sfarsit_pentru;
daca sw = 1
sfarsit.
6.Determinarea celui mai mare divizor comun
Algoritmul determina cel mai mare divizor comun pentru doua numere intregi a si
b citite de la tastatura.
Se vor utiliza variabilele: a,b (numerele citite de la tastatura), r (restul impartirii a
mod b) .
intreg a, b, r;
inceput
citeste a, b;
cat_timp b 0 executa
r <- a mod b;
a <- b;
b <- r;
sfarsit_cat_timp;
scrie a;
sfarsit.
Exemplu:
a=30 b= 18
I. 18 0 se calculeaza r = 30 mod 18 = 12 a = 18 b = 12
II. 12 0 se calculeaza r = 18 mod 12 = 6 a = 12 b = 6
III. 6 0 se calculeaza r = 12 mod 6 = 0 a = 6 b = 0
IV. 0 0 Fals
Se afiseaza 6 (cel mai mare divizor comun )