Cours d algorithmique

Documents pareils
INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Organigramme / Algorigramme Dossier élève 1 SI

Introduction à MATLAB R

Bases de programmation. Cours 5. Structurer les données

Algorithme. Table des matières

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Définitions. Numéro à préciser. (Durée : )

Représentation d un entier en base b

Représentation des Nombres

Informatique Générale


Codage d information. Codage d information : -Définition-

V- Manipulations de nombres en binaire

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours Informatique 1. Monsieur SADOUNI Salheddine

Rappels sur les suites - Algorithme

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Les structures. Chapitre 3

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

CESI Bases de données

MACHINE A SOUDER MANUEL D UTILISATION

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

Initiation à la programmation en Python

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Cours d initiation à la programmation en C++ Johann Cuenin

PROJET ALGORITHMIQUE ET PROGRAMMATION II

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Corrigé des TD 1 à 5

Système de sécurité de périmètre INTREPID

Conventions d écriture et outils de mise au point

Algorithmique et Programmation, IMA

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

VOCALYS LITE.

Enregistreur sans papier. Interface LON. B Description des interfaces 10.99/

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Notice d utilisation de la : Pro-Ject Debut & Debut Phono SB

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X

Modélisation des données

Notions fondamentales du langage C# Version 1.0

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Initiation à LabView : Les exemples d applications :

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Algorithmique et Programmation Fonctionnelle

UML et les Bases de Données

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

3L8PW = EP - 308A 6L24P = EP -624A

Cours 1 : Qu est-ce que la programmation?

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Accessibilité ERP Guide des obligations liées à l accessibilité des personnes handicapées dans les bâtiments ERP existants.*

Chapitre 13 Numérisation de l information

Programmes des classes préparatoires aux Grandes Ecoles

Logiciel de Base. I. Représentation des nombres

Algorithmique, Structures de données et langage C

I- Définitions des signaux.

ULC-S Inspection et mise à l essai des réseaux avertisseurs d incendie

EXCEL TUTORIEL 2012/2013

Architecture des Systèmes d Information Architecture des Systèmes d Information

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Programmation C. Apprendre à développer des programmes simples dans le langage C

CHAPITRE VIII : Les circuits avec résistances ohmiques

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

La mémoire. Un ordinateur. L'octet. Le bit

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Base de données relationnelle et requêtes SQL

VARIO 200 / 200ZR LE FOUR À CÉRAMIQUE DOTÉ D UNE TECHNOLOGIE DE CUISSON RÉVOLUTIONNAIRE.

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

Plus courts chemins, programmation dynamique

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://


Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Chaque ordinateur est constitué de différentes unités de stockage de données (Disque dur, Graveur ) que l on peut imaginer comme de grandes armoires.

CH.6 Propriétés des langages non contextuels

Système de surveillance vidéo

programmation S initier à la la Avec des exemples en C, C++, C#, Java et PHP Avec des exemples en C, C++, C#, Java et PHP Claude Delannoy

Chapitre 5 : Flot maximal dans un graphe

Introduction à l informatique en BCPST

TP - Alarme de voiture / Approche fonctionnelle

ALGORITHMIQUE ET PROGRAMMATION En C

UE Programmation Impérative Licence 2ème Année

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Les diagrammes de modélisation

1 Recherche en table par balayage

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Rappels d architecture

Transcription:

Cours d algorithmique

I. DÉFINITIONS 4 a. Définition d un algorithme : b. Définition d un algorigramme : Quelques symboles utilisés dans la construction d un algorigramme : 4 1. Symbole général 2. Renvoi 3. Sous-programme 4. Entrée-Sortie 5. Commentaire 6. Branchement II. L ALGORITHME : 5 Le langage de description d algorithme III. STRUCTURE D UN ALGORITHME 5 a. Représentation : 5 1. L en-tête 2. Les déclarations 3. Le corps 4. Les commentaires : IV. DÉCLARATION DE CONSTANTES, DE VARIABLES ET DE STRUCTURES :6 a. Les constantes : b. Les variables : c. Les structures : V. DÉCLARATION DE PROCÉDURES ET DE FONCTIONS : 7 a. La procédure : b. La fonction : 1. Les paramètres : VI. LES TYPES DE BASE 8 1. L entier 2. Le réel 3. Le booléen 4. Le caractère 5. La chaîne de caractères VII. LES OPÉRATEURS 9 a. Opérateurs sur les entiers et les réels Page - 2 -

b. Opérateurs sur les entiers et les booléens c. Opérateurs sur les caractères et les chaînes d. Priorité des opérateurs e. L affectation VIII. LES STRUCTURES ALGORITHMIQUES FONDAMENTALES : 10 a. Caractéristique de la structure linéaire 10 b. Caractéristique de la structure alternative 10 c. Caractéristique de la structure de choix 11 d. Caractéristique de la structure itérative 12 Page - 3 -

I. Définitions a. Définition d un algorithme : C est un ensemble de règles opératoires rigoureuses, ordonnant à un processeur d exécuter dans un ordre déterminé un nombre fini d opérations élémentaires ; il oblige à une programmation structurée. Un algorithme est écrit en utilisant un langage de description d algorithme (LDA). L algorithme ne doit pas être confondu avec le programme proprement dit. b. Définition d un algorigramme : C est une représentation graphique de l algorithme. Pour le construire, on utilise des symboles normalisés. Quelques symboles utilisés dans la construction d un algorigramme : SYMBOLE DESIGNATION SYMBOLE DESIGNATION Symboles de traitement Symboles auxiliaires Symbole général Opération ou groupe d opérations sur des données, instructions, pour laquelle il n existe aucun symbole Renvoi Symbole utilisé deux fois pour assurer la continuité lorsqu une partie de ligne de liaison n est pas représentée. normalisé. Sous-programme Portion de programme considérée comme une simple opération. Entrée-Sortie Mise à disposition d une information à traiter ou enregistrement d une information traitée. Symbole de test Branchement Exploitation de conditions variables impliquant un choix parmi plusieurs. Début, fin, interruption Début, fin ou interruption d un algorigramme. Commentaire Symbole utilisé pour donner des indications sur les opérations effectuées. Les différents symboles sont reliés entre eux par des lignes de liaisons. Sens conventionnel des liaisons Le sens général des lignes de liaison doit être : De haut en bas De gauche à droite Lorsque le sens général ne peut pas être respecté, des pointes de flèche à cheval sur la ligne indiquent le sens utilisé. Page - 4 -

II. L algorithme : a. Le langage de description d algorithme Ce langage utilise un ensemble de mots clés et de structures permettant de décrire de manière complète, claire, l ensemble des opérations à exécuter sur des données pour obtenir des résultats ; on n hésitera donc pas à agrémenter l algorithme de nombreux commentaires. L avantage d un tel langage est de pouvoir être facilement transcrit dans un langage de programmation structuré ( Pascal, C ) III. Structure d un algorithme a. Représentation : L en-tête algorithme nom de l algorithme ; Les déclarations de constantes, variables, structures Les déclarations de fonctions et procédures const var struct fonc proc liste des constantes ; liste des variables ; liste des structures ; liste des fonctions ; liste des procédures ; Le corps de l algorithme début action 1 ; action2 ;... action n ; fin algorithme Tous les mots clés sont soulignés et écrits en minuscule. Une marque de terminaison ( ;) est utilisée entre chaque action. Page - 5 -

1. L en-tête Il permet tout simplement d identifier un algorithme. 2. Les déclarations C est une liste exhaustive des objets, grandeurs utilisés et manipulés dans le corps de l algorithme ; cette liste est placée en début d algorithme. 3. Le corps Dans cette partie de l algorithme, sont placées les tâches (instructions, opérations ) à exécuter. 4. Les commentaires : Pour permettre une interprétation aisée de l algorithme, l utilisation de commentaires est vivement conseillée. Mot clé : co fco Voir exemple 2 IV. Déclaration de constantes, de variables et de structures : a. Les constantes : Mot clé : const Elles représentent des chiffres, des nombres, des caractères, des chaînes de caractères, dont la valeur ne peut pas être modifiée au cours de l exécution de l algorithme. b. Les variables : Mot clé : var Elles peuvent stocker des chiffres des nombres, des caractères, des chaînes de caractères, dont la valeur peut être modifiée au cours de l exécution de l algorithme. Les constantes et les variables sont définies dans la partie déclarative par deux caractéristiques essentielles, à savoir : L identificateur : c est le nom de la variable ou de la constante. Il est composé de lettres et de chiffres Le type : il détermine la nature de la variable ou de la constante (entier, réel, booléen, chaîne de caractères ) Pour pouvoir envisager des exemples d utilisation, il faut introduire dès à présent l instruction d affectation ; elle s écrit de la façon suivante : identificateur de variable valeur ; : symbole d affectation (ou assignation) Page - 6 - Voir exemple 1

L affectation se fait toujours en deux temps : 1. évaluation de l expression située à droite du symbole 2. affectation du résultat à l identificateur de variable ainsi dans l instruction d affectation suivante y 2*x+3 1 ) on évalue 2 ) on affecte c. Les structures : Mot clé : struct Elles permettent de rassembler plusieurs variables ou constantes sous un même identificateur ; on parle aussi d entités ou d objets. V. Déclaration de procédures et de fonctions : a. La procédure : Mot clé : proc C est un ensemble d instructions référencé par un nom, et dont l «exécution» est provoquée par le simple énoncé de ce nom. b. La fonction : Mot clé : fonc Comme pour la procédure, l «exécution» d une fonction est provoquée par la simple évocation de son nom, à la différence qu elle se voit assigner une valeur dont le type doit être défini. Procédures et fonctions sont des groupes de tâches à effectuer. L intérêt de grouper ces tâches est de permettre : une lecture plus facile de l algorithme principal(appelé également ordonnancement). de développer de manière indépendante des parties d algorithmes dont l emploi multiple au sein de l algorithme principal est ainsi rendu plus aisé. 1. Les paramètres : Voir exemple 2 Pour fournir à une procédure les informations qui doivent être traitées, et pour que la procédure puisse fournir en contrepartie des résultats, on utilise des paramètres. On distinguera trois types de paramètres: les paramètres entrants peuvent être consultés (et éventuellement modifiés) à l'intérieur de la procédure Page - 7 -

les paramètres sortants dont la valeur est déterminée à l'intérieur de la procédure et utilisable après l'appel à la procédure les paramètres mixtes ont une valeur à l'entrée dans la procédure, valeur qui peut être modifiée à l'intérieur de celle-ci, la modification étant répercutée à l'extérieur de la procédure Voir exemple 2 VI. Les types de base Nous avons vu qu une des deux caractéristiques des constantes et des variables était leur type. Nous considérerons cinq types de base : 1. L entier notation 45, 36, 564, 0 en décimal 45h, 0FBh, 64h en hexadécimal % 10101111, %1011 en binaire Mot clé : entier 2. Le réel -3.67, 4.2569, 564.0,18.36 10 e -6 Mot clé : réel 3. Le booléen Il ne peut prendre que deux états : VRAI ou FAUX Mot clé : booléen 4. Le caractère a, A, *, 7, z,!. Mot clé : car 5. La chaîne de caractères Mot clé : chaîne électronique, cd ROM de 80mn Page - 8 -

VII. Les opérateurs a. Opérateurs sur les entiers et les réels + - * / DIV > < = Arithmétiques Addition Soustraction Multiplication Division Division entière Puissance comparaisons Supérieur Inférieur Supérieur ou égal Inférieur ou égal Egal Différent b. Opérateurs sur les entiers et les booléens Mot clé et ou oux non non et non ou >> << Fonctions logiques Fonction ET Fonction OU Fonction OU exclusif Fonction NON Fonction NON ET Fonction NON OU Décalage à droite Décalage à gauche Fonctions de comparaison pour les booléens = Egal Différent c. Opérateurs sur les caractères et les chaînes Fonctions de concaténation + Concaténation Voir exemple 3 Fonctions de comparaison pour les chaînes = Egalité Différent > Supérieur < Inférieur d. Priorité des opérateurs Priorité à la multiplication et à la division. Page - 9 -

e. L affectation Elle permet d affecter une valeur à une variable. Syntaxe : identificateur de la variable expression ; L expression est une suite d opérations sur des constantes ou des variables déjà déclarées. VIII. Les structures algorithmiques fondamentales : Les opérations élémentaires relatives à la résolution d un problème peuvent, en fonction de leur enchaînement être organisées suivant quatre familles de structures algorithmiques fondamentales. structures linéaires structures alternatives structures de choix structures itératives (ou répétitives) a. Caractéristique de la structure linéaire La structure linéaire se caractérise par une suite d actions à exécuter successivement dans l ordre énoncé. Notation : faire action ; Voir exemple 4 b. Caractéristique de la structure alternative La structure alternative n offre que deux issues possibles à la poursuite de l algorithme et s excluant mutuellement. On peut rencontrer deux types de structures alternatives : 1. une structure alternative complète Dans cette structure l exécution d un des deux traitements distincts ne dépend que du résultat d un test effectué sur la condition qui peut être une variable ou un événement ; - si la condition est vérifiée seul le premier traitement est exécuté ; - si la condition n est pas vérifiée seul est effectué le second traitement. CONDITION Notation : si condition alors action1 ; sinon action2 ; fsi ; Action1 Action2 Voir exemple 5 Page - 10 -

2. une structure alternative réduite La structure alternative réduite se distingue de la précédente par le fait que seule la situation correspondant à la validation de la condition entraîne l exécution du traitement, l autre situation conduisant systématiquement à la sortie de la structure. CONDITION Action Notation : si condition alors action ; fsi ; Voir exemple 6 c. Caractéristique de la structure de choix La structure de choix permet, en fonction de plusieurs conditions de type booléen, d effectuer des actions différentes suivant les valeurs que peut prendre une même variable. Notation : suivant valeur faire valeur1 : action1 ; valeur2 : action2 ; : : valeurn : actionn ; sinon actionn+1 ; fsuivant ; Condition1 Condition2 Action1 Action2 Voir exemple 7 ConditionN ActionN+1 ActionN Page - 11 -

d. Caractéristique de la structure itérative La structure itérative répète l exécution d une opération ou d un traitement. On considérera 2 cas : premier cas : Le nombre de répétitions n est pas connu ou est variable. On distingue 2 structures de base : structure RÉPÉTER JUSQU À Dans cette structure, le traitement est exécuté une première fois puis sa répétition se poursuit jusqu à ce que la condition soit vérifiée. Par traitement on entend : soit une structure isolée, soit une succession d instructions. ACTION CONDITION L action est toujours exécutée au moins une fois. Notation : répéter action; jusqu à condition vraie ; Voir exemple 8 structure TANT QUE FAIRE Dans cette structure, on commence par tester la condition ; si elle est vérifiée, le traitement est exécuté. Par traitement on entend : soit une structure isolée, soit une succession d instructions. L action peut ne jamais être exécutée. CONDITION ACTION Notation : tant que condition faire action; ftant que ; Voir exemple 9 Page - 12 -

deuxième cas : le nombre de répétitions est connu. structure POUR DE..À.. FAIRE Dans cette structure, la sortie de la boucle d itération s effectue lorsque le nombre souhaité de répétition est atteint. On utilise donc une variable (ou indice) de contrôle d itération caractérisée par : sa valeur initiale, sa valeur finale, son pas de variation. Si la valeur finale de l indice est inférieure à sa valeur initiale le pas de variation est négatif, la structure est dite «pour décroissante» (Figure 1); dans le cas contraire, le pas est positif et la structure est dite «pour croissante» (Figure 2). V = V i V = V i V = V f? V = V f? ACTION ACTION V = V - pas V = V + pas Figure 1 Figure 2 V : variable Vi : valeur initiale de V Vf : valeur finale de V Notation : pour variable de début à fin pas n faire action ; fpour ; Voir exemple 10 Page - 13 -

Exemples Exemple 1 : algorithme exemple1 ; const abscisse c est 10 ; ordonnée c est 30 ; vrai c est 1 ; faux c est 0 ; var entier x, y; struct disque c est entier abs,ord ; co centre du disque fco entier rayon ; entier couleur ; booléen visible ; fstruct début fin algorithme exemple1. Exemple 2 : algorithme exemple2 ; const var chaîne chaîne_lue ; struct fstruct proc fonc début afficher une chaîne de caractères(chaîne machaîne) ; lire n caractères d une chaîne(chaîne machaîne,entier depuis la position, entier n) :chaîne ; chaîne_lue lire n caractères d une chaîne(bepel,0, 3) ; afficher une chaîne de caractère(chaîne_lue) ; paramètre entrant paramètre sortant fin algorithme exemple2. Exemple 3 : A + ller alpha + numérique donne comme résultat après concaténation : Aller donne comme résultat après concaténation : alphanumérique Page - 2 -

Exemples Exemple 4 Mise en marche d un équipement Avant de procéder à la mise en service d un équipement, il est nécessaire d effectuer un certains nombre d opérations indispensables à son bon fonctionnement : a) montée en température : mise en route de l accélérateur de chauffage AC ; b) distribution d air comprimé : ouverture de l électrovanne d admission EV. c) mise en route du dispositif de lubrification : pompe d arrosage P sous tension. Compléter l algorithme suivant : algorithme Mise en service d un équipement ; const Marche c est 1 ; Arrêt c est 0 ; var AC co Accélérateur de chauffage fco ; EV co Electrovanne d admission d air fco P co Pompe de lubrification fco EQ co Equipement fco début fin algorithme Mise en service d un équipement. Construire l algorigramme correspondant. Page - 3 -

Exemples Exemple 5 Tri de sacs A la sortie de l atelier de conditionnement d une usine de fabrication d engrais, un même convoyeur à bande transporte Sacs de 50 kg indifféremment des sacs de 25 kg et des D1 sacs de 50 kg. Sacs de 25 kg et de 50 kg Un dispositif de tri automatique dirige ces sacs vers deux zones distinctes de stockage D1 et D2. Pesée Aiguillage D2 Sacs de 25 kg Construire l algorithme correspondant : algorithme tri automatique; const var début fin algorithme tri automatique. Construire l algorigramme correspondant. Page - 4 -

Exemples Exemple 6 Ouverture de la porte d un garage Le capteur de présence de la voiture du propriétaire du garage déclenche l ouverture automatique de la porte et uniquement dans ce cas. Construire l algorithme correspondant : algorithme ouverture automatique; const var début fin algorithme ouverture automatique. Construire l algorigramme correspondant. Page - 5 -

Exemples Exemple 7 Page - 6 -

Exemples Exemple 8 Utilisation d un four à micro ondes Un four à micro ondes doit fonctionner pendant un temps t f égal au temps t p, programmé par l utilisateur. Compléter l algorithme suivant : algorithme durée de fonctionnement du four ; var t f co temps de chauffe fco ; t p co temps programmé fco fonc mesurer le temps de chauffe() : tf ; début fin algorithme durée de fonctionnement du four. Construire l algorigramme correspondant. Page - 7 -

Exemples Exemple 9 Embouteillage Dans une usine de fabrication de jus de fruits, les bouteilles sont conditionnées par six, après contrôle, sous un film plastique rétractable: Compléter l algorithme suivant : algorithme Mise sous film plastique ; var V proc début co Nombre de bouteilles à conditionner fco contrôler() ; fin algorithme Mise sous film plastique. Construire l algorigramme correspondant. Page - 8 -