480 likes | 650 Views
Initiation à la programmation et algorithmique. Introduction. Qu’est ce qu’un ordinateur : une machine totalement dénuée d'intelligence capable d’effectuer un grand nombre de tâches Exécute très rapidement et sans erreurs les ordres qu'on lui donne. Qu’est-ce qu’un programme ?.
E N D
Initiation à la programmationet algorithmique Introduction à la programmation et algorithmique
Introduction • Qu’est ce qu’un ordinateur : • une machine totalement dénuée d'intelligence • capable d’effectuer un grand nombre de tâches • Exécute très rapidement et sans erreurs les ordres qu'on lui donne Introduction à la programmation et algorithmique
Qu’est-ce qu’un programme ? • Assemblage et enchaînement d’instructions élémentaires • Écrit dans un langage de programmation • Exécuté par un ordinateur afin de traiter les données d’un problème • et renvoyer un ou plusieurs résultats Introduction à la programmation et algorithmique
Environnement de programmation • Programme s’écrit dans un fichier texte • On écrit les commandes les unes à la suite des autres • Le compilateur • vérifie la syntaxe du fichier texte • Avaancer au lieu de avancer • traduit en langage machine (100101100101001011…) • Hélas, il ne détecte pas les bugs !!! • Si on fonce dans le mur, il ne nous dit rien ! Introduction à la programmation et algorithmique
Environnement de programmation • Environnement de programmation dédié Fichier traduit Fichier source compilateur Affichage des Erreurs Introduction à la programmation et algorithmique
Programmation • Un programme est réalisé dans le but d’effectuer un ensemble de traitements particuliers sur un ensemble de données • Définir sous quelle forme les données initiales seront fournies à l’application • Définir sous quelle forme les résultats seront communiqués • Expliciter les différentes actions à réaliser pour réaliser cette tâche Introduction à la programmation et algorithmique
Données et traitements • Donnée : valeur stockée • variable ou constante • Type • Traitement : opérations sur les données • instructions Traitements Données initiales résultats Introduction à la programmation et algorithmique
Analyse du problème • Décomposer la tâche • Exemple simple : moyenne de 10 notes Calculer Moyenne notes saisies moyenne affichée Lire et stocker les données notes Additionner les données notes et stocker donnée somme Diviser la donnée somme par 10 et stocker la donnée moyenne Afficher la Donnée moyenne affichage écran saisie clavier Introduction à la programmation et algorithmique
Sous programme • Sous-programme • Diviser pour mieux régner • Intérêts : • Programmer tâche par tâche • Meilleure lisibilité du code • Économie de codage et réutilisation • Inconvénients : • Nécessite de réfléchir en blocs de fonctionnalités Introduction à la programmation et algorithmique
Algorithmique Où on apprend réellement à programmer Introduction à la programmation et algorithmique
Algorithmique • Un peu de vocabulaire… • Algorithme : enchaînement des actions (instructions) nécessaires pour résoudre un problème • Différentes appellations • langage algorithmique • pseudo-langage de programmation • pseudo-code) Introduction à la programmation et algorithmique
Organisation d’un programme Exemple d’un programme : PROGRAMMEmonProgr /* Constantes: initialisation obligatoire */ CONST const1 <- 10 : entier const2 <- "bonjour!" : chaîne // les variables au sens strict VAR varReel1, varReel2 : réels varChaine : chaîne DEBUT Instruction1 Instruction2 … FIN déclarations Corps du programme
Les données Où on se rend compte qu’un ordinateur n’est qu’une succession de boites ! Introduction à la programmation et algorithmique
Les données • Données= ensemble des informations manipulées par un programme • Les données d'un programme sont mémorisées en mémoire centrale dans des variables(sortes de cases) Introduction à la programmation et algorithmique
Notion de variable • Une variable possède : • une valeurcontenue par la case mémoire • un identificateur: nom unique par lequel on peut accéder à son contenu • un typequi définit la taille de la place occupée • Ne pas confondre la variableet son contenu • Une variable est un contenant(case ou boîte) • Le contenu d'une variable est unevaleurnumérique, alphanumérique… Introduction à la programmation et algorithmique
Variable • Une variable (VAR) est donc une « boite » dans laquelle on met une valeur (un nombre, un mot…) qui peux changer (si l’utilisateur modifie la valeur par exemple) • Les variables dont la valeur ne change pas au cours de l'exécution du programme sont appelées variables constantes (CONST) Introduction à la programmation et algorithmique
Déclaration de variable • Déclarer une variable : • réserver une place en mémoire • attribuer l'identificateur à cette place • La déclaration indique : • l’identificateur • le type • Exemple : VARmaVar : réel Introduction à la programmation et algorithmique
Types (1) • Type caractère • lettres, chiffres, ponctuation, code des opérations, espace, retour chariot,… • Exemples : ‘a’ ‘+’ ‘.’ • Type chaînede caractère • suites de caractères • Exemples : « bonjour » « cac40 » Introduction à la programmation et algorithmique
Types (2) • Type entier • les nombres entiers • Exemples : 3 45 133 • Type réel • les nombres réels • Exemples : 3,14 37,7 Introduction à la programmation et algorithmique
Types (3) • Type booléen • que deux valeurs possibles • soit VRAI, soit FAUX Introduction à la programmation et algorithmique
Exemples de variables Mémoire centrale (mémoire vive) • Identificateur : X • Type : entier • Valeur : 25 • Identificateur : Y • Type : réel • Valeur : 3,7 X 25 Y 3,7 Introduction à la programmation et algorithmique
Les opérateurs Où l’addition devient compliquée Introduction à la programmation et algorithmique
Opérateurs • Les opérations possibles sur les variables dépendent de leur type • On ne peux pas multiplier des mots… Introduction à la programmation et algorithmique
Réels Introduction à la programmation et algorithmique
Entiers Introduction à la programmation et algorithmique
Caractères Introduction à la programmation et algorithmique
Chaînes Introduction à la programmation et algorithmique
Booléens Introduction à la programmation et algorithmique
Rappel PROGRAMMEmonProgr /* Constantes: initialisation obligatoire */ CONSTconst1 <- 10 : entier const2 <- "bonjour!" : chaîne // les variables au sens strict VARvarReel1, varReel2 : réels varChaine: chaîne DEBUT Instruction1 Instruction2 … FIN déclarations Corps du programme Introduction à la programmation et algorithmique
Les instructions Introduction à la programmation et algorithmique
Instructions • Instruction = ordre que peut exécuter l'ordinateur • exécution d'un programme : • Échanges d'informations en mémoire • Calculs • Affichage des résultats Introduction à la programmation et algorithmique
Informations • Les informations manipulées par les instructions peuvent prendre plusieurs formes: • des variables • des constantes • des valeurs littérales("bonjour", 45, VRAI) • des expressionscomplexes : combinaisons de variables, constantes et valeurs littérales avec des opérateurs (2 * r * 3.14) Introduction à la programmation et algorithmique
Les instructions élémentaires • Affectation: le fait de donner une nouvelle valeur à une variable (mettre un nombre dans une boite) • Saisir : Permet à l’ordinateur de récupérer ce que l’utilisateur tape au clavier • afficher: Permet à l’ordinateur d’afficher sur l'écran ce qu’on veux (le résultat d’un calcul, une variable…) Introduction à la programmation et algorithmique
L’ affectation • Syntaxe : • Variable <- Valeur • Valeur évaluée à partir d’une expression : • Variable (le contenu d’une autre boite…) • Constante (une valeur fixe : PI…) • valeur littérale (3 6 5.12…) • expressions complexes (un calcul…) Introduction à la programmation et algorithmique
Exemples • X <- Y • X <- 25 • X <- 3,3 • C <- ‘a’ • maChaine <- «bonjour» • B <- VRAI • X <- 25 + Y + 3 Introduction à la programmation et algorithmique
Différence avec le = mathématiques • Quand on dit qu'une variable prend pour valeur une autre variable, ça ne veut pas dire qu'elles seront toujours égales ! • Cela veut seulement dire que la première variable va prendre la valeur de la seconde • Le contenu de la première boite sera le même celui de la seconde boite… • Mais si on modifie le contenu de la seconde boite après, ça n’a pas d’impact sur le contenu de la première boite ! Introduction à la programmation et algorithmique
Exemples • Algo : x <- y différend de y <- x • Maths : x = y équivaut à y = x • Algo : x + 12 <- y impossible ! • Maths : x + 12 = y a un sens • Algo : x <- x + 7 a un sens • Maths : x = x + 7 impossible Introduction à la programmation et algorithmique
La saisie • Syntaxe : • Saisir variable1 [,variableN]* • Permet à un utilisateur de communiquer des données au programme • Assigne une valeur entrée au clavier dans une variable • Tant que l'utilisateur n'entre rien au clavier, le déroulement du programme est stoppé Introduction à la programmation et algorithmique
Exemples • Saisir x • Saisir x, y • Saisir a, b, c, d, e, f Introduction à la programmation et algorithmique
Avantages • Utiliser le même programme pour des données différentes • Sans instruction de saisie (ou de lecture sur un périphérique quelconque), un programme fournirait toujours le même résultat Introduction à la programmation et algorithmique
Pièges • Saisir une valeur ne correspondant pas au type de la variable où elle doit être stockée • Essayer de mettre un mot dans une variable de type texte • L’utilisateur peut penser que le programme s’est arrêté • Si il n’y a rien d’affiché, l’utilisateur ne voit qu’un curseur clignotant… Introduction à la programmation et algorithmique
L’affichage • Syntaxe : • Afficher variable1 [, variableN]* • L'instruction d'affichage permet de fournir des résultats à l'utilisateur à travers l'écran Introduction à la programmation et algorithmique
Exemples • Afficher x • Afficher «bonjour» • Afficher x, y, z • Afficher x + y • Afficher «le résultat de x + y est : », x + y On peut afficher plusieurs trucs à la suite grâce à la virgule ! Introduction à la programmation et algorithmique
Avantages • Permet de fournir un résultat • Permet de guider l’utilisateur • Permet d’afficher des valeurs intermédiaires • Permet de débuguer Introduction à la programmation et algorithmique
Exemple complet PROGRAMMEbonjour CONSTbj <- «Bonjour» : chaîne mr <- «Monsieur » : chaîne VARvarNom, ch : chaîne DEBUT Afficher «Quel est votre nom ?» Saisir varNom ch <- mr & varNom Afficher bj, ch FIN Introduction à la programmation et algorithmique
Synthèse Cours 1 Introduction à la programmation et algorithmique
Réaliser un algorithme : exprimer en pseudo-code les règles de traitement d’un problème pour le soumettre à un ordinateur (par un programme) • Les données d’un programme sont mémorisées dans des variables qui sont des cases mémoire • Les instructions permettent de manipuler et de déplacer une donnée d'un endroit à un autre de la mémoire Introduction à la programmation et algorithmique
Une variable est un contenant, qui contient une et une seule valeur à un moment donné. Elle est caractérisée par • un identificateur (son nom) • une valeur (qui peut varier au cours du programme, sauf pour les constantes) • un type (qui détermine sa taille et les opérations possibles) • Les instructions de base sont : • l'affectation (permet de changer la valeur d'une variable) • la saisie (permet d'assigner à une variable, une valeur entrée au clavier) • l'affichage (permet d'écrire le contenu d'une variable ou d'une expression à l'écran) Introduction à la programmation et algorithmique