• Aucun résultat trouvé

UNIVERSITÉ AMAR TELIDJI LAGHOUAT. FACULTÉ DE TECHNOLOGIE Département des sciences techniques. Informatique 2. Cours 02 : Les fonctions

N/A
N/A
Protected

Academic year: 2022

Partager "UNIVERSITÉ AMAR TELIDJI LAGHOUAT. FACULTÉ DE TECHNOLOGIE Département des sciences techniques. Informatique 2. Cours 02 : Les fonctions"

Copied!
32
0
0

Texte intégral

(1)

FACULTÉ DE TECHNOLOGIE Département des sciences techniques

Informatique 2

Cours 02 : Les fonctions

(2)

Sommaire

Introduction Les fonctions

Déclaration Appel

Les fonctions en Pascal Les fonctions prédénies La portée des variables Exercices

(3)

Introduction

Dès qu'on commence à écrire des programmes sophistiqués, nous aurons :

Diculté d'avoir une vision globale sur son fonctionnement

Diculté de trouver des erreurs Solution

Décomposer le problème en sous problèmes

(4)

Introduction

Sous-problèmes codés sous forme de sous-programmes

Un sous-programme permet au programmeur d'étendre le langage de programmation : dénir ses propres instructions et ses propres opérateurs Deux types de sous-programmes :

1 les fonctions

2 les procédures

(5)

Introduction

Fonction

Possède un nom et/ou des paramètres Retourne une valeur d'un certain type Peut avoir des variables locales

Procédure

Ressemble à la fonction (nom, paramètres, variables locales)

Ne retourne pas de valeur

(6)

Les fonctions

(7)

Les fonctions

(8)

Les fonctions

(9)

Les fonctions

(10)

Les fonctions

(11)

Dénition d'une fonction

Fonction nom_fonc(valeur : Type) : type_retour ; Variables

resultat : type_resultat ; Début

<Actions>

Retourner (resultat) ; FinFonction.

(12)

Exemple de dénition de fonction

Fonction Factoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F ←− 1 ;

Pour i ←− 1 à N faire F ←− F * i ;

FinPour;

Retourner (F) ; FinFonction;

(13)

Dénition d'une fonction

Retourner indique la valeur que doit retourner la fonction

Le type du résultat doit être le même que celui déclaré comme type de retour de la fonction

(14)

Introduction Les fonctions Exercices

Appel de fonctions Les fonctions en Pascal Fonctions prédénies en Pascal

Appel de fonctions

Pour exécuter une fonction, il sut de faire appel à elle en respectant le nombre, le type et l'ordre des éléments spéciés dans de l'en-tête lors de sa déclaration

L'appel doit être aecté à une variable de type approprié à celui de retour de la fonction

(15)

Appel de fonctions

Pour exécuter une fonction, il sut de faire appel à elle en respectant le nombre, le type et l'ordre des éléments spéciés dans de l'en-tête lors de sa déclaration

L'appel doit être aecté à une variable de type approprié à celui de retour de la fonction

Variable ← Nom_Fonction (paramètres)

(16)

Exemple

Écrire un algorithme qui calcule A = 9!×11! +6! +7 en utilisant une fonction qui calcule le factoriel

(17)

Algorithmecalcul ; Variable

A,F,E,D :entiers ;

FonctionFactoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F←−1 ;

Pouri←−1àNfaire F←−F * i ; FinPour; Retourner(F) ; FinFonction; Début

F←−Factoriel(9) ; E←−Factoriel(11) ; D←−Factoriel(6) ; A←−F * E + D + 7 ;

(18)

Les fonctions en

Pascal

(19)

Les fonctions en Pascal

Même principe qu'en algorithmique (déclaration et utilisation)

Utilisation du mot-clé Function au lieu de Fonction

Pas d'instruction Retourner, on aecte le résultat au nom de la fonction

(20)

Introduction Les fonctions Exercices

Appel de fonctions Les fonctions en Pascal Fonctions prédénies en Pascal

Algorithmique Langage Pascal

Algorithmecalcul ; Variable

A,F,E,D :entiers ;

FonctionFactoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F←−1 ;

Pouri←−1àNfaire F←−F * i ; FinPour; Retourner(F) ; FinFonction; Début

F←−Factoriel(9) ; E←−Factoriel(11) ; D←−Factoriel(6) ; A←−F * E + D + 7 ; Écrire (A) ;

Fin.

FunctionFactoriel (N : integer) : integer ; VarF, i : integer ;

Begin F := 1 ;

Fori := 1toNDo F := F * i ; Factoriel:= F ; End;

Begin

F :=Factoriel(9) ; E :=Factoriel(11) ; D :=Factoriel(6) ; A := F * E + D + 7 ; Writeln (A) ;

End.

(21)

Introduction Les fonctions Exercices

Appel de fonctions Les fonctions en Pascal Fonctions prédénies en Pascal

Algorithmique Langage Pascal

Algorithmecalcul ; Variable

A,F,E,D :entiers ;

FonctionFactoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F←−1 ;

Pouri←−1àNfaire F←−F * i ; FinPour; Retourner(F) ; FinFonction; Début

F←−Factoriel(9) ; E←−Factoriel(11) ; D←−Factoriel(6) ; A←−F * E + D + 7 ;

Programcalcul ; VarA,F,E,D :integer ;

Begin F := 1 ;

Fori := 1toNDo F := F * i ; Factoriel:= F ; End;

Begin

F :=Factoriel(9) ; E :=Factoriel(11) ; D :=Factoriel(6) ; A := F * E + D + 7 ; Writeln (A) ;

End.

(22)

Introduction Les fonctions Exercices

Appel de fonctions Les fonctions en Pascal Fonctions prédénies en Pascal

Algorithmique Langage Pascal

Algorithmecalcul ; Variable

A,F,E,D :entiers ;

FonctionFactoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F←−1 ;

Pouri←−1àNfaire F←−F * i ; FinPour; Retourner(F) ; FinFonction; Début

F←−Factoriel(9) ; E←−Factoriel(11) ; D←−Factoriel(6) ; A←−F * E + D + 7 ; Écrire (A) ;

Fin.

Programcalcul ; VarA,F,E,D :integer ;

FunctionFactoriel (N : integer) : integer ; VarF, i : integer ;

Begin F := 1 ;

Fori := 1toNDo F := F * i ; Factoriel:= F ; End;

D :=Factoriel(6) ; A := F * E + D + 7 ; Writeln (A) ;

End.

(23)

Algorithmique Langage Pascal Algorithmecalcul ;

Variable

A,F,E,D :entiers ;

FonctionFactoriel (N : entier) : entier ; Variable

F, i : entier ; Début

F←−1 ;

Pouri←−1àNfaire F←−F * i ; FinPour; Retourner(F) ; FinFonction; Début

F←−Factoriel(9) ; E←−Factoriel(11) ; D←−Factoriel(6) ; A←−F * E + D + 7 ;

Programcalcul ; VarA,F,E,D :integer ;

FunctionFactoriel (N : integer) : integer ; VarF, i : integer ;

Begin F := 1 ;

Fori := 1toNDo F := F * i ; Factoriel:= F ; End;

Begin

F :=Factoriel(9) ; E :=Factoriel(11) ; D :=Factoriel(6) ; A := F * E + D + 7 ; Writeln (A) ;

(24)

Fonctions

prédénies en

Pascal

(25)

Fonctions prédénies

Des fonctions intégrées au compilateur Pouvant être utilisées sans dénition Des fonctions mathématiques, chaînes de caractères, pointeurs, chiers, ...

(26)

Fonctions prédénies

Fonction Dénition

abs(x) retourne la valeur absolue de x odd(x) retourne vrai si l'entier x est impair,

faux au cas contraire

sqr/sqrt(x) retourne le carré/racine carrée de x sin/cos/

arctan(x) ... fonctions trigonométriques

ln/exp(x) logarithme/ exponentielle du réel x

(27)

Fonctions prédénies

Fonction Dénition

Round(x) retourne l'entier le plus proche du réel x trunc(x) retourne la partie entière de x

frac(x) retourne la partie fractionnaire de x

... ...

Les fonctions d'ordre, de conversion et des chaînes de caractères seront traitées au quatrième cours

(28)

Portée des

variables

(29)

Portée des variables

La partie du programme où on peut y faire référence C'est la zone du programme dans laquelle elle peut être utilisée (visible)

commence avec sa déclaration et se termine avec l'entité dans laquelle elle a été déclarée (programme, fonction, procédure, ...)

(30)

Portée des variables

Variable globale

Une variable qui est visible par un ou plusieurs sous-programme(s) en plus du programme principal Variable locale

Une variable locale est une variable déclarée à l'intérieur d'un sous-programme

(31)

Introduction Les fonctions Exercices

Exercice 01

Écrire un algorithme puis un programme Pascal qui utilisent une fonction pour calculer la puissance d'un nombre réel Puissance(X, n)

Écrire un algorithme puis un programme qui utilisent deux fonctions :

1 Une pour calculer la somme des éléments d'un Vecteur A[10]

2 Et une autre pour calculer le produit des éléments du même vecteur

(32)

Exercice 01

Écrire un algorithme puis un programme Pascal qui utilisent une fonction pour calculer la puissance d'un nombre réel Puissance(X, n)

Exercice 02

Écrire un algorithme puis un programme qui utilisent deux fonctions :

1 Une pour calculer la somme des éléments d'un Vecteur A[10]

2 Et une autre pour calculer le produit des éléments du même vecteur

Références

Documents relatifs

programme PASCAL -version Windows- (juste après Program) pour permettre d’appeler l’unité ’affichage.. Uses WinCRT;.. Les Commentaires

comme les 3-cycles sont tous conjugués eux, alors dès que H en contient un, il contient tout les autres, même remarque pour les élément d’ordre 2.. Comme les 5-Sylow

❖ Apprendre à identifier les messages en entrée et en sortie d’un système et les modéliser... • L'étude préliminaire permet de recueillir des informations initiales sur

Gotman, Anne, « Transformer une question sociale en question sociologique », dans Nouveau manuel de sociologie, François de Singly (dir.), Paris, Armand Colin, 2010, pp..

• Écrire un programme Pascal qui permet de calculer le nombre de mots dans une chaîne de caractères.

Ce travail présente l’étude et la réalisation d'une serrure électronique codée équipée par un système sms, Pour réaliser ce projet nous utilisons des outils informatique

• La déclaration des enregistrements se fait dans une partie des algorithmes appelée

• Une condition est une expression de type logique, elle ne prend que deux valeurs possibles VRAI ou FAUX. Les