Initiation à la programmation et algorithmique

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

La boucle for : init7.c et init71.c
Les fonctions A quoi ça sert ?
Initiation à la programmation et algorithmique cours 4
Initiation à la programmation et algorithmique cours 2
Le langage C++ Les types structurés
Introduction: Concepts de la programmation
Introduction à l’Algorithmique
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Algorithmique Résume.
C.
INTRODUCTION.
Introduction : Compilation et Traduction
FLSI602 Génie Informatique et Réseaux
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Cours Visual Basic pour Application
Les bases de l’Algorithmique
Principes de programmation (suite)
Pb1 - Hello world - Regarder en pseudo code ce que cela donne.
Partie 1 Etude de l'existant
Mme Khadija BOUZAACHANE Année universitaire :
Introduction à l’algorithmique
Partie Informatique Algorithmique Introduction A. LOTFI
Démarche de résolution de problèmes
Section XI Traitement de fichiers
Algorithmique et Programmation
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Algorithmique et Programmation
Introduction au langage PHP Réfs : Chap 3 p 49. Présentation PHP (Hypertext PreProcessor) est un langage de développement Web créé en 1994 par Rasmus.
Système d’exploitation : Assembleur
Les programmes d'ordinateur
Semaine #1 INF130 par Frédérick Henri.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Le préprocesseur. La conversion de types. Les fonctions.
Points importants de la semaine Les constantes de compilation. Les fonctions.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Animateur : Med HAIJOUBI
RAPPEL Qu’est ce qu’une structure de contrôle itérative ?
LA LOGIQUE ALGORITHMIQUE
Le Bloc Case Cours LCS N°3 Présenté par Mr: LALLALI.
Programmer en langage c
PHP 5° PARTIE : LES COOKIES
Introduction à la programmation en Java
ALGORITHMIQUE IUT Vélizy – DUT Info - 1ère année Laurent Marsan
Cours d’ Algorithmique 2012 Algorithmique. Cours d’ Algorithmique 2012 Qu’est ce que l’Algorithmique ? Avez-vous déjà suivi une recette ? Avez-vous déjà.
Algorithmes sur les sons
Algorithmes et Programmation
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
420-B63 Programmation Web Avancée Auteur : Frédéric Thériault 1.
Module I3 algorithmique et programmation
La programmation.
Les Machines RAM.
Introduction au langage C Fonctions et Procédures
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
1 Deuxième journée La programmation procédurale. 2 Unité de programmation : la procédure ou fonction Très semblable au math Un programme est un ensemble.
Algorithmique : Introduction
Introduction et Généralités sur l’Algorithmique
Initiation à l’Algorithmique
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 5 Gestion des applications Technologie de l’information (LEA.BW)
Scripts et fonctions Instructions de contrôle
Objets et Actions Élémentaires.
Les Structures simples
Algorithmique Boucles et Itérations
Introduction au langage C
Algorithmique et programmation
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Transcription de la présentation:

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