La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1. Les éléments algorithmiques

Présentations similaires


Présentation au sujet: "1. Les éléments algorithmiques"— Transcription de la présentation:

1 1. Les éléments algorithmiques
Automne 2012 1. Les éléments algorithmiques Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

2 Définition: L’algorithme
Séquence complète et ordonnée de toutes les opérations à réaliser pour obtenir un résultat Exemples d’algorithmes dans la vie de tous les jours: Recette, indications routières, instructions d’assemblage Un algorithme doit être sans ambigüités produire chaque fois les mêmes résultats se terminer après un nombre fini d’opérations Joan S. Morales - Introduction à l'algo. et la programmation 2

3 L’algorithme (suite) Exemples d’opérations:
Lire un nombre du clavier Effectuer une opération mathématique Copier une valeur en mémoire Afficher une réponse à l’écran Un algorithme effectue des traitements sur des intrants pour produire des extrants Traitements Intrants Extrants Joan S. Morales - Introduction à l'algo. et la programmation 3

4 Étapes du développement
Automne 2012 Étapes du développement Compréhension du problème Intrants Extrants Constantes Souvent programmeur oublie le client… Ne pas se pitcher direct sur l’ordi Conception: gros du travail Création du jeu de tests Cas de base Cas extrêmes Cas limites Cas d’erreur Joan S. Morales - Introduction à l'algo. et la programmation 4 Collège Lionel-Groulx

5 Étapes du développement (suite)
Automne 2012 Étapes du développement (suite) Codification et mise au point Création du code Tests Débogage TESTER! Joan S. Morales - Introduction à l'algo. et la programmation 5 Collège Lionel-Groulx

6 4 règles d’or de la programmation
Automne 2012 4 règles d’or de la programmation Le développement, c’est plus que de la programmation: il faut réfléchir avant! Il faut programmer un petit bout à la fois, compiler, tester et recommencer (itératif) Un beau programme est un bon programme! Une fois terminé, il faut tester son programme, puis le tester encore, puis le tester encore, puis le tester encore, puis le tester encore, puis le tester encore, puis le tester encore , puis le tester encore , puis le tester encore , puis le tester encore , puis le tester encore , puis le tester encore , puis le tester encore,… Pas facile de faire simple. Un programme c’est comme un texte: notion de beauté Ou comme une maison! La maison doit tenir plus qu'un mois, être modifiée, améliorée! Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

7 Un premier exemple: La sphère
Automne 2012 Un premier exemple: La sphère Besoin d’un outil pour calculer le volume de boules de bowling (sphères) de dimension variable L’informatique n’est pas la solution à tous les problèmes… Joan S. Morales - Introduction à l'algo. et la programmation 7 Collège Lionel-Groulx

8 Compréhension du problème
Volume = 4/3 x π x Rayon3 Intrant(s)? Le rayon Extrant(s)? Le volume Constantes π = 3, Joan S. Morales - Introduction à l'algo. et la programmation 8

9 Création du jeu de tests
Automne 2012 Création du jeu de tests Intrant(s) Extrant(s) Rayon Volume 1 4,1887 2 33,5103 3,5 179,5943 25 65 449,8469 Erreur -1 Joan S. Morales - Introduction à l'algo. et la programmation 9 Collège Lionel-Groulx

10 Codification et mise au point
Démarrer Visual Studio Créer un projet (et une solution) Écrire le programme Générer la solution Exécuter le programme Faire la mise au point (tests/débogage…) Joan S. Morales - Introduction à l'algo. et la programmation 10

11 Structure d’un programme C++
Entête Bibliothèques Programme principal Joan S. Morales - Introduction à l'algo. et la programmation

12 La séquence L’algorithme que l’on va créer sera une séquence.
Automne 2012 La séquence L’algorithme que l’on va créer sera une séquence. Une séquence est une suite d’opérations, toutes obligatoires, nécessairement exécutées de haut en bas. Exemple: cin >> Rayon; Volume = 4.0f / 3.0f * Pi * Rayon * Rayon * Rayon; cout << Volume; L’ordre est important! S’il n’y a pas d’erreur, les 3 lignes seront exécutées l’une après l’autre! Enlever pseudo et morpho, mettre le code, faire des exemples!! Une animation, montrer avec le debuggeur Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

13 La variable Contenant pour donnée, information
Automne 2012 La variable Contenant pour donnée, information Chaque variable a un type et un nom Le nom doit être composé uniquement de caractères alphabétiques, de chiffres décimaux et des traits de soulignement _ Normes de programmation Le nom d’une variable doit débuter par une lettre majuscule suivie de lettres minuscules Exemple: NbEtudiants Le nom doit être significatif! Il faut éviter les abréviations incompréhensibles! Illustrer l'association d'une variable à une case mémoire Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

14 La variable (suite) Il faut déclarer chaque variable avant usage
Automne 2012 La variable (suite) Il faut déclarer chaque variable avant usage  Pour déclarer une variable en C++ float Rayon; Pour déclarer une constante en C++ const float Pi = f; Principaux types de données en C++ char (-128 à 127, entier) short ( à 32767, entier) int ( to , entier) float (réel simple) double (réel double) bool (true ou false) Expliciter les types Expliquer le 4/3, 4.0/3, 4.0/3.0 et 4.0f / 3.0f Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

15 La constante symbolique
La constante est une variable qui ne change pas! Facilite la modification d'un programme Rend le code plus facile à lire Exemple: const float PourcentageAugm = 0.03f; const int MoisRetroactifs = 9; Il faut éviter les constantes littérales (« magic numbers »)! Mauvais exemples: const int Trois = 3; const int NbMoisEtNbOeufs = 12; Joan S. Morales - Introduction à l'algo. et la programmation

16 Les opérations de base: la lecture du clavier
Automne 2012 Les opérations de base: la lecture du clavier Le programme arrête et attend que l’usager tape une information à la console, suivie de la touche ENTRÉE L’information (un nombre ou un mot) est alors placée dans la variable spécifiée cin >> Rayon; Lit un nombre ou un mot seulement (espace) cin représente la console (Console INput) Nom de la variable qui va recevoir l’information Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

17 Les opérations de base: L’affectation
Automne 2012 Les opérations de base: L’affectation Le programme copie la valeur de l’expression de droite dans la variable de gauche. L’ancienne valeur de la variable de gauche est écrasée! Ce n’est pas une égalité mathématique! Exemples: Age = 17; Salaire = 10 * NbHeures; X = Y; Exemples qui ne marchent pas: 75 = Note; 2 * X = Y; Exercice 1.0 Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

18 Les opérations de base: L’écriture
Automne 2012 Les opérations de base: L’écriture Le programme affiche des informations à la console Exemples: cout << "Le volume est: "; cout << Volume; cout << endl; Ou encore: cout << "Le volume est: " << Volume << endl; Le texte doit être entre " " cout représente la console (Console OUTput) Pas de " " pour afficher le contenu d’une variable Pour changer de ligne (END of Line) Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

19 Code C++ final (voir vidéo!)
// Sphere.cpp // Fait par Gontran Tromblon // le 22 août 2016 // But : lit un rayon et calcule le // volume de la sphère correspondante #include <iostream> using namespace std; int main() { const float Pi = f; float Rayon; float Volume; cin >> Rayon; Volume = 4.0f / 3.0f * Pi * Rayon * Rayon * Rayon; cout << Volume; cout << endl; } Joan S. Morales - Introduction à l'algo. et la programmation

20 Règles de base du C++ Les majuscules et les minuscules sont importantes! Le C++ est sensible à la casse! Chaque instruction C++ se termine par un point virgule (sauf les commentaires, les inclusions de bibliothèques et les accolades ouvrantes et fermantes) Pour chaque parenthèse ouvrante (, il y a une parenthèse fermante ) Pour chaque accolade ouvrante {, il y a une accolade fermante } Joan S. Morales - Introduction à l'algo. et la programmation

21 Indentation du code CTRL-A,K,F
Automne 2012 CTRL-A,K,F Indentation du code CTRL-A,K,F Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

22 Les composants (résumé)
Automne 2012 Déclaration d’une constante symbolique Les composants (résumé) const float Pi = f; float Rayon; float Volume; cin >> Rayon; Volume = 4.0f / 3.0f * Pi * Rayon * Rayon * Rayon; cout << Volume; Déclaration de variables / * << >>: de gauche à droite = : droite à gauche Opération de lecture Variable Opération d’affectation Constante littérale Expression arithmétique Opération d’écriture Joan S. Morales - Introduction à l'algo. et la programmation 22 Collège Lionel-Groulx

23 Les expressions arithmétiques
Automne 2012 Les expressions arithmétiques Exécute un calcul mathématique Combinaison d’opérandes, d’opérateurs et de parenthèses Priorité Opérateur Description Associativité Mode C++ 1 ^ Exposant Binaire N.D. 2 + Positif Unaire - Négatif 3 * Multiplication / Division % Modulo (reste d’une division) 4 Addition Soustraction Priorité 0 : () Expliquer le 4.0/3.0 et 4.0/3 et 4/3 Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

24 Exp. arithmétiques (suite)
Exemples 42 4 / 3 * PI * Rayon 4 / ( 3 * PI ) Joan S. Morales - Introduction à l'algo. et la programmation

25 Exercices 12 + 42 * 2 / 4 (12 + 42) * 2 / 4 4 * 8 / 2 ^ 3 + 1
Automne 2012 Exercices * 2 / 4 ( ) * 2 / 4 4 * 8 / 2 ^ 3 + 1 4 * ((8 / 2) ^ 3) + 1 (4 * 8 / 2) ^ 3 + 1 (4 * 8 / 2) ^ (3 + 1) Joan S. Morales - Introduction à l'algo. et la programmation Collège Lionel-Groulx

26 Exercices - Réponses 12 + 42 * 2 / 4 (12 + 42) * 2 / 4
4 * 8 / 2 ^ 3 + 1 4 * ((8 / 2) ^ 3) + 1 (4 * 8 / 2) ^ 3 + 1 (4 * 8 / 2) ^ (3 + 1) = 33 = 27 = 5 = 257 = 4097 = 65536 Joan S. Morales - Introduction à l'algo. et la programmation

27 Les bibliothèques standards
Le vocabulaire de base de la plupart des langages est complété par des bibliothèques de fonctions Une fonction peut être vue comme un petit programme qui réalise une tâche précise Joan S. Morales - Introduction à l'algo. et la programmation

28 Les fonctions mathématiques
Exemples: #include <iostream> // cin/cout #include <cmath> // Outils mathématiques Quelques fonctions mathématiques disponibles (cmath): cos(x) exp(x) fabs(x) log(x) log10(x) pow(x,y) sin(x) sqrt(x) Attention! Les fonctions trigonométriques utilisent des angles en radians! Joan S. Morales - Introduction à l'algo. et la programmation

29 L’appel d’une fonction
Les intrants d’une fonction (généralement appelés paramètres) sont placés entre parenthèses séparés par des virgules Le résultat (l’extrant) est donné par la valeur de retour de la fonction (une seule valeur) Joan S. Morales - Introduction à l'algo. et la programmation

30 Exemple d’appel d’une fonction
#include <cmath> // Inclusion des outils using namespace std; // mathématiques int main() { RayonAuCube = pow(Rayon,3); Volume = 4.0f / 3.0f * Pi * RayonAuCube; // Ou encore: Volume = 4.0f / 3.0f * Pi * pow(Rayon,3); } Joan S. Morales - Introduction à l'algo. et la programmation

31 Un autre exercice On veut un logiciel qui permettra de calculer le prix total d’un article incluant la TPS et la TVQ. Ce logiciel devra, en fonction d’un prix entré par l’usager, afficher le prix de l’article, le montant de la TPS, le montant de la TVQ ainsi que le total qui inclut le prix de l’article et les différentes taxes. Pour ce logiciel, vous devrez considérer que le taux de la TPS est de 5 % et celui de la TVQ de 9,975 %. Joan S. Morales - Introduction à l'algo. et la programmation

32 Compréhension du problème
Intrant(s)? Prix de l’article Extrant(s)? Prix Montant de la TPS Montant de la TVQ Total Constantes? TPS = 5% TVQ = 9,975% Joan S. Morales - Introduction à l'algo. et la programmation

33 Jeux de tests Intrant Extrants Prix ($) Prix ($) Montant TPS
Montant TVQ Total 1 0,05 0,1 1,15 2,50 2,5 0,13 0,25 2,88 10 0,50 1,00 11,50 1500 75 146,25 1721,25 -5 Erreur Joan S. Morales - Introduction à l'algo. et la programmation

34 Code C++ … const float Tps = 0.05f; // 5%
const float Tvq = f; // 9.975% float Prix, MontantTps, MontantTvq, Total; cin >> Prix; MontantTps = Prix * Tps; MontantTvq = Prix * Tvq; Total = Prix + MontantTps + MontantTvq; cout << Prix; cout << MontantTps; cout << MontantTvq; cout << Total; Joan S. Morales - Introduction à l'algo. et la programmation


Télécharger ppt "1. Les éléments algorithmiques"

Présentations similaires


Annonces Google