program TP2EX1;
var x,y : real;
begin
write('x= '); readln(x);
writeln('y= '); readln(y);
x:=x+y; y:=x-y; ; x:=x-y;
writeln('après traitement :');
writeln('x= ',x,' y= ',y);
readln;
end.
Exécuter. Expliquer les résultats obtenus.
formatage en écriture
On spécifie par un integer (ou une expression
arithmétique de type integer) le nombre de caractères de
la zone où se fera l'écriture. Celle-ci se fait dans la partie
droite de la zone (justification à droite).
Dans le cas particulier d'un nombre réel,
on obtient un affichage sans facteur de cadrage en spécifiant en
plus le nombre de décimales, la dernière est alors arrondie.
Les spécifications précédentes
s'écrivant précédée de :
derrière l'expression à écrire.
Exemples :
var i: integer;
x : real;
begin
i:=12;
x:=pi;
writeln('.'); (* pour repérer
la première colonne *)
writeln('essai':i);
writeln(i*i:5);
writeln(x:i:i div 3);
writeln(' ':20,'vive le formatage !');
readln;
end.
A l'exécution i ls'affiche :
.
essai
(* 7 espaces devant *)
144
(* 2 " "
*)
3.1416
(* 6 " "
*)
vive le formatage ! (* 20 "
" *)
EXERCICE 2 Modifier le programme de l'exercice 1 afin d'obtenir l'affichage suivant :
x = 25.698
y = -12.456
x y
avant traitement : 25.70 -12.46
après traitement : -12.46 25.70
EXERCICE 3 Ecrire un programme qui édite les tables de vérité sous la forme :
Tables de vérité
P Q
P et Q P ou Q P => Q P <=> Q
TRUE TRUE
TRUE TRUE TRUE
TRUE
TRUE FALSE FALSE
TRUE FALSE FALSE
FALSE FALSE FALSE
FALSE TRUE TRUE
FALSE TRUE FALSE
TRUE TRUE FALSE
On rappelle que P=>Q est logiquement équivalent à
Q ou non P
et que P<=>Q est logiquement équivalent à
P=>Q et Q=>P.
EXERCICE 4 Taper le programme suivant :
program TP2EX3;
var x: real;
m,n : integer;
s : string[10];
begin
write('x= '); readln(x);
n:=round(x);
m:=trunc(x);
if n=m then s:='ca marche' else s:='ca marche pas';
writeln('n=',n,' '+'m=',m,' '+s);
readln;
end.
Exécuter avec 0.1234E+3, puis avec 0.456E+2 et avec 0.456789E+5.
Expliquer les résultats obtenus.
EXERCICE 5 Ecrire un programme lisant un temps T exprimé en seconde, et le transformant en heures, minutes, secondes.
exemple : T = 12513 sec => 3 h 28 mn 33 s
EXERCICE 6 Ecrire un programme qui :
- saisit au clavier une heure de départ en heures, minutes, secondes et une durée de trajet également en h mn s
- calcule l'heure d'arrivée (en h mn s) le meme jour ou un jour suivant
- affiche l'heure sous la forme :
"heure d'arrivée :"
" meme jour : ..h ..mn ..s " ou " jour + .. : ..h ..mn ..s "