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

41
BTS IRIS 1ère année BTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmique algorithmique 1 Initiation à la Initiation à la programmation programmation et et algorithmique algorithmique cours 4 cours 4

Transcript of BTS IRIS 1ère annéeIntroduction à la programmation et algorithmique 1 Initiation à la...

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

11

Initiation à la Initiation à la programmationprogrammation

etet

algorithmiquealgorithmique

cours 4cours 4

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

22

Synthèse tableauxSynthè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

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

33

►Données Données ►OpérateursOpérateurs►Les instructionsLes instructions►TableauxTableaux►Sous-programmeSous-programme►Types structurésTypes structurés

PlanPlan

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

44

5 Sous-programmes5 Sous-programmes

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

55

Introduction Introduction

► Sous-programme = traitement particulier Sous-programme = traitement particulier appelé à appelé à s’exécuters’exécuter à l'intérieur à l'intérieur d'un autre d'un autre programmeprogramme

► Utilisation :Utilisation : quand un même quand un même traitementtraitement doit être doit être

réalisé réalisé plusieurs fois plusieurs fois dans un programme. On dans un programme. On écrit un sous-programme pour ce traitement et écrit un sous-programme pour ce traitement et on l'appelle à chaque endroit où l'on en a besoin on l'appelle à chaque endroit où l'on en a besoin

pour organiser le code pour organiser le code , améliorer la , améliorer la conception et la lisibilité des gros programmesconception et la lisibilité des gros programmes

► Il existe des sous-programmes prédéfinis Il existe des sous-programmes prédéfinis pouvant être utilisés directement dans pouvant être utilisés directement dans n'importe quel programme : n'importe quel programme : les librairiesles librairies

5 Sous-programme

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

66

Programme d’identification

**************************************

######################################

**************************************

Veuillez saisir votre nom

durand

Veuillez saisir votre prenom

alain

**************************************

######################################

**************************************

veuillez saisir votre annee de naissance

1943

**************************************

######################################

**************************************

Sous programmeSous programme5 Sous-

programme

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

77

Sous programmeSous programme

Programmeidentification

Programme

5 Sous-programme

Sous-programmelignes

Affichertitre

Afficherligne étoiles

Afficherligne dièses

Afficherligne étoiles

AfficherDemande

nom

Saisirnom

AfficherDemandeprénom

Saisirprénom

Afficherligne étoiles

Afficherligne dièses

Afficherligne étoiles

AfficherDemande

Année nais.

SaisirAnnée nais.

Afficherligne étoiles

Afficherligne dièses

Afficherligne étoiles

Programmeidentification

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

88

Sous programmeSous programme

Programmeidentification

5 Sous-programme

Sous-programmelignes

AfficherLigne étoiles

AfficherLigne dièses

AfficherLigne étoiles

Sous-programme

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

99

Sous programmeSous programme

Programmeidentification

5 Sous-programme

Sous-programmelignes

Programmeidentification

Programme appelant

Affichertitre

AppelLignes

AfficherDemande

nom

Saisirnom

AfficherDemandeprénom

Saisirprénom

AppelLignes

AfficherDemande

Année nais.

SaisirAnnée nais.

AppelLignes

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1010

Fonctions et procéduresFonctions 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

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1111

Procédures Procédures

► Une procédure est un Une procédure est un ensemble d'instructions ensemble d'instructions regroupées sous un nom, qui réalise un regroupées sous un nom, qui réalise un traitement particulier dans un programme traitement particulier dans un programme lorsqu'on l'appellelorsqu'on l'appelle

► Comme un programme, une procédure possède Comme un programme, une procédure possède un nomun nom des variablesdes variables des instructionsdes instructions un début un début une finune fin

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1212

Syntaxe définitionSyntaxe définition

►DEFINITION DEFINITION d'une procédure :d'une procédure :

Procédure Procédure maProcedure( )maProcedure( )//déclaration des variables//déclaration des variablesVar Var var1 : entiervar1 : entierDébutDébut/*/*instructions 1instructions 1instructions 2instructions 2*/*/FinProcFinProc

5 Sous-programme : les procédures

En-tête

Corps

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1313

ExempleExemple

Procédure lignes( )Var etoile, diese : chaineDébutetoile <- «*******************»diese <- «###################»Afficher etoile Afficher diese Afficher etoile FinProc

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1414

Appel d’une procédureAppel d’une procédure

► Pour déclencher l'exécution d'une procédure Pour déclencher l'exécution d'une procédure dans un programme, il suffit de l'appeler :dans un programme, il suffit de l'appeler : indiquer son nom suivi de parenthèsesindiquer son nom suivi de parenthèses

PROGRAMME monProgrVAR varEntier1 : entier

varChaine : chaîneDEBUT/*instuctions*/maProcedure()/*instuctions*/FIN

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1515

Exemple Exemple

Programme Programme ididVarVar nom, prenom: chainenom, prenom: chaine

anneeNaissance : entieranneeNaissance : entierDébutDébutAfficher Afficher « Programme d’identification »« Programme d’identification »lignes()lignes()Afficher Afficher « veuillez saisir votre nom »« veuillez saisir votre nom »Saisir Saisir nomnomAfficher Afficher « veuillez saisir votre prenom  »« veuillez saisir votre prenom  »Saisir Saisir prenomprenomlignes()lignes()Afficher Afficher « veuillez saisir votre annee de naissance »« veuillez saisir votre annee de naissance »Saisir Saisir anneeNaissanceanneeNaissancelignes()lignes()Fin

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1616

ExécutionExécution

► Appel d'une Appel d'une procédureprocédure1.1. arrêt momentané de l'exécution du programme appelantarrêt momentané de l'exécution du programme appelant2.2. Exécution des instructions de la procédureExécution des instructions de la procédure3.3. Reprise de l’exécution du programme appelant là où il Reprise de l’exécution du programme appelant là où il

s'était arrêté (instruction suivant l’appel)s'était arrêté (instruction suivant l’appel)

► Une procédure peut être appelée soit par un Une procédure peut être appelée soit par un programmeprogramme, soit par un autre , soit par un autre sous-sous-programmeprogramme (qui lui même a été appelé) (qui lui même a été appelé)

► Les appels de sous-programmes peuvent Les appels de sous-programmes peuvent s'imbriquer autant de fois que cela est utiles'imbriquer autant de fois que cela est utile

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1717

ExécutionExécutionProgramme idVar nom, prenom: chaine

anneeNaissance : entierDébutAfficher « Programme d’identification »ligneEtoile ()Afficher « veuillez saisir votre nom »Saisir nomAfficher « veuillez saisir votre prenom  »Saisir prenomligneEtoile ()Afficher « veuillez saisir votre annee de naissance »Saisir anneeNaissance ligneEtoile ()Fin

etoile <- «**********»etoile <- «**********»diese <- «##########»diese <- «##########»Afficher Afficher etoileetoile Afficher Afficher diese diese Afficher Afficher etoileetoileetoile <- «**********»etoile <- «**********»diese <- «##########»diese <- «##########»Afficher Afficher etoileetoile Afficher Afficher diese diese Afficher Afficher etoileetoileetoile <- «**********»etoile <- «**********»diese <- «##########»diese <- «##########»Afficher Afficher etoileetoile Afficher Afficher diese diese Afficher Afficher etoileetoile

Programme d’identification

**************************************

######################################

**************************************

Veuillez saisir votre nom

durand

Veuillez saisir votre prenom

alain

**************************************

######################################

**************************************

veuillez saisir votre annee de naissance

1943

**************************************

######################################

**************************************

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1818

Variables localesVariables locales

► Les variables déclarées dans une procédure ne Les variables déclarées dans une procédure ne sont sont pas utilisables pas utilisables dans le programme dans le programme appelant appelant

► Les variables déclarées dans le programme Les variables déclarées dans le programme appelant ne sont appelant ne sont pas utilisables pas utilisables dans les dans les procéduresprocédures

► Chaque programme et sous-programme a son Chaque programme et sous-programme a son propre espace de variablespropre espace de variables, inaccessible par , inaccessible par les autresles autres

► les variables sont dites les variables sont dites LOCALESLOCALES► Il peut exister des variables globales, mais leur Il peut exister des variables globales, mais leur

usage est déconseillé (et donc usage est déconseillé (et donc sanctionnésanctionné))

5 Sous-programme : les procédures

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

1919

ParamètreParamètre

►Comment sous-programmes et Comment sous-programmes et programmes vont pouvoir communiquer programmes vont pouvoir communiquer des données ?des données ? Grâce aux paramètresGrâce aux paramètres Grâce aux messagesGrâce aux messages Grace au réseauGrace au réseau ……

►Un paramètre est une variable particulière Un paramètre est une variable particulière qui sert à la communication entre qui sert à la communication entre programme appelant et sous-programme.programme appelant et sous-programme.

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2020

ParamètreParamètre

►Un paramètre est une Un paramètre est une variablevariable particulièreparticulière qui sert à la qui sert à la communication entre programme communication entre programme appelant et sous-programme.appelant et sous-programme.

►Elle a un Elle a un nomnom et un et un typetype

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2121

Syntaxe définitionSyntaxe définition

►DEFINITION DEFINITION d'une procédure avec d'une procédure avec paramètre :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

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2222

ExempleExempleProcédure lignes(donnée nbColonnes : entier)

Var cpt : 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

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2323

Appel avec paramètreAppel avec paramètre

►Pour appeler une procédure avec un paramètre, il faut mettre la valeur du paramètre entre parenthèse

PROGRAMME monProgrVAR varEntier1 : entier

varChaine : chaîneDEBUT/*instuctions*/maProcedure(varEntier1)maProcedure(3)/*instuctions*/FIN

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2424

ExempleExemple**************************************

######################################

**************************************

Programme d’identification

*******************

###################

*******************

Veuillez saisir votre nom

durand

Veuillez saisir votre prenom

alain

*******************

###################

*******************

veuillez saisir votre annee de naissance

1943

**************************************

######################################

**************************************

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2525

Programme appelantProgramme appelantProgramme Programme ididConstConst largeur <- 20 : entierlargeur <- 20 : entierVarVar nom, prenom: chainenom, prenom: chaine

anneeNaissance : entieranneeNaissance : entierDébutDébutlignes(largeur * 2, 255,0,0)lignes(largeur * 2, 255,0,0)Afficher Afficher « Programme d’identification »« Programme d’identification »lignes(largeur, 255,255,255)lignes(largeur, 255,255,255)Afficher Afficher « veuillez saisir votre nom »« veuillez saisir votre nom »Saisir Saisir nomnomAfficher Afficher « veuillez saisir votre prenom  »« veuillez saisir votre prenom  »Saisir Saisir prenomprenomlignes(largeur, 255,255,255)lignes(largeur, 255,255,255)Afficher Afficher « veuillez saisir votre annee de naissance »« veuillez saisir votre annee de naissance »Saisir Saisir anneeNaissance anneeNaissance lignes(largeur * 2, 255,0,0)lignes(largeur * 2, 255,0,0)FinFin

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2626

Paramètre tableauParamètre tableau

Procédure Procédure affTab(affTab(donnée donnée tab : tableau[1..10] de réels)tab : tableau[1..10] de réels)VarVar i : entieri : entierDébutDébutPour Pour i i de de 1 1 jusqu'à jusqu'à 10 10 FaireFaire

Afficher Afficher tab[i]tab[i]FinPourFinPourFinProcFinProc

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2727

Paramètre tableauParamètre tableau

Programme Programme tableautableau

VarVar monTab : tableau[1..10] de réelsmonTab : tableau[1..10] de réels

i : entieri : entier

DébutDébut

Afficher Afficher « Saisir 10 réels »« Saisir 10 réels »

Pour Pour i i de de 1 1 jusqu'à jusqu'à 10 10 FaireFaire

Saisir Saisir monTab[i]monTab[i]

FinPourFinPour

Afficher Afficher « les valeurs saisies sont »« les valeurs saisies sont »

affTab(monTab)affTab(monTab)

FinFin

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2828

Plusieurs paramètresPlusieurs paramètres

►Une procédure peut avoir plusieurs Une procédure peut avoir plusieurs paramètres :paramètres :

Procédure maProcedure(donnée Par1 : entier, par2 : réel))

►Le nombre et l’ordre des paramètres à Le nombre et l’ordre des paramètres à l'appel doit être l'appel doit être exactementexactement le même le même

maProcedure(varE, varR)

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

2929

Exemple : définitionExemple : définition

Procédure lignes(donnée nbetoiles, nbDiese : entier)Var cpt : entierDébutPour cpt de 1 jusqu'à nbetoiles Faire

Afficher '*'FinPourPour cpt de 1 jusqu'à nbDiese Faire

Afficher ‘#'FinPourPour cpt de 1 jusqu'à nbetoiles Faire

Afficher '*'FinPourFinProc

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3030

ExempleExemple****************************************************************************######################################**************************************************************************** Programme d’identification**************************************######################################**************************************Veuillez saisir votre nomdurandVeuillez saisir votre prenomalain**************************************######################################**************************************veuillez saisir votre annee de naissance1943****************************************************************************######################################************************************** **************************************

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3131

Exemple : programme Exemple : programme appelantappelant

Programme Programme ididConstConst largeur <- 10 : entierlargeur <- 10 : entierVarVar nom, prenom: chainenom, prenom: chaine

naissance : entiernaissance : entierDébutDébutlignes(largeur * 2, largeur)lignes(largeur * 2, largeur)Afficher Afficher « Programme d’identification »« Programme d’identification »lignes(largeur, largeur)lignes(largeur, largeur)Afficher Afficher « veuillez saisir votre nom »« veuillez saisir votre nom »Saisir Saisir nomnomAfficher Afficher « veuillez saisir votre prenom  »« veuillez saisir votre prenom  »Saisir Saisir prenomprenomlignes(largeur , largeur)lignes(largeur , largeur)Afficher Afficher « veuillez saisir votre annee de naissance »« veuillez saisir votre annee de naissance »Saisir Saisir naissancenaissancelignes(largeur * 2 , largeur)lignes(largeur * 2 , largeur)FinFin

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3232

Fonctionnement Fonctionnement

► Lors de l'appel de la procédure, la valeur du Lors de l'appel de la procédure, la valeur du paramètre effectif passée en argument est paramètre effectif passée en argument est copiéecopiée dans le paramètre formel (qui est dans le paramètre formel (qui est une variable locale)une variable locale)

► La procédure effectue alors le traitement La procédure effectue alors le traitement avec la variableavec la variable

► La procédure n'utilise pas directement la La procédure n'utilise pas directement la variable mise en paramètre effectif : elle variable mise en paramètre effectif : elle utilise sa utilise sa valeurvaleur, qu'elle a recopiée dans sa , qu'elle a recopiée dans sa propre variable locale (le paramètre formel)propre variable locale (le paramètre formel)

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3333

PiègesPièges

► Il est primordial de bien distinguer :Il est primordial de bien distinguer : les paramètres les paramètres formelsformels qui se trouvent qui se trouvent

dans l'en-tête d'une procédure lors de sa dans l'en-tête d'une procédure lors de sa définition définition

et les paramètres et les paramètres effectifseffectifs (ou (ou arguments) qui sont placés entre arguments) qui sont placés entre parenthèses lors de l'appelparenthèses lors de l'appel

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3434

Paramètres formelsParamètres formels

►placés dans la placés dans la définitiondéfinition d'une d'une procédureprocédure

►servent à servent à décriredécrire le traitement à le traitement à réaliser par la procédure réaliser par la procédure indépendamment des valeurs traitéesindépendamment des valeurs traitées

►Ce sont des variables Ce sont des variables localeslocales à la à la procédureprocédure

► ils sont déclarés dans ils sont déclarés dans l'entêtel'entête de la de la procédureprocédure

5 Sous-programme : les paramètres

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3535

Paramètres effectifsParamètres effectifs

► placés dans placés dans l'appell'appel d'une procédure d'une procédure ► Lors de l'appel, leur valeur est Lors de l'appel, leur valeur est recopiéerecopiée

dans les paramètres formels correspondantsdans les paramètres formels correspondants► Un paramètre effectif en donnée peut êtreUn paramètre effectif en donnée peut être

soit une variable du programme appelant soit une variable du programme appelant (nomVar)(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

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3636

Les FonctionsLes Fonctions

►Une fonction est un Une fonction est un ensemble d'instructions ensemble d'instructions regroupées sous un nom, qui réalise un regroupées sous un nom, qui réalise un traitement particulier dans un programme traitement particulier dans un programme lorsqu'on l'appelle et retourne un résultat au lorsqu'on l'appelle et retourne un résultat au programme appelantprogramme appelant

► Comme un programme et une procédure, une Comme un programme et une procédure, une fonction possède :fonction possède : un nomun nom des variablesdes variables des instructionsdes instructions un début un début une finune fin

5 Sous-programme : les fonctions

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3737

Les FonctionsLes Fonctions

► Sous-programmes retournant Sous-programmes retournant un et un un et un seul résultat seul résultat au programme appelantau programme appelant

► Les fonctions sont appelées pour Les fonctions sont appelées pour récupérer une récupérer une valeurvaleur

(alors que les procédures ne renvoient aucune (alors que les procédures ne renvoient aucune valeur)valeur)

► L'appel des fonctions est différent de l'appel des L'appel des fonctions est différent de l'appel des procédures :procédures : L'appel d'une fonction doit L'appel d'une fonction doit obligatoirementobligatoirement se trouver à se trouver à

l'intérieur d'une instruction qui utilise sa valeurl'intérieur d'une instruction qui utilise sa valeur Le résultat d'une fonction doit obligatoirement être retourné Le résultat d'une fonction doit obligatoirement être retourné

au programme appelant par l'instruction au programme appelant par l'instruction RetourneRetourne

5 Sous-programme : les fonctions

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

Retourne 5 * maVar

► DEFINITION DEFINITION d'une fonction :d'une fonction :

Fonction maFonction(/*paramètres*/) : type

//déclaration des variables

Var maVar : entier

Début

/*instructions*/

Retourne valeur

FinFonction

Retourne maVarRetourne 15

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3838

5 Sous-programme : les fonctions

Syntaxe définitionSyntaxe définition

En-tête

Corps

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

3939

5 Sous-programme : les fonctions

Exemple Exemple FONCTION calSomN (Donnée e : entier) : entierVAR res, i : entier

DEBUTres <- 0Si e > 0alorsPour i de 1 à e Faire

res <- res + iFinPour

FinsiRetourne ResFINFONCTION

Instruction de retour

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

BTS IRIS 1ère année Introduction à la programmation et algorithmique

40

5 Sous-programme : les fonctions

Appel de fonction Appel de fonction

PROGRAMME monProgrVAR varE, varR : entier

varChaine : chaîneDEBUT/*instuctions*/varR <- maFonction(varE)varR <- maFonction(5)varR <- maFonction(3 * varE)/*instuctions*/FIN

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

BTS IRIS 1ère annéeBTS IRIS 1ère année Introduction à la programmation et Introduction à la programmation et algorithmiquealgorithmique

4141

5 Sous-programme : les fonctions

Exemple Exemple Programme sommesDesN1erEntiers

Var x, somme : entierrep : caractère

DébutRépéter

Afficher « Entrez un entier > 0 »Saisir xsomme <- 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