Les algorithmes - GEA IUT Evreux

publicité
 Les algorithmes I)
Introduction : II)
Définitions : Un ordinateur est une machine programmable capable d’effectuer un traitement de l’information. Avec un logiciel de jeu, l’ordinateur se transforme en console, avec un tableur, il devient une machine à calculer, avec un traitement de texte il est comparable à une machine à écrire performante. Tout dépend donc du programme (logiciel : software, soft et matériel : hardware, hard) utilisé. Ecrire un programme est une opération longue et délicate. Pour cela, il faut analyser le problème à résoudre, trouver une solution, l’exprimer. Il existe plusieurs centaines de langage (outil de programmation ou de développement) compréhensible par l’ordinateur, suivant le type d’application à développer, un langage correspondra. Quelque soit l’outil de développement utilisé une phase préparatoire est commune et s’exprime à l’aide d’un algorithme. Méthode heuristique : stratégie pas à pas alors que la création d’algorithmes demande une stratégie plus globale. Elle est surtout utilisée en intelligence artificielle. Informaticien Knuth : Un algorithme est un ensemble d’instruction ayant les cinq caractéristiques suivantes : • Il doit être fini (il est possible de compter le nombre de ligne d’instruction) et doit se terminer après un nombre fini d’opérations. • Il doit être défini et précis. Chaque instruction doit être écrite sans ambiguïté. • S’il y a des données d’entrée, les domaines de valeurs doivent être connus (nombre entier, alphanumérique). • Il doit posséder au moins un résultat (donnée de sortie). • Il doit être effectif, c’est à dire que toutes les opérations doivent être effectuées exactement, et dans un temps fini, par un homme utilisant des moyens manuels. III)
La notion de données : Une donnée, pour être correctement définie, doit avoir un nom ou identificateur, prendre des valeurs (constante ou variable) dans un domaine de valeur (type de variable). 1) Nom ou identificateur : De préférence, le nom est choisi en rapport avec le contenu de la donnée ou objet. Exemple : TOTAL contiendra la somme de plusieurs variables. 2) Valeur : Une donnée apparaît dans un algorithme sous la forme d’un nom. Elle peut aussi apparaître sous la forme d’une valeur. Dans le premier cas, on parle de donnée ou de variable. Dans le deuxième cas, on parle de constante. LA ROCCA Pauline – GEA 1 – 2013/2014 1 3) Type : Nous ne pouvons pas appliquer de traitement de valeur d’un objet si nous ne connaissions pas son type. Un type est défini par un ensemble de constantes et l’ensemble des opérations que nous pouvons leurs appliquer. Nous avons trois grands types d’objet : • Booléen • Numérique • Alphanumérique a) Booléen : Ensemble des constantes : .VRAI. .FAUX. Les deux constantes logiques seront notées de cette manière afin de ne pas les confondre avec des identificateurs. Les opérateurs : ET , OU , NON Rappel des tables de vérité pour ces opérateurs : A B A ET B A OU B V V V V V F F V F V F V F F F F Dans la table V signifie .VRAI. et F signifie .FAUX. b) Numérique : Ensemble des constantes : entier ou réel Ensemble des opérateurs : toutes les opérations arithmétiques et trigonométriques. Les opérateurs les plus courants : Opérateur Signification + Addition * Multiplication -­‐ Soustraction / Division ^ Elévation à la puissance DIV La division entière ENT La partie entière d’un réel MOD Le reste d’une division Autres opérateurs : Opérateur Inverse = <> < >= <= > > <= >= < LA ROCCA Pauline – GEA 1 – 2013/2014 2 <> = c) Alphanumérique : Ensemble des constantes. Ensemble des chaînes de caractères. Une chaîne de caractères est : -­‐ Soit une chaîne vie (représentation « ») -­‐ Soit un caractère suivi d’une chaîne de caractère. Un caractère est : -­‐ Soit une lettre de l’alphabet. -­‐ Soit différents codes : codes opérations (+, -­‐, *, …), codes de ponctuation ( ;, ., …), autres codes (&, #, @, …). Ensemble des opérations : nous travaillerons avec les fonctions suivantes : -­‐
SSCHAINE(variable, pos, nb caractères) SSCHAINE permet d’extraire dans une variable, une chaîne à partir de la position pos de nb caractère. Exemple : SSCHAINE(« bonjour »,4,4) Résultat : « jour » -­‐
LONGUEUR(variable) LONGUEUR donne le nombre de caractères que contient la variable. Attention, le chiffre retourné est un nombre. Exemple : LONGUEUR(« algorithme ») Résultat : 10 -­‐
RANG(variable1,variable2,pos) RANG permet la recherche de la variable2 dans la variable1 à partir de la position pos. S’il trouve la correspondance, RANG nous retourne un chiffre indiquant où se trouve la variable2 dans la variable1 sinon il retourne 0. Exemples : RANG(« structure », « truc », 1) Résultat : 2 RANG(« structure », « truc », 3) Résultat : 0 -­‐
Variable1//Variable2 // permet la concaténation de deux variables en une seule. Sous Excel, la concaténation est possible en utilisant le & pour « sommer » deux chaînes de caractères. Exemple : « bonjour »// « à tous » Résultat « bonjour à tous » -­‐
CVCHAINE(variable numérique) CVCHAINE transforme une variable numérique en une variable alphanumérique. Exemple : CVCHAINE(48) Résultat : « 48 » -­‐
CVNOMBRE(variable alphanumérique) CVNOMBRE transforme une variable alphanumérique en une variable numérique. Exemple : CVNOMBRE(« 0048 ») Résultat : 48 LA ROCCA Pauline – GEA 1 – 2013/2014 3 IV)
Instructions élémentaires : 1) Affectation : Cette opération est représentée par la flèche orientée vers la gauche : ←. Format général : Variable ← Valeur Attention : dans un algorithme, le signe ← n’a pas le même rôle que le signe = classique. Une instruction de la forme x←x+k est une instruction fondamentale car elle permet de faire évoluer le contenu d’une variable alors que x=x+k est une instruction de comparaison. Dans ce cas, nous comparons le contenu des variables à la gauche et à la droite du signe =. 2) Les instructions d’entrée et de sortie : Nous disposons d’une instruction qui nous permet de récupérer une valeur sur un périphérique d’entrée et d’une instruction qui nous permet de restituer une valeur sur un périphérique de sortie. Format général : SAISIR variable (instruction d’entrée) AFFICHER variable ou valeur Exemple : AFFICHER « Donnez un nom pour calculer son nombre de lettres » SAISIR Wnom WNBLET ← LONGUEUR(Wnom) AFFICHER « Il y a », WNBLET, « caractère(s) dans ce nom » 3) Les structures conditionnelles : a) La structure alternative : Format général : SI Condition ALORS Action1 SINON Action2 FSI Lorsque la condition est réalisée (est .VRAI.) l’algorithme exécute l’action1 dans le cas inverse, l’action2 sera réalisée. b) La structure conditionnelle : Format général : SI Condition ALORS Action FSI Lorsque la condition est réalisée (est .VRAI.) l’algorithme exécute l’action. Cette structure a la particularité de ne pas avoir de traitement à effectuer lorsque la condition produit la valeur .FAUX. LA ROCCA Pauline – GEA 1 – 2013/2014 4 LA ROCCA Pauline – GEA 1 – 2013/2014 5 c) La structure de choix : Format général : SUIVANT Condition FAIRE Valeur1 : Action1 Valeur2 : Action2 Valeur3 : Action3 … Valeur n : Action n SINON : Action par défaut FINSUIVANT La variable est comparée aux différentes constantes (valeur 1 à valeur n) et les actions à exécuter dépendent de cette valeur. L’action par défaut est utile quand aucune des valeurs proposées ne répondent à la condition. d) Les structures imbriquées : La structure alternative simple permet de distinguer deux cas. Il se peut que l’expression de la condition d’un SI ne suffise pas pour exprimer tous les cas de figures. Nous pouvons exprimer un SI après le ALORS d’un SI, et ou après le SINON d’un SI, et ainsi de suite. Exemple : V)
SI Condition1 ALORS SINON FSI SI Condition2 ALORS Action1 SINON SI Condition3 ALORS Action2 SINON Action3 FSI FSI SI Condition4 ALORS Action4 FSI Les boucles ou itérations : Une boucle ou itération est l’action de répéter une séquence d’instruction un certain nombre de fois jusqu’à la réalisation d’une condition ou encore suivant un nombre de fois fixé à l’avance. 1) La structure itérative : Format général : TANT QUE Condition Action FTQ La structure itérative permet la répétition d’une action tant que la condition est satisfaite (est .VRAI.). LA ROCCA Pauline – GEA 1 – 2013/2014 6 Exemple : affichage des nombres de 1 à 10 VAR NB : numérique NB ← 1 TANT QUE NB <11 AFFICHER « le résultat est : », NB NB ← NB+1 FTQ 2) La structure répétitive : Format général : REPETER Action JUSQU'A Condition La structure répétitive permet la répétition d’une action jusqu’à ce que la condition soit vérifiée (est .VRAI.). Exemple : affichage des nombres de 1 à 10 VAR NB : numérique NB ← 0 REPETER NB ← NB+1 AFFICHER « le résultat est : », NB JUSQU'A NB=10 3) La structure POUR : Format général : POUR Variable ← Valeur initiale JQA Valeur finale PAS DE Incrément Action FPOUR Cette structure permet de répéter une action un nombre connu de fois. La valeur initiale et la valeur finale sont des variables ou des constantes. L’incrément ou la raison est la valeur d’augmentation progressive de la variable. Si l’incrément a une valeur de 1, il n’est pas nécessaire de le préciser. Exemple : affichage des nombres de 1 à 10 VAR NB : numérique POUR NB ← 1 JQA 10 AFFICHER « Le résultat est : », NB FPOUR LA ROCCA Pauline – GEA 1 – 2013/2014 7 VI)
Les règles de construction : Un algorithme doit avoir un nom, pour cela nous utilisons l’instruction PROGRAMME. Il est délimité et doit avoir un DEBUT et une FIN. Schéma de construction : PROGRAMME nom de l’algorithme VAR nom des variables : types de variables DEBUT FIN LA ROCCA Pauline – GEA 1 – 2013/2014 8 
Téléchargement