Programmation pascal

Résolu
nidhal -  
 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.
Configuration: Windows XP Internet Explorer 6.0

1 réponse

  1. tsou
     
    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.
    0
    1. nidhal
       
      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.
      0