SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.1 Algorithmique, algorithmes et phase d’analyse
- L’algorithmique est la science des algorithmes,
- La notion d’algorithme existerait déjà à l’époque de Babylone (-
2000 av J.C.),
- Diophante d’Alexandrie (vers 250) pose une partie des règles de
l’algorithmique (Arithmetica: les arithmétiques),
- Il propose de résoudre des problèmes de calcul à partir d’études
manuscrites préalables ancêtres des algorithmes,
-Al Khawarizmi (vers 780-850) donne son nom au mot algorithme,
- La science algorithmique s’est développée vers le milieu du
20iéme siècle avec l’automatisation industrielle et le
développement des premiers ordinateurs.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.1 Algorithmique, algorithmes et phase d’analyse (1/2)
- La phase d’analyse informatique vise la construction d’une solution informatique.
- La solution informatique est exprimée avec des algorithmes.
- Les algorithmes sont indépendants de l’architecture matérielle des ordinateurs.
- La traduction des algorithmes dans un langage de programmation engendre des difficultés techniques.
- Le domaine de la programmation informatique apporte des solutions pour surmonter ces difficultés.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.1 Algorithmique, algorithmes et phase d’analyse (2/2)
- Définition: « On appelle algorithmique la science informatique qui a pour but l’analyse et la spécification de
solutions informatiques à des problèmes de calcul qui sont exécutées par les ordinateurs. »,
- L’algorithmique est la science de la logique informatique,
- L’objet de l’algorithmique est l’étude et la spécification des algorithmes.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.2 Définition d’un algorithme
- Solution informatique: résulte de l’expression logique de l’ordre d’automatisation des traitements à effectuer
sous la forme d’algorithmes.
- On utilise dans les algorithmes des mots simples et universels.
- Définition d’un algorithme: « La description pouvant être manuscrite d’une suite finie et ordonnée d’opérations
génériques exprimant une solution informatique, en vue de l’élaboration d’un programme ».
- Méthode: on décompose le problème calculable en sous-problèmes de complexité moindre.
- Dans les cas les plus simples: la méthode triviale de l’analyse descendante.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.3 Le pseudo-langage (1/2)
- L’algorithmique permet de produire des solutions informatiques génériques à base d’algorithmes.
- Pseudo-langage: d’un langage descriptif, syntaxiquement universel, peu contraignant et complètement
indépendant de l’architecture matérielle.
- Définition: « On appelle pseudo-langage le langage manuscrit de la science informatique qui permet de
décrire la logique des algorithmes d’une solution informatique, séquentiellement et de manière ordonnée, et
cela indépendamment du langage de programmation qui sera choisi pour programmer ».
- cf. le célèbre algorithme d’Euclide.
Programme PGCD
Var
n,b,k sont des entiers
Début
Afficher("Saisissez deux entiers non nuls")
Saisir("Entrez n", n)
Saisir("Entrez m", m)
//Reste de la division entière de n par b
k <- modulo(n,m)
TantQue (k<>0)
n <- m
m <- k
k <- modulo(n,b)
Fin
Afficher("Le P.G.C.D. vaut "+ m)
Fin programme
Algorithme 1. L’algorithme d’Euclide simplifié.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
1. Introduction à l’algorithmique
1.3 Le pseudo-langage (2/2)
- La grammaire et la syntaxe des langages de programmation traduisent les contraintes techniques
d’implémentation.
- Le pseudo-langage utilisé dans Titan est une surcouche du pseudo-langage de la société PCSoft.
Langage Syntaxe de l’instruction
Langage C printf("Saisissez deux entiers non nuls.");
Langage C++ cout << "Saisissez deux entiers non nuls.";
Java System.out.println "Saisissez deux entiers non nuls.";
Python print ("Saisissez deux entiers non nuls.")
Pascal writeln(‘Saisissez deux entiers non nuls’);
Basic print "Saisissez deux entiers non nuls.";
Fortran PRINT*, ‘Saisissez deux entiers non nuls.’
ADA Ada.Text_io.put("Saisissez deux entiers non nuls.");
w-langage Info("Saisissez deux entiers non nuls.")
PHP echo("Saisissez deux entiers non nuls.");
Objective-C NSLog(@"Saisissez deux entiers non nuls.");
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.1 Variables et types (1/3)
- En algorithmique, les variables servent à nommer les données.
- En programmation, elles matérialisent les cases mémoires de la mémoire principale de l’ordinateur.
- Définition: « On appelle variable la représentation nommée (ou l’étiquette) d’une donnée dont la valeur peut évoluer lors du
déroulement logique des instructions d’un algorithme ou d’un programme ».
Programme PrixTTC
Var
//Déclarations des variables
prixHT, prixTTC sont des réels
Début
//Affiche un message à l’écran
Afficher("Saisir le prix H.T.")
//Affiche une fenêtre pour effectuer la saisie
Saisir("PRIX HT",Prix_HT)
//Calcule le prix TTC
Prix_TTC <- Prix_HT*1.196
//Affichage le résultat à l’écran de l’ordinateur
Afficher("Total TTC" + Prix_TTC)
Fin programme
Algorithme 2. Calcul d’un prix TTC à partir d’un prix HT.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.1 Variables et types (2/3)
- Type des variables = nature (nombre entier, nombre réel, caractère, etc.).
- En algorithmique: « On appelle type la nature numérique ou alphanumérique de la donnée d’une variable. Le type permet
de déterminer les opérations que l’on peut effectuer avec les données (ex. concaténation, addition, etc.) ».
- En programmation: « On appelle type, un système de codification permettant de stocker de l’information dans une variable,
conformément à une norme de codage et à un ensemble d’opérations autorisées »
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.1 Variables et types (3/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.2 Déclaration des variables en algorithmique (1/2)
- En algorithmique, on considère 4 types simples:
- les nombres entiers,
- les nombres réels,
- les booléens,
- les caractères.
- En pseudo-langage, on déclare une variable dans le bloc ‘Var’
- et 2 types complexes principaux:
- les chaînes de caractères,
- les tableaux,
Programme PrixTTC
Var
//Déclarations des variables
PrixHT est un réel
Compteur est un entier
Trouve est un booléen
carRecherche est un caractère
…
…
nomDeFamille est une chaîne
identifiants est un tableau de 10 entiers
…
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.2 Déclaration des variables en algorithmique (2/2)
- Les types usuels en algorithmique et en programmation
Type en
algorithmique
(Pseudo-langage)
Déclaration en pseudo-
langage
Type correspondant
en langage PHP
Commentaires
Booléen b est un booléen boolean
Valeurs True et False en langage
PHP.
Entier b est un entier
integer – 2 147 483 648 à + 2 147 483 647.
(devient) double au-delà de + 2 147 483 647.
Caractère b est un caractère string
Il n’existe pas de type caractère en
langage PHP. On utilise le type
complexe ‘string’.
Réels b est un réel double 32 bits soit 14 chiffres.
Chaîne de
caractères
b est une chaîne string
Correspond à un ensemble de
caractères regroupés sous un même
nom.
Tableau T est un tableau de 10 entiers array
Correspond à un ensemble de valeurs
regroupées sous un même nom.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.3 Les variables en langage PHP
- PHP est un langage à typage dynamique.
- Il n’est pas nécessaire de déclarer les variables.
- Elles sont déclarées quand elles reçoivent une valeur.
- Le nom d’une variable est toujours précédé du caractère ‘$’.
//Programme types des variables en langage PHP
//Var
$i = 2;
$j = 2147483647;
$k = 3000000000;
$l = 2.34;
$m = 'bonjour';
$n = TRUE;
$c = 'Z'
//Début
$typeVariable = getType($i);
echo('Type de i: '.$typeVariable.'</br>');
$typeVariable = getType($j);
echo('Type de j: '.$typeVariable.'</br>');
$typeVariable = getType($k);
echo('Type de k: '.$typeVariable.'</br>');
$typeVariable = getType($l);
echo('Type de l: '.$typeVariable.'</br>');
$typeVariable = getType($m);
echo('Type de m: '.$typeVariable.'</br>');
$typeVariable = getType($n);
echo('Type de n: '.$typeVariable.'</br>');
$typeVariable = getType($c);
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.4 Les variables de type entier
- en PHP, il n’existe pas d’opérateur pour la division entière.
Type Entier
Déclaration en pseudo-langage nombreUnité est un entier
Type en langage PHP integer
Ensemble générique des valeurs correspondantes Entiers positifs et négatifs.
Principaux opérateurs associés du pseudo-langage +, -, /, *, ++, --, +=, -= , =, <>, <, <=, >, >=
Fonctions triviales associées du pseudo-langage abs, racine, carré, puissance, div, modulo.
Fonctions triviales équivalentes en langage PHP abs, sqrt, *, pow, floor, fmod.
- Le type entier sert à stocker les valeurs des nombres entiers.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.5 Les variables de type réel
- En algorithmique et en programmation le séparateur de décimales est le point ‘.’ : 12.45.
- Attention à la précision des nombres à virgule en programmation.
Type Réel
Déclaration en pseudo-langage dimensionVerticale est un réel
Type en langage PHP double
Ensemble générique des valeurs correspondantes Nombres décimaux positifs et négatifs
Principaux opérateurs associés du pseudo-langage +, -, /, *, puissance, racine, =, <>, <, <=, >, >=
Fonctions triviales associées du pseudo-langage abs, racine carrée, carré, puissance
Fonctions triviales équivalentes en langage PHP abs, sqrt, *, pow
- Le type réel sert à stocker les valeurs des nombres décimaux (à virgule).
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.6 Les variables de type booléen
- Doivent leur nom à Georges Bool (1815-1864).
- Deux valeurs possibles : Vrai ou Faux.
- En langage PHP, on utilise les constantes littérales TRUE et FALSE.
Type Booléen
Déclaration en pseudo-langage autorisationEnCours est un booléen
Type en langage PHP boolean
Ensemble générique des valeurs correspondantes Vrai, Faux (TRUE, FALSE)
Principaux opérateurs associés du pseudo-langage ET, OU, PAS (NON)
Fonctions triviales associées du pseudo-langage
Fonctions triviales équivalentes en langage PHP (bool)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.7 Les variables de type caractère
- Ne contiennent qu’un seul caractère.
- En programmation on distingue les caractères de contrôle (actions) et les caractères graphiques (lettres, ponctuations, etc.).
- En langage PHP, le type caractère n’existe pas.
Type Caractère
Déclaration en pseudo-langage carLu est un caractère
Type en langage PHP string (chaîne de caractères)
Ensemble générique des valeurs correspondantes caractères affichables et spéciaux, caractères de contrôle.
Principaux opérateurs associés du pseudo-langage +,=, <>, <, <=, >, >=
Fonctions triviales associées du pseudo-langage ord, car
Fonctions triviales équivalentes en langage PHP ord, car
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
2. Les variables
2.8 Les variables de type chaîne de caractères
- Des séquences de caractères.
Type Chaîne de caractères
Déclaration en pseudo-langage titre est une chaîne
Type en langage PHP string (chaîne de caractères)
Ensemble générique des valeurs correspondantes tous les caractères
Principaux opérateurs associés du pseudo-langage +, =, <>, <, <=, >, >=
Fonctions triviales associées du pseudo-langage taille
Fonctions triviales équivalentes en langage PHP strlen
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
3. Les constantes
3.1 Constantes et constantes nommées
- Les constantes correspondent aux valeurs fixes des algorithmes et des programmes.
- Leur valeur est inscrite dans le corps des algorithmes ou des programmes.
- Les constantes nommées portent une étiquette (Majuscules).
- Définition: « On appelle constante une donnée de valeur fixe qui n’évolue pas lors de l’exécution d’un algorithme ou d’un
programme. Comme les variables, les constantes peuvent être identifiées par un nom (étiquette) qui référence la valeur exprimée.
On les appelle alors constantes nommées».
Programme Contantes
Var
prixHT, prixTTC sont des réels
Const
TAUX_TVA est une constante réelle
TAUX_TVA <- 19.60
Début
//Demande le prix H.T.
Afficher("Entrez le prix H.T.")
Saisir("Prix H.T.", prixHT)
//Effectue le calcul du prix H.T.
prixTTC <- prixHT*(1+TAUX_TVA/100)
//Affiche le résultat
Afficher("PRIX TTC:"+prixTTC)
Fin programme
- En pseudo-langage, les constantes sont déclarées dans le bloc d’instructions ‘Const’.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
3. Les constantes
3.2 Les constantes en langage PHP
- En langage PHP, il convient d’utiliser la fonction intégrée ‘define’.
//Programme Constantes
//Const
define("TAUX_TVA",19.60);
//Var
$prixHT = 0.0;
$prixTTC = 0.0;
//Début
//Demande le prix H.T.
$prixHT = [Saisir,"Entrez le Prix H.T.:"];
echo('Prix H.T. : '.$prixHT.'</br>');
//Effectue le calcul du prix H.T.
$prixTTC = $prixHT*(1+TAUX_TVA/100);
//Affiche le résultat
echo('PRIX TTC: '.$prixTTC);
//Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.1 Opérateurs, opérandes et expressions informatiques
- Les expressions sont composées d’une alternance d’opérations et de données.
- Les opérations sont mises en œuvre par les opérateurs.
- Les données sont stockées dans les opérandes à côté des opérateurs.
- Les couples d’instructions ‘opérandes/opérateurs’ constituent les mots des phrases des algorithmes et des programmes.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.2 L’opérateur d’affectation (1) - Affectation par valeur
- Initialiser avec une valeur cohérente chacune des variables d’un programme.
- Définition: « L’opération d’affectation est l’opération informatique qui consiste à stocker une valeur dans une variable à l’aide de
l’opérateur d’affectation ».
- Opérateur du pseudo-langage: flèche orientée vers la gauche pointe sur l’étiquette de la variable.
Programme Exemples d’affectations
Var
mess est une chaîne
Taux_TVA est un réel
Début
//Affectation d’un nombre réel
Taux_TVA <- 19.60
mess <- " Voici le taux de TVA utilisé: "
//Affectation d’une chaîne de caractères
Afficher(mess + Taux_TVA)
Fin programme
- En langage PHP, on utilise l’opérateur ‘=’ (ex. $x = 1;).
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.2 L’opérateur d’affectation (2) - Affectation par référence
- Un concept du domaine de la programmation: affectation par référence vs affectation par valeur.
- Affectation par référence: 2 variables référencent le même emplacement mémoire.
- Il est possible de dupliquer l’étiquette d’une variable : alias.
- En langage PHP on utilise l’opérateur sur adresse: ‘&’.
- Il est possible de mentionner l’opérateur sur adresse ‘&’ dans les algorithmes.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.2 L’opérateur d’affectation (2) - Affectation par référence
- PHP permet de réaliser des affectations par référence.
- On utilise l’opérateur sur adresse ‘&’.
//Programme Affectation par Référence
//Var
$i = 90;
$j = 0;
$k = 25;
//Début
//Affichage du contenu initial des variables
echo('i: '.$i.' j: '.$j.' k: '.$k.'<br />');
//Affectation par valeur
$j = $i;
//Affectation par référence
$k = &$i;
//Modification de la variable k
$k = 125;
//Affichage du contenu final des variables
echo('i: '.$i.' j: '.$j.' k: '.$k);
//Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.3 Les opérateurs arithmétiques (1/2)
- Servent à effectuer les opérations mathématiques élémentaires.
- Addition (+), multiplication (*), soustraction (-), division (/).
- Division entière (div), reste de la division entière (modulo).
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.3 Les opérateurs arithmétiques (2/2)
- En langage PHP, fmod (modulo): fmod(7,2).
- En langage PHP, il n’existe pas d’opérateur dédié à la division entière: on utilise floor (partie entière d’un nombre décimal)
floor(7/2).
Programme pariteEntier
Var
n, r, q sont des entiers
Début
//Saisie d'un nombre entier
Saisir("Entrer un entier ", n)
//On calcule le reste de la division entière de n par 2
r <- modulo(n,2)
//On effectue la division entière de n par 2
q <- div(n,2)
//Affichage du résultat des calculs
Afficher(n + " / 2 = "+ q +" reste "+r)
//Affiche les instructions pour déterminer la parité
Afficher("Si reste 1, nombre impair, si reste 0 nombre pair")
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.4 Les opérateurs de comparaison
- Servent à construire des expressions de comparaisons.
- La valeur résultante est de type booléen.
- ‘<=’,’<’,’ >’, ‘>=’, ‘=’,’<>’ ou ‘ !=’ (différent).
Opérateur de comparaison Signification Pseudo-langage Langage PHP
= égalité = ==
~= égalité souple ~= n’existe pas
~~ égalité très souple ~~ n’existe pas
<> différent <>, != !=
<= inférieur ou égal <= <=
>= supérieur ou égal >= >=
< strictement inférieur < <
> strictement supérieur > >
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.5 Les opérateurs booléens ou logiques
- Servent à construire des expressions booléennes ou logiques des tests conditionnels.
- Les expressions booléennes suivent la logique booléenne d’un traitement.
- Composition d’une expression booléenne:
- Les opérateurs booléens ou logiques,
- les variables, les constantes,
- Les opérateurs de comparaison.
- Les instructions suivent la logique booléenne.
- Elles valent donc soit VRAI soit FAUX.
- Opérateurs booléens ou logiques : le ET, le OU et le NON.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.5 Les opérateurs booléens ou logiques - (1) L’opérateur booléen ET
- L’opérateur booléen ‘ET’ est un opérateur binaire.
- Il suit la logique de la table de vérité du ‘ET’.
ET opérande 2 : Vrai opérande 2 : Faux
opérande 1 : Vrai Vrai Faux
opérande 1 : Faux Faux Faux
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.5 Les opérateurs booléens ou logiques - (2) L’opérateur booléen OU
- L’opérateur booléen‘OU’ est un opérateur binaire.
- Il suit la logique de la table de vérité du ‘OU’.
OU Opérande 2 : Vrai Opérande 2 : Faux
Opérande 1 : Vrai Vrai Vrai
Opérande 1 : Faux Vrai Faux
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.5 Les opérateurs booléens ou logiques - (3) L’opérateur booléen PAS
Remarque
Si l’expression booléenne ‘Op1 ET Op2’ vaut ‘VRAI’,
alors l’expression ‘PAS(Op1 ET Op2)’ vaut ‘FAUX’
et est équivalente à ‘Op1 OU Op2’.
- L’opérateur booléen ‘PAS’ (ou négation) est un opérateur unaire.
- Il permet d’exprimer la valeur contraire d’une expression booléenne.
PAS (Op1 ET op2) Opérande 2 : Vrai Opérande 2 : Faux
Opérande 1 : Vrai Faux Vrai
Opérande 1 : Faux Vrai Vrai
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.6 L’opérateur de concaténation
- Juxtaposer deux chaînes de caractères.
- En pseudo-langage on utilise l’opérateur ‘+’ .
- ATTENTION: ne pas confondre concaténation et addition.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
4. Les opérateurs
4.7 Les principaux opérateurs du langage PHP
- Les langages de programmation proposent souvent des opérateurs spécifiques.
Nom de l’opérateur Langage PHP Pseudo-langage Exemple en langage PHP
Affectation (2.4.2) = <- $i = 12 ;
Arithmétiques (2.4.3) + - / % + - / modulo div $reste = 7%2 ;
Comparaisons (2.4.4) < <= != > >= < <= <> > >= $i != $j ;
Booléens ou logiques (2.4.5) and(&&) or(||)! et ou non (pas) $cond1 and $cond2
Concaténation (2.4.6) . + ‘des’.$fruits ;
Chaîne de caractères (3.6.2) {} [[]] $mess{3}
Tableaux (3.1.2) [] [][][]… [] [,,,…]
echo($notes[$i]); $m[$i]
[$j]=1;
Incrémentation ++ ++ $i++;
Décrémentation -- -- $i--;
Assignation += -= += -= $i += 3;
Adresse (2.4.2.2) & &
$i=2;
$nomVariable = "i";
echo($$nomVariable);
Indirection $$ {} $var = $$i;
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
5. Les instructions d’entrée-sortie (1/5)
5.1 Définitions générales
On appelle instructions d’entrée-sortie, les instructions d’un algorithme ou d’un programme qui
permettent d’échanger de l’information avec l’utilisateur du programme. .
On appelle instructions d’affichage, les instructions qui permettent d’envoyer sur un périphérique de
sortie, les valeurs contenues dans les variables d’un programme.
On appelle instructions de lecture, les instructions qui permettent de lire les données à partir d’un
périphérique d’entrée, et de les stocker dans des variables afin de les traiter.
- On distingue les instructions d’affichage et les instructions de lecture.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
5. Les instructions d’entrée-sortie (2/5)
5.2 Les instructions d’affichage
- Envoyer sur un périphérique de sortie des messages en direction de l’utilisateur.
- À divulguer l’information générée par les instructions.
- En pseudo-langage: on utilise le verbe à l’infinitif « Afficher ».
Programme PrixTTC
Var
//Déclaration des variables
PrixHT, PrixTTC sont des réels
Const
//Déclarations des constantes
TAUXTVA est une constante réelle
TAUXTVA <- 19.60
Début
Afficher("Saisie du prix H.T.")
Saisir("Saisissez le montant du prix H.T.: ", PrixHT)
//Calcul du prix TTC
PrixTTC <- PrixHT*(1+TAUXTVA/100)
//Affichage du résultat
Afficher("Taux de TVA: " + TAUXTVA + "<br />")
Afficher("Total TTC: " + PrixTTC)
Fin programme
- En langage de programmation PHP, on traduit ‘Afficher’ par ‘echo’.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
5. Les instructions d’entrée-sortie (3/5)
5.3 Les instructions de lecture
- Importer des données dans les programmes à partir des périphériques d’entrée.
- À récupérer l’information saisie au clavier de l’ordinateur.
- En pseudo-langage: on utilise le verbe à l’infinitif « Saisir ».
Programme PrixTTC
Var
//Déclaration des variables
PrixHT, PrixTTC sont des réels
Const
//Déclarations des constantes
TAUXTVA est une constante réelle
TAUXTVA <- 19.60
Début
Afficher("Saisie du prix H.T.")
Saisir("Saisissez le montant du prix H.T.: ", PrixHT)
//Calcul du prix TTC
PrixTTC <- PrixHT*(1+TAUXTVA/100)
//Affichage du résultat
Afficher("Taux de TVA: " + TAUXTVA + "<br />")
Afficher("Total TTC: " + PrixTTC)
Fin programme
- En langage de programmation PHP, avec Titan, on traduit ‘Saisir’ par ‘[Saisir, « message»]’.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
5. Les instructions d’entrée-sortie (4/5)
5.4 Lecture et écriture dans un fichier - (1) Eléments d’algorithmique
- En programmation, on distingue les fichiers texte et les fichiers binaires.
- Définition: « On appelle descripteur de fichier, une variable indiquant la position en cours dans un fichier et à partir de laquelle on
effectue un traitement informatique ».
Programme Exemple_fichier_texte
Var
//Descripteur de fichier
idF est un entier
//Pour les codes ASCII
i est un entier
//Chemin du fichier
chemin est une chaîne
//Pour stocker le caractère ASCII
car est un caractère
Début
//-->Ouverture du fichier
Saisir("Chemin du fichier",chemin)
//Ouverture avec création du fichier
idF <- fouvre(chemin,focreation)
Afficher("Ouverture "+chemin)
Si idf>0 Alors
//Ecriture des caractères ASCII
Pour i<-64 à 126
fecrit(idf,caract(i)+RC)
Fin
fferme(idf)
//Lecture caract. du fichier
idF<- fouvre(chemin,folecture)
car <- flitligne(idF)
Tantque car<>EOT
Afficher(car)
//Lect du caractère suivant
car <- flitligne(idF)
Fin
fferme(idF)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
5. Les instructions d’entrée-sortie (5/5)
5.4 Lecture et écriture dans un fichier - (2) Utilisation des fichiers en langage PHP
//Programme LireFichierTexte
//Var
$idF = 0;
$ligneLue = "";
$finFichier = FALSE;
//Début
//Ouverture fic. Texte en lecture
$idF = fopen("C:aff.txt", "r") ;
//Si le fichier est bien ouvert
if($idF>0){
//Tantque ligne différente
//de fin de fichier (End Of Text)
$finFichier = FALSE;
while(!$finFichier){
//Lecture de la ligne suivante
$ligneLue = fgets($idF);
//Test sur la fin de fichier
if(feof($idF)){
$finFichier = TRUE;
}else{
echo($ligneLue.' <br />');
}
}
//Fermeture du fichier
fclose($idF);
}else{
echo("Err. Ouver. fichier <br />");
}
//Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (1/10)
- Les instructions conditionnelles sont des structures de contrôle qui servent à construire des tests.
- Choisir les traitements à effectuer en fonction de conditions.
- Les instructions conditionnelles se fondent sur des expressions booléennes.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (2/10)
6.1 L’instruction conditionnelle Si…Alors…Sinon (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (3/10)
6.2 L’instruction conditionnelle Si…Alors…Sinon (2/3)
- Syntaxe en pseudo-langage: - Syntaxe en langage PHP:
Si Condition Alors
< Instructions bloc 1 >
Sinon
< Instructions bloc 2 >
Fin
Si Condition Alors
< Instructions >
Fin
if (condition){
< Instructions bloc 1 >
}else{
< Instructions bloc 2 >
}
if (condition){
< Instructions >
}
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (4/10)
6.1 L’instruction conditionnelle Si…Alors…Sinon (3/3)
Programme CompareEntiers
Var
i,j sont des entiers
Début
//Saisie du premier entier
Saisir("Entrez l’entier n°1 ", i)
//Saisie du deuxième entier
Saisir("Entrez l'entier n°2 ", j)
Si i>j Alors
Afficher(i + " est plus grand que " + j)
Sinon
Si i<j Alors
Afficher(j + " est plus grand que "+ i)
Sinon
Afficher(i + " est égal à " + j)
Fin
Fin
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (5/10)
6.2 L’instruction conditionnelle Si…Alors…SinonSi (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (6/10)
6.2 L’instruction conditionnelle Si…Alors…SinonSi (2/3)
- Syntaxe en pseudo-langage:
- Syntaxe en langage PHP:
Si <condition 1> Alors
<Instructions bloc 1>
Sinon Si <condition 2> Alors
<Instructions bloc 2>
…
Sinon Si
<Instructions bloc n>
Fin
if (condition 1){
< Instructions bloc 1 >
}elseif(condition 2){
< Instructions bloc 2 >
} elseif (condition 3){
< Instructions bloc n >
}
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (7/10)
6.2 L’instruction conditionnelle Si…Alors…SinonSi (3/3)
Programme Horoscope
Var
signeAstro est une chaine
conseil est une chaine
Début
conseil <- "signe inconnu"
Saisir("Entrez votre signe du zodiac:", signeAstro)
Si (signeAstro = "bélier") Alors
conseil <- "Soyez modéré"
Sinon Si (signeAstro = "lion" OU signeAstro = "verseau") Alors
conseil <- "Ayez confiance en vous"
Sinon Si (signeAstro = "sagittaire" OU signeAstro ="cancer") Alors
conseil <- "Mangez moins"
Sinon Si (signeAstro = "taureau" OU signeAstro ="scorpion") Alors
conseil <- "Dormez plus"
Sinon Si (signeAstro = "vierge" OU signeAstro = "poissons") Alors
conseil <- "Restez optimiste"
Sinon Si (signeAstro ="capricorne" OU signeAstro ="gémeaux") Alors
conseil <- "Evitez les conflits"
Sinon Si signeAstro = "balance" Alors
conseil <- "Attention au surmenage"
Fin
Afficher("Voici le conseil du jour:")
Afficher(conseil)
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (8/10)
6.3 L’instruction conditionnelle Selon (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (9/10)
6.2 L’instruction conditionnelle Selon (2/3)
- Syntaxe en pseudo-langage: - Syntaxe en langage PHP:
Selon < variable de comparaison > :
Cas < valeur 1 > :
< Instructions bloc 1 >
Cas < valeur 2 > :
< Instructions bloc 2 >
…
cas < valeur n > :
< Instructions bloc n >
autre cas :
< Instructions bloc n+1 >
Fin
switch (< variable de comparaison >){
case < valeur 1 > :
< Instructions bloc 1 >
break ;
case < valeur 2 > :
< Instructions bloc 2 >
break ;
…
case < valeur n > :
< Instructions bloc n >
break ;
default :
< Instructions par défaut >
break ;
}
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
6. Les choix et les instructions conditionnelles (10/10)
6.3 L’instruction conditionnelle Selon (3/3)Programme Selon
Var
note est un réel
m est une chaîne
Début
//Saisie de la note
Saisir("Entrez la note d'algorithmique",note)
//Determination de l'appréciation
Selon note
Cas 0:
m <- "Très insuffisant"
Cas 1,2,3,4,5,6,7:
m <- "Insuffisant"
Cas 8,9,10,11:
m <- "moyen"
Cas 12,13,14:
m <- "bien"
Cas 15,16,17:
m <- "Très bien"
Cas 18,19,20:
m <- "Excellent"
Autre Cas:
m <- "Non valide"
Fin
//Affiche le message
Afficher("Appréciation :"+m)
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (1/10)
- Servent à réitérer des blocs d’instructions en fonction d’un test conditionnel.
- Le test exprime la condition de boucle.
- Les boucles servent à mettre en œuvre les itérations.
- Les boucles utilisent une variable particulière appelée compteur de boucle .
- Le compteur de boucle fonctionne avec une instruction d’incrémentation ou de décrémentation.
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (2/10)
7.1 L’instruction de boucle ‘Tantque’ (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (3/10)
7.1 L’instruction de boucle ‘Tantque’(2/3)
- Syntaxe en pseudo-langage:
- Syntaxe en langage PHP:
Tantque Condition de boucle
< Bloc d’instructions >
Fin
while(Condition de boucle){
< Bloc d’instructions >
}
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (4/10)
7.1 L’instruction de boucle ‘Tantque’ (3/3)
Programme ExempleBoucleTantque
Var
niveauTitre est un entier
Début
Afficher("Voici les différents niveaux de titre possibles en HTML <br />")
niveauTitre <- 1
Tantque niveauTitre<7
//Instructions de boucle
Afficher("<h"+niveauTitre+">")
Afficher("Titre de niveau "+niveauTitre)
Afficher("</h"+niveauTitre+">")
//Incrémentation du compteur de boucle – Instruction d’arrêt
niveauTitre <- niveauTitre + 1
Fin
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (5/10)
7.2 L’instruction de boucle ‘Boucle… À Faire Tantque’ (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (6/10)
7.1 L’instruction de boucle ‘Boucle… À Faire Tantque’ (2/3)
- Syntaxe en pseudo-langage:
- Syntaxe en langage PHP:
Boucle
< Instructions de boucle >
A Faire Tantque < Condition de boucle >
do{
< Instructions de boucle >
}while(< Condition de boucle >);
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (7/10)
7.2 L’instruction de boucle ‘Boucle… À Faire Tantque’ (3/3)
Programme ExempleBoucleAFaireTantque
Var
moyenne, somme, note sont des réels
nbeleves,i sont des entiers
Début
Saisir("Combien d’élèves ? ",nbEleves)
somme <- 0
i <- 1
//Boucle principale du programme
Boucle
Saisir("Entrer la note de l’élève" + i, note)
somme <- somme + note
i <- i + 1
A Faire Tantque (i <= nbEleves)
//On calcule la moyenne
moyenne <- somme / nbEleves
Afficher("Moyenne de la classe : "+ moyenne)
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (8/10)
7.3 L’instruction de boucle ‘Pour’ (1/3)
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (9/10)
7.3 L’instruction de boucle ‘Pour’ (2/3)
Pour < compteur > <- < borne1 > à < borne2 > [Pas <x>]
< Instructions de boucle >
Fin
for(< Compteur de boucle >; < Condition >; < Incrementation ou Decrementation >){
< Instructions de boucle >
}
- Syntaxe en pseudo-langage:
- Syntaxe en langage PHP:
Eric INNOCENTI
Associate professor
Department of Computer Science
Concepts élémentaires de programmation informatique
7. Les instructions de boucle (10/10)
7.3 L’instruction de boucle ‘Pour’ (3/3)
Programme ExempleBouclePour
Var
moyenne, somme, note sont des réels
nbeleves,i sont des entiers
Début
Saisir("Combien d’élèves ? ",nbEleves)
Somme <- 0
//Boucle principale du programme
Pour i<-1 à nbEleves
Saisir("Entrer la note de l’élève" + i, note)
//On effectue la somme des notes
somme <- somme + note
Fin
//On calcule la moyenne
moyenne <- somme / nbEleves
Afficher("Moyenne de la classe : " + moyenne)
Fin programme
Eric INNOCENTI
Associate professor
Department of Computer Science
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle
Concepts élémentaires de programmation informatique
Eric INNOCENTI
Associate professor
Department of Computer Science
For your attention
Pour votre écoute
Content at a glance / Résumé du contenu
1. Introduction à l’algorithmique
2. Les variables
3. Les constantes
4. Les opérateurs
5. Les instructions d’entrée-sortie
6. Les choix et les instructions conditionnelles
7. Les instructions de boucle

Weitere ähnliche Inhalte

Was ist angesagt?

Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap IIInes Ouaz
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs ATPENSC-Group
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdfsalah fenni
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmiquenicodeff
 

Was ist angesagt? (20)

Algorithme & structures de données Chap II
Algorithme & structures de données Chap IIAlgorithme & structures de données Chap II
Algorithme & structures de données Chap II
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
resume algo 2023.pdf
resume algo 2023.pdfresume algo 2023.pdf
resume algo 2023.pdf
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Serie
SerieSerie
Serie
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Coursalgorithmique
CoursalgorithmiqueCoursalgorithmique
Coursalgorithmique
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 

Andere mochten auch (20)

Parts of computers
Parts of computersParts of computers
Parts of computers
 
Cours1 l'icdl - ecdl
Cours1 l'icdl - ecdlCours1 l'icdl - ecdl
Cours1 l'icdl - ecdl
 
Expose sur l' informatique ok
Expose sur l' informatique okExpose sur l' informatique ok
Expose sur l' informatique ok
 
Exposé anglais -The internet
Exposé anglais -The internetExposé anglais -The internet
Exposé anglais -The internet
 
Pc computer
Pc computerPc computer
Pc computer
 
Business
Business Business
Business
 
computer system hardware
computer system hardwarecomputer system hardware
computer system hardware
 
Introduction to Computer
Introduction to ComputerIntroduction to Computer
Introduction to Computer
 
Foundation of computing history final
Foundation of computing history finalFoundation of computing history final
Foundation of computing history final
 
Parts of the_computers_by_sand_ra_&_maria[1]
Parts of the_computers_by_sand_ra_&_maria[1]Parts of the_computers_by_sand_ra_&_maria[1]
Parts of the_computers_by_sand_ra_&_maria[1]
 
what is computer
what is computerwhat is computer
what is computer
 
what is computer......?
what is computer......?what is computer......?
what is computer......?
 
What is computer
What is computerWhat is computer
What is computer
 
Introduction à LaTeX : le système de composition professionnel
Introduction à LaTeX : le système de composition professionnelIntroduction à LaTeX : le système de composition professionnel
Introduction à LaTeX : le système de composition professionnel
 
What Is Computer
What Is ComputerWhat Is Computer
What Is Computer
 
Introduction to computer - History - Generation
Introduction to computer - History - GenerationIntroduction to computer - History - Generation
Introduction to computer - History - Generation
 
Microprocessor systems (4)
Microprocessor systems (4)Microprocessor systems (4)
Microprocessor systems (4)
 
Historical evaluation of computer
Historical evaluation of computerHistorical evaluation of computer
Historical evaluation of computer
 
The history of cloud computing
The history of cloud computingThe history of cloud computing
The history of cloud computing
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 

Ähnlich wie Cours algorithmique02

cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfLamissGhoul1
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfHailisara
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)salmazen
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesFrédéric Simonet
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)mahbouba
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivationsSana Aroussi
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...ATPENSC-Group
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Aziz Darouichi
 
informatique .pdf
informatique .pdfinformatique .pdf
informatique .pdfkeepsafe2
 
Formation python
Formation pythonFormation python
Formation pythonj_lipaz
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3PGambette
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 

Ähnlich wie Cours algorithmique02 (20)

cours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdfcours d'algorithmique et programmation 3sc final .pdf
cours d'algorithmique et programmation 3sc final .pdf
 
langage C++
langage C++langage C++
langage C++
 
Langage C
Langage CLangage C
Langage C
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Cours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdfCours_C_for_Etudiant.pdf
Cours_C_for_Etudiant.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Theme1 (1)
Theme1 (1)Theme1 (1)
Theme1 (1)
 
Technologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logiciellesTechnologies du Web - Architectures matérielles et logicielles
Technologies du Web - Architectures matérielles et logicielles
 
Cours 1 -_bases_d_informatique
Cours 1 -_bases_d_informatiqueCours 1 -_bases_d_informatique
Cours 1 -_bases_d_informatique
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
Fiche de TD 1 de préparation probatoire (littéraire et scientifique) du Camer...
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
informatique .pdf
informatique .pdfinformatique .pdf
informatique .pdf
 
Formation python
Formation pythonFormation python
Formation python
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 

Kürzlich hochgeladen

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfachrafbrahimi1
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxRayane619450
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfssuserc72852
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film françaisTxaruka
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfabatanebureau
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film françaisTxaruka
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne FontaineTxaruka
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...Faga1939
 

Kürzlich hochgeladen (13)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Cours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdfCours ofppt du Trade-Marketing-Présentation.pdf
Cours ofppt du Trade-Marketing-Présentation.pdf
 
Computer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptxComputer Parts in French - Les parties de l'ordinateur.pptx
Computer Parts in French - Les parties de l'ordinateur.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Cours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdfCours Préparation à l’ISO 27001 version 2022.pdf
Cours Préparation à l’ISO 27001 version 2022.pdf
 
Sidonie au Japon . pptx Un film français
Sidonie    au   Japon  .  pptx  Un film françaisSidonie    au   Japon  .  pptx  Un film français
Sidonie au Japon . pptx Un film français
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdfCOURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
COURS SVT 3 EME ANNEE COLLEGE 2EME SEM.pdf
 
La nouvelle femme . pptx Film français
La   nouvelle   femme  . pptx  Film françaisLa   nouvelle   femme  . pptx  Film français
La nouvelle femme . pptx Film français
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
Bolero. pptx . Film de A nnne Fontaine
Bolero. pptx . Film   de  A nnne FontaineBolero. pptx . Film   de  A nnne Fontaine
Bolero. pptx . Film de A nnne Fontaine
 
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
L'ÉVOLUTION DE L'ÉDUCATION AU BRÉSIL À TRAVERS L'HISTOIRE ET LES EXIGENCES DE...
 

Cours algorithmique02

  • 1. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 2. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 3. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.1 Algorithmique, algorithmes et phase d’analyse - L’algorithmique est la science des algorithmes, - La notion d’algorithme existerait déjà à l’époque de Babylone (- 2000 av J.C.), - Diophante d’Alexandrie (vers 250) pose une partie des règles de l’algorithmique (Arithmetica: les arithmétiques), - Il propose de résoudre des problèmes de calcul à partir d’études manuscrites préalables ancêtres des algorithmes, -Al Khawarizmi (vers 780-850) donne son nom au mot algorithme, - La science algorithmique s’est développée vers le milieu du 20iéme siècle avec l’automatisation industrielle et le développement des premiers ordinateurs.
  • 4. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.1 Algorithmique, algorithmes et phase d’analyse (1/2) - La phase d’analyse informatique vise la construction d’une solution informatique. - La solution informatique est exprimée avec des algorithmes. - Les algorithmes sont indépendants de l’architecture matérielle des ordinateurs. - La traduction des algorithmes dans un langage de programmation engendre des difficultés techniques. - Le domaine de la programmation informatique apporte des solutions pour surmonter ces difficultés.
  • 5. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.1 Algorithmique, algorithmes et phase d’analyse (2/2) - Définition: « On appelle algorithmique la science informatique qui a pour but l’analyse et la spécification de solutions informatiques à des problèmes de calcul qui sont exécutées par les ordinateurs. », - L’algorithmique est la science de la logique informatique, - L’objet de l’algorithmique est l’étude et la spécification des algorithmes.
  • 6. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.2 Définition d’un algorithme - Solution informatique: résulte de l’expression logique de l’ordre d’automatisation des traitements à effectuer sous la forme d’algorithmes. - On utilise dans les algorithmes des mots simples et universels. - Définition d’un algorithme: « La description pouvant être manuscrite d’une suite finie et ordonnée d’opérations génériques exprimant une solution informatique, en vue de l’élaboration d’un programme ». - Méthode: on décompose le problème calculable en sous-problèmes de complexité moindre. - Dans les cas les plus simples: la méthode triviale de l’analyse descendante.
  • 7. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.3 Le pseudo-langage (1/2) - L’algorithmique permet de produire des solutions informatiques génériques à base d’algorithmes. - Pseudo-langage: d’un langage descriptif, syntaxiquement universel, peu contraignant et complètement indépendant de l’architecture matérielle. - Définition: « On appelle pseudo-langage le langage manuscrit de la science informatique qui permet de décrire la logique des algorithmes d’une solution informatique, séquentiellement et de manière ordonnée, et cela indépendamment du langage de programmation qui sera choisi pour programmer ». - cf. le célèbre algorithme d’Euclide. Programme PGCD Var n,b,k sont des entiers Début Afficher("Saisissez deux entiers non nuls") Saisir("Entrez n", n) Saisir("Entrez m", m) //Reste de la division entière de n par b k <- modulo(n,m) TantQue (k<>0) n <- m m <- k k <- modulo(n,b) Fin Afficher("Le P.G.C.D. vaut "+ m) Fin programme Algorithme 1. L’algorithme d’Euclide simplifié.
  • 8. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 1. Introduction à l’algorithmique 1.3 Le pseudo-langage (2/2) - La grammaire et la syntaxe des langages de programmation traduisent les contraintes techniques d’implémentation. - Le pseudo-langage utilisé dans Titan est une surcouche du pseudo-langage de la société PCSoft. Langage Syntaxe de l’instruction Langage C printf("Saisissez deux entiers non nuls."); Langage C++ cout << "Saisissez deux entiers non nuls."; Java System.out.println "Saisissez deux entiers non nuls."; Python print ("Saisissez deux entiers non nuls.") Pascal writeln(‘Saisissez deux entiers non nuls’); Basic print "Saisissez deux entiers non nuls."; Fortran PRINT*, ‘Saisissez deux entiers non nuls.’ ADA Ada.Text_io.put("Saisissez deux entiers non nuls."); w-langage Info("Saisissez deux entiers non nuls.") PHP echo("Saisissez deux entiers non nuls."); Objective-C NSLog(@"Saisissez deux entiers non nuls.");
  • 9. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 10. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 11. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.1 Variables et types (1/3) - En algorithmique, les variables servent à nommer les données. - En programmation, elles matérialisent les cases mémoires de la mémoire principale de l’ordinateur. - Définition: « On appelle variable la représentation nommée (ou l’étiquette) d’une donnée dont la valeur peut évoluer lors du déroulement logique des instructions d’un algorithme ou d’un programme ». Programme PrixTTC Var //Déclarations des variables prixHT, prixTTC sont des réels Début //Affiche un message à l’écran Afficher("Saisir le prix H.T.") //Affiche une fenêtre pour effectuer la saisie Saisir("PRIX HT",Prix_HT) //Calcule le prix TTC Prix_TTC <- Prix_HT*1.196 //Affichage le résultat à l’écran de l’ordinateur Afficher("Total TTC" + Prix_TTC) Fin programme Algorithme 2. Calcul d’un prix TTC à partir d’un prix HT.
  • 12. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.1 Variables et types (2/3) - Type des variables = nature (nombre entier, nombre réel, caractère, etc.). - En algorithmique: « On appelle type la nature numérique ou alphanumérique de la donnée d’une variable. Le type permet de déterminer les opérations que l’on peut effectuer avec les données (ex. concaténation, addition, etc.) ». - En programmation: « On appelle type, un système de codification permettant de stocker de l’information dans une variable, conformément à une norme de codage et à un ensemble d’opérations autorisées »
  • 13. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.1 Variables et types (3/3)
  • 14. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.2 Déclaration des variables en algorithmique (1/2) - En algorithmique, on considère 4 types simples: - les nombres entiers, - les nombres réels, - les booléens, - les caractères. - En pseudo-langage, on déclare une variable dans le bloc ‘Var’ - et 2 types complexes principaux: - les chaînes de caractères, - les tableaux, Programme PrixTTC Var //Déclarations des variables PrixHT est un réel Compteur est un entier Trouve est un booléen carRecherche est un caractère … … nomDeFamille est une chaîne identifiants est un tableau de 10 entiers …
  • 15. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.2 Déclaration des variables en algorithmique (2/2) - Les types usuels en algorithmique et en programmation Type en algorithmique (Pseudo-langage) Déclaration en pseudo- langage Type correspondant en langage PHP Commentaires Booléen b est un booléen boolean Valeurs True et False en langage PHP. Entier b est un entier integer – 2 147 483 648 à + 2 147 483 647. (devient) double au-delà de + 2 147 483 647. Caractère b est un caractère string Il n’existe pas de type caractère en langage PHP. On utilise le type complexe ‘string’. Réels b est un réel double 32 bits soit 14 chiffres. Chaîne de caractères b est une chaîne string Correspond à un ensemble de caractères regroupés sous un même nom. Tableau T est un tableau de 10 entiers array Correspond à un ensemble de valeurs regroupées sous un même nom.
  • 16. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.3 Les variables en langage PHP - PHP est un langage à typage dynamique. - Il n’est pas nécessaire de déclarer les variables. - Elles sont déclarées quand elles reçoivent une valeur. - Le nom d’une variable est toujours précédé du caractère ‘$’. //Programme types des variables en langage PHP //Var $i = 2; $j = 2147483647; $k = 3000000000; $l = 2.34; $m = 'bonjour'; $n = TRUE; $c = 'Z' //Début $typeVariable = getType($i); echo('Type de i: '.$typeVariable.'</br>'); $typeVariable = getType($j); echo('Type de j: '.$typeVariable.'</br>'); $typeVariable = getType($k); echo('Type de k: '.$typeVariable.'</br>'); $typeVariable = getType($l); echo('Type de l: '.$typeVariable.'</br>'); $typeVariable = getType($m); echo('Type de m: '.$typeVariable.'</br>'); $typeVariable = getType($n); echo('Type de n: '.$typeVariable.'</br>'); $typeVariable = getType($c);
  • 17. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.4 Les variables de type entier - en PHP, il n’existe pas d’opérateur pour la division entière. Type Entier Déclaration en pseudo-langage nombreUnité est un entier Type en langage PHP integer Ensemble générique des valeurs correspondantes Entiers positifs et négatifs. Principaux opérateurs associés du pseudo-langage +, -, /, *, ++, --, +=, -= , =, <>, <, <=, >, >= Fonctions triviales associées du pseudo-langage abs, racine, carré, puissance, div, modulo. Fonctions triviales équivalentes en langage PHP abs, sqrt, *, pow, floor, fmod. - Le type entier sert à stocker les valeurs des nombres entiers.
  • 18. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.5 Les variables de type réel - En algorithmique et en programmation le séparateur de décimales est le point ‘.’ : 12.45. - Attention à la précision des nombres à virgule en programmation. Type Réel Déclaration en pseudo-langage dimensionVerticale est un réel Type en langage PHP double Ensemble générique des valeurs correspondantes Nombres décimaux positifs et négatifs Principaux opérateurs associés du pseudo-langage +, -, /, *, puissance, racine, =, <>, <, <=, >, >= Fonctions triviales associées du pseudo-langage abs, racine carrée, carré, puissance Fonctions triviales équivalentes en langage PHP abs, sqrt, *, pow - Le type réel sert à stocker les valeurs des nombres décimaux (à virgule).
  • 19. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.6 Les variables de type booléen - Doivent leur nom à Georges Bool (1815-1864). - Deux valeurs possibles : Vrai ou Faux. - En langage PHP, on utilise les constantes littérales TRUE et FALSE. Type Booléen Déclaration en pseudo-langage autorisationEnCours est un booléen Type en langage PHP boolean Ensemble générique des valeurs correspondantes Vrai, Faux (TRUE, FALSE) Principaux opérateurs associés du pseudo-langage ET, OU, PAS (NON) Fonctions triviales associées du pseudo-langage Fonctions triviales équivalentes en langage PHP (bool)
  • 20. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.7 Les variables de type caractère - Ne contiennent qu’un seul caractère. - En programmation on distingue les caractères de contrôle (actions) et les caractères graphiques (lettres, ponctuations, etc.). - En langage PHP, le type caractère n’existe pas. Type Caractère Déclaration en pseudo-langage carLu est un caractère Type en langage PHP string (chaîne de caractères) Ensemble générique des valeurs correspondantes caractères affichables et spéciaux, caractères de contrôle. Principaux opérateurs associés du pseudo-langage +,=, <>, <, <=, >, >= Fonctions triviales associées du pseudo-langage ord, car Fonctions triviales équivalentes en langage PHP ord, car
  • 21. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 2. Les variables 2.8 Les variables de type chaîne de caractères - Des séquences de caractères. Type Chaîne de caractères Déclaration en pseudo-langage titre est une chaîne Type en langage PHP string (chaîne de caractères) Ensemble générique des valeurs correspondantes tous les caractères Principaux opérateurs associés du pseudo-langage +, =, <>, <, <=, >, >= Fonctions triviales associées du pseudo-langage taille Fonctions triviales équivalentes en langage PHP strlen
  • 22. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 23. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 24. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 3. Les constantes 3.1 Constantes et constantes nommées - Les constantes correspondent aux valeurs fixes des algorithmes et des programmes. - Leur valeur est inscrite dans le corps des algorithmes ou des programmes. - Les constantes nommées portent une étiquette (Majuscules). - Définition: « On appelle constante une donnée de valeur fixe qui n’évolue pas lors de l’exécution d’un algorithme ou d’un programme. Comme les variables, les constantes peuvent être identifiées par un nom (étiquette) qui référence la valeur exprimée. On les appelle alors constantes nommées». Programme Contantes Var prixHT, prixTTC sont des réels Const TAUX_TVA est une constante réelle TAUX_TVA <- 19.60 Début //Demande le prix H.T. Afficher("Entrez le prix H.T.") Saisir("Prix H.T.", prixHT) //Effectue le calcul du prix H.T. prixTTC <- prixHT*(1+TAUX_TVA/100) //Affiche le résultat Afficher("PRIX TTC:"+prixTTC) Fin programme - En pseudo-langage, les constantes sont déclarées dans le bloc d’instructions ‘Const’.
  • 25. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 3. Les constantes 3.2 Les constantes en langage PHP - En langage PHP, il convient d’utiliser la fonction intégrée ‘define’. //Programme Constantes //Const define("TAUX_TVA",19.60); //Var $prixHT = 0.0; $prixTTC = 0.0; //Début //Demande le prix H.T. $prixHT = [Saisir,"Entrez le Prix H.T.:"]; echo('Prix H.T. : '.$prixHT.'</br>'); //Effectue le calcul du prix H.T. $prixTTC = $prixHT*(1+TAUX_TVA/100); //Affiche le résultat echo('PRIX TTC: '.$prixTTC); //Fin programme
  • 26. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 27. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 28. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.1 Opérateurs, opérandes et expressions informatiques - Les expressions sont composées d’une alternance d’opérations et de données. - Les opérations sont mises en œuvre par les opérateurs. - Les données sont stockées dans les opérandes à côté des opérateurs. - Les couples d’instructions ‘opérandes/opérateurs’ constituent les mots des phrases des algorithmes et des programmes.
  • 29. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.2 L’opérateur d’affectation (1) - Affectation par valeur - Initialiser avec une valeur cohérente chacune des variables d’un programme. - Définition: « L’opération d’affectation est l’opération informatique qui consiste à stocker une valeur dans une variable à l’aide de l’opérateur d’affectation ». - Opérateur du pseudo-langage: flèche orientée vers la gauche pointe sur l’étiquette de la variable. Programme Exemples d’affectations Var mess est une chaîne Taux_TVA est un réel Début //Affectation d’un nombre réel Taux_TVA <- 19.60 mess <- " Voici le taux de TVA utilisé: " //Affectation d’une chaîne de caractères Afficher(mess + Taux_TVA) Fin programme - En langage PHP, on utilise l’opérateur ‘=’ (ex. $x = 1;).
  • 30. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.2 L’opérateur d’affectation (2) - Affectation par référence - Un concept du domaine de la programmation: affectation par référence vs affectation par valeur. - Affectation par référence: 2 variables référencent le même emplacement mémoire. - Il est possible de dupliquer l’étiquette d’une variable : alias. - En langage PHP on utilise l’opérateur sur adresse: ‘&’. - Il est possible de mentionner l’opérateur sur adresse ‘&’ dans les algorithmes.
  • 31. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.2 L’opérateur d’affectation (2) - Affectation par référence - PHP permet de réaliser des affectations par référence. - On utilise l’opérateur sur adresse ‘&’. //Programme Affectation par Référence //Var $i = 90; $j = 0; $k = 25; //Début //Affichage du contenu initial des variables echo('i: '.$i.' j: '.$j.' k: '.$k.'<br />'); //Affectation par valeur $j = $i; //Affectation par référence $k = &$i; //Modification de la variable k $k = 125; //Affichage du contenu final des variables echo('i: '.$i.' j: '.$j.' k: '.$k); //Fin programme
  • 32. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.3 Les opérateurs arithmétiques (1/2) - Servent à effectuer les opérations mathématiques élémentaires. - Addition (+), multiplication (*), soustraction (-), division (/). - Division entière (div), reste de la division entière (modulo).
  • 33. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.3 Les opérateurs arithmétiques (2/2) - En langage PHP, fmod (modulo): fmod(7,2). - En langage PHP, il n’existe pas d’opérateur dédié à la division entière: on utilise floor (partie entière d’un nombre décimal) floor(7/2). Programme pariteEntier Var n, r, q sont des entiers Début //Saisie d'un nombre entier Saisir("Entrer un entier ", n) //On calcule le reste de la division entière de n par 2 r <- modulo(n,2) //On effectue la division entière de n par 2 q <- div(n,2) //Affichage du résultat des calculs Afficher(n + " / 2 = "+ q +" reste "+r) //Affiche les instructions pour déterminer la parité Afficher("Si reste 1, nombre impair, si reste 0 nombre pair") Fin programme
  • 34. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.4 Les opérateurs de comparaison - Servent à construire des expressions de comparaisons. - La valeur résultante est de type booléen. - ‘<=’,’<’,’ >’, ‘>=’, ‘=’,’<>’ ou ‘ !=’ (différent). Opérateur de comparaison Signification Pseudo-langage Langage PHP = égalité = == ~= égalité souple ~= n’existe pas ~~ égalité très souple ~~ n’existe pas <> différent <>, != != <= inférieur ou égal <= <= >= supérieur ou égal >= >= < strictement inférieur < < > strictement supérieur > >
  • 35. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.5 Les opérateurs booléens ou logiques - Servent à construire des expressions booléennes ou logiques des tests conditionnels. - Les expressions booléennes suivent la logique booléenne d’un traitement. - Composition d’une expression booléenne: - Les opérateurs booléens ou logiques, - les variables, les constantes, - Les opérateurs de comparaison. - Les instructions suivent la logique booléenne. - Elles valent donc soit VRAI soit FAUX. - Opérateurs booléens ou logiques : le ET, le OU et le NON.
  • 36. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.5 Les opérateurs booléens ou logiques - (1) L’opérateur booléen ET - L’opérateur booléen ‘ET’ est un opérateur binaire. - Il suit la logique de la table de vérité du ‘ET’. ET opérande 2 : Vrai opérande 2 : Faux opérande 1 : Vrai Vrai Faux opérande 1 : Faux Faux Faux
  • 37. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.5 Les opérateurs booléens ou logiques - (2) L’opérateur booléen OU - L’opérateur booléen‘OU’ est un opérateur binaire. - Il suit la logique de la table de vérité du ‘OU’. OU Opérande 2 : Vrai Opérande 2 : Faux Opérande 1 : Vrai Vrai Vrai Opérande 1 : Faux Vrai Faux
  • 38. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.5 Les opérateurs booléens ou logiques - (3) L’opérateur booléen PAS Remarque Si l’expression booléenne ‘Op1 ET Op2’ vaut ‘VRAI’, alors l’expression ‘PAS(Op1 ET Op2)’ vaut ‘FAUX’ et est équivalente à ‘Op1 OU Op2’. - L’opérateur booléen ‘PAS’ (ou négation) est un opérateur unaire. - Il permet d’exprimer la valeur contraire d’une expression booléenne. PAS (Op1 ET op2) Opérande 2 : Vrai Opérande 2 : Faux Opérande 1 : Vrai Faux Vrai Opérande 1 : Faux Vrai Vrai
  • 39. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.6 L’opérateur de concaténation - Juxtaposer deux chaînes de caractères. - En pseudo-langage on utilise l’opérateur ‘+’ . - ATTENTION: ne pas confondre concaténation et addition.
  • 40. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 4. Les opérateurs 4.7 Les principaux opérateurs du langage PHP - Les langages de programmation proposent souvent des opérateurs spécifiques. Nom de l’opérateur Langage PHP Pseudo-langage Exemple en langage PHP Affectation (2.4.2) = <- $i = 12 ; Arithmétiques (2.4.3) + - / % + - / modulo div $reste = 7%2 ; Comparaisons (2.4.4) < <= != > >= < <= <> > >= $i != $j ; Booléens ou logiques (2.4.5) and(&&) or(||)! et ou non (pas) $cond1 and $cond2 Concaténation (2.4.6) . + ‘des’.$fruits ; Chaîne de caractères (3.6.2) {} [[]] $mess{3} Tableaux (3.1.2) [] [][][]… [] [,,,…] echo($notes[$i]); $m[$i] [$j]=1; Incrémentation ++ ++ $i++; Décrémentation -- -- $i--; Assignation += -= += -= $i += 3; Adresse (2.4.2.2) & & $i=2; $nomVariable = "i"; echo($$nomVariable); Indirection $$ {} $var = $$i;
  • 41. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 42. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 43. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 5. Les instructions d’entrée-sortie (1/5) 5.1 Définitions générales On appelle instructions d’entrée-sortie, les instructions d’un algorithme ou d’un programme qui permettent d’échanger de l’information avec l’utilisateur du programme. . On appelle instructions d’affichage, les instructions qui permettent d’envoyer sur un périphérique de sortie, les valeurs contenues dans les variables d’un programme. On appelle instructions de lecture, les instructions qui permettent de lire les données à partir d’un périphérique d’entrée, et de les stocker dans des variables afin de les traiter. - On distingue les instructions d’affichage et les instructions de lecture.
  • 44. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 5. Les instructions d’entrée-sortie (2/5) 5.2 Les instructions d’affichage - Envoyer sur un périphérique de sortie des messages en direction de l’utilisateur. - À divulguer l’information générée par les instructions. - En pseudo-langage: on utilise le verbe à l’infinitif « Afficher ». Programme PrixTTC Var //Déclaration des variables PrixHT, PrixTTC sont des réels Const //Déclarations des constantes TAUXTVA est une constante réelle TAUXTVA <- 19.60 Début Afficher("Saisie du prix H.T.") Saisir("Saisissez le montant du prix H.T.: ", PrixHT) //Calcul du prix TTC PrixTTC <- PrixHT*(1+TAUXTVA/100) //Affichage du résultat Afficher("Taux de TVA: " + TAUXTVA + "<br />") Afficher("Total TTC: " + PrixTTC) Fin programme - En langage de programmation PHP, on traduit ‘Afficher’ par ‘echo’.
  • 45. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 5. Les instructions d’entrée-sortie (3/5) 5.3 Les instructions de lecture - Importer des données dans les programmes à partir des périphériques d’entrée. - À récupérer l’information saisie au clavier de l’ordinateur. - En pseudo-langage: on utilise le verbe à l’infinitif « Saisir ». Programme PrixTTC Var //Déclaration des variables PrixHT, PrixTTC sont des réels Const //Déclarations des constantes TAUXTVA est une constante réelle TAUXTVA <- 19.60 Début Afficher("Saisie du prix H.T.") Saisir("Saisissez le montant du prix H.T.: ", PrixHT) //Calcul du prix TTC PrixTTC <- PrixHT*(1+TAUXTVA/100) //Affichage du résultat Afficher("Taux de TVA: " + TAUXTVA + "<br />") Afficher("Total TTC: " + PrixTTC) Fin programme - En langage de programmation PHP, avec Titan, on traduit ‘Saisir’ par ‘[Saisir, « message»]’.
  • 46. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 5. Les instructions d’entrée-sortie (4/5) 5.4 Lecture et écriture dans un fichier - (1) Eléments d’algorithmique - En programmation, on distingue les fichiers texte et les fichiers binaires. - Définition: « On appelle descripteur de fichier, une variable indiquant la position en cours dans un fichier et à partir de laquelle on effectue un traitement informatique ». Programme Exemple_fichier_texte Var //Descripteur de fichier idF est un entier //Pour les codes ASCII i est un entier //Chemin du fichier chemin est une chaîne //Pour stocker le caractère ASCII car est un caractère Début //-->Ouverture du fichier Saisir("Chemin du fichier",chemin) //Ouverture avec création du fichier idF <- fouvre(chemin,focreation) Afficher("Ouverture "+chemin) Si idf>0 Alors //Ecriture des caractères ASCII Pour i<-64 à 126 fecrit(idf,caract(i)+RC) Fin fferme(idf) //Lecture caract. du fichier idF<- fouvre(chemin,folecture) car <- flitligne(idF) Tantque car<>EOT Afficher(car) //Lect du caractère suivant car <- flitligne(idF) Fin fferme(idF)
  • 47. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 5. Les instructions d’entrée-sortie (5/5) 5.4 Lecture et écriture dans un fichier - (2) Utilisation des fichiers en langage PHP //Programme LireFichierTexte //Var $idF = 0; $ligneLue = ""; $finFichier = FALSE; //Début //Ouverture fic. Texte en lecture $idF = fopen("C:aff.txt", "r") ; //Si le fichier est bien ouvert if($idF>0){ //Tantque ligne différente //de fin de fichier (End Of Text) $finFichier = FALSE; while(!$finFichier){ //Lecture de la ligne suivante $ligneLue = fgets($idF); //Test sur la fin de fichier if(feof($idF)){ $finFichier = TRUE; }else{ echo($ligneLue.' <br />'); } } //Fermeture du fichier fclose($idF); }else{ echo("Err. Ouver. fichier <br />"); } //Fin programme
  • 48. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 49. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 50. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (1/10) - Les instructions conditionnelles sont des structures de contrôle qui servent à construire des tests. - Choisir les traitements à effectuer en fonction de conditions. - Les instructions conditionnelles se fondent sur des expressions booléennes.
  • 51. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (2/10) 6.1 L’instruction conditionnelle Si…Alors…Sinon (1/3)
  • 52. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (3/10) 6.2 L’instruction conditionnelle Si…Alors…Sinon (2/3) - Syntaxe en pseudo-langage: - Syntaxe en langage PHP: Si Condition Alors < Instructions bloc 1 > Sinon < Instructions bloc 2 > Fin Si Condition Alors < Instructions > Fin if (condition){ < Instructions bloc 1 > }else{ < Instructions bloc 2 > } if (condition){ < Instructions > }
  • 53. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (4/10) 6.1 L’instruction conditionnelle Si…Alors…Sinon (3/3) Programme CompareEntiers Var i,j sont des entiers Début //Saisie du premier entier Saisir("Entrez l’entier n°1 ", i) //Saisie du deuxième entier Saisir("Entrez l'entier n°2 ", j) Si i>j Alors Afficher(i + " est plus grand que " + j) Sinon Si i<j Alors Afficher(j + " est plus grand que "+ i) Sinon Afficher(i + " est égal à " + j) Fin Fin Fin programme
  • 54. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (5/10) 6.2 L’instruction conditionnelle Si…Alors…SinonSi (1/3)
  • 55. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (6/10) 6.2 L’instruction conditionnelle Si…Alors…SinonSi (2/3) - Syntaxe en pseudo-langage: - Syntaxe en langage PHP: Si <condition 1> Alors <Instructions bloc 1> Sinon Si <condition 2> Alors <Instructions bloc 2> … Sinon Si <Instructions bloc n> Fin if (condition 1){ < Instructions bloc 1 > }elseif(condition 2){ < Instructions bloc 2 > } elseif (condition 3){ < Instructions bloc n > }
  • 56. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (7/10) 6.2 L’instruction conditionnelle Si…Alors…SinonSi (3/3) Programme Horoscope Var signeAstro est une chaine conseil est une chaine Début conseil <- "signe inconnu" Saisir("Entrez votre signe du zodiac:", signeAstro) Si (signeAstro = "bélier") Alors conseil <- "Soyez modéré" Sinon Si (signeAstro = "lion" OU signeAstro = "verseau") Alors conseil <- "Ayez confiance en vous" Sinon Si (signeAstro = "sagittaire" OU signeAstro ="cancer") Alors conseil <- "Mangez moins" Sinon Si (signeAstro = "taureau" OU signeAstro ="scorpion") Alors conseil <- "Dormez plus" Sinon Si (signeAstro = "vierge" OU signeAstro = "poissons") Alors conseil <- "Restez optimiste" Sinon Si (signeAstro ="capricorne" OU signeAstro ="gémeaux") Alors conseil <- "Evitez les conflits" Sinon Si signeAstro = "balance" Alors conseil <- "Attention au surmenage" Fin Afficher("Voici le conseil du jour:") Afficher(conseil) Fin programme
  • 57. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (8/10) 6.3 L’instruction conditionnelle Selon (1/3)
  • 58. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (9/10) 6.2 L’instruction conditionnelle Selon (2/3) - Syntaxe en pseudo-langage: - Syntaxe en langage PHP: Selon < variable de comparaison > : Cas < valeur 1 > : < Instructions bloc 1 > Cas < valeur 2 > : < Instructions bloc 2 > … cas < valeur n > : < Instructions bloc n > autre cas : < Instructions bloc n+1 > Fin switch (< variable de comparaison >){ case < valeur 1 > : < Instructions bloc 1 > break ; case < valeur 2 > : < Instructions bloc 2 > break ; … case < valeur n > : < Instructions bloc n > break ; default : < Instructions par défaut > break ; }
  • 59. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 6. Les choix et les instructions conditionnelles (10/10) 6.3 L’instruction conditionnelle Selon (3/3)Programme Selon Var note est un réel m est une chaîne Début //Saisie de la note Saisir("Entrez la note d'algorithmique",note) //Determination de l'appréciation Selon note Cas 0: m <- "Très insuffisant" Cas 1,2,3,4,5,6,7: m <- "Insuffisant" Cas 8,9,10,11: m <- "moyen" Cas 12,13,14: m <- "bien" Cas 15,16,17: m <- "Très bien" Cas 18,19,20: m <- "Excellent" Autre Cas: m <- "Non valide" Fin //Affiche le message Afficher("Appréciation :"+m) Fin programme
  • 60. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 61. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 62. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (1/10) - Servent à réitérer des blocs d’instructions en fonction d’un test conditionnel. - Le test exprime la condition de boucle. - Les boucles servent à mettre en œuvre les itérations. - Les boucles utilisent une variable particulière appelée compteur de boucle . - Le compteur de boucle fonctionne avec une instruction d’incrémentation ou de décrémentation.
  • 63. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (2/10) 7.1 L’instruction de boucle ‘Tantque’ (1/3)
  • 64. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (3/10) 7.1 L’instruction de boucle ‘Tantque’(2/3) - Syntaxe en pseudo-langage: - Syntaxe en langage PHP: Tantque Condition de boucle < Bloc d’instructions > Fin while(Condition de boucle){ < Bloc d’instructions > }
  • 65. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (4/10) 7.1 L’instruction de boucle ‘Tantque’ (3/3) Programme ExempleBoucleTantque Var niveauTitre est un entier Début Afficher("Voici les différents niveaux de titre possibles en HTML <br />") niveauTitre <- 1 Tantque niveauTitre<7 //Instructions de boucle Afficher("<h"+niveauTitre+">") Afficher("Titre de niveau "+niveauTitre) Afficher("</h"+niveauTitre+">") //Incrémentation du compteur de boucle – Instruction d’arrêt niveauTitre <- niveauTitre + 1 Fin Fin programme
  • 66. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (5/10) 7.2 L’instruction de boucle ‘Boucle… À Faire Tantque’ (1/3)
  • 67. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (6/10) 7.1 L’instruction de boucle ‘Boucle… À Faire Tantque’ (2/3) - Syntaxe en pseudo-langage: - Syntaxe en langage PHP: Boucle < Instructions de boucle > A Faire Tantque < Condition de boucle > do{ < Instructions de boucle > }while(< Condition de boucle >);
  • 68. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (7/10) 7.2 L’instruction de boucle ‘Boucle… À Faire Tantque’ (3/3) Programme ExempleBoucleAFaireTantque Var moyenne, somme, note sont des réels nbeleves,i sont des entiers Début Saisir("Combien d’élèves ? ",nbEleves) somme <- 0 i <- 1 //Boucle principale du programme Boucle Saisir("Entrer la note de l’élève" + i, note) somme <- somme + note i <- i + 1 A Faire Tantque (i <= nbEleves) //On calcule la moyenne moyenne <- somme / nbEleves Afficher("Moyenne de la classe : "+ moyenne) Fin programme
  • 69. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (8/10) 7.3 L’instruction de boucle ‘Pour’ (1/3)
  • 70. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (9/10) 7.3 L’instruction de boucle ‘Pour’ (2/3) Pour < compteur > <- < borne1 > à < borne2 > [Pas <x>] < Instructions de boucle > Fin for(< Compteur de boucle >; < Condition >; < Incrementation ou Decrementation >){ < Instructions de boucle > } - Syntaxe en pseudo-langage: - Syntaxe en langage PHP:
  • 71. Eric INNOCENTI Associate professor Department of Computer Science Concepts élémentaires de programmation informatique 7. Les instructions de boucle (10/10) 7.3 L’instruction de boucle ‘Pour’ (3/3) Programme ExempleBouclePour Var moyenne, somme, note sont des réels nbeleves,i sont des entiers Début Saisir("Combien d’élèves ? ",nbEleves) Somme <- 0 //Boucle principale du programme Pour i<-1 à nbEleves Saisir("Entrer la note de l’élève" + i, note) //On effectue la somme des notes somme <- somme + note Fin //On calcule la moyenne moyenne <- somme / nbEleves Afficher("Moyenne de la classe : " + moyenne) Fin programme
  • 72. Eric INNOCENTI Associate professor Department of Computer Science Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle Concepts élémentaires de programmation informatique
  • 73. Eric INNOCENTI Associate professor Department of Computer Science For your attention Pour votre écoute Content at a glance / Résumé du contenu 1. Introduction à l’algorithmique 2. Les variables 3. Les constantes 4. Les opérateurs 5. Les instructions d’entrée-sortie 6. Les choix et les instructions conditionnelles 7. Les instructions de boucle