|
Algoritmi in pseudocod
PROBLEME REZOLVATE IN PSEUDOCOD

1) Factorialul unui numar n n!=1*2*3*...*n
folosind structura repetitiva conditionata anterior
start
citeste n
produs=1
i=1
cat timp i<=n
{p=p*i
i=i+1}
scrie produs
sfarsit
folosind structura repetitiva conditionata posterior
start
citeste n
produs=1
i=1
repeta
{p=p*i
i=i+1}
cat timp i<=n
scrie produs
sfarsit
folosind structura repetitiva cu numar cunoscut de pasi
start
citeste n
produs=1
pentru i=1,n executa
p=p*i
scrie produs
sfarsit
folosind recursivitatea
fact(n)
{
daca n=0 atunci
returneaza 1
altfel
returneaza n*fact(n-1)
}
functia este apelata intr-un program principal
start
citeste n
scrie fact(n)
stop
2)Media aritmetica a n numere ma=(n1+n2+...nn)/n
start
citeste n
ma=0
pentru i=1,n
{
citeste x
ma=ma+x
}
ma=ma/n
scrie ma
stop
3)Sa se verifice daca un numar n diferit de 0 sau 1 este prim sau nu.
Un numar este prim daca nu are divizori decat pe 1 si pe el insusi.Un numar d este divizor pentru n daca restul impartirii lui n la d este 0.Pentru a afla restul impartirii vom folosi operatorul mod(%)
start
citeste n
prim=1
pentru d=2,n/2 executa
daca n mod d =0 atunci
prim=0
daca prim=1 atunci
scrie "este prim"
altfel
scrie"nu este prim"
sfarsit
varianta optimizata
start
citeste n
prim=1
d=2
cat timp d<=n/2 si prim=1
daca n mod d = 0 atunci
prim=0
altfel d=d+1
daca prim=1 atunci
scrie "este prim:
altfel
scrie"nu este prim"
sfarsit
4)Sa se calculeze cmmdc pentru doua numere
prin impartiri repetate (algoritmul lui Euclid): ultimul rest diferit de 0 reprezinta cmmdc
start
citeste a,b
deimp=a
imp=b
cat timp imp != 0 executa
{
r=deimp mod imp
deimp=imp
imp=r
}
scrie "cmmdc este",deimp
stop
prin scaderi repetate (algoritmul lui Nicomachus): din numarul mai mare se scade numarul mai mic cat timp cele doua numere sunt diferite
start
citeste a,b
cat timp a != b executa
daca a>b atunci
a=a-b
altfel
b=b-a
scrie "cmmdc este",a
stop
5)Sa se afiseze suma cifrelor unui numar n
Ultima cifra este data de restul impartirii numarului la 10 (n mod 10).Catul impartirii il aflam folosid operatorul div
start
citeste n
s=0
cat timp n>0
{
c=n mod 10
s=s+c
n=n div 10
}
scrie s
sfarsit
6)Sa se afle daca un numar este perfect
Un numar este perfect daca este egal cu suma divizorilor sai, inclusiv 1, dar fara el insusi.Exemplu: 6=1+2+3 este numar perfect
start
citeste n
s=0
pentru d=1,n/2
daca n mod d = 0 atunci
s=s+d
daca s=n atunci
scrie "este numar perfect"
sfarsit
7)Sa se afle cifra maxima a unui numar (cea mai mare cifra a unui numar)
start
citeste n
max=-1
cat timp n>0
{
c=n mod 10
daca max<c atunci
max=c
n=n div 10
}
scrie max
sfarsit
-
|5.12.209.xxx |2012-05-20 15:58:03 andrada - algoritmi
am si eu nevoie va rog frumos de niste algoritmi cu diferite structuri si algoritmi cu pasi ca sa ii pot intelege ... Multumesc !
-
|92.81.130.xxx |2012-05-19 16:12:01 mada
cine imi zice ji mie qm sa determin cele mai mici elemente dintr-un sir de valori citite pana la o valoare negativa
-
|Registered |2012-05-18 17:07:34 zlatice - rugaminte
As dori sa stiu cum se rezolva urmatoarea problema folosind vectori: Pentru un n intreg citit de la tastatura sa se afiseze numarul de aparitii a fiecarei cifre (0-9) in numarul respectiv. Multumesc anticipat!
-
|Registered |2012-01-04 13:37:15 mbusuioc55
Sa se afiseze toate numerele care sunt palindrom si care apartin intervalului [a,b].valorile pentru a si b se citesc de la tastaura
-
|Registered |2012-01-04 13:34:50 mbusuioc55 - un ajutor va rog
Sa se afiseze toate numerele naturale mai mici decat n care au proprietatea ca patratul si cubul fiecaruia au cel putiin o cifra comuna;pt fiecare numar gasit sa se afiseze cate cifre sunt comune si care sunt acelea
-
|Registered |2011-12-17 18:01:09 tazz - VA ROG SA MA AJUTATI...CAT MAI REPEDE
AM SI EU NEVOIE DE IMPLEMENTARILE RECURENTE ALE URMATOARELOR FUNCTII...SAU CE SUNT:
PARTE INTREAGA DIN X
RADICAL DIN X
STRCPY
STRLWR
STRTOK
STRCMP
STRCHR
STRSTR
NU PREA LE AM CU INFO DAR AM NEVOIE DE ELE REPEDE...VA ROG!! (IN C++)
-
|89.122.114.xxx |2011-11-10 09:54:26 dacian - pt cristina
citeste n
s=0
nr=0
cat timp (n !=0)
c=n mod 10
nr=nr +1
s=s+c
n=n div 10
sfarsit cat_timp
ma=s/nr
scrie ma
sper ca ti-a folosit
-
|79.119.106.xxx |2011-11-09 23:36:18 cris
MOD este operator care calculeaza restul impartirii de ex 7 MOD 2 =1 adica restul impartirii lui 7 la 2
-
|89.123.246.xxx |2011-11-09 22:20:51 cristina - cum se rezolva (pseudocod)
1.media aritmetica a divizorilor pari a unui nr n
2.se citesc pe rand un nr. Calc summa divizorilor tuturor nr-lor
-
|92.85.236.xxx |2011-11-09 19:39:51 Cosmin - O nelamurire!!!
Am si eu o problema...nu inteleg chestiile cu MOD si DIV ma poate ajuta cineva???:D