0% ont trouvé ce document utile (0 vote)
168 vues24 pages

Turbo Pascal

Transféré par

hanane.himeur12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
168 vues24 pages

Turbo Pascal

Transféré par

hanane.himeur12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation Pascal Introduction

INTRODUCTION

Un programme informatique se compose d’une série d’instructions, qui sont


exécutées successivement par l’ordinateur. Lors de la création d’un programme,
il est nécessaire d’y inclure les instructions correspondant à la tâche qu’on
souhaite voir accomplie par l’ordinateur. Le processus consistant à définir les
instructions, devant être exécutées par l’ordinateur, se nomme programmation.

Beaucoup de langages de programmation sont apparus au fil des années en


commençant par les langages intimement liés à la machine (langage machine et
assembleur), viennent après les langages dits évolués : interprétés tels que Basic
et compilés tels que Pascal et C.

Langage Pascal
Le langage Pascal est un langage de programmation de haut niveau. Il a été
conçu par le professeur WIRTH à Zurich en 1970 comme une aide à
l’enseignement de la programmation structurée.

Langage C
Le langage C a été créé en 1972 par Denis RITCHIE avec un objectif
relativement limité : écrire un système d’exploitation (UNIX). Mais, ses qualités
opérationnelles l’ont très vite fait adopté par une large communauté de
programmeurs.
Une première version du langage est apparue en 1978 avec l’ouvrage de
Kernighan et Ritchie « The C programming language ». Mais le langage a
continué d’évoluer après cette date à travers les différents compilateurs qui ont
vu le jour. Son succès internationnel a amené l’ANSI (American National
Standard Institute) à définir un C standard (on le qualifie souvent par le C ANSI).

Choix du sujet
L’enseignement de l’informatique se répand de plus en plus dans les
établissements scolaires et pour toutes les options, à l’université, aux écoles
d’ingénieurs, plus récemment dans les lycées et collèges et même dans les écoles
primaires privées.
Programmation Pascal Introduction

En particulier, l’enseignement de l’algorithmique et de la programmation est, et


reste toujours un passage obligatoire pour la formation des futurs informaticiens.
Malgré l’apparition d’autres systèmes de programmation très évolués et reposant
sur la programmation orientée objets, ceux-ci restent liés aux langages de
programmation de base tels que Pascal et C.

Objectif
Notre objectif c’est de palier aux difficultés que le programmeur (universitaire,
élève ingénieur, analyste-programmeur, etc.) puisse rencontrer au moment de son
apprentissage en lui proposant une série d’exercices diversifiés et couvrant la
totalité des notions de base de la programmation. On lui propose aussi, à la fin du
document, toutes les solutions des exercices proposés en Pascal et en C.
Eléments de base d’un programme en Pascal

ÉLÉMENTS DE BASE D’UN PROGRAMME


EN PASCAL

I- Structure d’un programme


Un programme PASCAl se compose des éléments suivants :

1- En-tête qui se compose du mot réservé PROGRAM suivi d’un identificateur


du nom du programme, suivi du point virgule ‘ ;’.

Exemple : PROGRAM Operations ;


2- Préambule déclaratif qui comporte :
 La déclaration des bibliothèques utilisées, précédée par le mot réservé
USES. Les identificateurs des bibliothèques sont séparés par des
virgules et la liste est terminée par un point virgule ‘;’.

Exemple : USES Crt, Graph, Dos ;

 La déclaration des identificateurs de types de données, définis par


l’utilisateur, précédée par le mot réservé TYPE.
Exemple : TYPE Nombre = 0..99 ;
 La déclaration des identificateurs de constantes, précédée par le mot
réservé CONST.
Exemple : CONST Pi = 3.14 ;

 La déclaration des identificateurs de variables, précédée par le mot


réservé VAR.

Exemple : VAR A : INTEGER ;

3- Définition des différents sous-programmes (voir chapitre des sous-


programmes).

4- Définition du bloc principal du programme : ce bloc commence par le mot


réservé BEGIN suivi d’une séquence d’instructions (séparées par des points
Eléments de base d’un programme en Pascal

virgules ‘ ;’) et se termine par le mot réservé END suivi du point ‘.’.

II- Types de données


II-1. Variables et constantes

II-1.1 Les variables

On appelle variable, un emplacement mémoire dans lequel est codée une


information que l’on peut modifier et utiliser grâce à un identificateur. Toute
variable doit être déclarée avant d’être utilisée.

Syntaxe : Var <identificateur> : <type>;


Exemple : var x : integer ;
Variables globales et variables locales

Les variables déclarées dans la partie déclaration du programme sont dites


globales.
Les variables déclarées dans la partie déclaration d’un sous-programme sont
dites locales.
Les variables globales sont connues par tous les sous-programmes, tandis que les
variables locales sont connues seulement par le sous-programme dans lequel
elles sont déclarées.
Eléments de base d’un programme en Pascal

II-1.2 Les constantes

Contrairement à une variable, une constante ne peut être modifiée


(théoriquement).
Syntaxe : const <identificateur> = valeur ;
Exemple :

Remarque
Contrairement aux variables, il n'est nullement besoin de spécifier le type de la
constante. On peut tout de même le faire, en utilisant le double point, comme
pour les variables.
Exemple : const Gravite = 9.81;

II-2. Les types de base

Mémoire
Type Description Intervalle Exemples
requise
Shortint Entiers courts -128 à 127 -125; 0; 32 1 octet
Integer Entiers "relatifs" -32 768 à 32 767 -30 000; 421; 2 octets
-2147483648 à -12 545 454; 3
Longint Entiers longs 4 octets
2147483647 257
Entiers sur 1 Bit
Byte 0 à 255 12; 157 1 octet
(Byte ou Octet)
Entiers sur 2 Bits
Word 0 à 65 535 27; 4 589 2 octets
(Word ou Mot)
3.1415;
Real Nombres réels 2.9E-39 à 1.7E38 6 octets
789.457851
Nombres décimaux 3.1415926; 178
Single 1.5E-45 à 3.4E38 4 octets
(simple précision) 925.455678
Nombres décimaux 54.5899; 9 897
Double 5E-324 à 1.7E308 8 octets
(double précision) 669
Eléments de base d’un programme en Pascal

Mémoire
Type Description Intervalle Exemples
requise
651.45568959
3.14159265458;
Extended Nombres réels 3.4E-4932 à 1.1E4932 10 octets
9.81
Comp Entier -9.2E18 à 9.2E18 -271; 6 548 8 octets
Boolean logique sur 1 octet false ou true false; true 1 octet
256 caractères au
Chaîne de 'Hello!'; 'Allez- 256
String maximum (0 à
caractères vous bien ?' octets
255)
Chaîne de n n caractères String[6]-
String[n] n octets
caractères maximum >'Hello!'
1 caractère
Char 1 caractère 'R' 1 octet
maximum

II-3. Créer un type de données


Il est possible au programmeur de créer ses propres types. Les types doivent être
déclarés avec le mot-clef Type à fortiori avant la déclaration des variables.

Exemple
Type matrice = Array[1..10,1..10] of integer;
Définit un type nommé matrice pour représenter une matrice carrée d’ordre 10.

Type énuméré
Dans la déclaration d’un type énuméré, il faut énumérer toutes les valeurs de ce
type.
Syntaxe : type nom_du_type = (identificateur_1, identificateur_2,..,
identificateur_n)
Exemple : type jour = (lundi, mardi, mercredi, jeudi, vendredi, samedi,
dimanche) ;
Type intervalle
Syntaxe : type nom_du_type = début_de_l_intervalle..fin_de_l_intervalle
Exemple : Type age = 1..150 ;
Eléments de base d’un programme en Pascal

Déclare un type nommé age dont les valeurs sont des entiers compris entre 1 et
150.

III- Opérateurs et expressions


Les expressions sont composées d’opérateurs et d’opérandes. La plupart des
opérateurs sont binaires, c’est à dire qu’ils mettent en œuvre deux opérandes
(exemple A+B). Les opérateurs à un opérande sont dits unaires (exemple –A).
Dans les expressions plus complexes, l’existence de règles de priorité permet
d’éliminer toute ambiguïté dans l’ordre de réalisation des opérations.

Table de priorité des opérateurs

Ordre Opérateurs Ordre Opérateurs


0 (,[ 5 +,-
1 OR 6 *, /, DIV, MOD
2 AND 7 (+),(-)
3 NOT 8
4 < , >, <= , >= , <> , = 9

Remarque : (+) et (-) deux opérateurs unaires.


Les trois règles fondamentales de priorité des opérateurs sont les suivantes :

1- Un opérande placé entre deux opérateurs de priorités différentes sera lié à


celui possédant la priorité la plus élevée.
2- Un opérande placé entre deux opérateurs de même priorité sera lié à celui qui
se trouve à gauche.
3- Les expressions contenues entre parenthèses sont évaluées d’abord afin de
traiter leur résultat comme un seul opérande.
Dans une expression arithmétique, les opérateurs sont les opérateurs
arithmétiques (+,-,*, /, DIV, MOD).
Un opérande peut être :

- Un nom de variable ou de constante numérique.


- Une constante numérique.
- Un nom de fonction de type numérique tel que COS, SIN, etc.
Eléments de base d’un programme en Pascal

Une expression logique simple est une comparaison entre deux expressions
arithmétiques. Les opérateurs de comparaison sont =, <>, <, >, <=, >=.

Une expression logique est la composée d’expressions logiques simples par les
opérateurs logiques :

- OR et AND opérateurs logiques binaires, OR pour la disjonction et AND pour


la conjonction.

- NOT opérateur unaire, NOT opérateur de négation.

IV- Instructions simples


IV-1. Instructions d’entrée
Une instruction d’entrée permet de lire une donnée à partir du clavier.

Syntaxe :
Read (V1, V2,…., Vn) Où Vi est une variable de tout type simple (sauf
énuméré) ou de type chaîne de caractères.

ReadLn (V1,V2,...Vn) même effet que Read, mais il faut taper la touche
Entrée après l’entrée de la donnée. L’instruction ReadLn (sans argument)
attend la frappe de la touche Entrée au clavier.

Exemple : read(x) ;

IV-2. Instructions de sortie


Une instruction de sortie permet l’affichage sur l’écran des valeurs
correspondantes aux arguments considérés.

Syntaxe
Write (val1,val2,…,valn) Où vali est une valeur d’une donnée constante ou
variable (sauf type énuméré), une constante chaîne de caractères, ou une
valeur d’une expression.
WriteLn(val1,val2,…valn) même effet que Write, mais le curseur passe à la
ligne suivante après l’affichage.
Exemple : write(‘salut ’,nom) ;
Eléments de base d’un programme en Pascal

Remarque :
 Une constante chaîne de caractères est mise entre apostrophe. Une
apostrophe comprise dans une chaîne doit être dédoublée.
 L’instruction WriteLn (sans arguments) permet un saut de ligne.

IV-3. Instruction d’affectation


Cette instruction permet de transcrire une valeur dans une variable. Le symbole
d’affectation est ‘ := ’
Syntaxe : <Var> := <Val> ;

Où la variable <Var> peut être de tout type et la valeur <Val> peut être une
valeur constante, la valeur d’une donnée constante ou variable, la valeur d’une
fonction, ou le résultat d’une expression.

Exemple : x :=2 ;

V-Enoncé des exercices


Exercice 1
Ecrire un programme qui permet d’afficher le message suivant : mon premier
programme.
Exercice 2
Ecrire un programme qui demande à l'utilisateur les valeurs de 2 entiers x et y,
qui permute leurs valeurs et qui les affiche.
Exercice 3
Ecrire un programme qui échange 3 entiers.
Exercice 4
Ecrire un programme qui demande à l'utilisateur les coordonnées de 2 points
distincts du plan et qui affiche les coordonnées du point milieu.
Exercice 5
Ecrire un programme qui demande à l'utilisateur une valeur pour U 0, r et n et qui
affiche la nième valeur de la suite arithmétique définie par U0 et Un+1 = Un + r.
(On rappelle la propriété : Un = U0 + n.r ).
Structures de traitement alternatives et itératives

STRUCTURES DE TRAITEMENT
ALTERNATIVES ET ITÉRATIVES

Les instructions structurées sont des instructions composées d’autres


instructions devant être exécutées sous certaines conditions (instructions
conditionnelles) ou répétées plusieurs fois (instructions répétitives).

I- Instructions conditionnelles
 Instruction IF…Then

Syntaxe : IF <Cond> THEN <Bloc> ;


Si <Cond> est vraie, le bloc d’instructions <Bloc> sera exécuté, sinon il sera
ignoré.
Cette instruction représente l’alternative simple (instruction de choix unaire).

Exemple : if a=b then a :=a+b ;

 Instruction IF…THEN…ELSE

Syntaxe : IF <Cond> THEN <Bloc1> ELSE <Bloc2>;


Si <Cond> est vraie, le bloc d’instructions <Bloc1> sera exécuté et le bloc
d’instructions <Bloc2> sera ignoré, sinon c’est le bloc d’instructions <bloc2> qui
sera exécuté et le bloc d’instructions <Bloc1> sera ignoré.
Cette instruction représente l’alternative complète (instruction de choix binaire).

Exemple : if a>b then a:=a-b

Else a:=b-a;
Remarque : la clause ELSE ne doit pas être précédée par un point virgule ‘ ;’.

 Instruction CASE

L’instruction CASE est constituée d’une expression de type scalaire,


représentant le sélecteur, et d’une liste de blocs d’instructions ; chacun étant

Programmation Pascal 10 Année Scolaire 2013/2014


Structures de traitement alternatives et itératives

précédé par une étiquette de cas de même type que le sélecteur. Le bloc
d’instructions exécuté est celui dont l’étiquette de cas correspond à la valeur
courante du sélecteur.

Une étiquette de cas est constituée de tous nombres de constantes ou


d’intervalles, séparés par des virgules et terminés par le symbole ’ :’.

Syntaxe :
CASE <Sélecteur> OF
Val1 : <Bloc1> ;
Val2 : <Bloc2> ;
..........................
Valn : <Blocn> ;
ELSE <Bloc>;
END;

II- Instructions répétitives

Structures En langage Pascal


While <expression>
Tant que
Do <bloc>
Repeat<instruction>
Répéter - jusqu’à
Until <expression>
For comp :=Vint To Valf
Do <bloc>
Pour
For comp :=Vint DownTo Valf
Do <bloc>

III- Enoncé des exercices


Exercice 6
Ecrire un programme qui échange les contenus de 2 données si elles sont de
signes contraires.
Exercice 7
Ecrire un programme qui échange les contenus de 2 données si elles sont de
signes contraires, sinon, il met leur produit dans la première donnée et leur
somme dans la deuxième
Exercice 8

Programmation Pascal 11 Année Scolaire 2013/2014


Structures de traitement alternatives et itératives

Ecrire un programme qui, étant donné un mois et son premier jour, affiche le
premier jour du mois suivant.
Exercice 9
Ecrire un programme qui calcule la somme des N premiers termes positifs.
Exercice 10
Ecrire un programme qui calcule la somme des N premiers termes positifs
impairs.

Programmation Pascal 12 Année Scolaire 2013/2014


Structures de traitement alternatives et itératives

Exercice 11
Ecrire un programme qui calcule la somme des N premiers termes positifs pairs
non multiples de 3.
Exercice 12
Ecrire un programme qui calcule la somme 1/2 + 1/4 + 1/8 +…+1/2n (n Є N*).
Exercice 13
Ecrire un programme qui calcule la somme 1+1/2-1/4+ 1/8-1/16+…±1/2n (n Є
N*).
Exercice 14
Ecrire un programme qui donne le nombre N tel que la série 1+1/2-1/3+1/4-
1/5+…±1/N donne un résultat égal (à 1/100 près) à 1,33.
Exercice 15
Ecrire un programme qui donne la plus grande valeur inférieure à 1000 de la
somme 1+2+4+8+…+2N.
Exercice 16
Ecrire un programme qui calcule la somme 1+x+x2+…+xn (x réel et n entier).
Exercice 17
Calcul approché de x
Soient les deux suites: An+1= (An+Gn)/2 et Gn+1=2AnGn/(An+Gn) avec A0=x et
G0=1, on montre que lim An=lim Gn= x
n∞ n∞
Ecrire un programme qui donne la valeur de x avec une précision relative
Є=10-6, c’est à dire |An-Gn|/|Gn|<Є
Exercice 18
Sachant que la somme 1-1/3+1/5-1/7+1/9-…, tend vers П/4. Écrire un
programme qui calcule le nombre П à 10-6 près
Exercice 19
Le développement limité de la fonction sinus au voisinage de zéro est sin x= x -
x3/3! + x5/5! -…+(-1)p x2p+1/(2p+1)!+…
Ecrire un programme qui calcule sin x à 10-6 près.
Exercice 20
Ecrire un programme qui calcule la somme, le produit et la différence de deux
données numériques.
Exercice 21
Ecrire un programme qui retourne le code d’une donnée de type Caractere.

Programmation Pascal 13 Année Scolaire 2013/2014


Structures de traitement alternatives et itératives

Exercice 22
Ecrire un programme qui calcule le salaire net d’un employé, sachant que celui-
ci a assuré un certain nombres d’heures de travail à un prix fixe par heure, et que
l’employeur doit réduire de son salaire des charges qui sont calculées avec un
coefficient donné.
Exercice 23
Ecrire un programme qui permet de reprendre l’exercice précédant en
considérant que l’employé a assuré des heures normales, des heures à 25% et des
heures à 50%.
Exercice 24
Ecrire un programme qui retourne si une donnée numérique est paire ou impaire
(utiliser le reste de la division par 2).
Exercice 25
Ecrire un programme qui permet de lire trois données numériques et retourne si
la troisième donnée est la somme des deux autres ou pas.
Exercice 26
Ecrire un programme qui, à partir du salaire brut d’un employé, détermine
l’impôt à payer sachant que les règles de calcul des impôts sont comme suit :

salaire brut(SB) l’impôt à payer


SB<1500 0%
1500<=SB<3000 10% du SB
3000<=SB<5000 450+30%(SB-3000)
SB>=5000 750+40%(SB-5000)
Exercice 27
Ecrire un programme qui fournit les racines de l’équation Ax2+Bx+C=0.
Exercice 28
Ecrire un programme qui, étant donnée une date (jour, mois, année), affiche la
date du jour suivant.
Exercice 29
Ecrire un programme qui, étant donnée une date (jour, mois, année), affiche la
date du jour précédent.
Exercice 30
Ecrire un programme qui calcule la somme 5+6+7+….+N (N>=5).
Exercice 31
Ecrire un programme qui calcule le produit des N (N>0) premiers entiers positifs.

Programmation Pascal 14 Année Scolaire 2013/2014


Structures de traitement alternatives et itératives

Exercice 32
Ecrire un programme qui calcule la somme 1+1/2+1/4+1/6+…+1/2N (N>0).
Exercice 33
Ecrire un programme qui échange les contenus de trois données numériques si
leur somme est paire, sinon il met la somme des trois dans la première donnée,
leur produit dans la seconde et la valeur zéro dans la troisième.
Exercice 34
Ecrire un programme qui calcule la somme 1-1/2+1/3-1/4+…±1/N.

Programmation Pascal 15 Année Scolaire 2013/2014


Notion de sous-programmes

NOTION DE SOUS-PROGRAMMES

Un sous-programme permet :
 d’éviter d’appliquer à plusieurs endroits d’un programme le même traitement,
même s’il porte sur des objets différents.
 d’appliquer sous forme transportable un traitement dont on prévoit que
d’autres programmes peuvent aussi en avoir besoin.
 de dégager d’un programme des tâches de moindre importance ne laissant
dans son corps que la partie importante de l’algorithme d’où le gain de
lisibilité et de sécurité.
Les sous-programmes en Pascal sont des procédures et des fonctions.

I.1 Les procédures


Une procédure doit être déclarée dans un programme, ou dans une procédure,
avant le corps du programme (de la procédure) et après les déclarations des
variables.
Le nom de la procédure est un identificateur qui, comme les autres déclarations
environnantes, sera local au programme ou à la procédure l’environnant.
La structure d’une procédure est à peu près celle d’un programme, l’en-tête
diffère, la procédure se termine par un point virgule au lieu d’un point.
Syntaxe : procedure <Ident> ;
<Déclarations> ;
Begin
<Instructions> ;
End ;

Paramètres formels
La déclaration des procédures peut être suivie d’une liste de paramètres entre
parenthèses. Un paramètre formel est destiné à être remplacé, chaque fois que la
procédure est activée, par un autre objet dit paramètre effectif, le plus souvent
une variable, ou le résultat d’une expression, de la procédure appelante.
Syntaxe : Procedure <Nom> ( <mode> <Ident>.., <Ident> : <Type> ;.. ; <mode>
<Ident>,.., <Ident> : <Type>) ;

Programmation Pascal 16 Année Scolaire 2013/2014


Notion de sous-programmes

Où <mode> = rien ou var.


Paramètres par valeurs et paramètres par adresse
Les objets sont transmis comme données dont la valeur doit être inchangée par
la procédure appelée (on dit qu’on a une lecture pure).
Les objets sont transmis comme résultat dont la valeur doit être calculée par la
procédure appelée et transmise à la procédure appelante (on dit qu’on a une
écriture pure).
Les objets sont transmis comme données qui doivent être modifiées par la
procédure appelée (on dit qu’on a une lecture-écriture).
En Pascal, la transmission des paramètres se fait de deux manières :
 Transmission par valeur (lecture pure).
 Transmission par adresse (écriture pure, lecture-écriture).
On indique les paramètres transmis par adresse, précédés par le mot réservé Var,
les autres ne sont précédés par aucune chose.

I.2 Les fonctions


Une fonction en Pascal se comporte comme une procédure sauf que la fonction
doit fournir un résultat, elle a donc un type.
Syntaxe : Function <Ident> : <Type> ;
Function <Ident> (<liste_paramètres> ) : <Type> ;
Dans le corps de la fonction, on doit trouver quelque part l’affectation d’une
valeur à l’identificateur de la fonction.
Exemple :
Function Minimum (x, y : Integer ) : Integer ;
Begin
If x<y then Minimum :=x
Else Minimum:=y
End;

III. La récursivité
Un sous-programme est dit récursif s’il s’appelle lui-même. Il doit contenir une
condition d’arrêt. Considérons l’exemple de la fonction pgcd(a, b) qui retourne le
plus grand diviseur commun des deux entiers a et b :

Programmation Pascal 17 Année Scolaire 2013/2014


Notion de sous-programmes

En langage Pascal
Funtion pgcd (a,b : integer): integer;
Begin
If (a=b) then pgcd:=a
Else if (a>b) then pgcd:=pgcd(a-b,b)
Else pgcd:=pgcd(a,b-a)
End;

IV- Enoncé des exercices


Exercice 35
Ecrire une fonction paramétrée qui retourne si un nombre donné est premier ou
non.

Exercice 36
Ecrire une fonction paramétrée qui retourne si un nombre donné est parfait ou
non.

Exercice 37
Ecrire une fonction paramétrée qui retourne si deux nombres donnés sont amis
ou non.

Exercice 38
Ecrire une fonction paramétrée qui retourne l’inverse d’un nombre entier donné.

Exercice 39
Ecrire une fonction récursive permettant de calculer le PGDC de deux nombres
entiers positifs A et B.

Exercice 40
Ecrire une fonction récursive permettant de calculer le PPMC de deux nombres
entiers positifs A et B.

Exercice 41
Ecrire une fonction récursive qui permet de calculer le factoriel d’un nombre
donné.

Exercice 42

Programmation Pascal 18 Année Scolaire 2013/2014


Notion de sous-programmes

Ecrire une fonction récursive qui permet de calculer la puissance d’un entier
donné.

Exercice 43
Ecrire une fonction récursive qui calcule la valeur de la fonction d’Ackermann
« A » définie pour m>0 et n>0 par :
A(m, n)=A((m-1),A(m,n-1)) pour n>0, m>0 ;
A(0,n)=n+1 pour n>0;
A(m,0)=A(m-1,1) pour m>0 ;

Exercice 44
Ecrire une fonction qui fournit le nombre de chiffres d’un entier donné.

Exercice 45
Ecrire une procédure qui permet de dessiner la lettre X, à l'aide d'espaces et d'une
"lettre" fournie par l'utilisateur, auquel on demande aussi la "hauteur" du dessin
qu'il désire obtenir.
Par exemple : avec les réponses a et 5, elle donnera :
a a
a a
a
a a
a a

Exercice 46
Soit un programme qui visualise un menu composé de trois rubriques : Hors
d’œuvre, plat chaud et dessert.
Ecrire une procédure qui permet d’effectuer, à chaque fois, un choix exclusif.

Exercice 47
Ecrire une procedure paramétrée, qui permet l’échange des contenus de deux
paramètres formels par valeur A et B. Appeler cette procédure dans un
programme principal.On écrira les résultats dans le corps de la procédure, et dans
le programme principal.

Exercice 48
Ecrire une procedure paramétrée, qui permet l’échange des contenus de deux
paramètres formels par adresse A et B. Appeler cette procédure dans un

Programmation Pascal 19 Année Scolaire 2013/2014


Notion de sous-programmes

programme principal.On écrira les résultats dans le corps de la procédure, et dans


le programme principal.

Exercice 49
Ecrire une procédure qui affiche tous les nombres premiers qui sont compris
entre 1 et 200.

Exercice 50
Ecrire une procédure qui affiche tous les nombres parfaits qui sont compris entre
1 et 200.

Exercice 51
Ecrire une procédure qui permet d’afficher tous les diviseurs d’un entier N ainsi
que leur nombre.

Exercice 52
Affichez un triangle isocèle formé d'étoiles sur N lignes (N est fourni au clavier).

Programmation Pascal 20 Année Scolaire 2013/2014


Notion de sous-programmes

Exemple : N=8
*
***
*****
*******
*********
***********
*************
***************

Exercice 53
Calculer pour une valeur X donnée du type réel la valeur numérique d'un
polynôme de degré n:
P(X) = AnXn + An-1Xn-1 + ... + A1X + A0
Les valeurs de n, des coefficients An, ..., A0 et de X seront entrées au clavier.
Utiliser le schéma de Horner qui évite les opérations d'exponentiation lors du
calcul:

Exercice 54
Ecrire une procédure qui affiche la table des produits pour N variant de 1 à 10 :
X*Y I 0 1 2 3 4 5 6 7 8 9 10
--------------------------------------------------
0 I 0 0 0 0 0 0 0 0 0 0 0
1 I 0 1 2 3 4 5 6 7 8 9 10
2 I 0 2 4 6 8 10 12 14 16 18 20
3 I 0 3 6 9 12 15 18 21 24 27 30
4 I 0 4 8 12 16 20 24 28 32 36 40
5 I 0 5 10 15 20 25 30 35 40 45 50
6 I 0 6 12 18 24 30 36 42 48 54 60
7 I 0 7 14 21 28 35 42 49 56 63 70
8 I 0 8 16 24 32 40 48 56 64 72 80
9 I 0 9 18 27 36 45 54 63 72 81 90
10 I 0 10 20 30 40 50 60 70 80 90 100

Programmation Pascal 21 Année Scolaire 2013/2014


Les structures de données statiques

III- Enoncé des exercices


Exercice 55
Ecrire une procédure qui affiche les nombres négatifs d’une liste réelle.

Exercice 56
Ecrire une procédure qui met à zéro la diagonale d’une matrice carrée.

Exercice 57
Ecrire une procédure qui affiche l’occurrence d’existence d’un nombre réel dans
une liste de nombres réels.

Exercice 58
Ecrire une procédure qui met le plus petit élément d’une liste au début de celle-
ci.

Exercice 59
Ecrire une procédure qui met les éléments négatifs d’une liste à gauche et les
éléments positifs à droite de la liste.

Exercice 60
Ecrire une procédure qui classe une liste de notes de la plus petite à la plus
grande.

Exercice 61
Etant donné N étudiants, leurs notes correspondantes à M matières et leur
moyenne. Ecrire une procédure qui affiche à côté de chaque étudiant son
classement.

Exercice 62
Le tri à bulles est un tri par échange. Le principe de base est de réordonner les
couples non classés tant qu’ils existent. La méthode de tri à bulles consiste à
parcourir la liste en comparant deux éléments successifs et en les permutant s’il y
a lieu. Ecrire une procédure qui réalise ce tri.

Exercice 63

Programmation Pascal 22 Année Scolaire 2013/2014


Les structures de données statiques

Un palindrome est un mot, ou une phrase, lisible indifféremment de la gauche


vers la droite ou inversement. Ecrire une fonction qui retourne si une chaîne de
caractères est un palindrome ou non.

Exercice 64
Ecrire une fonction qui retourne la fréquence d’occurenced’un mot dans une
phrase.

Exercice 65
Ecrire une procédure qui enlève tous les blancs au début d’une phrase et qui
laisse un seul blanc entre les différents mots de la phrase.

Exercice 66
Soit un nombre entier positif N. Ecrire une fonction qui donne son équivalent
dans une base donnée B (2B16).

Exercice 67
Soit N un nombre donné en base B (B 10). Ecrire une fonction qui donne son
équivalent en base 10.

Exercice 68
Soit N un nombre donné en base B1. Ecrire une fonction qui donne son
équivalent en base B2.

Exercice 69
Si on est amené à réaliser des opérations sur des nombres entiers très grands, on
peut utiliser les chaînes de caractères pour représenter ces nombres et ensuite
faire l’opération par bloc.
Ecrire une procédure pour réaliser l’opération d’addition sur de tels nombres.

Exercice 70
Ecrire une procédure qui permet de passer de la représentation d’un nombre en
chiffres romains à sa représentation décimale.

Exercice 71
Ecrire une procédure qui permet de passer de la représentation décimale d’un
nombre à sa représentation en chiffres romains.

Exercice 72
Ecrire une fonction qui retourne le déterminant d’une matrice carrée.

Programmation Pascal 23 Année Scolaire 2013/2014


Les structures de données statiques

Exercice 73
Ecrire une procédure qui calcule l’inverse d’une matrice carrée.

Exercice 74
Un carré magique est un carré divisé en cellules dans lesquelles les nombres
entiers, à partir de 1 sont disposés de telle sorte que les sommes de chaque ligne,
de chaque colonne et de chaque diagonale soient égales.
Exemple :
6 1 8
7 5 3
2 6 4

Ecrire une procédure qui permet de réaliser le carré magique d’ordre n (n


impair).
Exercice 75
Ecrire un programme qui permet de saisir et d’afficher les informations d’une
liste d’étudiants.

Exercice 76
Ecrire les procédures qui donnent le calcul sur les nombres complexes au moyen
d’un type enregistrement.

Programmation Pascal 24 Année Scolaire 2013/2014

Vous aimerez peut-être aussi