0% ont trouvé ce document utile (0 vote)
153 vues9 pages

Sous-programmes et analyse modulaire

Le document décrit les sous-programmes et leur utilisation dans le langage Pascal. Il présente les concepts de fonctions, procédures, analyse modulaire et décomposition de problèmes. Plusieurs exercices sont proposés pour illustrer ces concepts.

Transféré par

chourouk rhit
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)
153 vues9 pages

Sous-programmes et analyse modulaire

Le document décrit les sous-programmes et leur utilisation dans le langage Pascal. Il présente les concepts de fonctions, procédures, analyse modulaire et décomposition de problèmes. Plusieurs exercices sont proposés pour illustrer ces concepts.

Transféré par

chourouk rhit
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

Chapitre N°5 : Les sous programmes Mr.

Anis ELBAHI

Les Sous Programmes


Disponible sur [Link]

I) Introduction :
Pour faciliter la résolution d’un problème complexe et/ou de grande taille, on doit le
……………… en sous problèmes indépendants et de taille réduite.
A chaque sous problème on associe ………………….. qui assure sa résolution.
Un module peut être une …………………… ou une ……………………….
L’approche de décomposition s'appelle « analyse modulaire » qui se base sur le principe :
« Deviser pour régner ». Elle nous permet d’obtenir un programme simple, clair, bien structuré
et facile à maintenir.

II) Analyse modulaire :


1- Définition :
L’analyse modulaire consiste à …………………………………………………………………………………….
………………………………………………………………………. Ces modules peuvent être aussi décomposés
jusqu'à ce qu’on arrive à un niveau de difficulté abordable.

2- Exemple :
Décomposer le problème de construction d’une maison en sous problèmes (modules).

Résultat = MaMaison
MaMaison = MODULE Finition
MODULE Toits
MODULE Murailles
MODULE Fondations
MODULE Terrain
Fin ConstuireMaison

 La construction de la maison peut être faite en une suite ordonnée de 5 modules.

Ensuite on passe à l’analyse de chaque module à part. Par exemple le MODULE Finition peut être à son
tour décomposé en plusieurs Modules :

(MODULE Dernier nettoyage, MODULE Peinture, MODULE Sanitaire, MODULE Electricité, …).

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 1/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

Exercice 1:
Ecrire l’analyse et l’algorithme d’un programme nommé MOYCLS qui permet de saisir le nombre N des élèves
d’une classe (avec 5 ≤ N ≤ 25), puis remplit un tableau T par les moyennes générales des N élèves ( n’oublier de
contrôler la saisie des moyennes), ensuite le programme doit calculer et afficher la moyenne de la classe.

On peut représenter la décomposition du problème de l’exercice en 4 modules comme suit :

MOYCLS

On remarque que le programme est formé d’un ensemble de tâches distinctes, on peut donc le décomposer en
modules (sous-programme) appelé ………………………………………………

Le programme principal (MOYCLS) ne s’occupe dans ce cas que de l’arrangement de ces procédures et
fonctions.

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 2/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

Exercice 2 :

Les sous programmes = Modules


Les fonctions (FN) Les procédures (PROC)

Exercice 3:
Ecrire un programme nommé MOYCLS qui permet de saisir le nombre N des élèves d’une classe (avec
5 ≤ N ≤ 25), puis remplit un tableau T par les moyennes générales des N élèves ( n’oublier de contrôler
la saisie des moyennes), ensuite le programme doit calculer et afficher la moyenne de la classe.

TAF :
1- Analyser le problème en le décomposant en modules (n’oubliez pas le TDNT et le TDOG).
2- Déduire l’algorithme du programme principal.
3- Déduire les algorithmes des modules envisagés (n’oubliez pas les TDOLs).
4- Faire la traduction pascal de votre programme.

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 3/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

III) Les Fonctions:


Exercice 4 :
Le langage pascal est riche en fonctions prédéfinies, donner pour chaque cas deux exemples :
Fonctions standards exemples
Fonctions mathématiques standards
Fonctions prédéfinies pour le type caractère
Fonctions prédéfinies pour le type chaîne de caractères

1- Définition :
Une fonction est un sous-programme (Module) …………………………………………………………………..
………………………………………………………………………………………………………………………

2- Comment « construire » et « utiliser » une fonction ?


On a dit qu’une fonction doit donner toujours une seule valeur (résultat de la fonction).
Voici quelques exemples de traitement qui peuvent être une fonction, donner pour chaque cas le type de
résultat renvoyé par la fonction :
Traitement Type de la fonction
Le calcul de la somme d’un tableau contenant des réels.
Le calcul de nombre des caractères alphabétique majuscule d’une chaine de caractères
La recherche de maximum d’un tableau d’entiers
La recherche de la chaine la plus longue dans un tableau

Exercice 5:
1- Soit l’algorithme de la fonction NOMBRE suivante qui à partir d’un tableau de N réels, calcule le
nombre des réels qui sont ≥10. Donner la signification de chaque terme.

0) DEF FN NOMBRE (T :TAB ; N :entier) : entier


1) NB0
Pour i de 1 à N faire
Si (T[i] ≥10) alors Le traitement qui calcule
NB NB+1 le nombre
Fin Si
Fin Pour
2) NOMBRE  NB
3) Fin NOMBRE

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 4/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

Constatations :
Une fonction peut utiliser des objets (variables, constantes, …) qui ne sont pas déclarées dans l’entête, ces objets
doivent être déclarés dans un tableau qui s’appelle TDOL (Tableau de Déclaration des Objets Locaux).

2- Donner le TDOL de la fonction précédente :

Objet Type / Nature Rôle

3- Donner la traduction pascal de la fonction précédente.

Exercice 6:
Soit l’analyse de la fonction inconnue suivante :

DEF FN inconnue (T :TAB ; N :entier) : ………………


Résultat = inconnue  S/N
S=[S0]
Pour i de 1 à N faire
S S+T[i]
Fin Pour
Fin inconnue

Sachant que T est un tableau de N entiers, Objet Type / Nature Rôle


on vous demande de :

1- Compléter les pointillés.


2- Compléter le TDOL de la fonction inconnue.
3- Donner l’algorithme de la fonction inconnue.
4- Donner le rôle de la fonction inconnue.

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 5/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

Exercice 7:
Donner l’algorithme et le TDOL de la fonction qui prend en paramètre une chaine de caractères CH pour
construire et renvoyer une nouvelle chaine formée uniquement par les voyelles qui se trouvent dans la chaine
CH.

IV) Les procédures :


1- Définition : Une procédure est un sous programme qui peut avoir zéro, un ou plusieurs résultats.
Exemples :
Voici quelques exemples de traitements qui peuvent être des procédures.
 Le calcul de la somme d’un tableau (comme la fonction)
 La saisie d’un entier N.
 Le remplissage d’un tableau.
 L’affichage d’un tableau
 Le calcul et l’affichage de la somme et de la moyenne d’un tableau.

2- Comment « construire » et « utiliser » une procédure ?

Exercice 8:
Soit l’algorithme de la procédure qui saisit un entier N (avec 4 ≤ N <10). Donner la signification des termes.

Nom de la procédure

0) DEF PROC SAISIR (VAR N : entier)


1) Répéter
Ecrire ("introduire N")
Lire(N)
Jusqu'à (N dans [4..9])
2) Fin SAISIR

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 6/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

Exercice 9:
On désire faire un programme qui remplit un tableau T par N entiers positifs de 3 chiffres chacun
(avec 3<N<15) . Le programme doit par la suite chercher et afficher la plus grande valeur du tableau
(le maximum).
TAF :
1- Analyser le problème en le décomposant en modules.
2- Déduire l’algorithme du programme principal.
3- Déduire les algorithmes des différents modules.

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 7/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

V) Déclaration, accès aux objets et modes de transmission:


1- Déclaration et accès aux objets :
1-1 Les objets locaux :
Tous les objets (variables, constantes, types, …) déclarés dans un sous programme sont dits locaux à celui-ci.

1-2 Les objets globaux :


Les objets déclarés dans la partie déclarative du programme principal (appelant) sont des objets globaux.

1-3 Les niveaux des sous programmes:


La déclaration des sous programmes respecte une hiérarchie qui peut être représentée par un arbre dont le
premier niveau constitue la racine et les autres niveaux correspondent aux imbrications des sous programmes
entre eux.
Exemple :
Niveau 1
Calcul_moy_tableau

Remplissage_tabl Calcul_moyenne_tabl Affichage_moyenne_tabl Niveau 2

Calcul_som_tabl Niveau 3

2- Les paramètres et leurs modes de transmission :


2-1 Les paramètres formels :
Ce sont les paramètres qui se trouvent dans ………………………………………………………………………..
2-2 Les paramètres effectifs :
Ce sont les paramètres qui se trouvent dans ………………………………………………………………………..

Attention :
Les paramètres formels et effectifs doivent s’accorder de point de vue : …………………………………
Les paramètres formels et effectifs peuvent avoir les mêmes noms (MAIS ce n’est pas obligatoire)

2-3 Modes de passage des paramètres :


Il existe deux modes de passage de paramètres :
A / - Passage par valeur :
Dans ce cas le sous programme (programme appelé) ne peut que lire les valeurs des paramètres effectifs
provenant du programme principal (programme appelant).

B / - Passage par variable :


Dans ce cas le sous programme (programme appelé) peut lire et modifier les valeurs des paramètres effectifs
provenant du programme principal (programme appelant).

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 8/9


Chapitre N°5 : Les sous programmes Mr. Anis ELBAHI

2-4 Activation d’une fonction et retour du résultat :


Une fonction sera activée par l’exécution de l’instruction d’appel dans l’ordre suivant :
1- déclaration des variables locales de la fonction.
2- exécution des instructions qui constituent le corps de la fonction.
3- sortie de la fonction dés que l’on atteint l’instruction fin et retour au programme principal
(programme appelant).

NB :
Dans son corps une fonction doit avoir une affectation qui contient à gauche le nom d’une fonction et à droite le
résultat retourné par la fonction.

Exercice 10 : Sujet bac pratique (Samedi 17 mai 2003 ( Heure : 9h ))


Ecrire un programme Pascal qui saisit une chaîne de caractères non vide et l'affiche sous la forme d'un triangle
comme indiqué ci-dessous.

Exemple :
Si la chaîne saisie est "INTERNET", on aura :
I
IN
INT
INTE
INTER
INTERN
INTERNE
INTERNET

Exercice 11 :
Un entier naturel est dite parfait s’il est égal à la somme de tous ses diviseurs autres que lui-même

Exemple : 6 = 1+2+3
On demande d’écrire un programme qui cherche et affiche tous les entiers parfait compris entre 2 valeurs M et
N (2<M<N).

Lycée Othmen Chatti M’saken 4SCX-MAT-TECH 9/9

Vous aimerez peut-être aussi