La programmation est l'étape ultime de la mise en oeuvre logique d'un algorithme. En ce sens, une mauvaise appréhension du problème calculable mène irrémédiablement à un mauvais programme. Pour bien programmer, il faut bien penser. Dans le cours qui suit nous essayons d'expliquer ce que doit être le raisonnement algorithmique au-delà des contraintes matérielles.
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 »
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