Visibilité de variables Paramètres de fonction premier auteur : Agata Savary.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
Introduction au Langage C,C++
Initiation à la programmation et algorithmique cours 4
Le langage C++ Les types structurés
Fonctions & procédures
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
DECLARATION DE VARIABLES
3- Déclaration et accès aux objets
III- Les fonctions 1- Activité 02
C.
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
6. Les sous-programmes P. Costamagna – ISEN N1.
8. Les tableaux P. Costamagna – ISEN N1.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Principes de programmation (suite)
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Structures de données linéaires
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Partie 1 Etude de l'existant
Démarche de résolution de problèmes
Algorithmique et Programmation
Les éléments de base de l’algorithmique
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Points importants de la semaine Le paramétrage. La portée. Le passage par copie. Le passage par référence.
LES SOUS-PROGRAMMES USTL Licence S.T.A. S3 A.P.I.2.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les sous-programmes. Les paramètres.
Points importants de la semaine Les constantes de compilation. Les fonctions.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
8PRO107 Éléments de programmation
Algorithmique.
Procédures et fonctions
L’essentiel du langage C
Python Fonction et procédure
Exercice Écrire l’analyse, l’algorithme et le programme Pascal qui calcule la somme des nombres d'un entier de 3 chiffres et de l’afficher EXEMPLE : N=123.
Sous-programmes.
Procédures et fonctions Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Les objets Les classes Pour structurer les variables élémentaires, on peut : juxtaposer des variables de même type, en déclarant un tableau juxtaposer.
Décomposition et paramétrage des algorithmes
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
1 Quatrième journée Les flots de données Les entrées/sorties Les flots de données Les entrées/sorties.
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
Introduction au langage C Fonctions et Procédures
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Les types composés Les enregistrements.
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
ISBN Chapitre 10 L'implémentation des sous- programmes.
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Algorithmique et programmation en
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
Les structures simples
Algorithmique Tableaux de données
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Objets et Actions Élémentaires.
Organisation de la mémoire pour le langage minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Introduction à L’Algorithmique
Algorithmique Boucles et Itérations
Philippe Gandy – 13 octobre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Introduction à l’Informatique Licence SPI Mme Delmotte.
BASE DE L’ALGORITHMIE.  Un système d’instructions.  Pour résoudre d’un problème ou d’une classe de problèmes  Recette de cuisine pour faire un gâteau.
IFT359 – Programmation fonctionnelle Thème 07 Fermeture, affectation ou monades 1.
Informatique 2A Langage C 2 è séance. Objectifs de la séance 2 Début de la modularité avec les fonctions Création d’une première bibliothèque.
Transcription de la présentation:

Visibilité de variables Paramètres de fonction premier auteur : Agata Savary

Sommaire Niveau d’une variable Visibilité de variables Paramètres formels et paramètres effectifs d’une fonction

Niveau d’une variable (1) Bloc : liste d’instructions incluse entre “parenthèses” (en C entre accolades) ; des blocs peuvent s’emboîter les uns dans les autres ; en C une fonction est un bloc du niveau 1, les blocs qu’elle contient sont du niveau 2, etc. Variable de niveau zéro : déclarée à l’extérieur de tout bloc (variable globale) Variable de niveau n (n  1) : déclarée à l’intérieur d’un bloc de niveau n (variable locale)

variable : a : entier a  1 fonction calcul(donnée f : réel) réel variable : c : caractère début … fin procédure principale() variable : cond : booléen début … si (cond ) variable : b : réel b  5.5 a  calcul(b) fin si fin Niveau d’une variable (2) bloc du niveau 0 blocs du niveau 1 bloc du niveau 2 variable globale variables locales du niveau 1 variable locale du niveau 2

Visibilité d’une variable (1) Une variable du niveau N (N  0) est visible uniquement dans le bloc dans lequel elle est déclarée, et dans tous ses sous-blocs Deux variables déclarées dans deux blocs différents peuvent porter le même nom Une variable V déclarée dans un bloc B au niveau N masque toute autre variable portant le même nom déclarée dans un bloc qui englobe B (donc de niveau n < N).

variable : a : entier; a  1 procédure f1() variable : b : entier début b  2 écrire(“b=”,b) écrire(“a=”,a) fin procédure principale() variable : a : entier début a  3 ; f1() écrire (“a=”,a) si (a > 0) variable : a : entier a  4; écrire (“a=”,a) //écrire (“b=”,b) fin si fin affiche “a = 1” affiche “a = 3” (la variable locale a masque la variable globale a) affiche “b = 2” si pas de “//” alors programme incorrect syntaxiquement (b invisible dans la partie principale()) affiche “a = 4” (la variable locale a cache une variable locale a et une variable globale a)

Paramètres formels et réels (1) Les paramètres d’une fonction apparaissant dans la définition de cette fonction s’appellent des paramètres formels. Les paramètres d’une fonction apparaissant dans l’appel de cette fonction s’appellent des paramètres réels. Au moment de l’exécution le paramètre formel est “rempli” par la valeur du paramètre réel correspondant Les paramètres formels d’une fonction ont la même visibilité que les variables locales de cette fonction

procédure affiche(donnée : f : réel) //variable : f : entier début écrire(f) fin procédure main() variables : e, f : réels début e  0.0 f  1.5 affiche(f) affiche(e) affiche(5.7) fin Paramètres formels et réels (2) paramètre formel paramètres réels si pas de “//” alors programme syntaxiquement incorrect (variable et paramètre portant le même nom) Qu’affiche ce programme ?

variables : a, b, compteur : entiers a  0 b  1 fonction fonc1(donnée a : entier) résultat : entier début le résultat est a + 1 fin fonction fonc2(donnée : a : entier) résultat : entier variable b : entier début b  fonc1(a+1) + 1 le résultat est b fin procédure main() variable : compteur : entier début pour compteur  1 jusqu’à 5 par pas de 1 faire b  b + fonc2(a+1) + 1 écrire(b) fin pour fin Qu’affiche ce programme ?