Programmation pascal

[Résolu/Fermé]
Signaler
-
 nidhal -
Bonjour,
SVP je veux la traduction pascal d'un programme qui permet de calculer la somme des carrés des chiffres d'un nombre(entier),quelque soit le nombre.
exemple: 12348 ==> 1² + 2² + 3² + 4² + 8² = 94
Comment la traduction devient lorsque le nombre est un réel ?
ET MERCI D'AVANCE.

1 réponse

bonjour

tu dois prendre ton nombre entier et faire des divisions successives par 10 pour isoler les chiffres de ton nombre
chaque chiffre etant le reste de la division (l'operateur mod). que tu placeras dans un tableau d'entiers.
tu eleveras au carre chaque chiffre de ce tableau et tu feras la somme de ces carres.

234

234 mod 10 donne 4 et 234 div 10 donne 23
23 mode 10 donne 3 et 23 div 10 donne a 2
2 mode 10 2 et 2 div 10 donne 0
ton tableau contiendra 4, 3, 2

donc tu fais une boucle jusqu'a ce que ton dividende soit egal a zero.
Merci de cette idée. la tradction Pascal devient:

program une_somme ;
uses wincrt;

Var
nb,som : integer;

Begin
readln(nb);
repeat som := som + sqr( nb mod 10) ; nb:= nb div 10;
until nb=0 ;
write (som);
end.