- Partage ce devoir avec tes amis !
Sujet du devoir
PROGRAM :RALLYE
: For (1,1,99)
: PartEnt(I/10) D
: I-10D U
: IfD=0
: Then
: U P
: Else
: D*U P
: End
: If I²-10I-22=P
: Disp I
: End
Où j'en suis dans mon devoir
Bonsoir, je dois expliquer le fonctionnement de cet algoryhtme et je n'y arrive vraiment pas .. Merci de m'aider
cordialement
25 commentaires pour ce devoir
Ah oui excusez moi
Ok, et n'y a-t-il pas non plus un 2e ":End" à la fin ?
Tout a la fin, il n'y en as qu'un, enfin la c'est exactement ce que j'ai
D'accord, je crois avoir compris pourquoi maintenant. Je vais te traduire ton algorithme en langage naturel :
I, D, U, P sont des variables de type ENTIER
Pour I allant de 1 à 99 faire
| D prend la valeur PartieEntière(I/10)
| U prend la valeur I-10D
| Si D = 0 alors
| | P prend la valeur U
| Sinon
| | P rend la valeur D*U
| Fin si
| Si I²-10I-22 = P alors
| | Afficher I
| Fin si
Fin pour
Arrives-tu à mieux comprendre l'algorithme maintenant ?
Ah oui je comprend mieux merci beauoup, je comprenais pas le terme "rallye" deja
"Rallye", c'est juste le nom de ton programme. Tu l'aurais renommé "Grenouille", ça n'aurait rien changé au déroulement de ton algorithme. :P
Et donc ici il renvoie la valeur I ?
Oui et non. En fait, il renvoie les valeurs de I qui vérifient I²-10I-22 = P, P étant le résultat de tout un calcul fait au préalable. À toi de trouver le but de renvoyer ces valeurs de I. Je ne sais pas si tu as un contexte pour ton algorithme, cela peut t'aider.
Ah d'accord merci et derniere question I/10 = I diviser par 10 ??
Mais il ya un truc que je trouve bizrre car si je prend I = 30 a la fin je trouve 578 est juste ?
Oui c'est ça. Cela te renvoie une valeur décimale, mais que tu vas tronquer avec la fonction PartieEntière().
Je ne vois pas où est le problème avec I qui a pour valeur 30 à un moment de l'algorithme. I² -10I - 22 donne bien 30 dans ce cas-là, P vaut 0 et comme 0 =/= 578, le nombre "30" ne sera pas affiché.
Ah d'accord merci beaucoup, car je savais pas ce qu'il aller afficher lorsque que les condiions ne sont pas remplis
Non, justement, la valeur n'est affichée que si la condition I² -10I - 22 = P est remplie. Sinon, les calculs se font toujours, mais rien ne sera visible à l'écran de la calculatrice. Tout se passe dans le fonctionnement interne de l'algorithme.
Mais ensuite on me demande de prouver ce resultats en étudiant F ( recherche racine sens de variation) et tableau de valeur j'ai fais tout ce qui a etait demander mais comment conclur et prouver le resulta que 578=/=0
Quelle est la définition de la fonction F (ou plus probablement f) ?
aaaaaaaaah un polynome du second degrés possède a =/=0 donc l'algorythme dis juste en gros donc f est bien un polynome de degrés 2
f(x) = x²-10x-22, c'est bien ça ?
Oui
J'ai beau essayer de comprendre, je ne vois toujours pas l'intérêt de l'algorithme en fait. Peux-tu envoyer tout l'énoncé ton exercice pour que j'y vois plus clair ?
http://tivomaths.free.fr/PREMIERE_S/CH01_trinomes_polynomes/DL1_2014.pdf
Je pense que tu peux dire que P est bornée inférieurement par 0 et supérieurement par 81 grâce à un tableau de valeurs. Tu as dû remarqué que F est croissante sur R+. En enlevant tout ce qui est au-dessous de la racine et tout ce qui est au dessus de 81, il ne te reste que quelques valeurs. Tu peux facilement les comparer avec encore une fois un tableau de valeurs plus petit.
Je ne vois pas d'ou viens le 81
D = PartieEntière(I/10) -> PartieEntière(99/10) = 9
U = I - 10*I -> 99-10*9 = 9
P = D*U -> 9*9 = 81
Ils ont besoin d'aide !
- Aucun devoir trouvé, poste ton devoir maintenant.
Je suppose que tu t'es trompé dans la 1re ligne.
N'est-ce pas ":For (I, 1, 99)" plutôt que ":For (1, 1, 99)" ?