Initiation la programmation et algorithmique cours 4 BTS
Initiation à la programmation et algorithmique cours 4 BTS IRIS 1ère année Introduction à la programmation et algorithmique 1
Synthèse tableaux ► ► ► Un tableau est une structure de donnée permettant de mémoriser des valeurs de même type Chaque élément d'un tableau est repéré par un indice indiquant sa position La taille d'un tableau est le nombre de ses éléments La taille d'un tableau est fixe Les indices doivent obligatoirement être entiers et varier entre une valeur minimale ( en général 0) et une valeur maximale constantes Chaque élément du tableau est une variable indicée, identifiée par le nom du tableau suivi de l'indice entre crochets. ► Les variables indicées s'utilisent comme des variables classiques ► Déclaration ► § tab 1: tableau[1. . 10] d'entier § tab 2: tableau[1. . 10] [1. . 5] de réel BTS IRIS 1ère année Introduction à la programmation et algorithmique 2
Plan ► Données ► Opérateurs ► Les instructions ► Tableaux ► Sous-programme ► Types structurés BTS IRIS 1ère année Introduction à la programmation et algorithmique 3
5 Sous-programmes BTS IRIS 1ère année Introduction à la programmation et algorithmique 4
Introduction 5 Sous-programme ► Sous-programme = traitement particulier appelé à s’exécuter à l'intérieur d'un autre programme ► Utilisation : § quand un même traitement doit être réalisé plusieurs fois dans un programme. On écrit un sousprogramme pour ce traitement et on l'appelle à chaque endroit où l'on en a besoin § pour organiser le code , améliorer la conception et la lisibilité des gros programmes ► Il existe des sous-programmes prédéfinis pouvant être utilisés directement dans n'importe quel programme : les librairies BTS IRIS 1ère année Introduction à la programmation et algorithmique 5
Sous programme Programme d’identification ********** ########## ********** Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ********** ########## ********** veuillez saisir votre annee de naissance 1943 ********** ########## ********** BTS IRIS 1ère année Introduction à la programmation et algorithmique 5 Sous-programme 6
5 Sous-programme Sous programme Programme Afficher titre Afficher ligne étoiles Sous-programme Programme lignes identification Afficher ligne dièses Afficher ligne étoiles BTS IRIS 1ère année Afficher Demande nom Afficher ligne dièses Afficher Demande prénom Saisir prénom Afficher Demande Année nais. Saisir nom Afficher ligne étoiles Introduction à la programmation et algorithmique Afficher ligne étoiles Afficher ligne dièses Afficher ligne étoiles 7
5 Sous-programme Sous-programme Afficher Ligne étoiles BTS IRIS 1ère année Sous-programme Programme lignes identification Afficher Ligne dièses Introduction à la programmation et algorithmique Afficher Ligne étoiles 8
5 Sous-programme Sous programme Programme appelant Afficher titre BTS IRIS 1ère année Appel Lignes Afficher Demande nom Sous-programme Programme lignes identification Saisir nom Afficher Demande prénom Saisir prénom Introduction à la programmation et algorithmique Appel Lignes Afficher Demande Année nais. Saisir Année nais. Appel Lignes 9
5 Sous-programme Fonctions et procédures ► 2 sortes de sous-programmes : § les fonctions § les procédures ► L'appel d'une fonction est une expression, tandis que l'appel d'une procédure est une instruction : § une fonction renvoie un résultat § une procédure ne renvoie rien BTS IRIS 1ère année Introduction à la programmation et algorithmique 10
5 Sous-programme : les procédures Procédures ► Une procédure est un ensemble d'instructions regroupées sous un nom, qui réalise un traitement particulier dans un programme lorsqu'on l'appelle ► Comme un programme, une procédure possède § § § un nom des variables des instructions un début une fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 11
5 Sous-programme : les procédures Syntaxe définition ► DEFINITION d'une procédure : Procédure ma. Procedure( ) //déclaration des variables Var var 1 : entier Début /* instructions 1 instructions 2 */ Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique En-tête Corps 12
5 Sous-programme : les procédures Exemple Procédure lignes( ) Var etoile, diese : chaine Début etoile <- «**********» diese <- «##########» Afficher etoile Afficher diese Afficher etoile Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique 13
5 Sous-programme : les procédures Appel d’une procédure ► Pour déclencher l'exécution d'une procédure dans un programme, il suffit de l'appeler : § indiquer son nom suivi de parenthèses PROGRAMME mon. Progr VAR var. Entier 1 : entier var. Chaine : chaîne DEBUT /*instuctions*/ ma. Procedure() /*instuctions*/ FIN BTS IRIS 1ère année Introduction à la programmation et algorithmique 14
5 Sous-programme : les procédures Exemple Programme id Var nom, prenom: chaine annee. Naissance : entier Début Afficher « Programme d’identification » lignes() Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom lignes() Afficher « veuillez saisir votre annee de naissance » Saisir annee. Naissance lignes() Fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 15
5 Sous-programme : les procédures Exécution ► Appel 1. 2. 3. d'une procédure arrêt momentané de l'exécution du programme appelant Exécution des instructions de la procédure Reprise de l’exécution du programme appelant là où il s'était arrêté (instruction suivant l’appel) ► Une procédure peut être appelée soit par un programme, soit par un autre sous-programme (qui lui même a été appelé) ► Les appels de sous-programmes peuvent s'imbriquer autant de fois que cela est utile BTS IRIS 1ère année Introduction à la programmation et algorithmique 16
Exécution Programme d’identification ********** ########## ********** Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ********** ########## ********** veuillez saisir votre annee de naissance 1943 ********** ########## ********** Programme id Var nom, prenom: chaine annee. Naissance : entier Début Afficher « Programme d’identification » ligne. Etoile () Afficher « veuillez saisir votre nom » etoile <- «*****» Saisir nom diese <- «#####» Afficher « veuillez saisir votre prenom » Afficher etoile Saisir prenom Afficher diese ligne. Etoile () etoile <- «*****» Afficher etoile Afficher « veuillez saisir votre annee de naissance » diese <- «#####» Saisir annee. Naissance Afficher etoile ligne. Etoile () Afficher diese etoile <- «*****» Fin Afficher etoile diese <- «#####» Afficher etoile Afficher diese BTS IRIS 1ère année Introduction à la programmation et Afficher etoile algorithmique 17
5 Sous-programme : les procédures Variables locales ► Les variables déclarées dans une procédure ne sont pas utilisables dans le programme appelant ► Les variables déclarées dans le programme appelant ne sont pas utilisables dans les procédures ► Chaque programme et sous-programme a son propre espace de variables, inaccessible par les autres ► les variables sont dites LOCALES ► Il peut exister des variables globales, mais leur usage est déconseillé (et donc sanctionné) BTS IRIS 1ère année Introduction à la programmation et algorithmique 18
5 Sous-programme : les paramètres Paramètre ► Comment sous-programmes et programmes vont pouvoir communiquer des données ? § Grâce aux paramètres § Grâce aux messages § Grace au réseau §… ► Un paramètre est une variable particulière qui sert à la communication entre programme appelant et sous-programme. BTS IRIS 1ère année Introduction à la programmation et algorithmique 19
5 Sous-programme : les paramètres Paramètre ► Un paramètre est une variable particulière qui sert à la communication entre programme appelant et sous-programme. ► Elle a un nom et un type BTS IRIS 1ère année Introduction à la programmation et algorithmique 20
5 Sous-programme : les paramètres Syntaxe définition ► DEFINITION d'une procédure avec paramètre : Procédure ma. Procedure(donnée mon. Paramètre : entier) //déclaration des variables locales Var var 1 : entier Paramètre formel Début /* instructions avec mon. Paramètre instructions avec var 1 */ Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique 21
5 Sous-programme : les paramètres Exemple Procédure lignes(donnée nb. Colonnes : entier) Var cpt : entier Début Pour cpt de 1 à nb. Colonnes Faire Afficher '*' Fin. Pour cpt de 1 à nb. Colonnes Faire Afficher ‘#' Fin. Pour cpt de 1 à nb. Colonnes Faire Afficher '*' Fin. Pour Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique 22
5 Sous-programme : les paramètres Appel avec paramètre ► Pour appeler une procédure avec un paramètre, il faut mettre la valeur du paramètre entre parenthèse PROGRAMME mon. Progr VAR var. Entier 1 : entier var. Chaine : chaîne DEBUT /*instuctions*/ ma. Procedure(var. Entier 1) ma. Procedure(3) /*instuctions*/ FIN BTS IRIS 1ère année Introduction à la programmation et algorithmique 23
5 Sous-programme : les paramètres Exemple ******************* ################### ******************* Programme d’identification ********** ########## ********** Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ********** ########## ********** veuillez saisir votre annee de naissance 1943 ******************* ################### ******************* BTS IRIS 1ère année Introduction à la programmation et algorithmique 24
5 Sous-programme : les paramètres Programme appelant Programme id Const largeur <- 20 : entier Var nom, prenom: chaine annee. Naissance : entier Début lignes(largeur * 2, 255, 0, 0) Afficher « Programme d’identification » lignes(largeur, 255, 255) Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom lignes(largeur, 255, 255) Afficher « veuillez saisir votre annee de naissance » Saisir annee. Naissance lignes(largeur * 2, 255, 0, 0) Fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 25
5 Sous-programme : les paramètres Paramètre tableau Procédure aff. Tab(donnée tab : tableau[1. . 10] de réels) Var i : entier Début Pour i de 1 jusqu'à 10 Faire Afficher tab[i] Fin. Pour Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique 26
5 Sous-programme : les paramètres Paramètre tableau Programme tableau Var mon. Tab : tableau[1. . 10] de réels i : entier Début Afficher « Saisir 10 réels » Pour i de 1 jusqu'à 10 Faire Saisir mon. Tab[i] Fin. Pour Afficher « les valeurs saisies sont » aff. Tab(mon. Tab) Fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 27
5 Sous-programme : les paramètres Plusieurs paramètres ► Une procédure peut avoir plusieurs paramètres : Procédure ma. Procedure(donnée Par 1 : entier, par 2 : réel) ► Le nombre et l’ordre des paramètres à l'appel doit être exactement le même ma. Procedure(var. E, var. R) BTS IRIS 1ère année Introduction à la programmation et algorithmique 28
5 Sous-programme : les paramètres Exemple : définition Procédure lignes(donnée nbetoiles, nb. Diese : entier) Var cpt : entier Début Pour cpt de 1 jusqu'à nbetoiles Faire Afficher '*' Fin. Pour cpt de 1 jusqu'à nb. Diese Faire Afficher ‘#' Fin. Pour cpt de 1 jusqu'à nbetoiles Faire Afficher '*' Fin. Pour Fin. Proc BTS IRIS 1ère année Introduction à la programmation et algorithmique 29
5 Sous-programme : les paramètres Exemple ******************* ########## ************************************** Programme d’identification ********** ########## ********** Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ********** ########## ********** veuillez saisir votre annee de naissance 1943 ******************* ########## ******************* BTS IRIS 1ère année Introduction à la programmation et algorithmique 30
5 Sous-programme : les paramètres Exemple : programme appelant Programme id Const largeur <- 10 : entier Var nom, prenom: chaine naissance : entier Début lignes(largeur * 2, largeur) Afficher « Programme d’identification » lignes(largeur, largeur) Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom lignes(largeur , largeur) Afficher « veuillez saisir votre annee de naissance » Saisir naissance lignes(largeur * 2 , largeur) Fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 31
5 Sous-programme : les paramètres Fonctionnement ► Lors de l'appel de la procédure, la valeur du paramètre effectif passée en argument est copiée dans le paramètre formel (qui est une variable locale) ► La procédure effectue alors le traitement avec la variable ► La procédure n'utilise pas directement la variable mise en paramètre effectif : elle utilise sa valeur, qu'elle a recopiée dans sa propre variable locale (le paramètre formel) BTS IRIS 1ère année Introduction à la programmation et algorithmique 32
5 Sous-programme : les paramètres Pièges ► Il est primordial de bien distinguer : § les paramètres formels qui se trouvent dans l'en-tête d'une procédure lors de sa définition § et les paramètres effectifs (ou arguments) qui sont placés entre parenthèses lors de l'appel BTS IRIS 1ère année Introduction à la programmation et algorithmique 33
5 Sous-programme : les paramètres Paramètres formels ► placés dans la définition d'une procédure ► servent à décrire le traitement à réaliser par la procédure indépendamment des valeurs traitées ► Ce sont des variables locales à la procédure ► ils sont déclarés dans l'entête de la procédure BTS IRIS 1ère année Introduction à la programmation et algorithmique 34
5 Sous-programme : les paramètres Paramètres effectifs ► placés dans l'appel d'une procédure ► Lors de l'appel, leur valeur est recopiée dans les paramètres formels correspondants ► Un paramètre effectif en donnée peut être § § § soit une variable du programme appelant (nom. Var) soit une valeur littérale (3) soit le résultat d'une expression (5 * x) BTS IRIS 1ère année Introduction à la programmation et algorithmique 35
5 Sous-programme : les fonctions Les Fonctions ► Une fonction est un ensemble d'instructions regroupées sous un nom, qui réalise un traitement particulier dans un programme lorsqu'on l'appelle et retourne un résultat au programme appelant ► Comme un programme et une procédure, une fonction possède : § § § un nom des variables des instructions un début une fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 36
5 Sous-programme : les fonctions Les Fonctions Sous-programmes retournant un et un seul résultat au programme appelant ► Les fonctions sont appelées pour récupérer une valeur (alors que les procédures ne renvoient aucune valeur) ► ► L'appel des fonctions est différent de l'appel des procédures : § L'appel d'une fonction doit obligatoirement se trouver à l'intérieur d'une instruction qui utilise sa valeur § Le résultat d'une fonction doit obligatoirement être retourné au programme appelant par l'instruction Retourne BTS IRIS 1ère année Introduction à la programmation et algorithmique 37
5 Sous-programme : les fonctions Syntaxe définition ► DEFINITION d'une fonction : Fonction ma. Fonction(/*paramètres*/) : type //déclaration des variables Var ma. Var : entier Début Corps /*instructions*/ Retourne ma. Var Retourne 5 * ma. Var Retourne 15 Retourne valeur Fin. Fonction BTS IRIS 1ère année Introduction à la programmation et algorithmique En-tête 38
5 Sous-programme : les fonctions Exemple FONCTION cal. Som. N (Donnée e : entier) : entier VAR res, i : entier DEBUT res <- 0 Si e > 0 alors Pour i de 1 à e Faire res <- res + i Fin. Pour Finsi Instruction de retour Retourne Res FINFONCTION BTS IRIS 1ère année Introduction à la programmation et algorithmique 39
5 Sous-programme : les fonctions Appel de fonction PROGRAMME mon. Progr VAR var. E, var. R : entier var. Chaine : chaîne DEBUT /*instuctions*/ var. R <- ma. Fonction(var. E) var. R <- ma. Fonction(5) var. R <- ma. Fonction(3 * var. E) /*instuctions*/ FIN BTS IRIS 1ère année Introduction à la programmation et algorithmique 40
5 Sous-programme : les fonctions Exemple Programme sommes. Des. N 1 er. Entiers Var x, somme : entier rep : caractère Début Répéter Afficher « Entrez un entier > 0 » Saisir x somme <- cal. Som. N (x) Afficher «la somme des » , x, « 1 er entiers est » , somme Afficher «voulez-vous continuez ? (O/N)» Saisir rep Jusqu’à rep = ‘N’ Afficher « au revoir » Fin BTS IRIS 1ère année Introduction à la programmation et algorithmique 41
- Slides: 41