les sous-programmes (chap N°2)

Post on 06-Apr-2018

215 views 0 download

Transcript of les sous-programmes (chap N°2)

  • 8/2/2019 les sous-programmes (chap N2)

    1/3

    I. Introduction :1. Activit 1

    Soit la liste des modules appliquer sur les chanes : VALEUR, SOUCHAINE, EFFACE,

    CONVCH, CONCAT, POSITION, INSERE, LONG.Question : Sur combien de catgories on peut classer les lments de cette liste ?

    Rponse : Les modules appliqus sur les chanes sont classs en deux catgories :

    Fonctions Procdures

    Souschaine Valeur

    Concat Efface

    Position Insre

    Long Convch

    2. Dfinition :

    Un sous-programme est un module qui peut tre soit une fonction ou une procdure.

    Un sous programme est un module contenant un ensemble dinstructions destin a

    effectu une tche bien dtermine.II. les fonctions :

    1. Activit 1

    Ecrire un programme intitul moyenne qui calcule et affiche la moyenne de trois

    notes N1, N2, N3 des coefficients respectifs 1, 2 et 2.2. Dfinition :

    Une fonction est un sous-programme qui permet de retourner un seul rsultat de typesimple (entier, rel, caractre, chane, boolen).

    Une fonction ne retourne jamais un tableau.3. Syntaxe :

    a) Analyse:

    DEF FNNom_ fonction (liste_paramtres_formels : types) : type_fonction

    RsultatRsultat == Nom _fonction rsultat

    actionN

    actionN-1

    action2

    action1

    b) Dans lalgorithme

    0) DEF FNNom_ fonction (liste_paramtres_formels : types) : type_fonction

    1) action1

    2) action2

    3)

    n) action_n

    n+1) Nom_fonction rsultat

    n+2 ) fin Nom_ fonction.

    c) En pascal

    Function Nom_fonction (liste_paramtres_formels : types ) : type_fonction

    Page 1

    L.S.jemmel Anne Scolaire 2010/2011

  • 8/2/2019 les sous-programmes (chap N2)

    2/3

    Var listes_objets_locaux : leurs types ;

    Begin

    action1 ;

    action2 ;

    .

    action n-1 ;

    action n ;Nom_ fonction := rsultat ;

    End ;

    4. Appel

    Une fonction peut tre appel par trois mthodes :

    - Par affectation : l Long ( ch )

    - Dans une procdure Ecrire : Ecrire (la longueur de ch est : , Long (ch ) )

    - Dans une expression : Si long ( ch ) = 0 Alors Ecrire ( ch est une chaine vide )

    Finsi

    X Y + 2* Long ( ch )5. Application :

    Ecrire un programme qui permet de calculer et afficher la somme des chiffres dun entier

    N trois chiffres.

    III. les Procdures :1. Activit :

    on veut faire un programme qui permet de concatiner deux nombres entiers N1 et N2 enon veut faire un programme qui permet de concatiner deux nombres entiers N1 et N2 en

    un troisime N3.un troisime N3.

    exempleexemple : N1 = 345 et N2 = 98 en aura alors N3 = 34598: N1 = 345 et N2 = 98 en aura alors N3 = 34598

    2. Dfinition :

    Une procdure est un sous-programme qui permet de retourner zro, un ou plusieurs

    rsultats de type simple ou de type compos.

    3. Syntaxe :

    a) Analyse:

    DEF PROCNom_ Procedure (liste_paramtres_formels : types)RsultatRsultat == parametres_ rsultatss

    actionN

    actionN-1

    action2

    action1

    b) Algorithme0) DEF PROCNom_ Procedure(liste_paramtres_formels : types)1) action1

    2) action2

    Page 2

  • 8/2/2019 les sous-programmes (chap N2)

    3/3

    3)

    n) action_n

    n+1 ) fin Nom_ Procedure.

    c) PascalProcedureNom_ Procedure (liste_paramtres_formels : types ) ;

    Var listes_objets_locaux : leurs types ;

    Begin

    action1 ;action2 ;

    .

    action n-1 ;

    action n ;

    End ;

    4. Application :

    Ecrire un programme qui permet dinvereser les lments dun tableau (T) de 5 entiers,Ecrire un programme qui permet dinvereser les lments dun tableau (T) de 5 entiers,

    puis de lafficher.puis de lafficher.

    5. Passage des paramtres :Lors dun appel dune procdure, il y a un transfert des donnes entre les paramtres effectifs et les

    paramtres formels, ce transfert sappelle passage des paramtres

    On a deux modes de passage :

    a) Passage par variable :

    Le transfert des donnes se fait dans les deux sens : paramtres effectifs paramtres formels

    Dans a cas, le paramtre formel est prcd par le mot rserv varToute modification des paramtres formels entrane automatiquement la modification des paramtres

    effectifs correspondant

    b) Passage par valeur :

    Le transfert des donnes se fait dans un seul sens : paramtres effectifs paramtre formel

    Toute modification des paramtres formels nentrane pas la modification des paramtres effectifs.

    Page 3