14
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale Algorithmique Algorithmique et programmation procédurale et programmation procédurale Chap III :Procedures, Chap III :Procedures, Fonctions. Fonctions. Lajouad Rachid

Algorithmique iv

Embed Size (px)

Citation preview

Page 1: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Algorithmique Algorithmique et programmation procéduraleet programmation procéduraleChap III :Procedures, Fonctions.Chap III :Procedures, Fonctions.

Lajouad Rachid

Page 2: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

PréliminairePréliminaire

La méthodologie de base de l'informatique est :

• 1 Abstraire

• 2 Décomposer

• 3 Combiner

Page 3: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Programme/Sous-programmeProgramme/Sous-programme

• Donc écrire un programme qui résout un problème revient toujours a écrire des sous-programmes qui résolvent des sous parties du problème initial.

• Le programme dans un contexte donne peut être un sous-programme dans un autre contexte

• Donc tout programme est aussi un sous-programme

• C'est le principe de la programmation structurée

Page 4: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Programme/Sous-programmeProgramme/Sous-programme

Le paradigme de la programmation structure propose deux types de sous-programmes:

• Les fonctions

• Les procédures

Page 5: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Il existe trois types d'association (que l'on nomme passage de paramètre) entre le paramètre formel et le paramètre effectif du (sous-)programme appelant :

• Le passage de paramètre en entrée

• Le passage de paramètre en sortie

• Le passage de paramètre en entrée/sortie

Page 6: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Les fonctionsLes fonctions

fonction NomFonction (parametre(s)) :type de la valeur retournee

Déclaration variable(s) locale(s)

début

instructions de la fonction avec au moins une fois l'instruction retourner

fin

Page 7: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExempleExemple

fonction min2 (a,b : Entier) : Entierdebutsi a > b alors

retourner bsinon

retourner afinsi

finfonction min3 (a,b,c : Entier) : Entierdebutretourner min2(a,min2(b,c))

fin

Page 8: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ProcéduresProcédures

• Des sous-programmes qui modifient l'état d'un programme

• Admettent des paramètres formels avec des passages de paramètre :– en entrée, préfixes par Entrée (ou E)– en sortie, préfixes par Sortie (ou S)– en entrée/sortie, préfixes par Entrée/Sortie

(ou E/S)

Page 9: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ProcédureProcédure

• Déclaration :

procédure NomProcedure ( E param(s)Entree; S param(s)Sortie; E/S param(s)Entree/Sortie)

Declaration variable(s) locale(s)

debut

instructions de la procedure

Fin

Page 10: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExempleExemple

procédure calculerMinMax3 (E a,b,c : Entier; S m,M : Entier)

debutm ← minimum3(a,b,c)

M ← maximum3(a,b,c)

Fin

Page 11: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Les fonctions en langage CLes fonctions en langage C

• Syntaxe :

Type NomFonction(params …)

{

instructions;

return …;

}

Page 12: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Les fonctionsLes fonctions

• Type : void.

• return avec les fonctions (void).

• Passage des arguments par valeurs.

• Passage des arguments par référence.

• Les prototypes de fonctions.

• Variables static

Page 13: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExempleExemple

float sphere (int ray) {

float resultat;

resultat = ray * ray *ray;

resultat = 4 * PI *resultat;

resultat = resultat /3;

return resultat;

}

Page 14: Algorithmique iv

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Exercice d’applicationExercice d’application

• Ecrire un algorithme puis un programme en C permettant de réaliser tous les calculs géométrique sur les cercle et les disques, Le programme doit présenter les fonctions suivantes :– Une procédure menu.– Une fonction circonference.– Une fonction surface.– Une fonction revolution (calcul du volume

après une rotation par rapport à un axe).