LANGAGE ALGORITHMIQUE

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

Cours d algorithmique pour la classe de 2nde

Initiation à la programmation en Python

Qualité du logiciel: Méthodes de test

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Corrigé des TD 1 à 5

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

Conventions d écriture et outils de mise au point

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

Cours Informatique Master STEP

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

VOCALYS LITE.

Examen Médian - 1 heure 30

Algorithmique et programmation : les bases (VBA) Corrigé

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


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)

Recherche dans un tableau

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

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

Introduction à MATLAB R

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

Chapitre 7. Récurrences

Pourquoi l apprentissage?

Algorithmique et Programmation, IMA

Saisir des règlements par le relevé de banque

Cours d Informatique

Représentation d un entier en base b

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

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

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

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

CORRECTION EXERCICES ALGORITHME 1

Algorithmique avec Algobox

Quelques algorithmes simples dont l analyse n est pas si simple

Rappels sur les suites - Algorithme

Cours 1 : La compilation

Algorithmes de recherche

1. Structure d'un programme FORTRAN 95

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

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

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

Raisonnement par récurrence Suites numériques

L AUTOMATISME LE SIGNAL

V- Manipulations de nombres en binaire

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

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

MIS 102 Initiation à l Informatique

Chapitre 5 : Flot maximal dans un graphe

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

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

Programmation linéaire

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

Initiation à l algorithmique

Initiation à LabView : Les exemples d applications :

1 Recherche en table par balayage

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

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

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

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

Compilation (INF 564)

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

Introduction au langage C

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

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

La persistance des nombres

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

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

STAGE IREM 0- Premiers pas en Python

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

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

Chapitre 4 : Édition de fichiers texte - Vi

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

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

DOMONIAL CRT 500 HF. Notice Utilisateur EKZ C SECOM AUTOPROTECTION PILE A U SUPERVISION OUVERTURE ALARME INTRUSION ALARME TECHNIQUE

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

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

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

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

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

Centrale de surveillance ALS 04

Vers l'ordinateur quantique

Système binaire. Algèbre booléenne

Gé nié Logiciél Livré Blanc

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

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

Guide de formation avec cas pratiques. Programmation. Philippe Moreau Patrick Morié. Daniel-Jean David

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Découverte du tableur CellSheet

TVD 03 GSM - Transmetteur Téléphonique Vocal

Programmer en JAVA. par Tama

ACTIVITÉ DE PROGRAMMATION

Définition : On obtient les nombres entiers en ajoutant ou retranchant des unités à zéro.

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

L informatique en BCPST

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

Introduction à l algorithmique et à la programmation M1102 CM n 3

Transcription:

LANGAGE ALGORITHMIQUE Introduction Alors qu ils n existaient pas il y a 50 ans, les ordinateurs ont aujourd hui envahi notre environnement. Bien que très puissant par la quantité d informations qu il peut engranger et le grand nombre d opérations qu il peut exécuter par seconde, un ordinateur n'est qu'une machine capable d'exécuter automatiquement une série d'opérations simples qu'on lui a demandé de faire. Pour résoudre un problème à l'aide d'un ordinateur, il faut:. analyser ce problème: définir avec précision les résultats à obtenir, les informations dont on dispose,.... déterminer les méthodes de résolution: il s'agit de déterminer la suite des opérations à effectuer pour obtenir à partir des données la solution au problème posé. Cette suite d'opérations constitue un algorithme. Parmi tous les algorithmes fournissant la solution, il faudra choisir le plus efficace.. formuler l'algorithme définitif: cette étape doit faciliter la résolution sur ordinateur par l'expression de l'algorithme dans un formalisme adéquat (langage de description d'algorithme: LDA, organigramme, arbre programmatique,...). 4. traduire l'algorithme dans un langage de programmation adapté. L Encyclopédia Universalis donne la définition suivante de l Algorithme : «Un algorithme est une suite de règles à appliquer dans un ordre déterminé à un nombre fini de données pour arriver, en un nombre fini d étapes, à un certain résultat, et cela indépendamment des données.» Le mot algorithme provient du nom d un célèbre mathématicien arabe de la première moitié du IXe siècle : MUHAMMAD IBN MUSA AL KHWARISMI. Les algorithmes sont fondamentaux au sens où ils sont indépendants à la fois de l ordinateur qui les exécutent et des langages dans lequel ils sont traduits. Qualités d un algorithme Pour obtenir un bon programme il faut partir d un bon algorithme qui doit posséder entre autres, les qualités suivantes : Etre clair, facile à comprendre par tous ceux qui le lisent. Etre le plus général possible pour répondre au plus grand nombre de cas possibles. Etre d une utilisation aisée même par ceux qui ne l ont pas écrit (Messages pour l introduction des données ) Etre 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é. Philippe HOARAU /0

Eléments représentatifs du langage algorithmique. Les MOTS On distingue trois familles de mots : Les mots CLES Les mots INSTRUCTIONS Les mots DELIMITEURS.. MOTS CLES Les mots clés définissent la structure algorithmique utilisée Exemples de mots clés : - SI ALORS SINON : définissent un structure ALTERNATIVE JUSQU'A : définissent une structure ITERATIVE Un mot clé est toujours suivi : Exemple : Soit d une expression conditionnelle écrite entre guillemets Soit d un ou plusieurs mots instructions - SI «condition» - mot instruction - mot instruction - SINON - mot instruction - mot instruction 4 - JUSQU'A «condition» - SI.. 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. Exemple : - LIRE «Capteur S» Eventuellement de la description de l opération à appliquer à l objet. Exemple : - «Compteur = Compteur».. MOTS DELIMITEURS 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é. Exemple : SI Philippe HOARAU /0

4 Représentation des algorithmes 4. Représentation LITTERALE Aux règles de représentation littérales 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 Le rang de la dernière paire de mots délimiteurs représente le degré de complexité de l algorithme. - Indentation - - - - - -. -. - - -. -. - Rang 0 Rang Rang Rang Le sous réseau de rang est ici composé de deux structures algorithmiques de même niveau Algorithme de complexité d ordre - 4. Représentation GRAPHIQUE ou ALGORIGRAMME 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-00 dont les principaux sont les suivants : Début, Fin Début, fin ou interruption d un organigramme Renvoi Utilisé deux fois pour assurer la continuité d un organigramme scindé Commentaire Pour donner des indications marginales Liaison Le sens général des liaisons doit être : - de haut en bas - de gauche à droite Embranchement Pour représenter 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 Procédé prédéfini Portion de programme considérée comme une simple opération Indenter : Tabuler le texte en insérant des espaces au début de chaque nouvelle structure afin de la mettre en évidence. Philippe HOARAU /0

5 Structures algorithmiques fondamentales 5. Structure LINEAIRE ou SEQUENTIELLE C'est une SUITE D'ACTIONS à exécuter successivement dans l'ordre de leur énoncé - Instruction - Instruction - - Instruction n Instruction Instruction Instruction n Séquence Les mots instructions sont écrits au même rang sur des lignes successives. EXEMPLE - - "AC=" - "EV=" - OUVRIR "Vanne " - AC= EV= OUVRIR Vanne 5. Structures ITERATIVES Par ITERATION on désigne toute répétition de l'exécution d'un traitement. Trois types de structures itératives sont à distinguer: La structure REPETER. JUSQU'A La structure REPETER TANT QUE La structure POUR A REPETER 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 CONSIGNE. 5.. Structure " REPETER JUSQU'A " - Instruction - Instruction - Instruction n - JUSQU'A "Condition vraie" Instruction Instruction Instruction n Condition 4 Reprise de séquence En anglais: REPEAT UNTIL 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. Philippe HOARAU 4/0

EXEMPLE A l apparition d un défaut on provoque simultanément la mise sous tension : D un signal lumineux H D un avertisseur sonore H L arrêt de l avertisseur sonore se fait lorsque l opérateur acquitte le défaut par une action sur le bouton poussoir S - - "H=" - "H=" - JUSQU'A «S=» - «H=0» - «H=» «H=» «S=» «H=0» 5.. Structure " REPETER TANT QUE " - Instruction - Instruction - Instruction n - TANT QUE "Condition vraie" Instruction Instruction Instruction n Condition 4 Reprise de séquence En anglais: REPEAT WHILE 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 «REPETER JUSQU'A» et «REPETER TANT QUE» sont strictement équivalentes EXEMPLE (même exemple que précédemment) A l apparition d un défaut on provoque simultanément la mise sous tension : D un signal lumineux H D un avertisseur sonore H L arrêt de l avertisseur sonore se fait lorsque l opérateur acquitte le défaut par une action sur le bouton poussoir S - - "H=" - "H=" - TANT QUE «S=0» - «H=0» - «H=» «H=» «S=0» «H=0» Philippe HOARAU 5/0

5.. Structure " POUR A REPETER " - POUR V=Vi A V=Vf Pas=P - Instruction - Instruction - Instruction n - POUR «V=Vi» «V=V±P» Instruction Instruction Instruction n 4 Reprise de séquence V=Vf En anglais: FOR TO STEP NEXT 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 : Vi sa VALEUR ALE : Vf son PAS DE VARIATION : P Cette structure s utilise si le nombre NR de répétitions est connu : Exemple : Pour Vf=5 ; Vi=0 ; P= + : Pour Vf=0 ; Vi=8 ; P= - : V Vi NR P NR=5 NR=4 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 : f TAPER «Nombre de billets NB» - - TAPER "Nombre de billets NB" - POUR V=0 A V=NB -REPETER - DELIVRER " billet" - POUR - COUPER «Bande» - «V=0» DELIVRER «billet» «V=V+» «V=NB» COUPER «Bande» Philippe HOARAU 6/0

5. 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 COMPLETE La structure alternative REDUITE 5.. Structure " ALTERNATIVE COMPLETE" - SI «CONDITION VRAIE» - Traitement - SINON - Traitement - SI Traitement Condition Traitement Divergence en OU ou Sélection de séquence a /a 4 5 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 à 0 Kg vers le tapis et les autres vers le tapis en comptabilisant le nombre de caisses. - - PESER "Caisse" - SI "P>=0Kg" - AIGUILLER «caisse vers tapis» - «C=C+» - SINON - AIGUILLER «caisse vers tapis» - «C=C+» - SI - AIGUILLER «Vers tapis» «C=C+» PESER «caisse» P>=0Kg AIGUILLER «Vers tapis» «C=C+» Philippe HOARAU 7/0

5.. Structure " ALTERNATIVE REDUITE" - SI «CONDITION VRAIE» - Traitement - SI Condition Traitement Saut d étapes 4 En anglais : IF THEN 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. EXEMPLE Sur une chaîne de conditionnement un dispositif de tri permet de diriger les caisses de Masse supérieure ou égale à 0 Kg vers le tapis, les autres continuent d avancer sur le même tapis. - - PESER "Caisse" - SI "P>=0Kg" - AIGUILLER «caisse vers tapis» - SI - PESER «caisse» P>=0Kg AIGUILLER «Vers tapis» 6 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 à 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 REPETER Une structure alternative COMPLETE Deux structures itératives REPETER JUSQU'A et REPETER TANT QUE Son degré de complexité est d ordre Philippe HOARAU 8/0

0 "V=Vi" - - POUR V=Vi A V= Vf - «V=V-» - LIRE «S» - SI «S=» - LIRE «S» - JUSQU'A «S=» - «A=» - SINON - LIRE «S» - TANT QUE «S=» - «B=» - SI - POUR - LIRE "S" S= "A=" "V=V-" LIRE "S" S= LIRE "V" LIRE "S" S= "B=" "V=Vf" Philippe HOARAU 9/0

Introduction Qualités d un algorithme Eléments représentatifs du langage algorithmique. Les MOTS.. MOTS CLES.. MOTS INSTRUCTIONS.. MOTS DELIMITEURS 4 Représentation des algorithmes 4. Représentation LITTERALE 4. Représentation GRAPHIQUE ou ALGORIGRAMME 5 Structures algorithmiques fondamentales 4 5. Structure LINEAIRE ou SEQUENTIELLE 4 5. Structures ITERATIVES 4 5.. Structure " REPETER JUSQU'A " 4 5.. Structure " REPETER TANT QUE " 5 5.. Structure " POUR A REPETER " 6 5. Structures ALTERNATIVES 7 5.. Structure " ALTERNATIVE COMPLETE" 7 5.. Structure " ALTERNATIVE REDUITE" 8 6 Structures emboîtées 8 Philippe HOARAU 0/0