Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Chapitre annexe. Récursivité
Portée des variables VBA & Excel
Introduction à l’Algorithmique
Algorithmique Résume.
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Le publipostage La fonction de fusion permet de créer des documents identiques dans les grandes lignes que l’on personnalise automatiquement à chaque destinataires.
5. Les structures répétitives
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Utilisation des tableaux
Firebug Dévermineur Debugger.
Les bases de l’Algorithmique
Principes de programmation (suite)
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
CPI/BTS 2 Programmation Web Introduction au PHP
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
OCaml - Les listes L3 MI.
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Algorithmique et Programmation
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Les instructions PHP pour l'accès à une base de données MySql
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 5 – Héritage, Interfaces et Listes génériques.
Introduction à la programmation I Fonctions Structures de contrôle Structures de données (arrays simples et indexés) Variables locales et globales.
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.
Chapitre 9 Les sous-programmes.
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
Répéter dans un programme avec une Instruction itérative
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Structures alternative et répétitive
Python Fonction et procédure
Animateur : Med HAIJOUBI
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Les structures répétitives en PHP Réfs : manuel p 317.
Algorithmes de tri et de recherche
Décomposition et paramétrage des algorithmes
Argc et argv Utilisation des paramètres de la ligne de commande.
Un survol du language C.
Méthodes de tri.
 Syntaxe du langage PHP
Tutorat en bio-informatique Le 14 novembre Au programme… Les objets –Propriétés (attributs) –Constructeurs –Méthodes.
Introduction au langage C Fonctions et Procédures
Variables et environnement utilisateur W. Barhoumi.
Cours LCS N°4 Présenté par Mr: LALLALI
 Formulaires HTML : traiter les entrées utilisateur
Tutorat en bio-informatique Le 12 octobre Exercices 3 et 4 (MAT1400) - solutions La série du binôme (chap. 8.8) –Trouver la série entière et le.
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Tutorat en bio-informatique Le 28 novembre Au programme… Algorithmes de tri dans un tableau (suite) Récursivité MAT1400.
Permet de simplifier la maintenance d’un site
CPI/BTS 2 Programmation Web Fonctions & Includes Prog Web CPI/BTS2 – M. Dravet – 02/11/2003 Dernière modification: 02/11/2003.
8PRO107 Éléments de programmation Les adresses et les pointeurs.
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
La pile de crêpes.
Scripts et fonctions Instructions de contrôle
PRO-1027 Programmation Scientifique en C
1 PHP 5 Notions fondamentales (niveau 1 cours #3) Formation continue – Cégep de Sainte-Foy François G Couillard.
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.
Philippe Gandy – 10 novembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
** Flash séance 2 Action script. ** Action Script Ajoute de l’interactivité Permet de contrôler les clips  Langage de programmation orienté objet.
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 chap 3 Licence SPI Mme Delmotte.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Les Fonctions

Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code que lon peut insérer comme sil sagissait de petit programme indépendant Moins de code à écrire, moins à vérifier Mieux penser la structure du programme Définir une fonction : lui donner un nom : mot clé « function » suivi du nom que lon veut donner à la fonction les paramètres sont listés entre parenthèses function nomfonction (paramètres) { Le code de la fonction est inséré ici…. }

Définir une fonction (suite) La fonction peut contenir autant de ligne de code que lon souhaite Pour renvoyer une valeur, placer « return » sur la dernière ligne de la fonction montre que lon a fini et que la fonction sarrête là. Pour afficher la valeur renvoyée par la fonction, on utilise linstruction « echo ». « Return » naffiche pas la valeur, mais transmet le résultat à la fonction Une fonction peut être appelée aussi souvent quon le souhaite. Ex : $Prix = 1600 ; echo (reduction($Prix)) ; si on veut donner plusieurs paramètres à une fonction, les séparer par une virgule Ex : function reduction ($Prix, $Reduction) { $Prix = $Prix – $Reduction ; Return $Prix ; } dans ce cas, pour appeler la fonction, on doit faire appel à deux valeurs Cf. Ex1

Ordre des éléments au sein dune fonction La position de la définition de la fonction, de son exécution et de son appel peut varier. Cependant, la fonction nest pas utilisée tant quelle nest pas appelée dans la dernière ligne avec « echo ». Ex:

Noms des variables On est pas obligé de donner aux variables hors de la fonction le même nom que celui des paramètres. Ex : $Blabla = 1600 ; $Lalala = 500 ; echo (reduction($blabla, $Lalala) function reduction ($Prix, $Reduction) { $Prix = $Prix – $Reduction ; return $Prix ; } Dans ce cas-ci, la variable utilisée comme paramètre $Prix prend la valeur de $Blabla et la variable $Reduction, celle de la variable $Lalala.

Autres applications ou méthodes Hormis la méthode de transmission de valeur qui vient de vous être présentée, il existe également une méthode qui permet de passer les arguments de fonctions « par référence », mais nous ne la verrons pas ici.

Structures de contrôle

Introduction Les structures de contrôle (boucles) permettent deffectuer des tâches répétitives. Cependant, ce ne sont pas des structures conditionnelles dans la mesure où elles peuvent être exécutées indéfiniment. Pour résumer en deux mots le fonctionnement dune boucle, nous dirons quelle fonctionne ainsi: - Une condition est testée et le code de la boucle est exécuté, si la condition est satisfaite. - Ensuite, la condition est retestée et si elle est toujours « true », elle est re-exécutée. - Et ainsi de suite. Chaque passage de la boucle est appelée une itération. Il existe plusieurs types de boucles, chacun adapté à une situation différente. Nous allons les passer en revue ici: La boucle while La boucle do while La boucle for La boucle foreach (que nous verrons dans le chapitre des tableaux)

La boucle while La boucle while est la plus simple des boucles. Elle présente des ressemblances avec linstruction « if » La boucle while vérifie le résultat dune condition. Selon que la condition est « true » ou « false », la portion de code placée entre accolades (après linstruction conditionnelle) est exécutée. while (la condition est « true ») { Exécuter le contenu des accolades } Une fois le contenu entre accolades exécuté, la condition située juste au dessus est revérifiée. Dans le cas où cest à nouveau « true », le contenu de laccolade est ré-exécuté. Dans le cas où la condition est « false », le code entre accolades est ignoré et lon passe directement à la première ligne de code qui suit les accolades. Exemple sur les mensualités ( compris) Boucles infinies ?

La boucle do while La boucle do while est environ similaire à la boucle « while » si ce nest que linstruction conditionnelle est testée à la fin de la boucle et non au début. Cela implique donc que le contenu des accolades sera appliqué au moins une fois, même si la condition est « false » Ex : do { Exécuter le contenu des accolades } while (la condition est « true ») ; retourner et recommencer ou do { Exécuter le contenu des accolades } while (la condition est « false ») ; sortir de la boucle et passer à la ligne de code suivante Exemple des nombres premiers Cf. Ex while.php

La boucle for La boucle for est idéale pour répéter une section de code un certain nombre de fois Elle offre la possibilité de spécifier le nombre de fois que lon souhaite parcourir la boucle. Cette boucle est plus complexe que la boucle « while » Ex : for (définir le compteur de boucles ; tester le compteur de boucles ; ajouter ou soustraire au compteur) { exécuter le contenu des accolades } Le concept de compteur de boucles est introduit ici. Ex : for ($compteur=1 ; $compteur<=10 ; $compteur++) { echo « Mon nom est Bob ! » ; } La boucle for va : - compter combien de fois la boucle a été parcourue = itérations - puis finir la boucle une fois le nombre défini dépassé. - Sassurer que la valeur du compteur se modifie à chaque itération, doù lapparition de « ++ » qui représente lincrémentation du compteur Cf. Ex for.php

Structures de données Arrays simples et indexés

Introduction Les tableaux sont constitués de variables dindice qui, surtout si elles sont associées à une boucle, peuvent être très efficace. Un tableau est composé dune série de variables qui ont toutes le même nom Chacune de ces variables ayant un indice différent Chaque constituant dun tableau est appelé « élément » On peut créer des tableaux de la même façon quon crée des variables, tant que lon oublie pas de mettre des crochets pour signaler lindice. Ex : $ PaysEurope[1] = « France » ; $ PaysEurope[2] = « Espagne » ; Lordre des n° nest pas important et lon peut même utiliser des caractères Ex : $ PaysEurope[« F »] = « France » ; $ PaysEurope[« E »] = « Espagne » ; $ PaysEurope[« Ch »] = « Suisse » ; On peut également attribuer des valeurs mélangées aux indices des tableaux, à savoir valeur numériques ou caractères.

Initialisation Linitialisation est la définition des valeurs initiales des variables des tableaux $Pays[] = « France » $Pays[] = « Suisse » Sans les crochets, la valeur de la première variable serait automatiquement remplacée par la seconde dans la suite du programme. Labsence de valeur dindice fait que PHP va décider lui-même de stocker les valeurs dans $Pays[0] et $Pays[1]. Pas besoin de prédéfinir les types de données du tableau en indiquant sil sagit de données textuelles ou numériques. Pas besoin de spécifier la taille du tableau avant de le créer

La construction « array » $Pays = array (« France », « Espagne », « Suisse ») ; PHP génère automatiquement les valeurs dindice. Elles commencent à zéro. Les nouvelles valeurs sont insérées dans un élément vide avec la valeur dindice la plus petite. Ex : echo $Pays[2] ; afficherait « Suisse » Ex: $PaysEurope = array (1 => " France ", " Espagne ", " Suisse ", "Hollande", "Belgique", "Portugal", "Angleterre", "Danemark", "Allemagne", "Italie") ; Cf. Ex pays.php

Les itérations dans un tableau Les boucles sont utilisées dans les tableaux, afin déviter un travail laborieux qui consisterait à récupérer individuellement chaque élément du tableau afin de lafficher par exemple. La boucle for : Exemple afficher tous les pays recensés dans notre tableau : for ($compteur=1 ; $compteur<11 ; $compteur++) { echo « $Pays[$compteur] » ; } Commencer à 1 et aller jusquà 10, en augmentant à chaque fois le compteur de 1. Cela donnerait : echo « $Pays[1] » ; echo « $Pays[2] » ; echo « $Pays[3] » ; echo « $Pays[4] » ; echo « $Pays[5] » ; echo « $Pays[6] » ; echo « $Pays[7] » ; echo « $Pays[8] » ; echo « $Pays[9] » ; echo « $Pays[10] » ; Cf. Ex pays.php

Les itérations dans un tableau (suite) Les boucles while ou do while : Ces boucles nous obligent à définir un compteur nous-mêmes $compteur=1; while ($compteur<11) { echo « $Pays[$compteur] » ; $compteur=$compteur+1 ; } Le résultat sera semblable à lexemple précédent. Cf. Ex pays_while.php

La boucle foreach Cette boucle est utilisée lorsque nous avons un tableau avec un nombre déléments inconnu. Elle effectue des itérations jusquà la fin du tableau Pour chaque élément du tableau, on effectue une itération à travers la boucle foreach. foreach ($PaysEurope As $IndicePays => $Pays) { echo " $IndicePays - $Pays "; } $EtatsUnis = nom du tableau $IndiceEtat = nom de variables que lon crée nous-mêmes qui contient les valeurs dindice. $Etat = nom de variables que lon crée nous-mêmes qui contient lélément correspondant Lavantage de cette boucle est que nous navons pas besoin deffectuer le décompte du nombre déléments du tableau, puisquelle la découvre toute seule. En ajoutant un nouvel élément qui ne suit pas les élément déjà présents dans le tableau, la boucle va le prendre en compte et lafficher, sans avoir à vérifier les éléments vides présents entre. Cf. Ex foreach.php

Exemple Exemple sur le programme Attention : comme cest PHP qui a rempli le tableau. Les éléments sont donc stockés de 0 à 9. Les tableaux $PaysMasque et $CapitalesPays ont à présent des indices correspondants. Une boucle va nous permettre daller de lindice 0 à 9. for ($compteur=0; $compteur<50; $compteur++) { if( $PaysMasque[$compteur]==$Pays { echo » La capitale de ce pays dEurope est $CapitalesPays[$compteur] » ; } En gros, pour résumer : si $PaysMasque = au Pays sélectionné par lutilisateur, la valeur dindice peut être récupérée pour récupérer la capitale correspondant dans $CapitalesPays. Si ce nest pas le cas, la boucle « for » poursuit ses itérations jusquà ce quil y ait correspondance. Tableau associatif (p.182) ?? à faire ou pas ??

Les tableaux non-séquentiels Fonctions current() et key() Ces fonctions sont des pointeurs pour conserver la trace dun élément donné lors des déplacements dans un tableau. La fonction current() permet de voir quel élément est en train dêtre utilisé par PHP La fonction key() permet de rechercher la valeur dindice affectée à lélément key est synonyme «d indice » ici. Ex : $ValeurIndiceCourant = key($Realisateur) ; echo ($ValeurIndiceCourant) ; renvoie la valeur dindice du 1er élément placé dans le tableau $ContenuCourant = current($Realisateur) ; echo ($ContenuCourant) ; renvoie la valeur du premier élément. Ajout de ligne ??

Les tableaux non-séquentiels (suite) Fonctions next() et prev() Ces deux fonctions permettent de naviguer au sein des tableaux, ainsi que de trouver la valeur dun nouvel élément ajouté au tableau. Ex : Pour résumer: Pour naviguer dans le tableau, nous utilisons les fonctions next() et prev() Pour afficher la position courrante, les fonctions current() et key()

Les tableaux non-séquentiels (suite) Fonctions list() et each() +itération Les fonctions list() et each() permettent de renvoyer uniquement les éléments du tableau contenant des données, au lieu de passer des données vides qui peuvent être nombreuses. Exemple La fonction list() renvoie dabord la valeur de lindice, puis le contenu de lélément. Et each() ??

Array functions Pour découvrir les array fonctions, cf. Trier les tableaux Il y a plusieurs fonctions de tri de tableau. Passons-en en revue cinq ici. Fonction sort() Fonction qui trie les éléments dun tableau par ordre alphabétique : sort(NomTableau) Fonction asort() Fonction qui trie les éléments dun tableau par ordre alphabétique, mais en conservant les indices de chaîne : asort(NomTableau) Fonction rsort et arsort Tri inversé. Idem que les deux précédentes, mais par ordre décroissant. Fonction ksort Trie le contenu dun tableau associatif en fonction des indices de chaîne. Le principe est le même que pour les autres indices de tri.

Exemples darray functions (suite) Fonctions array_push() et array_pop() Permettent dajouter ou de supprimer un élément à un tableau : Ex : a) array_push($Pays, « Italie », « Suède ») ; ajoute ces deux pays b) $Pays [2] = « Suisse » ; $Pays [1] = « France » ; $Pays [8] = « Espagne » ; $Pays [10] = « Angletterre » ; array_pop($Pays) ; supprime le dernier élément ajouté au tableau (ici « Angleterre »). Mais cette fonction ne supprime quun élément à la fois. Fonctions Implode et Explode Fonctions qui permettent de stocker tout le contenu dun tableau en tant que chaîne ou linverse. Implode concatène les éléments dun tableau et crée une chaîne séparée par un délimiteur. $NomChaine = implode (« délimiteur », $NomTableau) ; Ex : $Pays_separes = implode (« - », $Pays) ; echo ($Pays_separes) ; Cela va donner : Suisse-France-etc Explode produit linverse, cest-à-dire quelle sépare les éléments de la chaîne.

Les tableaux multidimensionnels Nous nen parlerons pas ici. Les tableaux multidimentionnels sont des tableaux de tableau. Ex: NomTableau = array (indice => array (Contenu du tableau)) Ex : annuaire téléphonique Lindice serait « Jessica Claude » et le contenu (« 10 ch. Rieu », 022/----- )»

La portée des variables Les variables locales et globales

Variables locales vs globales Les variables à lintérieur dune fonction ont une portée locale. Elle nexistent quà lintérieur même dune fonction et donc uniquement pour la durée dappel de cette fonction. Les variables dont la durée de vie correspond à la durée de vie dune page ont une portée globale. Illustration: <php? $MessageBienvenue = « Hello world »; VARIABLE GLOBALE Function traduire_message ( $MessageBienvenue) { $MessageFrançais = « Bonjour à tout le monde »; VARIABLE LOCALE return $MessageBienvenue; } traduire_message (); echo $MessageBienvenue; echo $MessageFrançais; ?>

Lexercice

Consignes Reprenez votre exercice STAF 14 de lannée passée et reproduisez-le à laide darray, de boucles et de fonctions, comme nous venons de le voir.