exercices en apscal

exercices en apscal - Delphi/Pascal - Programmation

Marsh Posté le 13-06-2004 à 18:57:51    

bonjour, je sollicite votre aide pour 2 exercices en pascal...  
j'ai plus ou moins la trame mais ils ne veulent pas fonctionner, l'ordinateur m'indique la faute à la ligne mais je ne la trouve pas car il me met error syntaxe ... voici mes reponses si vous découvrez l'erreur merci d'avance de me la faire parvenir.  
exercices 1  Le joueur 2 doit découvrir le nombre du joueur 1 et l'ordinateur donne le nombre d'essai ainsi qu'une grille d'évaluation
 
program nombre;  
var x,b,i,s,a:integer  
fin:boolean;  
begin  
i:=0;  
x:=100  
writeln ('joueur 1 entre un nombre a');  
readkey (a);  
begin  
i:= i+1;  
writeln ('joueur 2 entre un nombre b');  
readln (b);  
begin  
if (b<a) then writenln ('le nombre est b<a<x');  
if (b>a) then writeln ('le nombre b<x<i');  
end;  
if b=a then begin  
writeln ('reussi');  
end;  
writeln ('vs avez essayé ',i,' fois');  
if i <5 then writeln (TB');  
if i >5 then writeln ('S');  
end;  
until b=a  
end.  
 
et le 2 l'utilisateur rentre un texte et l'ordi doit afficher chaque mot du texte (l'un en dessous de l'autre et donner le nombre de mot)
program texte;  
var p,m: string  
var z: boolean;  
var l,i,x: integer;  
begin  
writeln ('entrer un texte avec ponctuation adéquate'),  
readln (p);  
l:= length (p);  
x:=1;  
for i:= 1 to l do  
z:= ''or '.' or ';' or':' or '( )';  
if z copy (p,i,1)= ' ' or '.' then  
begin  
if i>x then writeln ((copy(p,x+1,i-1));  
x:=i  
end;  
end.  
 
merci encore

Reply

Marsh Posté le 13-06-2004 à 18:57:51   

Reply

Marsh Posté le 13-06-2004 à 21:08:37    

renssali a écrit :

l'ordinateur m'indique la faute à la ligne  


 
Ça serait utile si tu disais laquelle :p
 
Et accessoirement si t'indentais ton code et le mettais dans une balise [code]   [ /code] (sans l'espace avant le "/" ) pour le rendre lisible, ça serait bien aussi :o


Message édité par antp le 13-06-2004 à 21:09:47

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 13-06-2004 à 23:43:20    

renssali a écrit :

bonjour, je sollicite votre aide pour 2 exercices en pascal...  
j'ai plus ou moins la trame mais ils ne veulent pas fonctionner, l'ordinateur m'indique la faute à la ligne mais je ne la trouve pas car il me met error syntaxe ... voici mes reponses si vous découvrez l'erreur merci d'avance de me la faire parvenir.  
exercices 1  Le joueur 2 doit découvrir le nombre du joueur 1 et l'ordinateur donne le nombre d'essai ainsi qu'une grille d'évaluation
 
program nombre;  
var x,b,i,s,a:integer  
fin:boolean;  
begin  
i:=0;  
x:=100  
writeln ('joueur 1 entre un nombre a');  
readkey (a);  
begin ?? Ca begin quoi ca ?
i:= i+1;  
writeln ('joueur 2 entre un nombre b');  
readln (b);  
begin ?? Ca begin quoi ca ?
if (b<a) then writenln ('le nombre est b<a<x');  
if (b>a) then writeln ('le nombre b<x<i');  
end;  
if b=a then begin  
writeln ('reussi');  
end;  
writeln ('vs avez essayé ',i,' fois');  
if i <5 then writeln (TB');  
if i >5 then writeln ('S');  
end;  
until b=a  
end.  
merci encore

Reply

Marsh Posté le 14-06-2004 à 00:14:24    

renssali a écrit :

bonjour, je sollicite votre aide pour 2 exercices en pascal...  
j'ai plus ou moins la trame mais ils ne veulent pas fonctionner, l'ordinateur m'indique la faute à la ligne mais je ne la trouve pas car il me met error syntaxe ... voici mes reponses si vous découvrez l'erreur merci d'avance de me la faire parvenir.  
exercices 1  Le joueur 2 doit découvrir le nombre du joueur 1 et l'ordinateur donne le nombre d'essai ainsi qu'une grille d'évaluation
 

Code :
  1. program nombre;
  2. var x,b,i,s,a:integer  /*il manque le ;  et il me semble que la variable s n'est pas utilisée idem pour fin*/
  3. fin:boolean;
  4. begin
  5. i:=0;
  6. x:=100 /*il manque le ; */
  7. writeln ('joueur 1 entre un nombre a');
  8. readkey (a); /* a est un integer je sais pas si ca marche readkey */
  9. begin /*le begin n'a rien a faire ici */
  10. i:= i+1;
  11. writeln ('joueur 2 entre un nombre b');
  12. readln (b);
  13. begin /*le begin n'a rien a faire ici */
  14. if (b<a) then writenln ('le nombre est b<a<x');
  15. if (b>a) then writeln ('le nombre b<x<i');
  16. /* dans tes writeln quand tu écris b<x<i le programe n'affichera pas leur valeur mais la chaine de caractére b<x<i */
  17. end; /*le end n'a rien a faire ici dans la mesure ou les begin avant n'on pas lieu d'etre */
  18. if b=a then begin
  19. writeln ('reussi');
  20. end; /*il n'y a qu'une instruction aprés le THEN donc pas besoin de begin  .. end; */
  21. writeln ('vs avez essayé ',i,' fois');
  22. if i <5 then writeln (TB');
  23. if i >5 then writeln ('S');
  24. end; // end; inutile
  25. until b=a /* manque le ; et surtout il n'y a pas de repeat avant */
  26. end.
  27. program texte;
  28. var p,m: string  /*il manque le ; et aparement m n'est jamais utilisé*/
  29. var z: boolean;
  30. var l,i,x: integer;
  31. /* note : pas besoin d'ecrire VAR à chaque foi */
  32. begin
  33. writeln ('entrer un texte avec ponctuation adéquate'),/*il manque le ; a la place de , */
  34. readln (p);
  35. l:= length (p);
  36. x:=1;
  37. for i:= 1 to l do
  38. z:= ''or '.' or ';' or':' or '( )'; /* attention si tu ne met pas de begin seule l'instruction z:= ... : sera affecté par la boucle FOR, de plus z:= ... ; ne me parait pas correcte tu veux faire quoi à cette ligne :??: */
  39. if z copy(p,i,1)= ' ' or '.'
  40. /* il manque un truc dans ta boucle IF :
  41. IF condition THEN insctruction_1 ELSE instruction_2 or ici tu as juste IF z et aprés tu apelle une instruction ce qui n'est pas correcte, il manque un THEN */
  42. then begin
  43. /*et donc ici le THEN n'est pas corect dans la mesure ou il aurais du etre avant il devrait y avoir un ELSE à la place */
  44. if i>x then writeln ((copy(p,x+1,i-1));
  45. x:=i /*il manque le ; */
  46. end;
  47. end.


merci encore


 
edit : grr il prend pas les couleurs :o
 
edit n : ca devrait etre bon
 
edit n+2 : c'est bon
 
edit n+3 : nouvelles ereurs


Message édité par pinguin007 le 14-06-2004 à 00:52:58

---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust
Reply

Marsh Posté le 14-06-2004 à 00:41:31    

Code :
  1. program nombre;
  2. var x,b,i,s,a:integer
  3. fin:boolean;
  4. begin
  5. i:=0;
  6. x:=100
  7. writeln ('joueur 1 entre un nombre a');
  8. readkey (a);
  9. begin
  10. i:= i+1;
  11. writeln ('joueur 2 entre un nombre b');
  12. readln (b);
  13. /*un readkey pour le 'a' et un readln pour le 'b', pourquoi cette différence ? */
  14. begin
  15. if (b<a) then writenln ('le nombre est b<a<x');
  16. if (b>a) then writeln ('le nombre b<x<i');
  17. /*A quoi sert le 'x' ? l'utilisateur ne sait pas à quoi correspond ton 'x'. Et que doit-il se passer si le nombre entré est > 100 ? */
  18. end;
  19. if b=a then begin
  20. writeln ('reussi');
  21. end;
  22. writeln ('vs avez essayé ',i,' fois');
  23. /* il n'y a ni boucle ni récursivité, ton 'i' sera toujours égal à 1 */
  24. if i <5 then writeln (TB');
  25. if i >5 then writeln ('S');
  26. end;
  27. until b=a  /* tiens j'ai dû louper un truc  :D  */
  28. end.



Message édité par tet2neu le 14-06-2004 à 00:42:29
Reply

Marsh Posté le 14-06-2004 à 00:45:57    

antp a écrit :

Ça serait utile si tu disais laquelle :p
 


 
+1
mais de toute façon comme le faisait remarquer pinguin007, des syntax error il y en a à la pelle dans ce code  :sarcastic:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed