Download Turbo Pascal PDF

TitleTurbo Pascal
TagsTriangle Invoice Salary Value Added Tax Summation
File Size54.2 KB
Total Pages14
Document Text Contents
Page 1

Techniques des Réseaux Informatiques


1

EXERCICES PASCAL


Exemple 2 : Ecrire un programme pascal qui permet de calculer le périmètre et la surface
d’un rectangle ?


Spécification des sorties : p, s
Spécification des entrées : a, b
Spécification des traitements : p = (a + b)*2 , s = a*b


Solution :
Program rectangle ;
Var p, s, a, b : integer;
Begin
Readln(a); readln(b);
P:= (a + b)*2; s:= a * b;
Writeln(p); writeln(s);
End.

Exemple 3 : Ecrire un programme pascal qui permet de calculer la TVA et TTC d’un montant
HT ?


Spécification des sorties : TVA, TTC
Spécification des entrées : HT
Spécification des traitements : TVA = HT * 20% , TTC = HT + TVA


Solution :
Program compta ;
Uses crt ;
Var HT, TTC, TVA : real ;
Begin
Textcolor(yellow); textbackground(red);
clrscr;
Write(‘Donner un montant hors taxe :’) ;
Readln(HT) ;
TVA := HT * 0.2 ;
TTC := HT + TVA;
Writeln(‘La TVA est : ‘,TVA);
Writeln(‘La TTC est : ‘,TTC) ;
End.


If

Exercice 1 :
Exécuter le programme suivant et donner le résultat final de : a, b, c et d

Program test ;
Var a, b, c, d : real ;
Begin
A := 5; b := 10; c := a + b; d := a – b;
A := b/2 +d; b := a + b + c + d; c := b*2 + d; d := b/2 + c;

Page 2

Techniques des Réseaux Informatiques


2

Writeln(‘a = ‘,a); Writeln(‘b = ‘,b);
Writeln(‘c = ‘,c); Writeln(‘d = ‘,d);
End.

Exercice 2 :
Ecrire un programme pascal qui permet de faire la permutation entre deux nombres entiers ?

Program permutation ;
Var a, b, c : integer ;
Begin
Write(‘Tapez la valeur de a : ’) ; readln(a) ;
Write(‘Tapez la valeur de b : ’) ; readln(b) ;
C := a ; a := b ; b :=c ;
Writeln(‘La nouvelle valeur de a : ‘,a) ;
Writeln(‘La nouvelle valeur de b : ‘,b) ;
End.

Exercice 3 :
Soit un vendeur de lait qui expédie une quantité de bouteille (q) avec un prix unitaire (pu). Si
le total de la commande (tc) dépasse 500 Dh, le transport est gratuit, sinon l’acheteur doit
ajouter 10% de (tc) pour le transport.

• Ecrire un programme pascal équivalent qui permet de calculer la somme a payé
(sp)

• Compléter le programme en ajoutant la condition d’un minimum de 10 Dh pour
le transport


Solution 1 :
Program lait1 ;
Var pu, tc, q, sp : real ;
Begin
Write(‘Donner Le prix Unitaire : ‘) ; readln(pu) ;
Write(‘Donner La quantité : ‘) ; readln(q) ;
Tc := pu * q ;
If tc > 500 then sp := tc else sp := tc + tc*10/100;
Writeln(‘La somme a payé vaut : ‘,sp) ;
End.

Solution 2 :
Program lait2 ;
Var pu, tc, q, sp : real ;
Begin
Write(‘Donner Le prix Unitaire : ‘) ; readln(pu) ;
Write(‘Donner La quantité : ‘) ; readln(q) ;
Tc := pu * q ; t := tc*10/100;
If tc > 500 then sp := tc
Else
If t>10 then sp := tc + t
Else sp := tc + 10;
Writeln(‘La somme a payé vaut : ‘,sp) ;
End.

Page 7

Techniques des Réseaux Informatiques


7

While (condition) do séquence

Exemple 1 : Ecrire un programme pascal qui permet d’afficher le mot « Bonjour » 5 fois

Solution :
Program bonjours ;
Var i : integer ;
Begin
I := 1 ;
While i <= 5 do
Begin
Writeln(‘Bonjour’) ;
End ;
End.


Exemple 2 : Ecrire un programme pascal qui permet de calculer la somme d’une suite
d’éléments entiers

Solution :
Program suite ;
Var i, n, s : integer ;
Begin
Write(‘Tapez un entier : ‘) ; readln(n) ;
I := 1 ; s := 0 ;
While i <= n do
Begin
S :=s + i ;
I := i+ 1 ;
End ;
Writeln(‘La somme est :’,s) ;
End.


b) 2ème Forme :
Pour i = A1 à An faire séquence
C'est-à-dire la séquence (s) est exécutée pour i=A1, i=A2, i=A3, …… i=An
En Turbo Pascal :
For i := A1 to An do s
Exemple : ? Réécrire l’exemple 1 et l’exemple 2 sous la 2ème forme

Solution (Exemple 1) :
Program bonjours ;
Var i : integer ;
Begin
For i:=1 to 5 do Writeln(‘Bonjour’) ;
End.

Solution (Exemple 2) :
Program suite ;
Var i, n, s : integer ;

Page 8

Techniques des Réseaux Informatiques


8

Begin
Write(‘Tapez un entier : ‘) ; readln(n) ;
For i := 1 to n do S :=s + i ;
Writeln(‘La somme est :’,s) ;
End.


Repeat séquence until (condition)


Série d’exercices N° :2
Exercice 1 :
Soit deux villages A et B avec A = 210 et B = 280, chaque année la population de A
augmente de 8%, celle de B augmente de 5%. Calculer le nombre d’année nécessaire pour que
A dépasse B.
Généraliser le problème avec n’importe quelle valeur de A et B.

Solution 1 :
Program population ;
Var a, b, n : integer ;
Begin
A := 210 ; B := 280 ; n := 0 ;
While A<B do
Begin
A := A + A*0.08 ;
B := B + B*0.05 ;
N := N + 1 ;
End ;
Writeln(‘Le nombre d’année nécessaire est :’,n) ;
End.
Exercice 2 :
Ecrire un programme pascal qui permet de déterminer le plus petit de 10 nombres entiers ?

Solution :
Var e, min, i : integer ;
Begin
Write(‘Element 1 :’) ; readln(e) ; min := e;
For i := 2 to 10 do
Begin
Write(’Element ’,i,’ :’); readln(e);
If e<min then min := e;
End;
Writeln(’Le minimum est : ’,min);
End.

Exercice 3 :
Ecrire un programme pascal qui permet de déterminer le minimum, le maximum et la
moyenne de 10 nombres entiers ?

Solution :
Var e, min, max, moy, s : real; i : integer ;
Begin

Page 13

Techniques des Réseaux Informatiques


13

Var t : array[1..10] of integer ; max, i, r: integer;
Begin
For i:= 1 to 10 do
Begin
Write(‘Element ‘, i,’ : ‘);
Readln(t[i]);
End;
Max := t[1]; r :=1;
For i := 1 to 10 do
Begin
If maw < t[i] then max := t[i];
R := I;
End;
Writeln(‘ La valeur maximale est : ‘,max) ;
Writeln(‘Le rang est : ‘,r) ;
End.

Exercice 9 : Soit T un tableau de 10 réels, inserer la valeur x à la Kième place (on obtiendra un
tableau de 11 éléments)

Solution 1 :
Program insertion ;
var t : array[1..11] of real ; x : real; i, k: integer;
Begin
For I := 1 to 10 do readln(t[i]);
Readln(x); readln(k);
T[11] := t[k]; t[k] := x;
For I := 1 to 11 do writeln(t[i]);
End.

Solution 2 :
Program insertion ;
var t : array[1..11] of real ; x : real; i, k: integer;
Begin
For I := 1 to 10 do readln(t[i]);
Readln(x); readln(k);
For i := 10 downto k do t[i+1] := t[i];

t[k] := x;
For I := 1 to 11 do writeln(t[i]);
End.

Exercice 10 : Trier un tableau de 10 entiers de plus petit au plus grand.
Program triage ;
Var t : array[1..10] of integer ; i, j, c : integer;
Begin
For I := 1 to 10 do readln(t[i]);
Repeat
J := 0;
For I :=1 to 9 do
If t[i] > t[i+1] then

Page 14

Techniques des Réseaux Informatiques



14

Begin
C := t[i];
T[i] := t[i+1];
T[i+1] := c;
J := j +1;
End;
Until j :=0;
For I := 1 to 10 do writeln(t[i]);
End.

Similer Documents