Răspuns :

Răspuns:

1. begin

numarCurent, contor1, contor2, nrElemente, suma2 -> numere intregi

suma1, medie -> numere reale

citeste numarCurent

cat timp (numarCurent != 10)

{

daca( numarCurent >= 20 si numarCurent <= 122 )

{

 contor <- contor + 1

}

daca( numarCurent % 5 = 2 )

{

 suma1 <- suma1 + numarCurent

 nrElemente <- nrElemente + 1

}

daca( numarCurent >= 10 si numarCurent <= 99 )

{

 suma2 <= suma2 + numarCurent

}

citeste numarCurent

}

daca ( nrElemente = 0 )

{

medie = 0;

}

altfel

{

medie = suma1 / nrElemente;

}

afiseaza contor1 " " medie " " suma2

end

2.begin

boolean ePalindrom( x )

{

copie, invers -> numere intregi

cat timp( copie != 0 )

{

 invers <-invers * 10 + copie % 10

 copie /= 10;

}

daca x = invers

 returneaza 1

altfel

 returneaza 0

}

boolean douaCifrePare( x )

{

contor -> numar intreg

cat timp( x != 0 )

{

 daca( ( x % 10 ) % 2 = 0 )

  contor <- contor + 1;

 x <- x / 10;

}

daca contor = 2

 returneaza 1

altfel  

 returneaza 0

}

boolean areSaseSiCinci( x )

{

sase, cinci -> valori boolean

cat timp( x != 0 )

{

 daca( x % 10 = 5 )

  cinci <- 1

 altfel daca( x % 10 = 6 )

  sase <- 1

 x <= x / 10

}

daca cinci = 1 si sase = 1

 returneaza 1

altfel  

 returneaza 0

}

numarCurent, produsPal, nrDouaCifrePare, sumaCinciSase -> numere intregi

produsPal <- 1

citeste numarCurent

cat timp( numarCurent != 100 )

{

daca( ePalindrom( numarCurent ) = 1 )

 produsPal <- produsPal * numarCurent

daca( douaCifrePare( numarCurent ) = 1 )

 nrDouaCifrePare <- nrDouaCifrePare + 1

daca( areSaseSiCinci( numarCurent ) = 1 )

 sumaCinciSase <- sumaCinciSase + numarCurent

citeste numarCurent

}

afiseaza produsPal " " nrDouaCifrePare " " sumaCinciSase

end

Explicație:

La a doua nu stiu daca ai voie cu functii in pseudocod, ti-am spus ca nu sunt cel mai bun la pseudocod. Also e posibil sa se fi strecurat si alte greseli, daca e cineva mai bun la pseudocod as aprecia sa verifice.