Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 10 Déc 2012, 13:52
Bonjour à tous !
Voilà, j'ai un algo à faire pour vendredi 14.
Rien de bien compliqué en apparence. Seulement, le prof a dit: "dans le langage que vous voulez"
Donc, je vous demande comment traduire ce programme dans le plus de langage possible (de préférence, avant vendredi )
Code
:0->N
:Prompt S
:If ent(S/10)=|=S/10
:then
:Disp "il n'y a pas de solution"
:Else
:S/10->X
:0->Y
:N+1->N
:Disp "nombre de billets de 10 euros:",X,"et nombre de billets de 20 euros:",Y
:While Y=<(S/10)-1
:X-2->X
:Y+1->Y
:Disp "nombre de billets de 10 euros:",X,"et nombre de billets de 20 euros:",Y
:N+1->N
:End
:End
:Disp "le nombre de couples solutions est",N
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 10 Déc 2012, 14:35
Visiblement ce programme sert à donner le nombre de combinaisons de billets de 10 euros et de 20 euros à partir d'une somme notée S.
Déjà, je ne suis pas convaincu que ta première condition soit bonne car à mon avis S est un entier positif multiple de 10 afin de ne pas avoir de reste quand tu donnes le nombre de billets.
En effet, si S=30, on a ent(S/10)=3 et S/10=3 ce qui te fait mettre aucune solution alors qu'il existe des couples: 3 billets de 10 euros , 2 de 10 euros et un de 20 euros.
Après, il me semble plus simple de commencer par compter le nombre de billets de 20 euros et ensuite de les convertir en 2 de 10 euros. Cela devrai pouvoir se faire en utilisant une liste.
Enfin, est-ce moi qui rêve où en nous demandant de traduire ce programme dans d'autres langages tu cherches à faire tourner ton prof en bourrique?
Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Lun 10 Déc 2012, 16:29
Citer : Sangohan38
En effet, si S=30, on a ent(S/10)=3 et S/10=3 ce qui te fait mettre aucune solution alors qu'il existe des couples: 3 billets de 10 euros , 2 de 10 euros et un de 20 euros.
c’était bien [différent de], j'édite
Citer : Sangohan38
Enfin, est-ce moi qui rêve où en nous demandant de traduire ce programme dans d'autres langages tu cherches à faire tourner ton prof en bourrique?
Je vois vraiment pas de quoi tu parles
Citer : peralteas
je demande à Matref de te le faire en assembleur.
Je ne cherche pas que en assembleur (évidemment, je veux bien) mais aussi en C, C++, java.... (et même casio )
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Lun 10 Déc 2012, 17:00
Essayes ceci je pense que ça devrait être plus court:
Code
Prompt S
If PartDec(.1S
Then
Disp « il n’y a pas de solutions »
Stop
End
.2S->N
1->I
ClrList L1
PartEnt(N)+(PartDec(N)=1)i->L1(I
While Real(L1(I
L1(I)-1+2i->L1(I+1)
I+1
End
For(A,1,dim(L1
Disp « Nombre de billets de 10 euros », Imag(L1(A
Disp « Nombre de billets de 20 euros », Real(L1(A
Pause
Disp « Le nombre de couples solutions est »,dim(L1
J'vais voir si c'est pas faisable dans une feuille excel en entrant les valeurs dans une cellule.
int main()
{
double S = 0, X = 0, Y = 0;
int N = 0;
printf("Montant : ");
scanf("%lf", &S);
if (floor(S/10) != S/10)
{
printf("Il n'y a pas de solution");
return 0;
}
X = S/10;
do
{
printf("\nNombre de billets de 10 euros: %lf\nNombre de billets de 20 euros: %lf\n", X, Y);
X = X - 2;
Y++;
N++;
}while(Y <= (S/20));
printf("\nLe nombre de couples solutions est : %d\n\n", N);
return 0;
Autorisation : Membre
Nb de messages : 109
Inscrit le : Lun 25 Jui 2012, 15:51
Posté le : Lun 10 Déc 2012, 21:38
Valà valààà
Code fully compatible avec les Ti-82 stats, par contre à compiler soi-même ^^
J'ai enlevé tous les trucs compréhensibles pour n'avoir que des nombres, c'est plus marrant et du coup y'a pas besoin d'include, tu peux compiler le code tel qu'il est.
Code
.org $9327
.db $BB,$6D
lblStart:
ld hl,$FFFA
ld ($858F+299),hl
ld hl,$0
ld ($858F+325),hl
call $4EDC
call $4EFC
ex de,hl
ld ($858F+335),hl
call $4008
ld h,$00
ld l,a
or h
jp z,l9DBC
ld hl,text9E73
call $470D
ret
l9E57:
call $4A7C
call $41C2
ld a,$05
call $51D4
ret
l9E63:
call $4CFE
ld h,0
ld l,a
ret
text9E73:
.db "Pas de solution",$00
text9E83:
.db "Il y a ",$00
text9E8B:
.db "couples solutions",$00
text9E9D:
.db " billets de 10 euros et",$00
text9EB5:
.db " billets de 20",$00
Par contre j'ai fait ça depuis ma 83+, donc j'ai pas testé sur 82 stats, même si théoriquement y'a aucune raison que ça marche pas vu que j'ai bien adapté toutes les adresses.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 12 Déc 2012, 21:23
Il manque ".end" à la fin du code source.
EOF: End Of File
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 12 Déc 2012, 21:30
Tout à la fin du code source avant de compiler.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 12 Déc 2012, 22:54
Mets "END" à la place de ".end" puisque c'est suggéré comme ça par tasm.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 407
Inscrit le : Lun 07 Nov 2011, 12:09
Posté le : Jeu 13 Déc 2012, 17:45
Décidément, je suis vraiment nul en ASM
Je l'ai compiler ais impossible de le lancer sur me calculatrice,
Tu peux pas me l'envoyer en déjà compilé stp,
(mon prof nous laisse jusqu'à lundi )
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 14 Déc 2012, 19:55
Pensez à initialiser S avant d'executer le programme.
Matrefeytontias a oublié de le préciser.
Je l'ai compilé puis testé et il marche très bien.
EDIT: non il plante pour S=100, semble-t-il à cause de l'affichage qui déborde.
Cela aurait été agréable d'effacer l'écran au début.
EDIT: pour info j'ai utilisé le compilateur spasm, bin2bin83 et DevPac83 pour compiler le second code de matref tel quel.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 14 Déc 2012, 22:41
Je viens d'essayer 100 et ça plante lors de l'affichage, après l'affichage de quelques couples.
Pour moi ça plante dès qu'il y a plus de 4 solotions.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mer 19 Déc 2012, 21:25
Bien sûr que si il est compatible. Je l'ai émulé sur 82statfr et il marche.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 646
Inscrit le : Mer 23 Mai 2012, 17:28
Posté le : Mer 19 Déc 2012, 21:35
C'est ce que je dis! Mais il fallait le "compiler" (je pense pas qu'on puisse vraiment parler de "compilation", mais bon...) en hexa, si tu voulais lui montrer quelque chose qui voulait dire quelque chose. Mais ce n'est pas parce qu'il y a des caractères bizarres que le programme ne marche pas.