Aidez je suis débutante en pascal

Fermé
fatima 18 Messages postés 2 Date d'inscription jeudi 20 janvier 2011 Statut Membre Dernière intervention 22 janvier 2011 - 20 janv. 2011 à 21:42
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 21 janv. 2011 à 10:07
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.
{************************************}
A voir également:

1 réponse

Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 294
21 janv. 2011 à 10:07
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