[problémes avec turbo pascal]
Fermé
charlok_homse
-
13 sept. 2005 à 23:12
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 28 juin 2008 à 17:57
KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 - 28 juin 2008 à 17:57
A voir également:
- [problémes avec turbo pascal]
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev-pascal - Télécharger - Édition & Programmation
- Turbo pascal linux ✓ - Forum Linux / Unix
- Turbo sim c'est quoi - Forum Mobile
4 réponses
Salut,
pour la 1ère question,
déclarer a comme entier, il exsiste une autre méthode même si a est real mais je en me rappel pas.
pour la 2 ème et la 3 ème question.
vous ajoutez une boucle repeat
repeat
...
wrtite("voullez vous continuer (o/n) : ");
readln(c);
until c="n" or readkey =13
je ne suis pas certain popur la 3ème je sais que entrer =13 mais avec "" ou pas,readkey ou key?
Bonne chance.
Merci
pour la 1ère question,
déclarer a comme entier, il exsiste une autre méthode même si a est real mais je en me rappel pas.
pour la 2 ème et la 3 ème question.
vous ajoutez une boucle repeat
repeat
...
wrtite("voullez vous continuer (o/n) : ");
readln(c);
until c="n" or readkey =13
je ne suis pas certain popur la 3ème je sais que entrer =13 mais avec "" ou pas,readkey ou key?
Bonne chance.
Merci
salut charlot,
j'espère avoir compris tes questions...
pour la première question (au niveau de l'affichage):
il suffit de introduire la séquence ":2:8" juste après b...alors ton avant dernière ligne sera
"write ('La longueur en feet est: ' ,b:2:8); "...
pour la 2 ème question:
vous ajoutez une boucle,en précisant le nombre de longuers que tu veux convertir...par exemple je supose que tu as cinq longueurs à convertir tu peux faire ceci:
for i:=1 to 5 do {attention il faut declarer i comme entier}
begin
write ('Donnez la longueur en mètre: ');
readln(a);
b:= a*3.2808 ;
write ('La longueur en feet est: ' ,b:2:8);
end.
pour la troisième :
il faut inclure l'instruction suivante "readln;" juste avant le dernier "end"( donc elle sera l'avnt dernière instruction)
je te souhaite bonne chance "y sepa que la vida es un constante anàlisis de casos"...ADIOS
j'espère avoir compris tes questions...
pour la première question (au niveau de l'affichage):
il suffit de introduire la séquence ":2:8" juste après b...alors ton avant dernière ligne sera
"write ('La longueur en feet est: ' ,b:2:8); "...
pour la 2 ème question:
vous ajoutez une boucle,en précisant le nombre de longuers que tu veux convertir...par exemple je supose que tu as cinq longueurs à convertir tu peux faire ceci:
for i:=1 to 5 do {attention il faut declarer i comme entier}
begin
write ('Donnez la longueur en mètre: ');
readln(a);
b:= a*3.2808 ;
write ('La longueur en feet est: ' ,b:2:8);
end.
pour la troisième :
il faut inclure l'instruction suivante "readln;" juste avant le dernier "end"( donc elle sera l'avnt dernière instruction)
je te souhaite bonne chance "y sepa que la vida es un constante anàlisis de casos"...ADIOS
Voici une suggestion de programme complet qui t'apportera satisfaction (j'espère !) si t'as encore besoin...
Au pire, ça servira aux autres !
Pour régler le problème du xxxxx+E, j'isole la partie entière et la partie décimale de la variable 'Pieds' (qui est de type Real, bien sûr) dans deux variables 'Pieds_Entier' et 'Pieds_Décimales'. C'est pas forcément le mieux à faire, mais c'est simple et a marche bien.
A noter que 'Pieds_Décimales' contient jusqu'à 6 chiffres, vu qu'on multiplie la partie décimale par 1.000.000. Ceci peut bien sur etre changé à ta guise.
TextColor sert à fixer la couleur du texte, c'est plus joli et surtout plus lisible !
Pour le reste, se reporter à l'aide de turbo pascal.
Voili :
PROGRAM METRES_EN_PIEDS;
Uses Crt;
Var
Pieds : Real;
Pieds_Entier, pieds_Decimales : LongInt; { Parties entières et décimales du résultat en pieds }
Metres : Real; { Valeur en mètres }
Touche : Char; { Touche pressée }
BEGIN
Repeat
ClrScr;
TextColor(7);
Write('Valeur en mêtres à convertir : ');
TextColor(11);
Readln(Metres);
Pieds := Metres*3.2808;
Pieds_Entier := Trunc( Int( Pieds ) );
Pieds_Decimales := Round( Frac( Pieds )*1000000 );
TextColor(7);
Write('Valeur en pieds : ');
TextColor(12);
Writeln(Pieds_Entier, ',', Pieds_Decimales );
Writeln;
TextColor(8);
Writeln('Appuyez sur une touche pour continuer - Echap pour quitter');
Touche := ReadKey;
Until Touche=#27;
END.
>PunkarA<
Au pire, ça servira aux autres !
Pour régler le problème du xxxxx+E, j'isole la partie entière et la partie décimale de la variable 'Pieds' (qui est de type Real, bien sûr) dans deux variables 'Pieds_Entier' et 'Pieds_Décimales'. C'est pas forcément le mieux à faire, mais c'est simple et a marche bien.
A noter que 'Pieds_Décimales' contient jusqu'à 6 chiffres, vu qu'on multiplie la partie décimale par 1.000.000. Ceci peut bien sur etre changé à ta guise.
TextColor sert à fixer la couleur du texte, c'est plus joli et surtout plus lisible !
Pour le reste, se reporter à l'aide de turbo pascal.
Voili :
PROGRAM METRES_EN_PIEDS;
Uses Crt;
Var
Pieds : Real;
Pieds_Entier, pieds_Decimales : LongInt; { Parties entières et décimales du résultat en pieds }
Metres : Real; { Valeur en mètres }
Touche : Char; { Touche pressée }
BEGIN
Repeat
ClrScr;
TextColor(7);
Write('Valeur en mêtres à convertir : ');
TextColor(11);
Readln(Metres);
Pieds := Metres*3.2808;
Pieds_Entier := Trunc( Int( Pieds ) );
Pieds_Decimales := Round( Frac( Pieds )*1000000 );
TextColor(7);
Write('Valeur en pieds : ');
TextColor(12);
Writeln(Pieds_Entier, ',', Pieds_Decimales );
Writeln;
TextColor(8);
Writeln('Appuyez sur une touche pour continuer - Echap pour quitter');
Touche := ReadKey;
Until Touche=#27;
END.
>PunkarA<
je suis etudiant en info et j'ai pas fais le cour sur les tableaux en turbo pascal.
je cherche donc un cours sur les tableaux et tout autre consepte de turbo pascal.
merci d'avance!
je cherche donc un cours sur les tableaux et tout autre consepte de turbo pascal.
merci d'avance!
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
28 juin 2008 à 17:40
28 juin 2008 à 17:40
Sur un exemple :
var T:array[1..50] of real;
T est un tableau de 50 cases (allant de 1 à 50) chacune contenant une valeur de type real
Pour accéder à la valeur (de type real) de la case n°9 on écrit T[9].
Remarque le type peut être n'importe quoi (même un autre array).
Attention, dans [1..50], 1 et 50 doivent être fixés, c'est à dire qu'on ne peut pas faire ce genre de choses :
var T:array[1..50,1..32] of real;
On écrira alors T[9,17] pour accéder à la valeur...
Avec ça tu sais à peu près tout ce qui est nécessaire de savoir sur les tableaux...
var T:array[1..50] of real;
T est un tableau de 50 cases (allant de 1 à 50) chacune contenant une valeur de type real
Pour accéder à la valeur (de type real) de la case n°9 on écrit T[9].
Remarque le type peut être n'importe quoi (même un autre array).
Attention, dans [1..50], 1 et 50 doivent être fixés, c'est à dire qu'on ne peut pas faire ce genre de choses :
readln(min); readln(max); var t:array[min..max] of real;Petite variante :
var T:array[1..50,1..32] of real;
On écrira alors T[9,17] pour accéder à la valeur...
Avec ça tu sais à peu près tout ce qui est nécessaire de savoir sur les tableaux...
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
28 juin 2008 à 17:57
28 juin 2008 à 17:57
Voici un programme type :
program Exemple; const Nmax=10; type Tableau=array[1..Nmax] of integer; procedure InitialiserTableau(var T:Tableau); // le 'var' est très important ! var i:integer; // 1. pour modifier le contenu de T begin // 2. pour éviter de ralentir le programme for i:=1 to Nmax do T[i]:=0; // toutes les cases sont initialisées à 0 end; procedure RemplirTableau(var T:Tableau); var i:integer; begin for i:=1 to Nmax do begin write('Valeur de la case ',i:3,' : '); readln(T[i]); end; end; procedure AfficherTableau(T:Tableau); var i:integer; begin for i:=1 to Nmax do begin write('Valeur de la case ',i:3,' : '); writeln(T[i]); end; end; var T:Tableau; begin InitialiserTableau(T); RemplirTableau(T); AfficherTableau(T); end.