Vous pouvez aussi télécharger
IPCUTE.EXE (interpréteur et compilateur Pascal de François
Bret) à l'adresse suivante : http://www.ipcute.com
Vous avez créé des algorithmes avec EditAlgo. Ayez
la gentillesse de me les faire parvenir en courrier joint à l'adresse
jean.thiou@free.fr
Enoncé
On cherche tous les triplets de nombres entiers (a,b,c) tels que
a<= b<= 100 et tels que a²+b²=c².
Dénombrer ces triplets et les afficher.
Utilisation de EDITALGO
Liste des variables utilisées
Algorithme
Les programmes correspondants
Langage Pascal
Program TripletDePythagore;
VAR
a :Integer; { a^2+b^2=c^2 }
b :Integer; { a^2+b^2=c^2 }
c :Integer; { a^2+b^2=c^2, si possible ! }
d :Integer; { d=a²+b² }
cpt :Integer; { Compteur des triplets de Pythagore }
BEGIN
cpt := 0;
For a :=1 to 100 do
For b := a to 100 do
Begin
d := Sqr(a) + Sqr(b);
c := Trunc(Sqrt(d));
If d=Sqr(c) Then
Begin
cpt := cpt+1;
Writeln(cpt,'
a = ',a,' b = ',b,' c = ',c)
End
End
END.
Langage C
(Il existe deux erreurs à corriiger dans le source proposé...la
correction ser afaite dans la version suivante de l'éditeur d'algorithme,
très orienté, il faut bien le reconnaître...)
/* Program TripletDePythagore*/
/* Complétez ci-dessous la liste de vos variables ( exemple int
a,b ou char *c,*d;) */
/* Pour les variables chaînes de caractères, remplacez %d
par %s */
/* Pour les variables réelles, (float x,y;) remplacez %d par %f
*/
/* Il n'existe pas de type boolean en C. IL faut le définir :
enum boolean {false,true} */
int a; /* a^2+b^2=c^2 */
int b; /* a^2+b^2=c^2 */
int c; /* a^2+b^2=c^2, si possible ! */
int d; /* d=a²+b² */
int cpt; /* Compteur des triplets de Pythagore */
void main(void)
{
cpt = 0;
for ( a =1 ; a <= 100 ; a++)
for ( b = a ; b <= 100 ; b ++)
{
d = pow(a,2) + pow(b,2);
c = ceil(sqrt(d));
if (d==pow(c,2) )
{
cpt = cpt+1;
printf("%d %s %d %s
%d %s %d \n",cpt," a = ",a," b = ",b,"
c = ",c);
}
}
}
Langage Basic
'Program TripletDePythagore
Complétez les lignes suivantes si nécessaire (pas d'accent)
DefInt A-Z
cpt = 0
FOR a = 1 TO 100
FOR b = a TO 100
d = a * a + b * b
c = INT(SQR(d))
IF d = c * c THEN
cpt = cpt + 1
PRINT cpt, " a
= ", a, " b = ", b, " c = ", c
END IF
NEXT
NEXT