Vous êtes sur la page 1sur 13

Bac : Mathématiques -Sciences -Technique

Série d’exercices corrigés « programme allégé » : (théorique et pratique)

Exercice 1 : (déclarations)

Compléter le tableau ci-dessous, par les déclarations Pascal adéquates :

Déclaration en Pascal (préciser le mot clé


Description
adéquat : CONST, VAR)
Une constante MSG de valeur "E=MC2"

Un tableau V pouvant contenir 20


chaines et ayant des indices de type
entier.
Une chaine de caractères CH pouvant
contenir 15 caractères au maximum.
Une variable X pouvant contenir une
valeur positive comprise entre 40000 et
70000
Un tableau T pouvant contenir 10 réels
et ayant des indices de type caractères

Une constante PI de valeur 3.14


Solution :

Déclaration en Pascal (préciser le mot clé adéquat :


Description
CONST, VAR)
CONST
Une constante MSG de valeur "E=MC2"
MSG = 'E=MC2' ;

Un tableau V pouvant contenir 20 chaines et VAR


ayant des indices de type entier. V:array[1..20] of string;
Une chaine de caractères CH pouvant contenir VAR
15 caractères au maximum. CH :string [15] ;

Une variable X pouvant contenir une valeur VAR


positive comprise entre 40000 et 70000 X :longint ;

Un tableau T pouvant contenir 10 réels et VAR


ayant des indices de type caractères T :array['A' .. 'J'] of real ;

CONST
Une constante PI de valeur 3.14
PI = 3.14;
Exercice 2 : (Pythagore)

Faire l’algorithme d’un programme nommé Pythagore qui saisit les longueurs des trois
côtés AB, BC et AC d’un triangle et vérifier s’il est rectangle ou non en B en appliquant
la formule de Pythagore AB2+BC2=AC2.
Solution :

0) Début Pythagore
1) Ecrire ("donner AB"), lire (AB)
2) Ecrire ("donner BC"), lire (BC)
3) Ecrire ("donner AC"), lire (AC)
4) Si (carré(AB) + carré(BC) = carré(AC) ) alors
MSG  "le triangle est rectangle en B "
Sinon
MSG  "le triangle n’est pas rectangle en B "
Finsi
5) Ecrire (MSG)
6) Fin Pythagore

Tableau de Déclaration des Objets


Objet Type / Nature Rôle
AB Réel Stocker la longueur du coté AB
BC Réel Stocker la longueur du coté BC
AC Réel Stocker la longueur du coté AC
MSG Chaine La nature du rectangle
Exercice 3 : (Factorielle)

Faire l’algorithme et la traduction pascal du programme qui permet de saisir un


entier positif N et affiche son factoriel. Sachant que le factoriel de N se calcule
comme suit :

N! = 1*2* … *(N-2)*(N-1)*(N) et 0!=1


Solution :

L’algorithme :

0) Début Factorielle
1) Répéter
Ecrire ("donner un entier positif"), lire (N)
Jusqu’à(N≥0)
2) F1
Pour i de 1 à N faire
F  F*i
Fin Pour
3) Ecrire (N ,"! = " , F)
4) Fin Factorielle

Tableau de Déclaration des Objets

Objet Type / Nature Rôle


N Entier Stocker une donnée
F Entier long La Factorielle
i Entier Compteur

La traduction Pascal :
Exercice 4 : (Tournage à la main)

Soit l’algorithme suivant :

0) Début travail
1) Ecrire ('' donner N '') , Lire(N)
2) R0
3) Répéter
R  R + N mod 10
N  N div 10
Jusqu'à (N=0)
4) Ecrire ('' le résultat '' , R)
5) Fin travail

1- Traduire l’algorithme précédent en pascal.


2- Faire le tournage à la main pour trouver les valeurs affichées par le programme.
travail pour N=125 et pour N=458.
3- Déduire le rôle du programme travail.
Solution :
1) La traduction pascal

2) Tournage à la main :

Pour N=125
initialisation Iteration1 Iteration2 Iteration3
N 125 12 1 0
R 0 0+5 = 5 5+2=7 7+1=8
Valeur affichée par le programme = 8

Pour N=458
initialisation Iteration1 Iteration2 Iteration3
N 458 45 4 0
R 0 0+8=8 8+5=13 13+4=17
Valeur affichée par le programme = 17

3) Rôle :
Saisir un entier N puis calculer et afficher la somme de ses chiffres
Exercice 5 : (Cryptage)

Faire l’analyse d’un programme intitulé CRYPTAGE qui permet de saisir une chaine
de caractères CH non vide puis de la coder (crypter) selon le procédé suivant :
Permuter chaque caractère d’indice pair avec le caractère qui le précède.
Exemple :
Si la chaine de départ CH = ''Anas'' , son codage donne la chaine suivante : ''nAsa''.
Solution :

Nom : CRYPTAGE
Résultat = Ecrire ("la chaine cryptée : " , CH)
CH=[] Pour i de 1 à long(ch) faire
Si (i mod 2 = 0 ) alors
AuxCH[i]
CH[i]  CH[i-1]
CH[i-1] Aux
Fin Si
Fin Pour
CH=[] Repeter
CH=donnée("donner une chaine ")
Jusqu’à(long(CH)>0)
Fin CRYPTAGE

Tableau de Déclaration des Objets


Objet Type / Nature Rôle
CH Chaine de caractères donnée
i Entier compteur
Aux caractères variable auxiliaire
Exercice 6 : (PGCD)

Ecrire l’algorithme nommé PGCD qui permet de calculer et d’afficher le PGCD (Le
plus grand commun diviseur) de deux nombres entiers A et B strictement positifs,
en utilisant la méthode suivante :
Cette méthode consiste à remplacer A par (A-B) si A>B, et B par (B-A) si B>A. On
répète cette même opération jusqu’à obtenir A=B auquel cas, le PGCD cherché est A
ou B.

Exemple :
Pour trouver le PGCD(24,18) :

A= 24; B=18
A>B; AA-B A=6 et B=18
B>A; BB-A A=6 et B=12
B>A; BB-A A=6 et B=6
A=B; donc PGCD de A et de B est 6
Solution :

0) Début PGCD
1) Répéter
Ecrire ("donner A puis B "), lire(A,B)
Jusqu’à(A>0) et (B>0)
2) Répéter
Si A>B alors
AA-B
Sinon si B>A alors
BB-A
Fin Si
Jusqu’à(A=B)
3) Ecrire ("le PGCD (", A , " , " , B , " ) = " , A)
4) Fin PGCD

Tableau de Déclaration des Objets

Objet Type / Nature Rôle


i Entier Compteur
A Entier Donnée
B Entier Donnée
Bon Travail. (^__^)

Vous aimerez peut-être aussi