Cliquez ici pour retourner aux thèmes
d'exercices : ....
1. Rappel programmation descendante
a programmation algorithmique
est une programmation hiérarchisée descendante par blocs.
schéma figurant un problème décomposé
au final en (nq-n1+1) blocs (de An1 à Anq).
La majorité des langages de programmation est capable de représenter
cette décomposition hiérarchique à l'aide de blocs
de programme notés aussi des sous-programmes.
Un bloc comporte donc des données locales, du code (instructions ou corps du bloc), des données d'entrée et/ou des données de sortie (permettant les échanges d'informations entre les blocs) :
L'exemple ci-dessous représente trois blocs B1, B2 et B3 échangeant des informations (en fait chacun calcule la somme des deux entiers qu'il reçoit en entrée et renvoie leur somme :
Le bloc B1 reçoit en entrée 12 et 15 et renvoie la somme 12+15 = 27 vers le bloc B2, la valeur 27 devient une donnée d'entrée pour le bloc B2 qui reçoit comme autre entrée la valeur 10. Le bloc B2 renvoie vers le bloc B3 le résultat 27+10 = 37 etc...
Nous remarquons que chaque bloc est indépendant des autres blocs. La seule liaison qui intervienne ici se situe dans le passage des données d'un bloc vers un autre bloc. Le code et les données locales d'un bloc fixé sont inaccessibles aux autres blocs.
En pascal les blocs sont implémentés par des procédures cf. ci-dessous :
Bloc B (2 entrées + 1 sortie)
La ligne : "procedure B ( x , y : integer ; var t : integer) ; "se dénomme l'en-tête de la procédure. |
En pascal les blocs peuvent être implémentés aussi
par des fonctions uniquement lorsqu'il n'y a qu'une donnée
de sortie (un seul résultat) cf. ci-dessous :
Bloc B (2 entrées + 1 sortie)
Une fonction est un bloc de programme qui réalise des traitements
et renvoie une valeur unique, c'est une procédure ne possédant
qu'un seul élément de sortie (appelé paramètre)..
La ligne : "function B ( x , y : integer ) : integer ; "se dénomme l'en-tête de la fonction. |
'assistant vous propose
8 exercices sous formes de petit programme pascal contenant une fonction
et son appel dans le programme principal. Vous devez trouver la bonne en-tête
de fonction à associer à l'appel de fonction dans le corps
du progarmmae principal. Vous choisissez un des exercices dans la liste
:
Pour pouvoir compléter l'en-tête de la fonction "Function
Fonc ( ? ) : ?", vous pouvez vous servir de l'interface de saisie
syntaxiquement dirigée ci-dessous :
Les différentes syntaxes possibles se trouvent dans des listes
déroulantes :
Vous sélectionnez et changez chaque partie de l'en-tête
autant de fois que nécessaire :
L'assistant vous indique à chaque choix le programme que vous
venez de construire :
Une fois votre choix arrêté, vous testez votre programme,
l'assistant renvoie une réponse visuelle et auditive :