Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1561 connectés 

  FORUM HardWare.fr
  Programmation
  Ada

  diviseur d'un nombre entier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

diviseur d'un nombre entier

n°1234819
Profil sup​primé
Posté le 31-10-2005 à 10:56:40  answer
 

Bonjour.
 
Il me faut écrire un programme qui trouve tous les diviseurs d'un nombre entier donné par l'utilisateur.
Voici ce que j'ai fait :
 

with ada.text_io, ada.integer_text_io;
i,p,k = integer;
begin;
   ada.text_io.put("saisie d'un nombre =" ); ada.integer_text_io.get(i);
   ada.text_io.new_line;
   ada.text_io.put("les diviseurs de :" ); ada.integer_text_io.put(i);
   ada.text_io.put("sont :" );
   p:=2;
   while p<=i/2 loop
      if i rem p = 0  then  -- Calcul du reste de la division de i par p
         k:=i/p;
         ada.integer_text_io.put(k); ada.text_io.put("," );
         ada.integer_text_io.put(p); ada.text_io.put("," );
         ada.text_io.new_line;
      else
         p:=p+1;
      end if;
   end loop;
end;


est ce correct?


Message édité par Profil supprimé le 31-10-2005 à 10:57:02
mood
Publicité
Posté le 31-10-2005 à 10:56:40  profilanswer
 

n°1234945
Pillow
'cos the trees won't talk
Posté le 31-10-2005 à 12:52:34  profilanswer
 

Il manque toujours l'unité de compilation.

Citation :

i,p,k = integer;

C'est deux-points, pas un signe égal.
Il n'y a pas de point virgule après begin.
 
 
Pour l'algorithme : prends du papier, un crayon et essaye !!! Regarde juste avec 4 et tu verras qu'il y a une erreur [:spamafote]  
 
 
 
Tu devrais peut être chercher un compilateur ADA. Il y en a probablement des gratuits pour ton système. Mais je ne peux pas t'aider pour ça, il va te falloir utiliser ça [:dawa]


Message édité par Pillow le 31-10-2005 à 12:53:26
n°1234962
Profil sup​primé
Posté le 31-10-2005 à 13:28:33  answer
 

Bon j'espère que cette fois ça marche :
 

with ada.text_io, ada.integer_text_io;
i,p : integer;
begin
   ada.text_io.put("saisie d'un nombre =" ); ada.integer_text_io.get(i);
   ada.text_io.new_line;
   ada.text_io.put("les diviseurs de :" ); ada.integer_text_io.put(i);
   ada.text_io.put("sont : 1, lui même et" );
   p:=2;
   while p<=i/2 loop
      if i rem p = 0  then  -- Calcul du reste de la division de i par p
         ada.integer_text_io.put(k);  ada.text_io.put(", " );  
         p:=p+1;
      else
         p:=p+1;
      end if;
   end loop;
end;


 
J'ai adagide mais je n'arrive pas à compiler. Je ne suis pas arriver à trouver le problème...

n°1235041
Pillow
'cos the trees won't talk
Posté le 31-10-2005 à 14:54:57  profilanswer
 

Tu affiches k au lieu de p dans tes résultats :D  
 
A part ça (et l'absence d'unité de compilation :whistle: ), ça doit être bon.


Message édité par Pillow le 31-10-2005 à 14:55:49
n°1235163
Profil sup​primé
Posté le 31-10-2005 à 16:34:38  answer
 

Merci bcp pour ton aide :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Ada

  diviseur d'un nombre entier

 

Sujets relatifs
Nombre de lettres et de chiffrescompter le nombre de fois que le mot est dans une chaine de caractére:
[PHP] Proposer au visiteur un nombre d'affichage de résultatsCompter le nombre de ligne d un tableau vba excel
Définir le nombre de jours restant avant expiration...compte le nombre de ligne
Représentation négatif d'un nombre binaire.[RESOLU]Compter le nombre de mot...
Formater le nombre significant digit d'un nombre[INFORMIX] Avoir le nombre de ligne retourné par un select {résolu}
Plus de sujets relatifs à : diviseur d'un nombre entier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR