Algorithmique et programmation

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Algorithmique et Programmation DEUG 2 Sciences Economiques 2004/2005
Algorithmique et Programmation
Algorithmes et structures de données Cours 8
Algorithmes et structures de données Cours 2
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.
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
INTRODUCTION.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Les bases de l’Algorithmique
Langage C Révision.
Initiation à la programmation et algorithmique
Cours de programmation
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Algorithme Sommaire Introduction Définition et représentation
Partie 1 Etude de l'existant
Récursivité.
Introduction à l’algorithmique
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Démarche de résolution de problèmes
Algorithmique et Programmation
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Création d’un programme :
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Algorithmique et Programmation
Introduction à la programmation (Java)
Semaine #1 INF135 par Frédérick Henri.
Principes de programmation
8PRO107 Éléments de programmation
Algorithmique et structure de données
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Python Fonction et procédure
Animateur : Med HAIJOUBI
INTRODUCTION.
ALGORITHMIQUE IUT Vélizy – DUT Info - 1ère année Laurent Marsan
Un survol du language C.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
 Syntaxe du langage PHP
Module I3 algorithmique et programmation
La programmation.
Sémantique des instructions pour le langage Z minimal Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
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
B.Shishedjiev - Affectation1 Expressions et affectation Comment produire des nouvelles valeurs.
Initiation à l’Algorithmique
Patricia Renault UPMC 2005/2006
Module algorithmique et programmation
Les structures simples
Scripts et fonctions Instructions de contrôle
Chapitre 4 La représentation des nombres.
Algorithmique Tableaux de données
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Objets et Actions Élémentaires.
Les Structures simples
Algorithmique Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Algorithmique Boucles et Itérations
Introduction au langage C
Introduction à l’Informatique Licence SPI Mme Delmotte.
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Algorithmique - Lecture / Ecriture - M me DJEBOURI. D. Faculté de Médecine salle informatique Année universitaire
Transcription de la présentation:

Algorithmique et programmation Un algorithme, c'est une méthode. Une façon systématique de procéder pour faire quelque chose : trier des objets, situer des villes sur une carte, multiplier deux nombres, extraire une racine carrée, chercher un mot dans le dictionnaire… Définition (Larousse): (latin médiéval algorithmus, latinisation du nom du mathématicien persan Al-Khwa-Rizm (Bagdad, 780 – 850), avec influence du grec arithmos, nombre) Ensemble de règles opératoires dont l'application permet de résoudre un problème énoncé au moyen d'un nombre fini d'opérations. Un algorithme peut être traduit, grâce à un langage de programmation, en un programme exécutable par un ordinateur.

Quelques points importants : Un algorithme décrit un traitement sur un ensemble fini de données de nature simple (nombres ou caractères), ou plus complexes (données structurées) est constitué d’un ensemble fini d’actions composées d’opérations ou actions élémentaires. doit toujours se terminer après un nombre fini d’opérations. nécessite un langage clair (compréhension) structuré (enchaînements d’opérations) non ambiguë, universel (indépendants du langage de programmation choisi)

Cycle de développement Problème à résoudre Problème spécifique Algorithme Programme Résultat

Cycle de développement Problème à résoudre Problème spécifique Algorithme Programme Résultat ANALYSE : Phase de réflexion qui permet • D'identifier précisément le problème • D'identifier les caractéristiques du problème à traiter • données • résultats • cas particuliers • traitement,... • De découper le problème en une succession de taches simples et distinctes (sous-problèmes).

Cycle de développement Problème à résoudre Problème spécifique Algorithme Programme Résultat Conception : Suite des opérations a mettre en œuvre pour obtenir un résultat a partir de données Faire ressortir la logique de la résolution du problème Proche mais indépendant des langages de programmation Obtenir le résultat correct quelles que soient les valeurs des données

Cycle de développement Problème à résoudre Problème spécifique Algorithme Programme Résultat Codage : Programme: Un ou plusieurs fichiers texte contenant des instructions permettant de résoudre le problème posé, écrites dans un langage informatique (ex:JAVA, C, FORTRAN, COBOL, BASIC,...). Remarque: certains sous-programmes peuvent être stockes dans des fichiers annexes au programme  bibliothèque de fonctions Programmation: Traduction du langage algorithmique en langage de programmation.

Cycle de développement Problème à résoudre Problème spécifique Algorithme Programme Résultat Test : Compilation: Transformation en langage machine d’un programme écrit en langage de programmation. ⇒ Utilisation d’un compilateur: ex dev C++ Crée le fichier contenant le programme exécutable. Exécution: L’ordinateur effectue les instructions du programme.

Structure d’un algorithme déclaration des variables début instructions ...... fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; début écrire"Quel est votre nom?"; lire nom; salutation← "Bonjour"+nom; écrire salutation; fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour »  + nom; écrire salutation; Fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; lire nom; salutation← « Bonjour »  + nom; écrire salutation; Fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; Fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; Fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; //Présentation du résultat : //affichage d’une chaine Fin

Structure d’un algorithme Exemple: on veut écrire un algorithme permettant de saluer une personne qui donne son nom. Spécification du problème: Données: nom de la personne résultat: afficher 'bonjour' suivi du nom principe: saisir le nom, créer le message, puis l'afficher Algorithme Chaîne nom, salutation; // déclaration des variables Début //préparation du traitement Écrire « Quel est votre nom? »; // affichage d’une chaine lire nom; //lecture d’une chaine salutation← « Bonjour »  + nom; //traitement et affectation écrire salutation; //Présentation du résultat : //affichage d’une chaine Fin //fin du traitement

Les variables • Les variables stockent les données traitées par les instructions. • Une variable est caractérisée par : • son nom • son type • sa valeur (variable au fur et à mesure des instructions) • Un programme peut utiliser autant de variables que nécessaire. Elles sont stockées en mémoire à une certaine adresse. • Une variable peut être vue comme une boîte, portant un nom, qui contient une valeur dont on connaît le type.

Les variables Dans un algorithme, choisir pour les noms de variables : • un nom compose de lettres et éventuellement de chiffres • un nom expressif, par exemple : - chaine, requête1... pour une chaine de caractères - n, a, b, compteur, nbOperations, longueur... pour un entier - x, y, température pour un réel - estEntier, testEntier, trouvé... pour un booléen • un nom assez court (il faut l‘écrire !) • éviter les noms réserves : pour, tant que, si... Dans un programme : • éviter les lettres accentuées et la ponctuation • être expressif et lisible : - est_entier ou estEntier plutot que estentier Votre code sera relu, par vous ou par d'autres...

Les variables Quelques exemples... a x 1variable solution%1 solution1 reel unReel a/b s1_4_Xt

Les variables Quelques exemples... a : nom valide x : nom valide 1variable : nom non valide solution%1 : nom non valide solution1 : nom valide reel : nom non valide unReel : nom valide a/b : nom non valide s1_4_Xt : nom valide

Les variables Types de variables : Détermine les opérations utilisables sur la variable Quelques types : réel ex. : 1.3, 4.0,π , entier ex. : 1, 2, -10, ... booléen vrai, faux caractères ex. : 'a', 'b', 'A', '1', ' !', ... chaîne ex. : "Bonjour", "Merci !", "1.3", "vrai", ...

Les variables Une variable doit être déclarée : une fois et une seule avant toute utilisation Syntaxe : type nom_de_variable; Il est possible de déclarer plusieurs variables de même type sur une même ligne, en séparant les noms de variables par une virgule Syntaxe : type nom_de_variable_1, nom_de_variable_2;

Les variables L'affectation change la valeur d'une variable : • a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”)

Les variables L'affectation change la valeur d'une variable : • a ← 5 : - la variable a prend la valeur 5 - la valeur précédente est perdue (“écrasée”) • a ← b : - la variable a prend la valeur de la variable b - la valeur précédente de a est perdue (“écrasée”) - la valeur de b n'est pas modifiée - a et b doivent être de même type (ou de types compatibles)

Les variables Attention! Exemples réel x,y,z ; début Fin • Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, • Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x  1; z  x+y; Fin

Les variables Attention! Exemples réel x,y,z ; début Fin • Lors d'une déclaration de variable, aucune valeur n'est affectée à la variable, • Une variable doit être affectée avant d'être utilisée dans une expression. Exemples réel x,y,z ; début x  1; z  x+y; // problème: y n’a pas de valeur Fin

Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : X Y X  1 ; Y -4 ; X X+3 ; X Y-5 ; Y X+2 ; Y Y-6 ;

Les variables Exemples Quelles sont les valeurs successives prises par les variables X et Y suite aux instructions suivantes : X Y X  1 ; 1 Y -4 ; -4 X X+3 ; 4 X Y-5 ; -9 Y X+2 ; -7 Y Y-6 ; -13

Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 1 : début écrire "Bonjour tout le monde" ; fin

Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 1 : début écrire "Bonjour tout le monde" ; Fin Exemple 2: chaîne unNom; unNom "Bob"; écrire "Bonjour"; écrire unNom; écrire "!"; fin

Instructions d’entrée / sortie Saisir au clavier et Afficher à l'écran lire Affecte à une variable la valeur lue au clavier, c.à.d. une valeur saisie au clavier par l'utilisateur. écrire Affiche (à l'écran) la valeur d'une variable, d'une constante, ... Exemple 3 : chaîne unNom; entier unAge; début écrire "Quel est ton nom ?"; lire unNom ; écrire "Quel est ton âge ?"; lire unAge ; écrire "Bonjour"; écrire unNom; écrire "tu as "; écrire unAge; écrire "an(s) !"; fin

Opérateurs • Similaires aux opérateurs en mathématiques • Permettent d'effectuer des opérations arithmétiques, booléennes, ou sur des chaînes. Exemple + nombre : addition, chaîne : concaténation - nombre : soustraction * nombre : multiplication / réel : division div entier : division entière mod entier : reste de la division entière (modulo) ==, <, <=, >, >= nombre : égalité et, ou, non booléen : 'et', 'ou', 'non' logique

Opérateurs Ordre évaluation • Que vaut : 3 + 4 * 5 ? Règles d'évaluation : MEFIEZ-VOUS ! de nombreux détails diffèrent selon les langages informatiques. • évaluation des expressions entre parenthèses (et des appels de fonctions) • priorité des opérateurs - (unaire) puis * / puis + -(soustraction) • évaluation de gauche à droite si même priorité

INSTRUCTIONS CONDITIONNELLES Syntaxe si (condition) alors instructions ; sinon finsi • évaluer la condition (expression booléenne) • en fonction de la valeur (vraie ou fausse), exécuter l’instruction du alors ou du sinon • continuer avec les instructions après le finsi

INSTRUCTIONS CONDITIONNELLES exemple

INSTRUCTIONS CONDITIONNELLES Conditionnelles emboitées

INSTRUCTIONS CONDITIONNELLES Sélection sur choix multiples : Lorsqu’il y a plus de 2 choix possibles, l’instruction selon que permet une écriture plus lisible: selon que variable valeur : instructions … autres: instructions

INSTRUCTIONS CONDITIONNELLES exemple: Selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame "

INSTRUCTIONS CONDITIONNELLES exemple: selon que abréviation "M" : écrire " Monsieur " "Mme" : écrire " Madame " "Mlle" : écrire " Mademoiselle " autres: écrire " Monsieur, Madame " Équivalent de : si abréviation = "M  "   alors écrire " Monsieur " sinonsi abréviation = "Mme "  alors écrire " Madame " sinonsi abréviation = "Mlle" alors écrire " Mademoiselle " sinon écrire " Monsieur, Madame " finsi

INSTRUCTIONS CONDITIONNELLES Une condition est une comparaison. C’est-à-dire qu’elle est composée de trois éléments une valeur un opérateur de comparaison une autre valeur Opérateurs logiques > < == ≥ ≤ NON

INSTRUCTIONS CONDITIONNELLES Conditions composées OU ET Exemple si vacances et soleil alors écrire « allons à la plage » finsi