Système d Information. Partie II Programmation en PHP

Dimension: px
Commencer à balayer dès la page:

Download "Système d Information. Partie II Programmation en PHP"

Transcription

1 Système d Information Partie II Programmation en PHP Laurent Orseau UFR d Informatique Département MMIP laurent.orseau@agroparistech.fr AgroParisTech Grignon 1A Année

2 2

3 Table des matières 1 Introduction au PHP Bases de la programmation Premier programme Notion d exécution Valeurs et types Opérateurs, opérandes, opérations et résultats La fonction infos_expr Conversions de types Expressions et réduction d expressions Variables Affectation de valeur à une variable Autres opérateurs d affectations Conventions et nom de variables Notion de bloc d instructions Structures de contrôle La condition if Utilisation du else Imbrication des conditions Les fonctions Un premier exemple Variables locales Arguments multiples Valeur de retour Valeur par défaut Forme générale d une fonction Plusieurs fonctions Signatures simplifiées Avantages de l utilisation de fonctions La boucle while Imbrications La boucle do...while La boucle for Tableaux

4 Parcours en boucle La boucle foreach Tableaux associatifs Le paquetage AgroSIXPack Introduction Installation et utilisation Affichage Formulaires : Interaction avec l utilisateur Création et affichage de formulaires Traitement des données de formulaire Sessions Modification du style PHP/MySQL Connexion à la base de données Exécution de requêtes SQL Requêtes de type SELECT Autres types requêtes Requêtes paramétrées : Échappement des apostrophes Fermeture de la connexion à la base Exemple complet Autres fonctions utiles Chaîne en SQL Noms et identifiants dans une liste déroulante Pour aller plus loin Travaux Dirigés PHP 74 TD 1 : Valeurs, expressions, variables, conditionnelle Exercice 1 : Premiers pas avec l évaluateur Exercice 2 : Premiers pas Exercice 3 : Types et expressions Exercice 4 : Variables et affectations Exercice 5 : Conditionnelle Exercice 6 : [Bonus] Diviseurs TD 2 : Fonctions et variables Exercice 1 : Premier programme Exercice 2 : Correction d erreurs Exercice 3 : Fonction de concaténation de chaînes de caractères Exercice 4 : Fonctions Exercice 5 : Variables locales Exercice 6 : Multilinguisme TD 3 : Boucles

5 5 Exercice 1 : 99 Bouteilles de bière Exercice 2 : Triangle TD 4 : Tableaux et boucles Exercice 1 : Manipulation de tableaux Exercice 2 : Jeux de mots Exercice 3 : [Bonus] Vente en ligne TD 5 : Formulaires Exercice 1 : Formulaires TD 6 : Formulaires 2 et Sessions Exercice 1 : ADN Exercice 2 : Compteur Exercice 3 : [Bonus] Blackjack TD 7 : PHP/MySQL Exercice 1 : Les Simpson TD 8 : [Bonus] Labyrinthe TD 9 : [Bonus] Réseau social A PHP : Addendum 112 A.1 Quelques fonctions et structures supplémentaires A.1.1 Tests de types A.1.2 print_r A.1.3 rand A.1.4 include A.1.5 break A.1.6 isset A.1.7 array_key_exists A.1.8 unset A.1.9 str_split A.2 Chaînes de caractères A.2.1 Guillemets simples et doubles, échappement de guillemet A.3 Variables globales A.4 Gestion des erreurs B Indentation en PHP 118 C Ressources et aide en ligne 120 D Utiliser Notepad++, PHP et MySQL chez vous 121 D.1 Éditeur de texte : Notepad D.2 Navigateur : Firefox D.3 Serveur Apache/Base de données : EasyPHP D.3.1 Configuration d EasyPHP D.4 Paquetage AgroSIXPack

6 Chapitre 1 Introduction au PHP Que ce soit dans un régulateur de chauffage, dans un téléphone portable, dans une montre, dans une voiture, dans une machine agricole ou bien sûr dans un ordinateur, dès qu il y a un peu d électronique, il y a de la programmation. Tout logiciel (tableurs, jeux, logiciels de gestion et comptabilité, de traitement de texte, etc.) a été programmé. La plupart du temps, les logiciels sont suffisamment bien faits pour que l on n ait pas à savoir programmer. Mais comprendre la manière dont un ordinateur fonctionne est un atout important pour n importe quel utilisateur. Du fait de l omniprésence actuelle des ordinateurs, connaître la programmation (sans avoir besoin de la maîtriser) est aujourd hui une nécessité, surtout pour un ingénieur, quelque soit sa discipline. Car savoir programmer c est pouvoir demander à la machine de faire des tâches répétitives automatiquement, beaucoup plus rapidement, avec une plus grande fiabilité, pour un minimum de coût. Il est alors possible de déléguer à l ordinateur toutes sortes de tâches fastidieuses, permettant un gain de temps et d énergie, et ainsi aussi de se focaliser sur des tâches plus importantes. Similairement aux langages humains, un langage de programmation est un outil de communication, permettant au programmeur de dialoguer avec l ordinateur avec une grammaire, une syntaxe et un vocabulaire que les deux parties comprennent. En 1994, Rasmus Lerdorf a créé le langage PHP (pour "PHP : Hypertext Preprocessor") pour gérer son propre site Web. PHP s avéra fort utile et de nombreuses personnes commencèrent à l utiliser. Il existe d autres langages pour la création de sites Web dynamiques, comme Java, l ASP, etc. Les avantages du PHP sont qu il est libre 1 et gratuit, aujourd hui très répandu, et assez facile d utilisation, tout en restant relativement complet, et permet notamment un interfaçage simple avec des bases de données. Le PHP est un langage de programmation au même titre que Matlab, C, Python ou Java, avec lesquels il partage de nombreux points communs. Sa particularité est d être très pratique pour créer des sites Web ; cependant nous l utiliserons comme simple outil de programmation, l aspect "site Web" ne nous intéressant que pour obtenir un rendu visuel. Nous n apprendrons donc pas à créer un site Web 2. De par les nombreuses similitudes et 1. Ce qui signifie principalement qu on a le droit de l utiliser, de le modifier et de le redistribuer librement, mais attention cependant à bien lire les termes de la licence. 2. De nombreux systèmes de gestion de contenu existent et sont bien plus adaptés pour cette tâche : 6

7 1.1. BASES DE LA PROGRAMMATION 7 les bases communes entre PHP et d autres langages de programmation (C, Java, Python, BASIC, Pascal, Lisp,...), apprendre l un d entre eux correctement permettra par la suite l acquisition d un autre langage avec une grande facilité, si vous en aviez le besoin. Nous commencerons par voir les bases de la programmation en PHP, à travers les expressions, les variables, les fonctions, les boucles et les tableaux. Ensuite nous détaillerons le paquetage AgroSIXPack qui permet de s abstraire de l aspect technique et pédagogiquement peu intéressant dans ce cours de la création de site Web et de l interface utilisateur, pour se concentrer sur l aspect programmation. Enfin, nous utiliserons PHP avec MySQL pour effectuer des requêtes sur une base de données. 1.1 Bases de la programmation La plupart des langages de programmation possèdent les éléments suivants : des valeurs et des expressions qui sont des calculs sur ces valeurs, des variables, permettant de stocker des valeurs, des tableaux ou des listes, qui sont une succession de variables que l on peut parcourir automatiquement, des branchements conditionnels, permettant d effectuer certaines instructions selon la valeur de certaines variables, des boucles d itération, permettant d effectuer un même bloc d instructions plusieurs fois de suite, jusqu à ce qu une condition d arrêt soit vérifiée, des fonctions, qui permettent entre autres d éviter d écrire plusieurs fois les mêmes choses. un certain nombre de fonctions prédéfinies, permettant d afficher des valeurs à l écran, lire/écrire dans des fichiers, faire des calculs arithmétiques, etc., Être capable d utiliser ces éléments, c est être capable de programmer, peu importe le langage, quasiment. PHP possède ces éléments et nous les détaillerons un par un dans la suite. Nous commencerons par les valeurs et expressions, les variables et les fonctions, car ce sont les points les plus importants de la programmation. Une fois ces éléments bien acquis, le reste devrait sembler logique et donc facile à acquérir. 1.2 Premier programme Le code source d un programme est un texte lisible à la fois par un humain et par l ordinateur. Il s agit d une suite d instructions que l ordinateur exécutera de la même manière qu une recette de cuisine, c est-à-dire en lisant les lignes une par une, dans l ordre, et en exécutant une action (ou plusieurs) à chaque ligne. Voici un tout premier programme PHP :

8 8 CHAPITRE 1. INTRODUCTION AU PHP 1 <?php 2 function main() { 3 // Message de bienvenue : 4 printline( Bonjour le monde! ); 5 } 6?> Ce programme, une fois exécuté sur l ordinateur, affiche à l écran : Bonjour le monde! Remarquons plusieurs parties : <?php apparait toujours en début de programme et?> toujours à la fin. Ces "balises" signifient qu à l intérieur il y a du code PHP. Si elles ne sont pas présentes, le texte n est pas considéré comme du PHP et ne peut donc pas être exécuté. Nous déclarons ensuite la fonction main (pour fonction principale en anglais) dont la définition se trouve entre les accolades. Il est obligatoire de déclarer 3 cette fonction main. Dans la suite de ce chapitre, nous l omettrons la plupart du temps pour nous concentrer sur l important, sauf dans les exemples de programmes entiers ; de même, nous omettrons la plupart du temps les <?php?>. À l intérieur de la fonction main, une instruction fait appel à la fonction prédéfinie printline, qui affiche à l écran ce qui lui est donné en argument, dans les parenthèses, puis passe une ligne. Le texte à afficher à l écran est écrit dans le programme avec des guillemets car cela permet à l ordinateur de savoir qu il ne faut pas chercher à interpréter ce qui est entre guillemets comme des instructions, mais de le considérer comme du texte simple, sans signification particulière pour le programme. À la fin de l instruction, il y a un point virgule " ;" pour signaler à l ordinateur que l instruction courante s arrête là ; c est un point de repère permettant de séparer les instructions. Le texte commençant par // est un commentaire, il n est donc pas interprété par PHP, qui passe directement à la ligne suivante. On peut mettre plusieurs lignes de commentaires entre /* et */ : 1 // Commentaire sur une ligne 2 3 /* 4 Commentaire 5 sur plusieurs 6 lignes 7 */ 3. À noter que l obligation de déclarer une fonction main est due au paquetage AgroSIXPack, que nous détaillerons dans un prochain chapitre.

9 1.3. VALEURS ET TYPES Notion d exécution L ordinateur, lorsqu il reçoit une fichier PHP à exécuter, regarde chaque ligne l une après l autre. Chaque ligne de code comprend une ou plusieurs instructions que l ordinateur exécute dans l ordre. Le programme suivant : 1 <?php 2 function main() { 3 printline( Bonjour le monde! ); 4 printline( Au revoir. ); 5 } 6?> affichera toujours : Bonjour le monde! Au revoir. et jamais : Au revoir. Bonjour le monde! Par la suite, nous suivrons le cours de l exécution d un programme PHP à l aide d un pointeur d instruction. Ici, le pointeur d instruction est tout d abord positionné sur l instruction de la ligne 3, c est-à-dire la première instruction de la fonction main, laquelle est exécutée. Le pointeur se déplace ensuite sur l instruction suivante, à la ligne 4, qui est alors aussi exécutée, et ainsi de suite dans l ordre jusqu à la fin du programme, c està-dire jusqu à atteindre l accolade fermante de la fonction main. Cet ordre linéaire sera suivi la plupart du temps, mais de temps en temps le pointeur d instruction sautera à une autre ligne. 1.3 Valeurs et types En PHP, comme dans de nombreux langages de programmation, les différentes valeurs que l on peut manipuler sont de différents types. Voici les principaux types que nous allons utiliser. Le type int (pour l anglais integer, entier) correspond aux nombres entiers, comme 5 et -2. Le type float correspond aux nombres à virgule flottante, c est-à-dire simplement les nombres à virgule, bien qu on utilise en réalité un point conformément à la notation anglo-saxonne, par exemple Le type string correspond aux chaînes de caractères, c est-à-dire à du texte que l on peut manipuler, que l on note entouré de guillemets simples, comme par exemple ceci est une chaîne de caractères ou bien : un peu de texte, pour la forme.

10 10 CHAPITRE 1. INTRODUCTION AU PHP Le type boolean 4, abrégé en bool, correspond aux deux seules valeurs true et false. Il existe d autres types que nous verrons plus tard, comme le type array pour les tableaux (cf. section 1.13), et le type ressource (cf. section 3) Opérateurs, opérandes, opérations et résultats Une grande partie de ce qu un programme fait est de manipuler des valeurs, c està-dire prendre des valeurs d entrée, les transformer en utilisant des opérateurs et des fonctions, pour produire des valeurs de retour, qui sont peuvent être affichées à l écran. Nous avons déjà vu quelques fonctions, comme le main et printline, et nous détaillerons le mécanisme général des fonctions en section 1.9. Concentrons-nous un instant sur les opérateurs. Il s agit ni plus ni moins d opérateurs au sens mathématique, à quelques différences près. Un opérateur typique est l addition +, qui produit un nombre c à partir de deux nombres a et b, ce que l on note : a+b c. Les valeurs a et b sont appelées les opérandes, et c est appelé le résultat, ou la résultante. Notez bien que nous avons utilisé le signe à la place du signe =, et c est là toute la différence avec les mathématiques : Un programme opère une transformation des valeurs, là où les mathématiques expriment des faits comme des (in)égalités ou des équations. Par exemple, se lit l addition entière de la valeur 5 de type int et de la valeur 4 de type int produit la valeur 9 de type int, et signifie que lorsque PHP rencontre l opération 5+4, il la remplace par la valeur résultante, soit 9. On dit que PHP effectue une réduction d expression. La valeur résultante a elle aussi un type, qui est int dans le cas précédent. Types int et float Tout nombre ayant un point. est considéré comme un nombre à virgule flottante. Par exemple 5 est du type int, alors que 5. est du type float. Les opérateurs courants du type int et float sont les opérateurs arithmétiques habituels, comme l addition +, la soustraction -, la multiplication * et la division /. Ces opérateurs produisent une valeur du type int ou float. L opérateur modulo % (le reste de la division entière de x par y) produit toujours un résultat de type int, même si ses opérandes sont de type float, par exemple 7.3 % 4.2 produit la valeur entière 3. Il existe aussi des opérateurs de comparaison entre valeurs. Voici les plus courants : 4. D après George Boole, qui inventa l algèbre de Boole au XIXè siècle, permettant de faire des calculs à partir des seules valeurs true et false.

11 1.3. VALEURS ET TYPES 11 Opérateur A === B A!== B A < B A > B A <= B A >= B Signification vaut true ssi l expression A a la même valeur calculée que B true ssi A est différent de B true ssi A est inférieur à B true ssi A est supérieur à B true ssi A est inférieur ou égal à B true ssi A est supérieur ou égal à B Notez bien que la comparaison d égalité est l opérateur === et non =, qui a une toute autre signification que nous verrons plus tard 5. Ces opérateurs produisent une valeur de type bool, c est-à-dire qu ils disent si oui ou non la comparaison est vérifiée. Nous utiliserons ces opérateurs notamment dans la section 1.8. Par exemple, -1 > 5 produit la valeur false. Type string Les chaînes de caractères, du type string, sont simplement du texte écrit entre guillemets simples comme Ceci est une chaîne. L opérateur principal sur les chaînes de caractères est l opérateur de concaténation. qui produit une nouvelle chaîne à partir de deux chaînes, en les juxtaposant. Par exemple bon. jour produit la valeur bonjour, ce que l on note : bon. jour bonjour Il est possible de comparer deux chaînes de caractères avec les opérateurs === et!==, qui produisent là aussi une valeur de type bool. Remarque : Puisque les chaînes de caractères sont entourées de guillemets simples (qui sont en fait des apostrophes), ajouter une apostrophe au milieu de la chaîne risque de casser la chaîne. Par exemple, pour PHP Avec l apostrophe c est mieux est en fait la chaîne Avec l, suivie de apostrophe c qui n est pas une chaîne et ne veut rien dire du point de vue du langage, suivi de est mieux qui est à nouveau une chaîne de caractères. PHP ne traitera donc pas ceci comme une seule chaîne, et affichera une erreur. Comment faire alors? Comme dans de nombreux langages de programmation, en PHP il faut faire précéder les apostrophes par des antislash \ (ou backslash, que l on peut trouver sur le clavier avec la combinaison Alt-Gr et 8), ce qui donne la chaîne de caractères : 1 Avec l\ apostrophe c\ est mieux Ainsi, si on souhaite l afficher avec un printline : 1 printline( Avec l\ apostrophe c\ est mieux ); cela affiche bien à l écran : 5. Il existe aussi un opérateur ==, similaire à ===, mais plus permissif. Bien que pratique, il peut être dangereux à utiliser si l on ne connaît pas son comportement exact. C est pourquoi nous préférons utiliser ===.

12 12 CHAPITRE 1. INTRODUCTION AU PHP Avec l apostrophe c est mieux Type bool Les valeurs booléennes true et false sont rarement utilisées telles quelles, car on les utilise généralement en tant que résultat d une opération produisant une valeur booléenne. Par exemple, 5 < 7 produit la valeur booléenne true, alors que bonjour === bonjour! produit la valeur false. Les opérateurs sur les booléens (sur les valeurs true et false) sont appelés opérateurs logiques. Il s agit principalement 6 des opérateurs et logique &&, ou logique et non logique!. Leurs opérandes sont de type bool, ainsi que leur valeur produite. Opérateur Signification A && B vaut true si à la fois A et B ont la valeur true A B vaut true si A ou B ou les deux ont la valeur true!a non(a) : vaut true si A est false et réciproquement Par exemple, true && false produit false (et vaut donc la valeur false), alors que true false produit true La fonction infos_expr La fonction infos_expr permet d afficher à l écran des informations concernant le résultat d une expression, d une opération ou simplement d une valeur. Par exemple l instruction : 1 infos_expr(35); affiche : int(35) signifiant que la valeur est 35 et qu elle est de type int. De même, 1 infos_expr( 2 > 6 ); affiche : bool(false) signifiant que le résultat de l opération est de type bool, et que la valeur de ce résultat est false. Et infos_expr( bon. jour ); affiche : 6. Il existe des opérateurs and et or, mais ils ont un comportement légèrement différent des et &&, et par précaution, il vaut mieux ne pas les utiliser. Pour plus d information : manual/fr/language.operators.logical.php

13 1.4. EXPRESSIONS ET RÉDUCTION D EXPRESSIONS 13 string(7) "bonjour" où 7 est le nombre de caractères que contient la chaîne Conversions de types Certaines fonctions de PHP permettent de transformer des valeurs d un type dans un autre type. Par exemple, pour transformer un int ou un float en string, on peut utiliser la fonction strval, ce qui donne : strval(4.2) 4.2 Dans l autre sens, on peut extraire un nombre à partir d une chaîne de caractères, en utilisant intval ou floatval, par exemple : floatval( 4.2 ) 4.2 Remarque : L opérateur de concaténation convertit automatiquement les nombres en chaînes de caractères, c est-à-dire qu il utilise strval de manière invisible, ce qui permet de simplifier l écriture de : 1 printline( Nombre :. strval(10)); en : 1 printline( Nombre :. 10); 1.4 Expressions et réduction d expressions Une expression est une composition d opérations et d opérandes, qui peut être réduite (transformée), possiblement plusieurs fois de suite, de sorte à n obtenir plus qu une unique valeur irréductible, la résultante finale. Par exemple, 5+4*8-2 est une expression, de même que bonjour, qui elle est une expression irréductible. On peut donc aussi dire qu une expression est soit une valeur, soit une opération sur des (sous-)expressions. Développons la manière dont PHP réduit l expression 5+4*8-2. Tout d abord, il commence par réduire la multiplication, car il sait que cette opération est prioritaire sur l addition et la soustraction : 5+4* PHP effectue d abord l opération 4*8, récupère la valeur produite 32, et remplace cette opération par sa valeur. L addition et la soustraction ayant la même priorité, PHP commence par la première : Enfin il termine par la soustraction : ce que produit donc la valeur finale 35, de type entier. En effectuant toutes ces réductions élémentaires, l une après l autre, par ordre de priorité, PHP peut calculer le résultat de toute expression, aussi complexe soit-elle. L opérateur. de concaténation de chaînes peut lui-aussi être utilisé plusieurs fois dans une expression, par exemple : bon. jour. le. monde bonjour. le. monde bonjour le. monde bonjour le monde

14 14 CHAPITRE 1. INTRODUCTION AU PHP Voici un exemple un peu plus complexe. L expression : floatval(strval(12)... strval(34))+ 5 est tout à fait valide, et sa réduction produit la valeur de type float : floatval(strval(12)... strval(34))+ 5 floatval( strval(34))+ 5 floatval( 12.. strval(34))+ 5 floatval( )+ 5 floatval( ) D ailleurs, l instruction : 1 infos_expr(floatval(strval(12)... strval(34)) + 5); affiche bien : float(17.34) Remarque : Dans toute expression, la priorité peut être forcée en utilisant les parenthèses. Par exemple : (5+4)*8-2 9*8-2. Ainsi, pour éviter tout problème de priorité entre les opérateurs, c est-à-dire quels opérateurs agissent en premier, ainsi que pour faciliter la lecture et la compréhension, il est conseillé d entourer les expressions dont la signification n est pas évidente avec des parenthèses. Remarque : Il est important de noter que tout n est pas expressions en PHP. Par exemple, printline(5+4) n est pas une expression (il s agit cependant d une instruction), car elle ne fait qu afficher ce résultat à l écran, et ne produit pas une valeur que l on peut utiliser dans une expression plus grande. En effet, si c était une expression, on aurait le droit d écrire quelque chose comme 5*printline(5+4), mais ce n est pas le cas. Remarque : Il est généralement possible de déterminer le type de retour d une expression sans même effectuer le calcul. Par exemple, dans l expression 5.3+4*8-2, on peut remplacer les valeurs par leur type : float + int * int - int, et l on peut appliquer les réductions de la même manière, si l on connaît le type de retour des opérateurs utilisés. Ici, la multiplication d entiers produit un entier : float + int * int - int float + int - int. Puis l addition entre un flottant et un entier produit un flottant : float + int - int float - int. Et enfin la soustraction entre un flottant et un entier produit aussi un flottant : float - int float. Ainsi, le type résultant de l expression 5.3+4*8-2 sera float. Note : Au final, le résultat d une expression, pour qu il soit utile à quelque chose, doit être utilisé dans une instruction (comme printline). Par exemple, l instruction suivante, seule, est inutile : 1 $x+2*$y;

15 1.5. VARIABLES 15 car le résultat du calcul n est utilisé d aucune façon. C est un calcul "dans le vide", au contraire de : 1 printline($x+2*$y); Nous verrons par la suite d autres manières de réutiliser un résultat. 1.5 Variables Les variables sont des cases mémoires de l ordinateur dans lesquelles on peut stocker des valeurs. Il est possible de lire le contenu d une telle case ou de le modifier. La valeur que contient une variable peut changer au cours du temps (au cours des exécutions des instructions), et le comportement du programme dépendra de ces variables. En PHP, une variable est identifiée par le symbole $ suivi d une suite de caractères représentant son nom, par exemple $couleur. Lorsqu une variable est utilisée dans une expression, elle est automatiquement remplacée par sa valeur. Par exemple, supposons que la variable $un_nombre contienne la valeur 42. L expression 10*$un_nombre+5+$un_nombre se réduit alors comme suit : 10*$un_nombre+5+$un_nombre 10*42+5+$un_nombre $un_nombre 425+$un_nombre De même, si la variable $une_chaine contient la valeur bonjour, l expression $une_chaine. le monde sera réduite en bonjour le monde. Pour afficher la valeur que contient la variable, il suffit alors de faire : 1 $x = 42; 2 printline($x); Ici, il n y a pas de guillemet autour de $x dans l appel au printline, car PHP doit d abord transformer la variable $x en son contenu, ce qui revient à transformer l instruction en : 1 printline(42); Le type de la valeur que contient une variable définit l ensemble des opérations que l on peut effectuer sur la variable, et l on dit aussi qu il s agit du type de la variable Affectation de valeur à une variable Une variable contient une valeur ; on peut donc soit utiliser cette valeur, soit la modifier. Pour modifier la valeur de la case mémoire d une variable, on utilise une affectation avec le signe = (à ne pas confondre avec le signe ===, qui sert lui à comparer des valeurs).

16 16 CHAPITRE 1. INTRODUCTION AU PHP À la gauche du signe =, on place la variable dont on veut modifier la valeur. À la droite du signe =, on place la valeur : 1 $x = 42; La valeur de $x ne sera modifiée qu une fois que le programme aura exécuté cette instruction. Attention! Il ne s agit pas du signe = mathématique, mais bien d une instruction de modification d état. Il serait plus correct de lire à la place du signe =, par exemple : 1 $x 42; ce qui signifierait "faire l action de mettre la valeur 42 dans la case mémoire de la variable $x" ou plus simplement "$x reçoit la valeur 42". Cette opération s effectue toujours de la droite vers la gauche, jamais dans l autre sens. La modification de la variable prend effet au moment où PHP exécute l instruction d affectation. L ordre des instructions est donc toujours primordial. Par exemple, dans le code : 1 $x = 42; 2 printline($x); 3 4 $x = 17; 5 printline($x); 6 7 $x = 23; 8 printline($x); les instructions sont exécutées dans l ordre donc l ordinateur affiche successivement les valeurs 42, puis 17, puis 23. À la fin de l exécution du programme, $x a donc la valeur 23. À la droite du signe =, on peut tout à fait mettre une expression composée plutôt qu une simple valeur : 1 $nombre = 5*7-intval( 5. 2 ); Dans ce cas, PHP commence par réduire l expression avant d assigner la résultante à la variable. Ainsi, l instruction : 1 $nombre = $nombre + 1; incrémente la variable $nombre de 1, c est-à-dire que sa valeur est augmentée de 1. Exercice 1 Que fera le programme suivant?

17 1.5. VARIABLES 17 1 <?php 2 function main() { 3 $i = 5; 4 printline($i); 5 6 $i = $i+1; 7 printline($i); 8 9 $i = $i+10; 10 printline($i); 11 } 12?> Autres opérateurs d affectations L opérateur = est suffisant pour tout type d affectation, mais il existe d autres opérateurs qui permettent d écrire plus simplement certaines affectations courantes. Voici quelques-uns des plus utilisés : Opérateur Signification $x++ $x = $x + 1 $x-- $x = $x - 1 $x += A $x = $x + A $x -= A $x = $x - A $s.= C $s = $s. C Par exemple : 1 $x = 5; 2 $x += 10; 3 printline($x); affichera 15, et : 1 $x = 5; 2 $x++; 3 printline($x); affichera 6. De même que l opérateur. permet de concaténer deux chaînes de caractères, l opérateur.= permet d augmenter à droite le contenu de la variable avec une chaîne de caractères :

18 18 CHAPITRE 1. INTRODUCTION AU PHP 1 $nom = Jean ; 2 $nom.= -Sébastien ; 3 $nom.= Bach ; 4 printline( Votre nom :. $nom); affichera : Votre nom : Jean-Sébastien Bach Conventions et nom de variables Il est conseillé de n utiliser que des caractères alphabétiques (pas de symbole particulier comme + etc.) dans les noms des variables. Les caractères accentués ne sont pas recommandés. Le symbole _ (sous la touche 8) peut cependant être utilisé pour séparer les mots lorsque la variable possède un nom composé : $vitesse_electron. Les chiffres peuvent apparaître, mais jamais en début de nom. Il est par ailleurs vivement conseillé d utiliser des noms de variables explicites (par exemple $hauteur ou $couleur_yeux) plutôt que des noms abscons comme $toto ou $a. 1.6 Notion de bloc d instructions Nous allons souvent avoir besoin de regrouper une suite donnée d instructions. C est ce que l on appelle un bloc d instructions, et il commence toujours par une accolade ouvrante { et finit toujours par une accolade fermante } : 1 2 { 3 instruction1 4 instruction2 5 instruction } Voici un exemple de bloc d instructions : 1 2 { 3 $taille = 79; 4 printline( la taille est. $taille); 5 $forme = rectangulaire ; 6 printline( la forme est. $forme); 7 } Notez le passage à la ligne après la première accolade ainsi qu avant l accolade fermante. Notez aussi que tout ce qui se trouve à l intérieur du bloc d instructions a été décalé vers la droite d un nombre fixe d espaces (4 semble une valeur convenable). Comme

19 1.7. STRUCTURES DE CONTRÔLE 19 nous le verrons par la suite, une fois que l on a fermé le bloc d instructions, on revient au même niveau que les accolades. Cela s appelle l indentation. On dit que les lignes ont été indentées, ou tabulées. L indentation est très importante pour rendre un programme lisible par l homme (généralement la machine n en a pas besoin). Lire la section B pour plus de détails sur la nécessité de l indentation. Les blocs d instructions sont nécessaires aux structures de contrôle. 1.7 Structures de contrôle Les structures de contrôle sont des éléments de base des langages de programmation qui permettent de modifier le comportement du programme selon la valeur des variables. Normalement, les instructions sont exécutées les unes à la suite des autres, dans l ordre. Les structures de contrôle (de l ordre d exécution des instructions) permettent de modifier cet ordre au moment de l exécution du programme. Elles sont de trois sortes : les conditions, les fonctions, les boucles. 1.8 La condition if La condition if permet d exécuter une suite d instructions uniquement dans le cas où un test donné est vérifié. Par exemple : 1 if($x > 5) { 2 printline( x est supérieur à 5 ); 3 } (Notez aussi la tabulation ajoutée à l intérieur des accolades, pour avoir une indentation claire.) Ce qui se trouve entre les parenthèses qui suivent le if s appelle le test de la condition. Un test est une expression dont le calcul doit arriver soit à la valeur true, soit à la valeur false. Tout ce qui se trouve dans les accolades suivant le if est appelé le corps du if, et sera traité uniquement si le test de la condition est vérifié, donc si le résultat de l expression du test est true. Les instructions du bloc d instructions suivant le if seront soient toutes exécutées, soit aucune. Pour effectuer le test du if, on utilise des opérateurs de comparaison (cf. section 1.3.1). Par exemple : 1 if($x === 5) { 2 printline( x est égal à 5 ); 3 }

20 20 CHAPITRE 1. INTRODUCTION AU PHP Ces opérateurs permettent aussi de comparer des expressions et non seulement des variables ou des valeurs simples : 1 if($x+3 === $y*$z) { 2 printline( Ok ); 3 } Dans un telle expression, on peut combiner plusieurs comparaisons en une seule en utilisant des opérateurs logiques (cf. section 1.3.1). Par exemple : 1 if( ( $x > 100 && $x < 200 ) ($x > 500) ) { 2 printline( 100 < x < 200 ou bien x > 500 ); 3 } Utilisation du else Il est possible d exécuter des instructions dans le cas où le test du if a échoué (le test vaut false). Il faut pour cela utiliser le mot-clef else : 1 if($x > 5) { 2 printline( x est supérieur à 5 ); 3 } else { 4 printline( x est inférieur ou égal à 5 ); 5 } Notez que le else se trouve entre l accolade fermante des instructions du cas où le test est true, et l accolade ouvrante du cas false Imbrication des conditions Il est tout à fait possible d imbriquer les conditions :

21 1.8. LA CONDITION IF 21 1 $max = 0; 2 if($x > $y) { 3 printline( x est supérieur à y ); 4 if($x > $z) { 5 printline( x est la plus grande valeur des trois ); 6 $max = $x; 7 } else { 8 printline( z est la plus grande valeur des trois ); 9 $max = $z; 10 } 11 } else { 12 printline( y est supérieur à x ); 13 if($y > $z) { 14 printline( y est la plus grande valeur des trois ); 15 $max = $y; 16 } else { 17 printline( z est la plus grande valeur des trois ); 18 $max = $z; 19 } 20 } mais en gardant à l esprit que le test if($x > $z) (par exemple) ne se fera que si la condition du if($x > $y) est vérifiée. Lorsque beaucoup de if et de else s enchaînent, il est préférable d utiliser des else if (ou elseif) successifs plutôt que de multiplier les imbrications de blocs d instructions. C est-à-dire, au lieu de : 1 if($x < 0) { 2 printline( x est négatif ); 3 } else { 4 if($x < 10) { 5 printline( x est inférieur à 10 ); 6 } else { 7 if($x < 100) { 8 printline( x est inférieur à 100 ); 9 } else { 10 printline( x est supérieur ou égal à 100 ); 11 } 12 } 13 } il est préférable d écrire :

22 22 CHAPITRE 1. INTRODUCTION AU PHP 1 if($x < 0) { 2 printline( x est négatif ); 3 } else if($x < 10) { 4 printline( x est inférieur à 10 ); 5 } else if($x < 100) { 6 printline( x est inférieur à 100 ); 7 } else { 8 printline( x est supérieur ou égal à 100 ); 9 } La forme générale du if est donc la suivante : 1 if( test ) { 2 instruction 3 instruction } else if( test ) { 6 instruction 7 instruction } else if( test ) { 10 instruction 11 instruction } else { 15 instruction 16 instruction } où les instructions peuvent contenir elles aussi des if. Chaque test est une expression qui, une fois réduite, doit avoir la valeur true ou false.

23 1.9. LES FONCTIONS Les fonctions Les fonctions servent à se simplifier la vie, non seulement lors de l écriture d un programme, mais aussi lors de sa modification si l on veut en changer le comportement. Elles sont un champ fondamental de quasiment tous les langages de programmation Un premier exemple Supposons que l on veuille créer un programme affichant le résultat suivant : Salut Gérard, Ici à Helsinki il fait beau et chaud, À bientôt, Alfred. Salut Sophie, Ici à Helsinki il fait beau et chaud, À bientôt, Alfred. Salut Marion, Ici à Helsinki il fait beau et chaud, À bientôt, Alfred. Le premier programme qui vient à l esprit est de simplement afficher ce que l on souhaite, ligne par ligne : 1 function main() { 2 printline( Salut Gérard, ); 3 printline( Ici à Helsinki il fait beau et chaud, ); 4 printline( À bientôt, ); 5 printline( Alfred. ); 6 printline( ); 7 printline( Salut Sophie, ); 8 printline( Ici à Helsinki il fait beau et chaud, ); 9 printline( À bientôt, ); 10 printline( Alfred. ); 11 printline( ); 12 printline( Salut Marion, ); 13 printline( Ici à Helsinki il fait beau et chaud, ); 14 printline( À bientôt, ); 15 printline( Alfred. ); 16 printline( ); 17 } Mais comment faire pour se simplifier la vie au maximum? Il serait mieux de ne pas avoir à réécrire plusieurs fois la même chose. Pour cela, on utilise une fonction. Le programme précédent s écrit alors :

24 24 CHAPITRE 1. INTRODUCTION AU PHP 1 2 // Définition de la fonction : 3 // $prenom : string 4 function carte_postale($prenom) { 5 printline( Salut. $prenom., ); 6 printline( Ici à Helsinki il fait beau et chaud, ); 7 printline( À bientôt, ); 8 printline( Alfred. ); 9 printline( ); 10 } // Programme principal : 13 function main() { 14 carte_postale( Gérard ); 15 carte_postale( Sophie ); 16 carte_postale( Marion ); 17 } L exécution de ce programme par PHP va produire exactement le même affichage que plus haut. Décortiquons ce programme. Distinguons tout d abord deux parties : la définition de la fonction carte_postale et le programme principal (défini par la fonction spéciale main). Commençons par la fonction carte_postale. Tout d abord il y a l entête de fonction, aussi nommée signature de fonction : 1 // $prenom : string 2 function carte_postale($prenom) (Notez que l accolade ouvrante n est pas incluse dans la signature.) La seconde ligne déclare (grâce au mot clef function) une fonction nommée carte_postale, qui prend en argument une chaîne de caractères. Cet argument est utilisé en interne à la fonction comme une variable, comme l indique le dollar en début de nom, et s appelle aussi une variable d entrée. La première ligne est un simple commentaire, et pourrait donc être omis, mais il a son utilité : il indique que le prénom est censé être du type string, donc une chaîne de caractères, et permet de savoir comment utiliser la fonction. Ce qui se trouve dans les accolades s appelle le corps de la fonction et définit ce qu elle doit faire lorsqu elle est appelée. Il est important de comprendre que la déclaration et la définition de fonction seules ne conduisent pas à l exécution des instructions du corps de la fonction. En effet, ici PHP ne fait que lire la définition (l entête plus le corps), et la stocke dans sa mémoire pour pouvoir l utiliser par la suite, lors d un appel à cette fonction. Passons maintenant au programme principal et la fonction main. Cette fonction est spéciale car elle est automatiquement appelée par PHP lorsqu il lui est demandé d exécuter le fichier contenant le programme. En dehors de cela, il s agit d une fonction comme les autres. On y voit trois appels successifs à la fonction carte_postale, avec les arguments Gérard, puis Sophie, puis Marion. Ces arguments sont bien des chaînes

25 1.9. LES FONCTIONS 25 de caractères (notez les guillemets simples autour des prénoms), comme cela est requis par la fonction et indiqué dans le commentaire de l entête de la fonction pour l argument $prenom. Prenons le premier appel : carte_postale( Gérard ). Lorsqu il exécute cet appel de fonction, PHP fait temporairement prendre à la variable d entrée $prenom la valeur Gérard, puis le corps de la fonction est exécutée. Tout se passe alors (presque) comme si l appel de fonction était remplacé automatiquement par le corps de la fonction, où la variable d entrée prend la valeur qui lui est passée en argument. Pour ce premier appel, PHP transforme automatiquement ainsi le programme ci-dessus en ceci : 1 2 // Définition de la fonction : 3 // $prenom : string 4 function carte_postale($prenom) { 5 printline( Salut. $prenom., ); 6 printline( Ici à Helsinki il fait beau et chaud, ); 7 printline( À bientôt, ); 8 printline( Alfred. ); 9 printline( ); 10 } // Programme principal : 13 function main() { // PHP est en train d effectuer l appel à carte_postale( Gérard ) ; 16 // PHP remplace l appel par le corps de la fonction appelée : 17 { 18 $prenom = Gérard ; printline( Salut. $prenom., ); 21 printline( Ici à Helsinki il fait beau et chaud, ); 22 printline( À bientôt, ); 23 printline( Alfred. ); 24 printline( ); 25 } 26 // Suite du programme principal : 27 carte_postale( Sophie ); 28 carte_postale( Marion ); 29 } Et cette fois les instructions de la fonction sont bien exécutées. Une fois l appel de fonction effectué, et donc les instructions du corps de la fonction exécutées, PHP passera à la ligne suivante dans le programme initial, et tombera à nouveau sur un appel à la fonction carte_postale. Il fera donc comme pour le premier appel, et le développera en le corps de la fonction, mais cette fois avec un autre argument :

26 26 CHAPITRE 1. INTRODUCTION AU PHP 1 2 // Définition de la fonction : 3 // $prenom : string 4 function carte_postale($prenom) { 5 printline( Salut. $prenom., ); 6 printline( Ici à Helsinki il fait beau et chaud, ); 7 printline( À bientôt, ); 8 printline( Alfred. ); 9 printline( ); 10 } // Programme principal : 13 function main() { // Cet appel a déjà été effectué : 16 carte_postale( Gérard ); 17 // On passe maintenant au deuxième appel de fonction : 18 // PHP remplace l appel par le corps de la fonction appelée : 19 { 20 $prenom = Sophie ; printline( Salut. $prenom., ); 23 printline( Ici à Helsinki il fait beau et chaud, ); 24 printline( À bientôt, ); 25 printline( Alfred. ); 26 printline( ); 27 } 28 // Suite du programme principal : 29 carte_postale( Marion ); 30 } Et il en sera de même pour le dernier appel de fonction Variables locales En PHP (et, à nouveau, comme dans de nombreux langages), à l intérieur d une fonction, on ne peut pas utiliser des variables qui sont définies ailleurs que dans la fonction elle-même. Par exemple, le programme suivant ne fonctionne pas : 1 <?php 2 // Définition de la fonction : 3 function carte_postale() { 4 printline( Salut. $prenom., ); 5 printline( Ici à Helsinki il fait beau et chaud, ); 6 printline( À bientôt, ); 7 printline( Alfred. ); 8 printline( ); 9 } // Programme principal :

27 1.9. LES FONCTIONS function main() { 13 $prenom = Gérard ; 14 carte_postale(); 15 } 16?> Ici, la variable $prenom n est pas partagée entre les deux fonctions, il s agit donc de deux variables différentes (bien qu elles aient le même nom). PHP affichera alors le message d erreur suivant : 1 PHP Notice: Undefined variable: prenom on line 4 2 Salut,<br /> 3 Ici à Helsinki il fait beau et chaud,<br /> 4 À bientôt,<br /> 5 Alfred.<br /> 6 <br /> Cette interdiction est intentionnelle, et permet principalement de cloisonner les fonctions. Les programmeurs utilisent couramment de nombreuses fonctions qui ont été créées par d autres programmeurs. Supposons que le programmeur A soit en train d écrire la fonction carte_postale qui utilise donc la variable $prenom. Dans cette fonction, il compte faire appel à une autre fonction afficher_photographie_carte_postale (qui, donc, affiche une photographie sur la carte postale, à côté du texte par exemple). Cette dernière fonction utilise aussi une variable $prenom mais pour un tout autre usage, par exemple pour afficher le prénom du photographe. Cette fonction a été programmée par une autre personne B. Voici ce à quoi ressemble la fonction du programmeur A : 1 // $prenom : string 2 function carte_postale($prenom) { 3 afficher_photographie_carte_postale( cathedrale_helsinki.jpeg ); 4 printline( Salut. $prenom., ); } Si dans la fonction afficher_photographie_carte_postale la variable $prenom était effectivement la même que celle de la fonction carte_postale, sa valeur pourrait être modifiée, et la fonction carte_postale du programmeur A risquerait d afficher le prénom du photographe à la place de celui souhaité. Le programmeur A devrait alors faire très attention aux noms de variable qu il utilise, et s assurer qu aucune des fonctions appelées dans sa fonction n utilise les mêmes variables. De plus, si un problème de ce type apparaissait, il serait impossible de s en rendre compte en lisant simplement le code de la fonction carte_postale ; il faudrait aller vérifier dans les autres fonctions (ce qui serait très agaçant, car on utilise souvent de nombreuses fonctions). Heureusement, en PHP il n en est pas ainsi, et le programmeur A n a pas à se soucier des variables utilisées par les fonctions qu il appelle et peut se contenter de savoir ce que fait une fonction sans avoir besoin de savoir comment elle le fait. Ainsi, même si les noms

28 28 CHAPITRE 1. INTRODUCTION AU PHP des variables sont les mêmes dans les deux fonctions, ce ne sont pas les mêmes variables. Sur le même principe et pour les mêmes raisons, il n est pas possible d avoir accès aux variables d une fonction que l on appelle, hormis évidemment pour le passage des arguments aux variables d entrée. On dit alors que les variables (qu elles soient ou non) d une fonction sont des variables locales à la fonction. Une fonction n a accès qu à ses propres variables, et ses variables n existent qu à l intérieur de cette fonction. Voici un autre exemple. Le programme suivant : 1 <?php 2 function une_fonction() { 3 $x = 3; 4 printline( Dans une_fonction, après modif, valeur :. $x); 5 } 6 7 // Programme principal : 8 function main() { 9 $x = 1; 10 printline( Au début, valeur :. $x); 11 une_fonction(); 12 printline( Après appel, valeur :. $x); 13 } 14?> affichera : 1 Au début, valeur : 1<br /> 2 Dans une_fonction, après modif, valeur : 3<br /> 3 Après appel, valeur : 1<br /> ce qui montre bien que la variable $x présente dans la fonction une_fonction est une variable différente de la variable $x du programme principal. En fait, dans tout programme, on doit pouvoir renommer les variables dans une fonction sans que cela ait d incidence sur le reste du programme. En effet, le programme ci-dessus est strictement équivalent au programme suivant :

29 1.9. LES FONCTIONS 29 1 function une_fonction() { 2 $yyy = 3; 3 printline( Dans une_fonction, après modif, valeur :. $yyy); 4 } 5 6 // Programme principal : 7 function main() { 8 $x = 1; 9 printline( Au début, valeur :. $x); 10 une_fonction(); 11 printline( Après appel, valeur :. $x); 12 } qui affichera donc la même chose. Les variables utilisées à l intérieur d une fonction n ont donc aucun rapport avec les variables qui existent à l extérieur ou dans une autre fonction. Plusieurs fonctions peuvent utiliser chacune une variable ayant le même nom, mais il faut néanmoins considérer qu il s agit de variables différentes. Si vous avez bien compris le principe des variables locales, vous devriez pouvoir répondre à la question suivante. Exercice 2 Pourquoi le programme ci-dessous : 1 <?php 2 function une_fonction() { 3 printline( Dans une_fonction, valeur :. $x); 4 } 5 6 // Programme principal : 7 function main() { 8 $x = 1; 9 printline( Au début, valeur :. $x); 10 une_fonction(); 11 } 12?> produit le message d erreur suivant? 1 Au début, valeur : 1<br /> 2 PHP Notice: Undefined variable: x on line 3 3 Dans une_fonction, valeur : <br /> Arguments multiples Il est possible de passer plusieurs valeurs en argument d une fonction et de son appel. Il faut pour cela séparer les arguments d entrée par des virgules, que ce soient les variables de l entête de fonction ou les valeurs passées en argument. Par exemple :

30 30 CHAPITRE 1. INTRODUCTION AU PHP 1 // $larg : int 2 // $long : int 3 // -> int 4 function aire($larg, $long) { 5 return $larg*$long; 6 } 7 8 // Programme principal : 9 function main() { 10 $largeur = 10; 11 $longueur = 23; 12 $aire_du_rectangle = aire($largeur, $longueur); 13 printline( Aire du rectangle :. $aire_du_rectangle); 14 } Lors de l appel de fonction, PHP utilise l ordre des arguments pour assigner les valeurs passées aux variables d entrée de la fonction. Remarque : Il n y a pas de limite au nombre d arguments que l on peut utiliser, mais en pratique il est rare de dépasser 5 ou 6 arguments Valeur de retour Les fonctions permettent de décomposer un programme en plusieurs morceaux réutilisables. Pour le moment, celles que nous avons vues ne permettaient que d afficher des chaînes de caractères à l écran. Mais les fonctions ont une autre utilité : à l instar des fonctions mathématiques et des opérateurs sur les expressions (cf. section et 1.4), grâce au mot clef return, elles peuvent renvoyer une valeur à celui qui a appelé la fonction. C est-à-dire qu un appel de fonction est une expression, car il calcule une valeur qui peut être utilisée dans une expression plus grande. Pour reprendre le vocabulaire de la section 1.3.1, une fonction utilisant le return est donc comme un opérateur sur des valeurs, où les opérandes sont les arguments et la valeur de retour est la valeur produite par la réduction de l appel de fonction. Prenons un exemple. Supposons que l on veuille faire une fonction qui calcule le carré d un nombre. On pourrait écrire : 1 // $x : int 2 function carre($x) { 3 printline($x*$x); 4 } Supposons maintenant que l on souhaite écrire la fonction : 1 // $x : int 2 function puissance4($x) qui est donc censée élever un nombre à la puissance quatre. Il serait pratique de pouvoir réutiliser la fonction carre que nous venons d écrire (pour

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Rappels sur les suites - Algorithme

Rappels sur les suites - Algorithme DERNIÈRE IMPRESSION LE 14 septembre 2015 à 12:36 Rappels sur les suites - Algorithme Table des matières 1 Suite : généralités 2 1.1 Déition................................. 2 1.2 Exemples de suites............................

Plus en détail

V- Manipulations de nombres en binaire

V- Manipulations de nombres en binaire 1 V- Manipulations de nombres en binaire L ordinateur est constitué de milliards de transistors qui travaillent comme des interrupteurs électriques, soit ouverts soit fermés. Soit la ligne est activée,

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Introduction à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Compléments de documentation Scilab : affichage de texte et formatage de nombres Université des Sciences et Technologies de Lille U.F.R. de Mathématiques Pures et Appliquées Agrégation externe Année 2002-2003 Compléments de documentation Scilab : affichage de texte et formatage de

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

EXCEL TUTORIEL 2012/2013

EXCEL TUTORIEL 2012/2013 EXCEL TUTORIEL 2012/2013 Excel est un tableur, c est-à-dire un logiciel de gestion de tableaux. Il permet de réaliser des calculs avec des valeurs numériques, mais aussi avec des dates et des textes. Ainsi

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

2 Comment fonctionne un ordinateur, dans les grandes lignes

2 Comment fonctionne un ordinateur, dans les grandes lignes Programmation 1 Cours n 1 GB3, 2 nd semestre 2014-2015 Cours de Python Gilles Bernot Les notes de cours et les feuilles de TD sont disponibles (avec un peu de retard par rapport au déroulement du cours)

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Corrigé des TD 1 à 5

Corrigé des TD 1 à 5 Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

HTML. Notions générales

HTML. Notions générales 1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS

Plus en détail

Initiation à la Programmation en Logique avec SISCtus Prolog

Initiation à la Programmation en Logique avec SISCtus Prolog Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Factorisation Factoriser en utilisant un facteur commun Fiche méthode

Factorisation Factoriser en utilisant un facteur commun Fiche méthode Factorisation Factoriser en utilisant un facteur commun Fiche méthode Rappel : Distributivité simple Soient les nombres, et. On a : Factoriser, c est transformer une somme ou une différence de termes en

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

SUPPORT DE COURS. Langage C

SUPPORT DE COURS. Langage C Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages

Plus en détail

CREG : http://www.creg.ac- versailles.fr/spip.php?article803

CREG : http://www.creg.ac- versailles.fr/spip.php?article803 OUTILS NUMERIQUES Édu-Sondage : concevoir une enquête en ligne Rédacteur : Olivier Mondet Bla. 1 Présentation Parmi les pépites que contient l Édu-Portail, l application Édu-Sondage est l une des plus

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

Plus en détail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2

URECA Initiation Matlab 2 Laurent Ott. Initiation Matlab 2 Initiation Matlab 2 1 Chaînes de caractères (string) Une chaîne de caractères (string en anglais) est une suite ordonnée de caractères (du texte, par exemple). Sous matlab, les chaînes de caractères sont

Plus en détail

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Débuter avec Excel. Excel 2007-2010

Débuter avec Excel. Excel 2007-2010 Débuter avec Excel Excel 2007-2010 Fabienne ROUX Conseils & Formation 10/04/2010 TABLE DES MATIÈRES LE RUBAN 4 LE CLASSEUR 4 RENOMMER LES FEUILLES DU CLASSEUR 4 SUPPRIMER DES FEUILLES D UN CLASSEUR 4 AJOUTER

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

Plus en détail

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Page 1 de 9 MATLAB : COMMANDES DE BASE Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */. Aide help, help nom_de_commande Fenêtre de travail (Command Window) Ligne

Plus en détail

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION 145 NOTION DE PROGRAMMATION 1/ Complétons notre microprocesseur Nous avons, dans les leçons précédentes décrit un microprocesseur théorique, cependant il s inspire du 6800, premier microprocesseur conçu

Plus en détail

Logiciel de gestion de caisse et d ardoises

Logiciel de gestion de caisse et d ardoises 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Logiciel de gestion de caisse et d ardoises BOIRLEAUD Pierre-Jean MOLINS Nicolas REHFELD Vincent Table des matières

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed 6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN

Plus en détail

Conversion d un entier. Méthode par soustraction

Conversion d un entier. Méthode par soustraction Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Informatique Générale

Informatique Générale Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) guillaume.hutzler@ibisc.univ-evry.fr Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html

Plus en détail

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP Au cours de ce TP, vous allez voir comment PHP permet aux utilisateurs, une interaction avec

Plus en détail

RÉALISATION D UN SITE DE RENCONTRE

RÉALISATION D UN SITE DE RENCONTRE RÉALISATION D UN SITE DE RENCONTRE Par Mathieu COUPE, Charlène DOUDOU et Stéphanie RANDRIANARIMANA Sous la coordination des professeurs d ISN du lycée Aristide Briand : Jérôme CANTALOUBE, Laurent BERNARD

Plus en détail

Excel 2007 Niveau 3 Page 1 www.admexcel.com

Excel 2007 Niveau 3 Page 1 www.admexcel.com Excel 2007 Niveau 3 Page 1 TABLE DES MATIERES UTILISATION DE LISTES DE DONNEES... 4 REMARQUES PREALABLES SUR LES LISTES DE DONNEES... 4 METTRE EN FORME LE TABLEAU... 6 METTRE LA LISTE A JOUR... 7 a/ Directement

Plus en détail

Découverte de Python

Découverte de Python Découverte de Python Python est un des langages informatiques au programme des concours à partir de la session 2015. Ce tutoriel vous permettra de vous mettre à peu près à niveau de ce qui a été fait en

Plus en détail

GUIDE Excel (version débutante) Version 2013

GUIDE Excel (version débutante) Version 2013 Table des matières GUIDE Excel (version débutante) Version 2013 1. Créer un nouveau document Excel... 3 2. Modifier un document Excel... 3 3. La fenêtre Excel... 4 4. Les rubans... 4 5. Saisir du texte

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

Plus en détail

Base de données relationnelle et requêtes SQL

Base de données relationnelle et requêtes SQL Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,

Plus en détail

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février 2014 17:30 à 20:30 Examen intra 20 février 2014 17:30 à 20:30 Nom, prénom : Code permanent : Répondez directement sur le questionnaire. Question #1 5% Quelle influence peut avoir le typage dynamique sur la maintenabilité

Plus en détail