Problème d'addition - PASCAL DELPHIE
stemariej
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
artofsilence -
artofsilence -
Bonjour,
J'ai un deuxième problème. Je dois faire un programme de test d'addition bien simple. Les contraintes sont les suivantes :
- Le test s'arrête automatiquement après 3 mauvaises réponses consécutives
- Le test peut s'arrêter sur demande après 4 bonne réponses consécutives Une fois la sixième question compléter
- Le test s'arrête après un maximum de 10 questions.
Comme je ne peux faire deux fois ''While'' j'ai un problème, parce que je dois spécifier que je ne peux pas utiliser la fonction ''break'' pour sortir de ma boucle ... alors que faire ?????
voici mon programme :
program Questionaddition;
{$APPTYPE CONSOLE}
uses
SysUtils;
Const
quest1='1 est: 1 + 1';
quest2='2 est: 2 + 2';
quest3='3 est: 3 + 3';
quest4='4 est: 4 + 4';
quest5='5 est: 5 + 5';
quest6='6 est: 6 + 6';
quest7='7 est: 7 + 7';
quest8='8 est: 8 + 8';
quest9='9 est: 9 + 9';
quest10='10 est: 10 + 10';
var
tablor:array[1..10] of integer=(2,4,6,8,10,12,14,16,18,20);
cumb,cumm,i,ind_err,ind_bon,x,y,question:integer;
j : char;
begin
i:=tablor[1];
cumb:=0; //nombre de bonnes réponses consécutives//
cumm:=0; //nombre de mauvaises réponses consécutives//
ind_err:=0;
ind_bon:=0;
question:=0;
x:=1;
y:=2;
while cumm <3 do
begin
question:= question+1;
writeln('la question no' ,x,'est:' , x,'+',x);
write('la reponse est:');
readln(i);
x:= x+1;
if i<> y then
begin
cumm:= cumm+1;
ind_err:= ind_err+1;
writeln('vous avez la mauvaise réponse, la reponse etait 2');
writeln('votre score est:',ind_bon ,'sur:', question);
writeln;
End
else
begin
cumb:=cumb+1;
ind_bon:= ind_bon+1;
writeln('votre score est:',ind_bon ,'sur:', question);
writeln
end;
y:= y+2;
// c'est le boutte à effacer//
writeln ('Le cumul de cumm est de:',cumm);
writeln ('le cummul de cumb est de:',cumb);
writeln;
//Le bout pour les 4 consécutives//
If cumb >=4 then
begin
writeln ('vous avez 4 bonnes réponses consécutives, vous pouvez arreter le test tapant le 1, sinon appuyer sur 2');
end;
END; //Le end du begin du while cumm//
If cumm =3 then
begin
writeln ('vous avez fait trois erreurs le test se termine automatiquement')
end
else
writeln('Appuyez sur <ENTREE> pour terminer...');
readln;
end.
Merci de Votre aide !!!!
J'ai un deuxième problème. Je dois faire un programme de test d'addition bien simple. Les contraintes sont les suivantes :
- Le test s'arrête automatiquement après 3 mauvaises réponses consécutives
- Le test peut s'arrêter sur demande après 4 bonne réponses consécutives Une fois la sixième question compléter
- Le test s'arrête après un maximum de 10 questions.
Comme je ne peux faire deux fois ''While'' j'ai un problème, parce que je dois spécifier que je ne peux pas utiliser la fonction ''break'' pour sortir de ma boucle ... alors que faire ?????
voici mon programme :
program Questionaddition;
{$APPTYPE CONSOLE}
uses
SysUtils;
Const
quest1='1 est: 1 + 1';
quest2='2 est: 2 + 2';
quest3='3 est: 3 + 3';
quest4='4 est: 4 + 4';
quest5='5 est: 5 + 5';
quest6='6 est: 6 + 6';
quest7='7 est: 7 + 7';
quest8='8 est: 8 + 8';
quest9='9 est: 9 + 9';
quest10='10 est: 10 + 10';
var
tablor:array[1..10] of integer=(2,4,6,8,10,12,14,16,18,20);
cumb,cumm,i,ind_err,ind_bon,x,y,question:integer;
j : char;
begin
i:=tablor[1];
cumb:=0; //nombre de bonnes réponses consécutives//
cumm:=0; //nombre de mauvaises réponses consécutives//
ind_err:=0;
ind_bon:=0;
question:=0;
x:=1;
y:=2;
while cumm <3 do
begin
question:= question+1;
writeln('la question no' ,x,'est:' , x,'+',x);
write('la reponse est:');
readln(i);
x:= x+1;
if i<> y then
begin
cumm:= cumm+1;
ind_err:= ind_err+1;
writeln('vous avez la mauvaise réponse, la reponse etait 2');
writeln('votre score est:',ind_bon ,'sur:', question);
writeln;
End
else
begin
cumb:=cumb+1;
ind_bon:= ind_bon+1;
writeln('votre score est:',ind_bon ,'sur:', question);
writeln
end;
y:= y+2;
// c'est le boutte à effacer//
writeln ('Le cumul de cumm est de:',cumm);
writeln ('le cummul de cumb est de:',cumb);
writeln;
//Le bout pour les 4 consécutives//
If cumb >=4 then
begin
writeln ('vous avez 4 bonnes réponses consécutives, vous pouvez arreter le test tapant le 1, sinon appuyer sur 2');
end;
END; //Le end du begin du while cumm//
If cumm =3 then
begin
writeln ('vous avez fait trois erreurs le test se termine automatiquement')
end
else
writeln('Appuyez sur <ENTREE> pour terminer...');
readln;
end.
Merci de Votre aide !!!!
A voir également:
- Problème d'addition - PASCAL DELPHIE
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Addition excel - Guide
- Dev pascal - Télécharger - Édition & Programmation
- Addition et soustraction dans la meme formule excel - Forum Excel
1 réponse
Bon premierement si je me trompe pas, a moins que ton test pratique ne soit pas le même que moi, faut pas négliger que se doit être des nombre généré aléatoirement, ce qui n'est pas le cas des nombre utilisé dans tes addition affiché dans le code inscrite a ton code. Donc déja la, il y a une grande parti du travail qui resterais à faire. Ben aussi depuis la date de ton message, soit ta trouver toi meme , ou soi qua la correction tu a appris le probleme.
Bonne chance pour le reste.
Bonne chance pour le reste.