Aidez je suis débutante en pascal

fatima 18 Messages postés 2 Statut Membre -  
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,
voici mon program qui calcule des loi en mouteur thermique mais j'ai des erreur peuvez vous m'aider avant ce mardi c'est urgent et mérci
{********************************}
program moteur;

uses crt;
Const
Pi = 3.1415926513 ;
var
c,d,v,p,s,n:real;
Vu,Vt,R,F,W,N:real;
txt:string[11];
chaine:string[255];
begin
clrscr;
writeln ('Programme de calcule de cylindré unitaire ');
writeln;
writeln(' cylindré unitaire de la forme c*pi*d^2/4' );
writeln;
{saisie des parametres c,d }
write('Entrez le parametre c : ');
readln(c);
write('Entrez le parametre d : ');
readln(d);
writeln ('Programme de calcule de cylindré total ');
writeln;
writeln(' cylindré total de la forme Vt=N*Vu );
writeln;
{saisie des parametres N,Vu }
write('Entrez le parametre N : ');
readln(N);
write('Entrez le parametre Vu : ');
readln(Vt);
writeln ('Programme de calcule de le rapport volumétrique ');
writeln;
writeln(' le rapport volumétrique de la forme R =V+v / v ');
writeln;
{saisie des parametres V,v }
write('Entrez le parametre V : ');
readln(V);
write('Entrez le parametre v : ');
readln(v);
writeln ('Programme de calcule de la force ');
writeln;
writeln(' la force de la forme F=p*s' );
writeln;
{saisie des parametres p,s}
write('Entrez le parametre p : ');
readln(p);
write('Entrez le parametre s: ');
readln(s);
writeln ('Programme de calcule de le travail ');
writeln;
writeln(' le travail de la forme W=c*2*pi*n' );
writeln;
{saisie des parametres c,n }
write('Entrez le parametre c : ');
readln(c);
write('Entrez le parametre n : ');
readln(n);
{calcul de cylindré unitaire}
write('Vu=c*pi*d^2/4 ');
Vu:=c*pi*sqr(b)/4;
str(Vu:5:2,txt);
writeln(txt);
{affichage des resultats}
str(c:5:3,txt);
chaine:=concat('L''equation (',txt,')* (');
str(pi:5:3,txt);
chaine:=concat(chaine,txt,')* (');
str(sqr(b):5:3,txt);
chaine:=concat(chaine,txt,')/ (');
str((4):5:3,txt);
chaine:=concat(chaine,txt,' = ');
writeln(chaine);
if Vu<>0 then
begin
chaine:='Vu = ';
str(c*pi:5:2,txt);
chaine:=concat(chaine,txt,' * ');
str(sqr(b):5:2,txt);
chaine:=concat(chaine,txt,' / ');
str((4):5:2,txt);
chaine:=concat(chaine,txt,' = ');
str(((c*pi)* sqr(b))/(4):5:2,txt);
chaine:=concat(chaine,txt);
writeln(chaine);

end ;

{calcul de cylindré total}
write('Vt=N*Vu ');
Vt:=N*Vu;
str(Vu:5:2,txt);
writeln(txt);
{affichage des resultats}

str(N:5:3,txt);
chaine:=concat('L''equation (',txt,')*(');
str(Vu:5:3,txt);
chaine:=concat(chaine,txt,' = ');
writeln(chaine);

if Vt<>0 then
begin

chaine:='Vt = ';
str(N*Vu:5:2,txt);
chaine:=concat(chaine,txt,' = ');
str(N*Vu:5:2,txt);
chaine:=concat(chaine,txt);
writeln(chaine);
end ;
{calcul le rapport volumétrique}
write('R =V+v / v ');
R:=V+v / v;
str(Vu:5:2,txt);
writeln(txt);
{affichage des resultats}
str(V:5:3,txt);
chaine:=concat('L''equation (',txt,')+ (');
str(v:5:3,txt);
chaine:=concat(chaine,txt,')/ (');
str(v:5:3,txt);
chaine:=concat(chaine,txt,' = ');
writeln(chaine);

if R<>0 then
begin

chaine:='R = ';
str(V+v:5:2,txt);
chaine:=concat(chaine,txt,' / ');
str(v:5:2,txt);
chaine:=concat(chaine,txt,' = ');
str((V+v)/v:5:2,txt);
chaine:=concat(chaine,txt);
writeln(chaine);

end ;

{calcul la force }
write('F=p*s ');
F:=p*s;
str(Vu:5:2,txt);
writeln(txt);

{affichage des resultats}

str(p:5:3,txt);
chaine:=concat('L''equation (',txt,')* (');
str(s:5:3,txt);
chaine:=concat(chaine,txt,' = ');
writeln(chaine);
if F<>0 then
begin
chaine:='F = ';
str(p*s:5:2,txt);
chaine:=concat(chaine,txt,' = ');
str(p*s:5:2,txt);
chaine:=concat(chaine,txt);
writeln(chaine);
end ;
{calcul le travail }
write('W=c*2*pi*n');
W:=c*2*pi*n;
str(Vu:5:2,txt);
writeln(txt);
{affichage des resultats}

str(c:5:3,txt);
chaine:=concat('L''equation (',txt,')* (');
str(2:5:3,txt);
chaine:=concat(chaine,txt,')* (');
str(pi:5:3,txt);
chaine:=concat(chaine,txt,')* (');
str(n:5:3,txt);
chaine:=concat(chaine,txt,' = ');
writeln(chaine);

if W<>0 then
begin
chaine:='W = ';
str((c*2):5:2,txt);
chaine:=concat(chaine,txt,' * ');
str(pi:5:2,txt);
chaine:=concat(chaine,txt,' * ');
str(n:5:2,txt);
chaine:=concat(chaine,txt,' = ');
str((c*2)* pi*n:5:2,txt);
chaine:=concat(chaine,txt);
writeln(chaine);
end ;
readln;
end.
{************************************}

1 réponse

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Il y des erreurs d'écritures et autres de programmation.
    je te conseille de séparer tes calculs de l'affichage.
    de mettre des commentaires
    d'identer ton programme
    d'éviter les copier/coller
    de te relire
    de tester en pas à pas
    je n'ai pas tout corriger et je dis ça pour ceux qui liront
    Comme on ne corrige pas les exos ici..., je corrige
    les erreurs évidentes à toi le reste.
    j'ai ajouté des commentaires si tu fais un copier /coller
    c'est le zéro assuré!

    je mets en gras les erreurs principales je ne peux pas le tester...

    j'ai corrigé quelques fautes d'orthographe ;-) surtout met des commentaires
    et sépare les calculs de l'affichage.

    et bon courage.

    program moteur; 
    
    uses crt; 
    Const 
    Pi = 3.1415926535 ; 
    (* Pi 3.141595358... *)
    var 
    c,d,v,p,s,n:real; 
    Vu,Vt,R,F,W,N:real; 
    txt:string[11]; 
    chaine:string[255]; 
    begin 
    clrscr; 
    { Programme de calcul de cylindrée unitaire }
    writeln (Programme de calcul de cylindrée unitaire'); 
    writeln; 
    writeln(' Cylindrée unitaire de la forme c*Pi*d^2/4' ); 
    writeln; 
    {saisie des parametres c,d } 
    write('Entrez le parametre c : '); 
    readln(c); 
    write('Entrez le parametre d : '); 
    readln(d); 
    { moi je ferai le calcul ici....  et l'affichage plus loin...}
    
    writeln ('Programme de calcul de cylindrée totale '); 
    writeln; 
    writeln(' cylindrée totale de la forme Vt=N*Vu ); 
    writeln; 
    {saisie des parametres N,Vu } 
    write('Entrez le parametre N : '); 
    readln(N); 
    
    { Là il y a un problème Vt ou Vu ??? moi je dirai Vu}
    write('Entrez le parametre Vu : '); 
    readln(Vt); 
    { cela vient du fait que tu n'as rien testé ... corrige ici}
    
    writeln ('Programme de calcul du rapport volumétrique '); 
    writeln; 
    writeln(' le rapport volumétrique de la forme R =V+v / v '); 
    writeln; 
    {saisie des parametres V,v } 
    write('Entrez le parametre V : '); 
    readln(V); 
    write('Entrez le parametre v : '); 
    readln(v); 
    
    { et comme tu n'as pas fait le calcul tu auras une erreur plus loin  }
    
    writeln ('Programme de calcul de la force '); 
    writeln; 
    writeln(' la force de la forme F=p*s' ); 
    writeln; 
    {saisie des parametres p,s} 
    write('Entrez le parametre p : '); 
    readln(p); 
    write('Entrez le parametre s: '); 
    readln(s); 
    
    { A mon avis c'est le deuxième programme que tu fais }
    
    writeln ('Programme de calcule de le travail '); 
    writeln; 
    writeln(' le travail de la forme W=c*2*pi*n' ); 
    writeln; 
    {saisie des parametres c,n } 
    write('Entrez le parametre c : '); 
    readln(c); 
    write('Entrez le parametre n : '); 
    readln(n); 
    {calcul de la cylindrée unitaire} 
    
    { là! il faut réviser !! un X² est l'inverse d'une sqr et il y a de la dyslexie }
    write('Vu=c*pi*b^2/4 '); 
    
    Vu:=c*pi*sqr(b)/4; 
    str(Vu:5:2,txt); 
    writeln(txt); 
    {affichage des resultats} 
    str(c:5:3,txt); 
    chaine:=concat('L''equation (',txt,')* ('); 
    str(pi:5:3,txt); 
    chaine:=concat(chaine,txt,')* ('); 
    
    { là tu corriges toute seule : la surface du cercle ...racine carrée en pascal  SQRT }
    
    str(sqr(b):5:3,txt); 
    chaine:=concat(chaine,txt,')/ ('); 
    str((4):5:3,txt); 
    chaine:=concat(chaine,txt,' = '); 
    writeln(chaine); 
    if Vu<>0 then 
    begin 
    	chaine:='Vu = '; 
    	str(c*pi:5:2,txt); 
    	chaine:=concat(chaine,txt,' * '); 
    	str(sqr(b):5:2,txt); 
    	chaine:=concat(chaine,txt,' / '); 
    	str((4):5:2,txt); 
    	chaine:=concat(chaine,txt,' = '); 
    	str(((c*pi)* sqr(b))/(4):5:2,txt); 
    	chaine:=concat(chaine,txt); 
    	writeln(chaine); 
    
    end ; 
    
    {calcul de cylindrée totale} 
    write('Vt=N*Vu '); 
    Vt:=N*Vu; 
    str(Vu:5:2,txt); 
    writeln(txt); 
    {affichage des resultats} 
    
    str(N:5:3,txt); 
    chaine:=concat('L''equation (',txt,')*('); 
    str(Vu:5:3,txt); 
    chaine:=concat(chaine,txt,' = '); 
    writeln(chaine); 
    
    if Vt<>0 then 
    begin 
    
    	chaine:='Vt = '; 
    	str(N*Vu:5:2,txt); 
    	chaine:=concat(chaine,txt,' = '); 
    	str(N*Vu:5:2,txt); 
    	chaine:=concat(chaine,txt); 
    	writeln(chaine); 
    end ; 
    
    {calcul le rapport volumétrique} 
    { il faut des parenthèses }
    
    write('R =(V+v) / v '); 
    R:=(V+v) / v; 
    
    { là je crois que tu as déjà affiché cela }
    { la ligne  str(Vu:5:2,txt); c'est pas bon }
    { donc il faut se relire  et je ne corrige pas }
    
    str(Vu:5:2,txt); 
    writeln(txt); 
    {affichage des résultats} 
    str(V:5:3,txt); 
    chaine:=concat('L''equation (',txt,')+ ('); 
    str(v:5:3,txt); 
    chaine:=concat(chaine,txt,')/ ('); 
    str(v:5:3,txt); 
    chaine:=concat(chaine,txt,' = '); 
    writeln(chaine); 
    
    if R<>0 then 
    begin 
    
    	chaine:='R = '; 
    	chaine:=concat(chaine,txt,' / '); 
    		str(v:5:2,txt); 
    	chaine:=concat(chaine,txt,' = '); 
    	str((V+v)/v:5:2,txt); 
    	chaine:=concat(chaine,txt); 
    	writeln(chaine); 
    
    end ; 
    
    {calcul la force } 
    write('F=p*s '); 
    F:=p*s; 
    
    
    str(Vu:5:2,txt); 
    { là il faut voir le commentaire au dessus .... le copier coller ce n'est pas toujours bon }
    writeln(txt); 
    
    {affichage des resultats} 
    
    str(p:5:3,txt); 
    chaine:=concat('L''equation (',txt,')* ('); 
    str(s:5:3,txt); 
    chaine:=concat(chaine,txt,' = '); 
    writeln(chaine); 
    if F<>0 then 
    begin 
    	chaine:='F = '; 
    	str(p*s:5:2,txt); 
    	chaine:=concat(chaine,txt,' = '); 
    	str(p*s:5:2,txt); 
    	chaine:=concat(chaine,txt); 
    	writeln(chaine); 
    end ; 
    
    {calcul le travail } 
    write('W=c*2*pi*n'); 
    W:=c*2*pi*n; 
    str(Vu:5:2,txt); 
    writeln(txt); 
    {affichage des resultats} 
    
    str(c:5:3,txt); 
    chaine:=concat('L''equation (',txt,')* ('); 
    str(2:5:3,txt); 
    chaine:=concat(chaine,txt,')* ('); 
    str(pi:5:3,txt); 
    chaine:=concat(chaine,txt,')* ('); 
    str(n:5:3,txt); 
    chaine:=concat(chaine,txt,' = '); 
    writeln(chaine); 
    
    if W<>0 then 
    begin 
    	chaine:='W = '; 
    	str((c*2):5:2,txt); 
    	chaine:=concat(chaine,txt,' * '); 
    	str(pi:5:2,txt); 
    	chaine:=concat(chaine,txt,' * '); 
    	str(n:5:2,txt); 
    	chaine:=concat(chaine,txt,' = '); 
    	str((c*2)* pi*n:5:2,txt); 
    	chaine:=concat(chaine,txt); 
    	writeln(chaine); 
    end ; 
    readln; 
    end. 
    0