Algorithmique : Langage

Documents pareils
Organigramme / Algorigramme Dossier élève 1 SI

Cours d algorithmique pour la classe de 2nde

Corrigé des TD 1 à 5

Initiation à la programmation en Python

VOCALYS LITE.

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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

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)

Cours Informatique Master STEP

Conventions d écriture et outils de mise au point

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

Examen Médian - 1 heure 30

Qualité du logiciel: Méthodes de test


Recherche dans un tableau

Programmation C++ (débutant)/instructions for, while et do...while

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Introduction à MATLAB R

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

Algorithmique et programmation : les bases (VBA) Corrigé

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Rappels sur les suites - Algorithme

Chapitre 5 : Flot maximal dans un graphe

Pourquoi l apprentissage?

1. Structure d'un programme FORTRAN 95

Algorithmique et Programmation, IMA

Résolution de systèmes linéaires par des méthodes directes

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

Introduction au langage C

Représentation d un entier en base b

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

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

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

STAGE IREM 0- Premiers pas en Python

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

1 Recherche en table par balayage

Programmation linéaire

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

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

Utiliser le site learningapps.org pour créer des activités interactives

Programmer en JAVA. par Tama

Saisir des règlements par le relevé de banque

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

SOMMAIRE. Travailler avec les requêtes... 3

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

V- Manipulations de nombres en binaire

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux codes DIGICODE

PROMI 500 Badges - Codes

Initiation à LabView : Les exemples d applications :

NOTICE D'UTILISATION DU TABLEAU D ALARMES TECHNIQUES SAT

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Alarme intrusion filaire AEI HA zones

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TD3: tableaux avancées, première classe et chaînes

Chp. 4. Minimisation d une fonction d une variable

FICHE 17 : CREER UN SITE WEB

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

NUGELEC. NOTICE D'UTILISATION DU B.A.A.S. du type Ma - STI / MaME - STI. pages. 1 introduction 2. 2 encombrement 3 fixation

Compilation (INF 564)

CORRECTION EXERCICES ALGORITHME 1

Tableaux d alarme sonores

4. Groupement d objets

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

SYSTEME DE DESENFUMAGE 12 NIVEAUX


MIS 102 Initiation à l Informatique

TVD 03 GSM - Transmetteur Téléphonique Vocal

Problèmes liés à la concurrence

Cours 1 : La compilation

Notions fondamentales du langage C# Version 1.0

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

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

DETERMINATION DE L INCERTITUDE DE MESURE POUR LES ANALYSES CHIMIQUES QUANTITATIVES

Groupe Eyrolles, 2006, pour la présente édition, ISBN :

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

Excel 2007 Niveau 3 Page 1

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Les BRMS Business Rules Management System. Groupe GENITECH

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

2. Garantie En cas de problème ou de question technique, vous pouvez contacter notre hotline au numéro indigo ci-contre :

Plan du cours. Historique du langage Nouveautés de Java 7

Chapitre 4 Pierre, papier, ciseaux

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

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

Ordonnancement temps réel

Algorithmique avec Algobox

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

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

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

Algorithme. Table des matières

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Transcription:

Algorithmique : Langage 1/14

Table des matières 1.Qualité d'un bon algorithme...3 2.Éléments représentatifs du langage algorithmique...3 a)les mots...3 Les mots clés...3 b)mots instructions...4 c)mots délimiteurs...4 3.Représentation des algorithmes...4 a)représentation littérale...4 b)représentation graphique ou algorithmique...5 4.Structures algorithmiques fondamentales...6 a)structure linéaire ou séquentielle...6 b)structures itératives...6 Structure «... JUSQU'A...»...7 Structure «... TANT QUE...»...8 Structure «POUR... A......»...9 c)structures alternatives...10 Structure alternatives complète...10 Structure alternatives réduite...11 5.Structures emboîtées...13 Annexes...14 6.Index des illustrations...14 7.Index des exemples...14 2/14

1. Qualité d'un bon algorithme Pour obtenir un bon programme il faut partir d un bon algorithme qui doit posséder entre autres, les qualités suivantes : être clair, facile à comprendre par tous ceux qui le lisent ; être le plus général possible pour répondre au plus grand nombre de cas possibles ; être d une utilisation aisée même par ceux qui ne l ont pas écrit (Messages pour l introduction des données) ; être conçu de manière à limiter le nombre d opérations à effectuer et la place occupée en mémoire. Une des meilleures façons de rendre un algorithme clair et compréhensible est d utiliser un langage de description structuré n utilisant qu un petit nombre de structures indépendantes du langage de programmation utilisé. 2. Éléments représentatifs du langage algorithmique a) Les mots On distingue trois familles de mots : les mots clés ; les mots instructions ; les mots délimiteurs. Les mots clés Les mots clés définissent la structure algorithmique utilisée et en voici quelques exemples : SI ALORS SINON : définissent un structure alternative ; JUSQU'A : définissent une structure itérative. Un mot clé est toujours suivi : soit d une expression conditionnelle écrite entre guillemets ; soit d un ou plusieurs mots instructions. SI «condition 1» ALORS mot instruction 1 mot instruction 2 SINON mot instruction 3 mot instruction 4 JUSQU'A «condition 2» SI Exemple 1: Exemple de structure algorithmique 3/14

b) Mots instructions Se sont des verbes d action qui caractérisent la nature des opérations à effectuer sur une ou plusieurs données. Un mot instruction est toujours suivi entre guillemets : de la désignation de l objet sur lequel il s applique comme, par exemple, LIRE «Capteur S1» ; éventuellement de la description de l opération à appliquer à l objet comme, par exemple, «Compteur = Compteur 1». c) Mots délimiteurs Les mots délimiteurs fixent : les bornes d ENTRÉE et de SORTIE de l algorithme ; les bornes d ENTRÉE et de SORTIE des différentes structures utilisées dans l algorithme si ces bornes ne sont pas définies par la structure elle même. et sont les seuls mots délimiteurs et peuvent être suivi éventuellement d un mot clé comme, par exemple, SI 3. Représentation des algorithmes a) Représentation littérale Aux règles précédemment définies nous ajouterons les règles d écriture suivantes afin de faciliter la lecture de l algorithme : L écriture sera indentée afin de faire apparaître l algorithme comme un réseau principal comportant une borne d entrée et une borne de sortie et chacune des structures qui le constitue comme un sous réseau présentant aussi une entrée et une sortie. Règles : le dernier sous réseau ouvert doit être le premier fermé ; le nombre de fermetures doit être égal au nombre d ouvertures ; 4/14

Le rang de la dernière paire de mots délimiteurs représente le degré de complexité de l algorithme. rang 0 rang 1 rang 2 Indentation Exemple 2: Algorithme de complexité d'ordre 2 b) Représentation graphique ou algorithmique Le sous réseau de rang 2 est ici composé de deux structures algorithmiques de même niveau Algorithme de complexité d'ordre 2 La représentation graphique permet une lecture aisée des algorithmes mais présente toutefois l inconvénient de consommer une place importante. Elle utilise les symboles de la norme NF Z 67-010 dont les principaux sont les suivants : Début, fin ou interruption d'un organigramme Renvoi, utilisé deux fois pour assurer la continuité d'un organigramme scindé Commentaire, permet de donner des indications marginales Embranchement, représente une décision ou un aiguillage après un test Traitement, opération ou groupe d'opérations sur des données Entrée / Sortie, mise à disposition d'une information ou enregistrement d'une information Liaison, le sens doit être : de haut en bas ; de gauche à droite. Illustration 1: Procédé prédéfini, portion de programme considéré comme une simple opération Représentation algorithmique 5/14

4. Structures algorithmiques fondamentales a) Structure linéaire ou séquentielle C'est une suite d'actions à exécuter successivement dans l'ordre de leur énoncé ; Instruction 2 Exemple 3: Structure linéaire Instruction 2 Les mots instructions sont écrits au même rang sur des lignes successives. «AC=1» «AC=2» OUVRIR «vanne» AC=1 AC=2 OUVRIR vanne b) Structures itératives Exemple 4: Exemple de structure linéaire Par itération on désigne toute répétition de l'exécution d'un traitement. Trois types de structures itératives sont à distinguer: la structure. JUSQU'A ; la structure TANT QUE ; la structure POUR A Dans les deux premier cas, le nombre de répétitions n'est pas connu à l'avance et dépend d'un ou plusieurs événements extérieurs. Dans le dernier cas, le nombre de répétitions est connu à l'avance, il est consigné. 6/14

Structure «... JUSQU'A...» JUSQU'A «condition vrai» Instruction 2 condition En anglais : REPEAT... UNTIL Exemple 5: Structure «... JUSQU'A...» Le traitement est exécuté une première fois dès l'entrée dans la structure, il se répète jusqu'à ce que la condition soit vérifiée. Exemple A l apparition d un défaut on provoque simultanément la mise sous tension : d un signal lumineux H1 ; d un avertisseur sonore H2. L arrêt de l avertisseur sonore se fait lorsque l opérateur acquitte le défaut par une action sur le bouton poussoir S1 «H1=1» «H2=1» JUSQU'A «S1=1» «H1=1» «H2=2» «S1=1» «H2=0» «H2=2» Exemple 6: Exemple de structure «... JUSQU'A...» 7/14

Structure «... TANT QUE...» TANT QUE «condition vrai» Instruction 2 condition En anglais: REPEAT WHILE Exemple 7: Structure «... TANT QUE...» Le traitement est exécuté une première fois dès l'entrée dans la structure, il se répète tant que la condition est vérifiée. Les deux structures itératives «JUSQU'A» et «TANT QUE» sont strictement équivalentes. Exemple A l apparition d un défaut on provoque simultanément la mise sous tension : d un signal lumineux H1 ; d un avertisseur sonore H2. L arrêt de l avertisseur sonore se fait lorsque l opérateur acquitte le défaut par une action sur le bouton poussoir S1 «H1=1» «H2=1» Instruction 2 TANT QUE «S1=0» condition «H2=0» Exemple 8: Exemple de structure «... TANT QUE...» 8/14

Structure «POUR... A......» POUR V =V i A V =V f PAS=P POUR «V=Vi» «V=V+/-P» Instruction 2 condition En anglais: FOR TO STEP NEXT Exemple 9: Structure «POUR... A...» Dans cette structure la sortie de la boucle d itération s effectue lorsque le nombre de répétitions est atteint. D où l emploi d une variable V dite de contrôle d itération et définie par : sa valeur initiale : V i sa valeur finale : V f son pas de variation : P Cette structure s utilise si le nombre NR de répétitions est connu : Exemple : NR= V f V i P Pour V f =5 ; V i =5 ; P=+1 : NR=5 Pour V f =0 ; V i =8 ; P= 2 : NR=4 9/14

Exemple Le guichetier d une salle de cinéma tape sur son clavier le nombre de billets demandé par le client. Le distributeur déroule alors les billets en sectionne la bande après le dernier billet : TAPER «Nombre de billets NB» POUR V =0 A V = NB DELIVRER «1 billet» POUR COUPER «Bande» «V=Vi» «V=V+/-P» Instruction 2 condition Exemple 10: Exemple de structure «POUR... A...» c) Structures alternatives Ces structures désignent toute situation n offrant que deux issues possibles s excluant mutuellement. Il existe deux types de structures alternatives : la structure alternative complète ; la structure alternative réduite. Structure alternatives complète SI «condition vrai» ALORS SI traitement 1 SINON traitement 2 Traitement 1 condition Exemple 11: Structure «SI... ALORS... SINON» Traitement 2 10/14

En anglais : IF THEN ELSE L exécution d un des deux traitements dépend du résultat d un test : si le test est VRAI le premier traitement est exécuté. si le test est FAUX c est le deuxième traitement qui s effectue. EXEMPLE Sur une chaîne de conditionnement un dispositif de tri permet de diriger les caisses de masse supérieure ou égale à 20Kg vers le tapis 1 et les autres vers le tapis 2 en comptabilisant le nombre de caisses. PESER "Caisse" SI "P>=20Kg" ALORS SI AIGUILLER «vers tapis 1» «C1=C1+1» SINON AIGUILLER «vers tapis 2» «C2=C2+1» Exemple 12: Exemple de structure «SI... ALORS... SINON» Structure alternatives réduite AIGUILLER «vers tapis 1» «C2=C2+1» PESER «caisse» P >=20Kg AIGUILLER «vers tapis 2» «C2=C2+1» SI «condition vrai» ALORS condition SI traitement 1 En anglais : IF THEN Exemple 13: Structure «SI... ALORS...» Traitement 2 Seule la situation correspondant à la validation de la condition entraîne l exécution du traitement dans le cas où la condition n est pas satisfaite, le traitement n est pas exécuté et la structure est abandonnée. 11/14

EXEMPLE Sur une chaîne de conditionnement un dispositif de tri permet de diriger les caisses de Masse supérieure ou égale à 20Kg vers le tapis 1, les autres continuent d avancer sur le même tapis 2. PESER "Caisse" SI "P>=20Kg" ALORS SI AIGUILLER «vers tapis 1» «C1=C1+1» SINON AIGUILLER «vers tapis 2» «C2=C2+1» PESER «caisse» P >=20Kg AIGUILLER «vers tapis 1» Exemple 14: Exemple de structure «SI... ALORS...» 12/14

5. Structures emboîtées Le niveau de difficultés des problèmes posés par l automatisation des processus industriels conduisent souvent à rédiger des algorithmes de degré de complexité d ordre supérieur à 1 utilisant les structures fondamentales en combinaisons emboîtées. L algorithme suivant intègre dans un ordre d emboîtement décroisant : une structure itérative POUR A une structure alternative COMPLETE deux structures itératives JUSQU'A et TANT QUE Son degré de complexité est d ordre 3 POUR V=Vi A V= Vf «V=V-1» LIRE «S1» SI «S1=1» ALORS LIRE «S2» JUSQU'A «S2=1» «A=1» SINON LIRE «S3» TANT QUE «S3=1» «B=1» SI POUR Exemple 15: Exemple de structures emboîtées 13/14

6. Index des illustrations Annexes Index des illustrations Illustration 1: Représentation algorithmique...5 7. Index des exemples Index des exemples Exemple 1: Exemple de structure algorithmique...3 Exemple 2: Algorithme de complexité d'ordre 2...5 Exemple 3: Structure linéaire...6 Exemple 4: Exemple de structure linéaire...6 Exemple 5: Structure «... JUSQU'A...»...7 Exemple 6: Exemple de structure «... JUSQU'A...»...7 Exemple 7: Structure «... TANT QUE...»...8 Exemple 8: Exemple de structure «... TANT QUE...»...8 Exemple 9: Structure «POUR... A...»...9 Exemple 10: Exemple de structure «POUR... A...»...10 Exemple 11: Structure «SI... ALORS... SINON»...10 Exemple 12: Exemple de structure «SI... ALORS... SINON»...11 Exemple 13: Structure «SI... ALORS...»...11 Exemple 14: Exemple de structure «SI... ALORS...»...12 Exemple 15: Exemple de structures emboîtées...13 14/14