Informatică, întrebare adresată de iraresandrei, 8 ani în urmă

Imi puteti da exemple de algoritmi de baza, precum cei invatati in clasa a 9 a?

Răspunsuri la întrebare

Răspuns de ducky13
1

Răspuns:

1. Interschimbarea a 2 numere

Fie a si b

aux=a;

a=b;

b=aux;

2. Numarul maxim

Fie n nr de numere

max=0

for(i=1;i<=n;i++)

{

cin>>a;

if(a>max)

{

max=a;

}

}

3. Numarul minim

Fie n nr de numere

min=99999

for(i=1;i<=n;i++)

{

cin>>a;

if(a<max)

{

min=a;

}

}

4. Obtinerea cifrelor dintrun nr de 4 cifre

Fie x nr de 4 cifre

d=x%10  cifra a 4a

c=x/10%10  cifra a 3a

b=x/100%10  cifra a 2a

a=x/1000%10 prima cifra

}

5. Prelucrarea cifrelor

Fie x;

while(x!=0)

{

cifra=x%10;

*prelucrare cifra;

x/=10;

}

6. Cifra maxima

Fie x;

cmax=0;

while(x!=0)

{

if(x%10>cmax)

{

cmax=x/10;

}

x/=10;

}

7. Cifra minima

Fie x;

min=10;

while(x!=0)

{

if(x%10<min)

{

min=x%10;

}

x/=10;

}

8. Numarul de cifre

Fie x;

cate=0;

while(x!=0)

{

cate++;

x/=10;

}

9. Suma cifrelor unui numar

Fie x;

s=0;

while(x!=0)

{

s+=x%10;

x/=10;

}

10. Oglinditul unui numar

Fie x;

og=0;

while(x!=0)

{

og=og*10+x%10;

x/=10;

}

11. Prima cifra

Fie x;

while(x>9)

{

x/=10;

}

12. Prelucrarea divizorilor unui numar

Fie x

for(i=2;i<=x/2;i++)

{

if(x%i==0)

{

*prelucrare divizor;

}

}

13. Testul de numar prim

Fie x

for(d=3,prim=(x==2||x%2==1),r=sqrt(x);d<=r&&prim;d+=2)

{

if(x%d==0)

{

prim=0;

}

}

if(prim!=0)

{

*nr prim;

}

else

{

*nr nu este prim;

}

14. Descompunerea in factori primi

Fie x;

d=2;

while(x>1)

{

p=0;

while(x%d==0)

{

p++;

}

if(p!=0)

{

*prel

}

d++;

}

15. Cel mai mare divizor comun a 2 nr

Fie a si b;

while(b!=0)

{

r=a%b;

a=b;

b=r;

}

cmmdc=a;

16. Cel mai mic multiplu comun

cmmmc=(a*b)/cmmdc;

17. Schimbarea unui numar din baza 10 in baza B

Fie x10

b10=0;p=1;

while(x10!=0)

{

b10=b10+(x10%b)*p;

p*=10;

x/=b;

}

18. Schimbarea unui numar din baza B in baza 10;

fie b10;

pb=1;x10=0;

while(b10!=0)

{

x10+=b10%10*pb;

pb*=B;

b10/=10;

}

}

19. Vectori

{

Citire

Fie n nr elemente

for(i=1;i<=n;i++)

{

cin>>x[i];

}

Scriere

Fie n nr elemente

for(i=1;i<=n;i++)

{

cout<<x[i];

}

20. Elementul minim

Fie n nr elemente

min=x[1];

for(i=2;i<=n;i++)

{

if(x[i]<min)

{

min=x[i];

}

}

21. Elementul maxim

Fie n nr elemente

max=x[1];

for(i=2;i<=n;i++)

{

if(x[i]>max)

{

max=x[i];

}

}

22. Sortare prin selectie directa (crescator)

fie x[100],n nr elemente

for(i=1;i<=n;i++)

{

for(j=i+1;j<=n;j++)

{

if(x[i]>x[j])

{

aux=x[i];

x[i]=x[j];

x[j]=aux;

}

}

}

23. Sortare prin metoda bulelor

fie x[100],n;

do

{

ok=1;

for(i=1;i<=n-1;i++)

{

if(x[i]>x[i+1])

{

aux=x[i];

x[i]=x[i+1];

x[i+1]=aux;

ok=0;

}

}

}while(ok==0);

24. Adaugare element pe pozitia p;

n++;

for(i=n;i>p;i–)

{

x[i]=x[i-1];

}

x[p]=E;

25. Stergerea elementului de pe poz p;

for(i=p;i<=n;i++)

{

x[i]=x[i+1];

}

n–;

}

26. Cautarea scventiala

Fie x[100];

ap=0;   i=1;

while (i<=n && ap==0)

{    if (x[i]==E)

{ ap=1;

}

i++;}

if (ap==1)

{cout<<„exista”;

else

cout<<„nu exista”;

}

27. Cautarea binara

Fie x[100];

ap=0;   stg=1;   drt=n;

while (stg<= drt && ao==0)

{m=(stg+drt)/2;

if (E==x[m])

ap=1;

else

if (E>x[m])

{stg=m+1;

else

drt=m-1;

}

}

if (ap==1)

{cout<<„exista”;

else

cout<<„nu exista”;}

28. Matrici

Parcurgerea pe linii

Pentru (i=1;n;1)

Pentru (j=1;m;1)

prelucram a[i][j]

Parcurgerea pe coloane

Pentru (j=1;m;1)

Pentru(i=1;n;1)

prel. a[i][j]

29. Zonele delimitate de diagonala principala

Pentru(i=1;n;1)

Pentru(j=1;n;1)

Daca(j==1)at

a[i][j]- D.P

Daca(j>i)

a[i][j]- deasupra D.P

Daca(j<i)

a[i][j]- sub D.P

30. Zonele delimitate de diagonala secundara

Pentru (i=1;n;1)

Pentru (j=1;n;1)

Daca (j==n+1-i)

a[i][j]- D.S

Daca (j<n+1-i)

a[i][j]- deasupra D.S

Daca (j>n+1-i)

a[i][j]- sub D.S

Sper ca te-am ajutat XD.


iraresandrei: mersi
Alte întrebări interesante