linkakro le 04/05/2012 à 20:53
sujet identique à consulter :
https://tout82.pages-perso.fre[...].php?sujet=3237
Il peut d'ailleurs contenir quelques erreurs.
L'algorithme est tout-à-fait équivalent au code pour calculatrice, c'est pratiquement une traduction littérale.
Le J+1->J dans le code de sangohan38 me déstabilise, c'est équivalent à tester dans la condition suivante que I est différent de J.
Ce serait d'ailleurs plus clair pour le correcteur.
L'usage de la fonction rand (NbrAléat en français) est un grand classique de la calculatrice ti82, mais sur une ti82statfr il est plus simple d'utiliser la fonction entAléat(1,365)
De plus il est possible d'utiliser entAléat(1,365,27) pour générer tous les termes d'un coup. Mais la boucle For est plus rigoureuse que ce dernier raccourci.
Sangohan38 a oublié un End et la remise à zéro de S.
Le nombre S obtenu à la fin ne représente pas de valeur tangible, mais qu'il soit non-nul prouve qu'il y a au moins une paire.
(il représente en fait le nombre de paires, même si elles sont contenues dans des multiples, cela donne par exemple six paires dans un quadruplet).
Je propose de tester la nullité de S pour afficher vrai ou faux.
J'obtien l'algorithme et les codes suivants.
("les codes" parce que un commentaire indique un remplacement, ce qui donne un second code)
Code
dimmensionner la liste 1 à une longueur 27
Pour I de 1 à 27
// tu peux écrire "position I de la liste 1" au lieu de "L1(I)"
affecter L1(I) à un entier aléatoire entre 1 et 365
FinPour
Pause et afficher la liste1
Affecter S à 0
Pour I de 1 à 27
Pour J de 1 à 27
Si L1(I)=L1(J) et I différent de J
Alors
Affecter S à S+1
FinSi
FinPour
FinPour
Si S non nul
Alors
Afficher "VRAI
FinSi
Si S=0
Alors
Afficher "FAUX
FinSi
Code
27->dim(L1
For(I,1,27
entAléat(1,365->L1(I
End
// ce qui précède peut se remplacer par entAléat(1,365,27->L1
Pause L1
0->S
For(I,1,27
For(J,1,27
If L1(I)=L1(J) et I=/=J
S+1->S
End
End
If S=/=0 // "If S" suffit mais c'est moins bien connu
Disp "VRAI
If S=0
Disp "FAUX
Le symbole "différent de" se trouve dans le menu 2nde+math
entAléat dans le menu math+gauche
Remarque : dans ce code, j'ai enlevé les Then/End innutiles. (car mes tests n'ont qu'une seule action de sortie, ce qui ce simplifie)