La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 1 Initiation à la programmation et algorithmique cours 4.

Présentations similaires


Présentation au sujet: "BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 1 Initiation à la programmation et algorithmique cours 4."— Transcription de la présentation:

1 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 1 Initiation à la programmation et algorithmique cours 4

2 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 2 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 tab1: tableau[1..10] d'entier tab2: tableau[1..10] [1..5] de réel

3 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 3 Données Données Opérateurs Opérateurs Les instructions Les instructions Tableaux Tableaux Sous-programme Sous-programme Types structurés Types structurés Plan

4 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 4 5 Sous-programmes

5 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 5 Introduction Sous-programme = traitement particulier appelé à sexécuter à l'intérieur d'un autre programme Sous-programme = traitement particulier appelé à sexécuter à l'intérieur d'un autre programme Utilisation : Utilisation : quand un même traitement doit être réalisé plusieurs fois dans un programme. On écrit un sous- programme pour ce traitement et on l'appelle à chaque endroit où l'on en a besoin quand un même traitement doit être réalisé plusieurs fois dans un programme. On écrit un sous- programme 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 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 Il existe des sous-programmes prédéfinis pouvant être utilisés directement dans n'importe quel programme : les librairies 5 Sous-programme

6 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 6 Programme didentification*******************###################******************* Veuillez saisir votre nom durand Veuillez saisir votre prenom alain*******************###################******************* veuillez saisir votre annee de naissance 1943*******************###################******************* Sous programme 5 Sous-programme

7 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 7 Sous programme Programme identification Programme 5 Sous-programme Sous-programme lignes Afficher titre Afficher ligne étoiles Afficher ligne dièses Afficher ligne étoiles Afficher Demande nom Saisir nom Afficher Demande prénom Saisir prénom Afficher ligne étoiles Afficher ligne dièses Afficher ligne étoiles Afficher Demande Année nais. Saisir Année nais. Afficher ligne étoiles Afficher ligne dièses Afficher ligne étoiles Programme identification

8 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 8 Sous programme Programme identification 5 Sous-programme Sous-programme lignes Afficher Ligne étoiles Afficher Ligne dièses Afficher Ligne étoiles Sous-programme

9 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 9 Sous programme Programme identification 5 Sous-programme Sous-programme lignes Programme identification Programme appelant Afficher titre Appel Lignes Afficher Demande nom Saisir nom Afficher Demande prénom Saisir prénom Appel Lignes Afficher Demande Année nais. Saisir Année nais. Appel Lignes

10 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 10 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 5 Sous-programme

11 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 11 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 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 Comme un programme, une procédure possède un nom un nom des variables des variables des instructions des instructions un début un début une fin une fin 5 Sous-programme : les procédures

12 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 12 Syntaxe définition DEFINITION d'une procédure : DEFINITION d'une procédure : Procédure maProcedure( ) //déclaration des variables Var var1 : entier Début/* instructions 1 instructions 2 */FinProc 5 Sous-programme : les procédures En-tête Corps

13 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 13 Exemple Procédure lignes( ) Var etoile, diese : chaine Début etoile <- «*******************» diese <- «###################» Afficher etoile Afficher diese Afficher etoile FinProc 5 Sous-programme : les procédures

14 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 14 Appel dune procédure Pour déclencher l'exécution d'une procédure dans un programme, il suffit de l'appeler : 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 indiquer son nom suivi de parenthèses PROGRAMME monProgr VARvarEntier1 : entier varChaine : chaîne DEBUT /*instuctions*/ maProcedure() /*instuctions*/ FIN 5 Sous-programme : les procédures

15 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 15 Exemple Programme id Varnom, prenom: chaine anneeNaissance : entier anneeNaissance : entierDébut Afficher « Programme didentification » lignes() Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom lignes() Afficher « veuillez saisir votre annee de naissance » Saisir anneeNaissance lignes() Fin 5 Sous-programme : les procédures

16 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 16 Exécution Appel d'une procédure Appel d'une procédure 1.arrêt momentané de l'exécution du programme appelant 2.Exécution des instructions de la procédure 3.Reprise de lexécution du programme appelant là où il s'était arrêté (instruction suivant lappel) Une procédure peut être appelée soit par un programme, soit par un autre sous-programme (qui lui même a été 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 Les appels de sous-programmes peuvent s'imbriquer autant de fois que cela est utile 5 Sous-programme : les procédures

17 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 17 Exécution Programme id Varnom, prenom: chaine anneeNaissance : entier Début Afficher « Programme didentification » ligneEtoile () Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom ligneEtoile () Afficher « veuillez saisir votre annee de naissance » Saisir anneeNaissance ligneEtoile () Fin etoile <- «**********» diese <- «##########» Afficher etoile Afficher diese Afficher etoile etoile <- «**********» diese <- «##########» Afficher etoile Afficher diese Afficher etoile etoile <- «**********» diese <- «##########» Afficher etoile Afficher diese Afficher etoile Programme didentification ******************* ################### ******************* Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ******************* ################### ******************* veuillez saisir votre annee de naissance 1943 ******************* ################### *******************

18 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 18 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 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 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 Chaque programme et sous-programme a son propre espace de variables, inaccessible par les autres les variables sont dites LOCALES les variables sont dites LOCALES Il peut exister des variables globales, mais leur usage est déconseillé (et donc sanctionné) Il peut exister des variables globales, mais leur usage est déconseillé (et donc sanctionné) 5 Sous-programme : les procédures

19 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 19 Paramètre Comment sous-programmes et programmes vont pouvoir communiquer des données ? Comment sous-programmes et programmes vont pouvoir communiquer des données ? Grâce aux paramètres Grâce aux paramètres Grâce aux messages Grâce aux messages Grace au réseau Grace au réseau … Un paramètre est une variable particulière qui sert à la communication entre programme appelant et sous-programme. Un paramètre est une variable particulière qui sert à la communication entre programme appelant et sous-programme. 5 Sous-programme : les paramètres

20 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 20 Paramètre Un paramètre est une variable particulière qui sert à la communication entre programme appelant et sous-programme. 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 Elle a un nom et un type 5 Sous-programme : les paramètres

21 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 21 Syntaxe définition DEFINITION d'une procédure avec paramètre : DEFINITION d'une procédure avec paramètre : Procédure maProcedure(donnée monParamètre : entier) //déclaration des variables locales Var var1 : entier Début /* instructions avec monParamètre instructions avec var1 */ FinProc Paramètre formel 5 Sous-programme : les paramètres

22 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 22 Exemple Procédure lignes(donnée nbColonnes : entier) Varcpt : entier Début Pour cpt de 1 à nbColonnes Faire Afficher '*' FinPour Pour cpt de 1 à nbColonnes Faire Afficher #' FinPour Pour cpt de 1 à nbColonnes Faire Afficher '*' FinPour FinProc 5 Sous-programme : les paramètres

23 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 23 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 monProgr VARvarEntier1 : entier varChaine : chaîne DEBUT /*instuctions*/ maProcedure(varEntier1) maProcedure(3) /*instuctions*/ FIN 5 Sous-programme : les paramètres

24 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 24 Exemple ************************************** ###################################### ************************************** Programme didentification ******************* ################### ******************* Veuillez saisir votre nom durand Veuillez saisir votre prenom alain ******************* ################### ******************* veuillez saisir votre annee de naissance 1943 ************************************** ###################################### ************************************** 5 Sous-programme : les paramètres

25 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 25 Programme appelant Programme id Constlargeur <- 20 : entier Varnom, prenom: chaine anneeNaissance : entier Début lignes(largeur * 2, 255,0,0) Afficher « Programme didentification » lignes(largeur, 255,255,255) Afficher « veuillez saisir votre nom » Saisir nom Afficher « veuillez saisir votre prenom » Saisir prenom lignes(largeur, 255,255,255) Afficher « veuillez saisir votre annee de naissance » Saisir anneeNaissance lignes(largeur * 2, 255,0,0) Fin 5 Sous-programme : les paramètres

26 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 26 Paramètre tableau Procédure affTab(donnée tab : tableau[1..10] de réels) Vari : entier Début Pour i de 1 jusqu'à 10 Faire Afficher tab[i] FinPourFinProc 5 Sous-programme : les paramètres

27 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 27 Paramètre tableau Programme tableau VarmonTab : tableau[1..10] de réels i : entier Début Afficher « Saisir 10 réels » Pour i de 1 jusqu'à 10 Faire Saisir monTab[i] FinPour Afficher « les valeurs saisies sont » affTab(monTab)Fin 5 Sous-programme : les paramètres

28 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 28 Plusieurs paramètres Une procédure peut avoir plusieurs paramètres : Une procédure peut avoir plusieurs paramètres : ) Procédure maProcedure(donnée Par1 : entier, par2 : réel) Le nombre et lordre des paramètres à l'appel doit être exactement le même Le nombre et lordre des paramètres à l'appel doit être exactement le même maProcedure(varE, varR) 5 Sous-programme : les paramètres

29 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 29 Exemple : définition Procédure lignes(donnée nbetoiles, nbDiese : entier) Varcpt : entier Début Pour cpt de 1 jusqu'à nbetoiles Faire Afficher '*' FinPour Pour cpt de 1 jusqu'à nbDiese Faire Afficher #' FinPour Pour cpt de 1 jusqu'à nbetoiles Faire Afficher '*' FinPour FinProc 5 Sous-programme : les paramètres

30 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 30 Exemple **************************************###################************************************** Programme didentification*******************###################******************* Veuillez saisir votre nom durand Veuillez saisir votre prenom alain*******************###################******************* veuillez saisir votre annee de naissance 1943**************************************###################************************************** 5 Sous-programme : les paramètres

31 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 31 Exemple : programme appelant Programme id Constlargeur <- 10 : entier Varnom, prenom: chaine naissance : entier Début lignes(largeur * 2, largeur) Afficher « Programme didentification » 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 5 Sous-programme : les paramètres

32 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 32 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) 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 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) 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) 5 Sous-programme : les paramètres

33 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 33 Pièges Il est primordial de bien distinguer : 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 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 et les paramètres effectifs (ou arguments) qui sont placés entre parenthèses lors de l'appel 5 Sous-programme : les paramètres

34 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 34 Paramètres formels placés dans la définition d'une procédure 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 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 Ce sont des variables locales à la procédure ils sont déclarés dans l'entête de la procédure ils sont déclarés dans l'entête de la procédure 5 Sous-programme : les paramètres

35 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 35 Paramètres effectifs placés dans l'appel d'une procédure placés dans l'appel d'une procédure Lors de l'appel, leur valeur est recopiée dans les paramètres formels correspondants Lors de l'appel, leur valeur est recopiée dans les paramètres formels correspondants Un paramètre effectif en donnée peut être Un paramètre effectif en donnée peut être soit une variable du programme appelant (nomVar) soit une variable du programme appelant (nomVar) soit une valeur littérale (3) soit une valeur littérale (3) soit le résultat d'une expression (5 * x) soit le résultat d'une expression (5 * x) 5 Sous-programme : les paramètres

36 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 36 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 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 : Comme un programme et une procédure, une fonction possède : un nom un nom des variables des variables des instructions des instructions un début un début une fin une fin 5 Sous-programme : les fonctions

37 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 37 Les Fonctions Sous-programmes retournant un et un seul résultat au programme appelant Sous-programmes retournant un et un seul résultat au programme appelant Les fonctions sont appelées pour récupérer une valeur 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 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 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 Le résultat d'une fonction doit obligatoirement être retourné au programme appelant par l'instruction Retourne 5 Sous-programme : les fonctions

38 Retourne 5 * maVar DEFINITION d'une fonction : DEFINITION d'une fonction : Fonction maFonction(/*paramètres*/) : type //déclaration des variables Var maVar : entier Début /*instructions*/ Retourne valeur FinFonction Retourne maVar Retourne 15 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 38 5 Sous-programme : les fonctions Syntaxe définition En-tête Corps

39 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 39 5 Sous-programme : les fonctions Exemple FONCTION calSomN (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 FinPour Finsi Retourne Res FINFONCTION Instruction de retour

40 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 40 5 Sous-programme : les fonctions Appel de fonction PROGRAMME monProgr VARvarE, varR : entier varChaine : chaîne DEBUT /*instuctions*/ varR <- maFonction(varE) varR <- maFonction(5) varR <- maFonction(3 * varE) /*instuctions*/ FIN

41 BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 41 5 Sous-programme : les fonctions Exemple Programme sommesDesN1erEntiers Var x, somme : entier rep : caractère Début Répéter Afficher « Entrez un entier > 0 » Saisir x somme <- calSomN ( x) Afficher «la somme des », x, « 1er entiers est », somme Afficher «voulez-vous continuez ? (O/N)» Saisir rep Jusquà rep = N Afficher « au revoir » Fin


Télécharger ppt "BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 1 Initiation à la programmation et algorithmique cours 4."

Présentations similaires


Annonces Google