Initiation à la programmation et 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 Le fichier source (le texte) est envoyé dans le compilateur qui transforme ce fichier en un programme (.exe si on est sous windows) ou qui affiche les 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 notes saisies Calculer Moyenne 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 saisie clavier affichage écran Introduction à la programmation et algorithmique
Sous programme Sous-programme Intérêts : Inconvénients : 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 : PROGRAMME monProgr /* 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 Les mots du langage algorithmique sont écrits en gras ou soulignés. Un algorithme commence par le mot PROGRAMME suivi de son identificateur (le nom du programme). Ensuite viennent les déclarations: dans un premier temps celles des constantes, annoncée par CONST, puis celle des variables, annoncée par VAR. Pour déclarer une variable, on indique son identificateur suivi d'un double point et de son type. La valeur des constantes est donnée dès leur déclaration, avec le signe ) précédé de son identificateur. Le corps du programme commence par DEBUT et se termine par FIN. On peut insérer des commentaires, soit entre les balises /* */, soit après // jusqu'à la fin de la ligne. 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 Ne pas confondre la variable et son contenu Une variable possède : une valeur contenue par la case mémoire un identificateur : nom unique par lequel on peut accéder à son contenu un type qui définit la taille de la place occupée Ne pas confondre la variable et son contenu Une variable est un contenant (case ou boîte) Le contenu d'une variable est une valeur numé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 : VAR maVar : réel Introduction à la programmation et algorithmique
Types (1) Type caractère Type chaîne de caractère lettres, chiffres, ponctuation, code des opérations, espace, retour chariot,… Exemples : ‘a’ ‘+’ ‘.’ Type chaîne de caractère suites de caractères Exemples : « bonjour » « cac40 » Introduction à la programmation et algorithmique
Types (2) Type entier Type réel 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 Identificateur : X Type : entier Valeur : 25 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 opérations possibles symbole ou mot clé addition soustraction multiplication Division comparaisons + - * / <, ≤, >, ≥, =, ≠ Introduction à la programmation et algorithmique
Entiers opérations possibles symbole ou mot clé addition soustraction Multiplication Division Division entière Modulo Comparaisons + - * / DIV MOD <, ≤, >, ≥, =, ≠ Introduction à la programmation et algorithmique
Caractères opérations possibles symbole ou mot clé comparaisons <, ≤, >, ≥, =, ≠ (exemple ‘a’ < ‘z’) Introduction à la programmation et algorithmique
Chaînes opérations possibles symbole ou mot clé Concaténation Longueur Extraction & Longueur (chaîne) Extraction (sous-ch, ch) Introduction à la programmation et algorithmique
Booléens opérations possibles symbole ou mot clé comparaison négation conjonction disjonction =, ≠ NON ET OU Introduction à la programmation et algorithmique
Rappel PROGRAMME monProgr /* 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 Les mots du langage algorithmique sont écrits en gras ou soulignés. Un algorithme commence par le mot PROGRAMME suivi de son identificateur (le nom du programme). Ensuite viennent les déclarations: dans un premier temps celles des constantes, annoncée par CONST, puis celle des variables, annoncée par VAR. Pour déclarer une variable, on indique son identificateur suivi d'un double point et de son type. La valeur des constantes est donnée dès leur déclaration, avec le signe ) précédé de son identificateur. Le corps du programme commence par DEBUT et se termine par FIN. On peut insérer des commentaires, soit entre les balises /* */, soit après // jusqu'à la fin de la ligne. 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 expressions complexes : 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 : Valeur évaluée à partir d’une expression : 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 L’instruction d’affectation agit en deux temps : ," Tout d’abord elle détermine la valeur de l’expression à droite du <- (la plupart du temps, il n'y a même pas de calculs à faire!) ," puis elle range la résultat dans la variable située à gauche. 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 PROGRAMME bonjour CONST bj <- «Bonjour» : chaîne mr <- «Monsieur » : chaîne VAR varNom, 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
Les instructions de base sont : 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