Introduction la programmation I - PowerPoint PPT Presentation

About This Presentation
Title:

Introduction la programmation I

Description:

Sections de code ind pendantes que l'on peut appeler n'importe quel ... Bout de code que l'on peut ins rer comme s'il s'agissait de petit programme ind pendant ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 31
Provided by: Jess331
Category:

less

Transcript and Presenter's Notes

Title: Introduction la programmation I


1
Introduction à la programmation I
  • Fonctions
  • Structures de contrôle
  • Structures de données (arrays simples et
    indexés)
  • Variables locales et globales

2
Les Fonctions
3
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.

4
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)

Cf. Ex1
5
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
  • lt?php
  • Salaire1600 ? Lexécution commence ici
  • TauxCharges25
  • echo (charges(Salaire, TauxCharges)) ? La
    fonction est appelée ici
  • function charges(Salaire, TauxCharges) ? La
    fonction est définie ici
  • Salaire Salaire ((Salaire/100)TauxCharge
    s)
  • return
  • ?gt
  • --------------------------------------------------
    --------------------------------------------------
    --------------
  • lt?php

6
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.
  • Faire des essais

7
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 , cest-à-dire qui
    implique
  • que la valeur passée soit modifiée à lintérieur
    de la fonction.
  • Mais nous ne la verrons pas ici.

8
Structures de contrôle
9
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)

10
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.

11
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

Cf. Ex verifier_do_while.php
12
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 (compteur1  compteurlt10  compteur)
  • echo  Mon nom est Bob !  

Cf. Ex for.php
13
Structures de données
14
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 valeurs qui
    ont toutes le même nom
  • Chacune de ces valeurs 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 
  • PaysEurope1 "France"  
  • PaysEurope2 "Espagne"  
  • Lordre des n nest pas important et lon peut
    même utiliser des caractères
  • Ex 
  • PaysEurope"F" "France"  

15
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
    Pays0 et Pays1.
  • 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

16
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 Pays2  ? afficherait   " Suisse "
  • Ex
  • PaysEurope array (1 gt " France ", " Espagne
    ", " Suisse ", "Hollande", "Belgique",
    "Portugal",
  • "Angleterre", "Danemark", "Allemagne", "Italie")

Cf. Ex pays.php
17
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 (compteur1  compteurlt11  compteur)
  • echo " ltBRgtPayscompteur "  
  • ? Commencer à 1 et aller jusquà 10, en
    augmentant à chaque fois le compteur de 1. Cela
    donnerait
  • echo " ltBRgtPays1  "  
  • echo " ltBRgtPays2  "  
  • echo " ltBRgtPays3  "  
  • echo " ltBRgtPays4  "  
  • echo " ltBRgtPays5  "  

Cf. Ex pays.php
18
Les itérations dans un tableau (suite)
  • Les boucles while ou do while
  • Ces boucles nous obligent à définir un compteur
    nous-mêmes
  • compteur1
  • while (compteurlt11)
  • echo  ltBRgtPayscompteur  
  • compteurcompteur1 
  • Le résultat sera semblable à lexemple précédent.

Cf. Ex pays_while.php
19
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 gt Pays)
  • echo "ltBRgtIndicePays - Pays "
  • PaysEurope nom du tableau
  • IndicePays nom de variables que lon crée
    nous-mêmes qui contient les valeurs dindice.
  • Pays 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.

Cf. Ex foreach.php
20
Les tableaux non séquentiels
  • Les tableaux non-séquentiels sont des tableaux
    qui ne sont pas remplis dans lordre
  • croissant de leur indice, mais dans un ordre
    aléatoire.
  • Ex
  • Taille1234 " Enorme "
  • Taille1 " Minuscule "
  • Taille654 " Très grand "
  • Le problème avec une vérification séquentielle de
    ce genre de tableau est quil risque de ne
    contenir que
  • très peu de valeur en réalité et comporter des
    espaces vide
  • 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.

21
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 
  • Realisateur4 "Orson Welles"
  • Realisateur1 "Carol Reed"
  • Realisateur93 "Fritz Lang"
  • Realisateur24 "Jacques Tourneur"
  • Realisateur "Alfred Hitchcock"
  • next(Realisateur)
  • ValeurIndiceCourant key(Realisateur) 
  • echo (ValeurIndiceCourant) 
  • ? La valeur affichée est 1 et current() renvoie
    le nom  Carol Reed 

Cf. Ex next_prev.php
22
Les tableaux non-séquentiels (suite)
  • Fonctions list() et each()
  • 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.
  • Nous utiliserons la boucle while peut effectuer
    cela
  • while (list(ValeurIndice,ContenuElement)
    each(NomTableau))
  • ValeurIndice à lindice de lélément
  • ContenuElement au contenu de lélément
  • Exemple
  • while (list(ValeurIndiceElement,ContenuElement)
    each(Realisateur))
  • echo "ltBRgtValeurIndiceElement -
    ContenuElement "
  • La fonction list() renvoie dabord la valeur de
    lindice, puis le contenu de lélément.

Cf. Ex list_each.php
23
Array functions
  • Pour découvrir les array fonctions cf.
    http//tecfa.unige.ch/guides/php/php5_fr/ref.array
    .html
  • 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)

24
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 "Angleterre" 
  • 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.

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

26
La portée des variables
  • Les variables locales et globales

27
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
  • ltphp?
  • MessageBienvenue  Hello world  
    ? VARIABLE GLOBALE
  • function traduire_message ( MessageFrancais)
  • MessageFrancais  Bonjour à tout le
    monde  ? VARIABLE LOCALE
  • return MessageFrancais
  • traduire_message ()
  • echo MessageBienvenue
  • echo MessageFrancais
  • ?gt

Cf. Ex variables_locales_globale.php
28
Variables locales vs globales (suite)
  • Utiliser les variables globales à lintérieur des
    fonctions
  • Lexemple de GLOBAL
  • lt?php
  • MessageBienvenue " Hello world "
  • function traduire_message ( MessageFrancais)
  • echo GLOBAL " MessageBienvenue "
  • MessageFrancais " Bonjour à tout le
    monde "
  • return MessageFrancais
  • traduire_message ()
  • echo MessageBienvenue
  • echo (traduire_message(MessageFrancais))
  • ?gt

29
Lexercice
30
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.
  • Lidée est de ne plus utiliser une structure
    envahie de  if ,  then  .
Write a Comment
User Comments (0)
About PowerShow.com