Algorithmique - L’affectation - الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Algorithmique - L’affectation - Mme DJEBOURI. D. Faculté de Médecine salle informatique Année universitaire 2015 – 2016 https://coursinfo1med.wordpress.com 15/11/2015 Mme DJEBOURI. D. 1
Le formalisme Algorithmique الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Le formalisme Algorithmique Analyse du problème Définition Structure d’un algorithme Les objets manipulés par un algorithme Les différents types de données Exercices 15/11/2015 Mme DJEBOURI. D. 2
phase d’analyse → élaboration de la solution. الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 1. Analyse du problème Problème posé Algorithme Programme (1) (2) phase d’analyse → élaboration de la solution. (2) phase de traduction de l’algorithme en utilisant un langage L. 15/11/2015 Mme DJEBOURI. D. 3
Rassembler le maximum d’informations sur le Problème. الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine On ne peut résoudre à l’aide d’un calculateur un Problème qui ne serait pas complètement défini. Il faudra donc définir très clairement les objectifs que l’on souhaite atteindre, cette étape consiste à : Rassembler le maximum d’informations sur le Problème. Savoir précisément ce qui est donné et ce qui est demandé. Choisir une méthode de résolution. Décrire cette méthode sous forme d’étapes ordonnées et finies 15/11/2015 Mme DJEBOURI. D. 4
Structure d’un algorithme الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 2. Définition Un algorithme est une description précise d’une suite finie et ordonnée d’étapes de calculs (traitements) nécessaires à la résolution d’un Problème. Structure d’un algorithme Un algorithme se présente généralement comme suit: Début <Partie déclaration> <Partie action> Fin 15/11/2015 Mme DJEBOURI. D. 5
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Les mots « début » et « fin » indiquent les limites de l’algorithme et font partie du langage algorithmique. La partie « déclaration » contient des expressions utilisées pour décrire l’ensemble des données, leurs types et leurs structures. La partie « action » contient des expressions d’actions qui déterminent les traitements qu'il faut appliquer aux données. Une action est une opération qui produit, en un temps fini, un effet. 15/11/2015 Mme DJEBOURI. D. 6
3.1 Langage algorithmique الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 3.1 Langage algorithmique L’alphabet algorithmique est formé des lettres minuscules et majuscules, des chiffres décimaux (0,1,2,…9), des opérateurs (+, -, *, /,^, div, mod) et des caractères spéciaux (., ?, ’’, $, (, ), :, …). NB: l’opérateur « / » indique une division réelle alors que l’opérateur « div » désigne la division entière. Dans R div est représenté par %/% et mod par %% 15/11/2015 Mme DJEBOURI. D. 7
Syntaxe: Id_var expression {arithmétique ou logique} الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 3.2 Les identificateurs a) Action d’assignation (affectation) : permet de changer l'état d’une variable. Syntaxe: Id_var expression {arithmétique ou logique} Sous R : Id_var <- expression {arithmétique ou logique} Id_var = expression expression -> Id_var Un identificateur est une suite de caractères (alphabétique ou alphanumérique) dont laquelle le 1er doit être une lettre [1] . 3.3 Différents types d’actions 15/11/2015 Mme DJEBOURI. D. 8
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exemple: a 2014 m 10 j 5 j j+1 Dans R, si un objet n’existe pas l’assignation le crée sinon elle écrase son ancienne valeur. 15/11/2015 Mme DJEBOURI. D. 9
b) Action composée Une action qui regroupe plusieurs actions simples الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine b) Action composée Une action qui regroupe plusieurs actions simples Syntaxe : Sous R : Commandes groupées début {A1; A2; A1 A2 ….; … An} An fin 15/11/2015 Mme DJEBOURI. D. 10
4. Les objets manipulés par un algorithme الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 4. Les objets manipulés par un algorithme Les actions de l’algorithme manipulent des objets (informations), chaque objet possède 3 qualificatifs [1] : Identificateur : désigne l’objet sans ambigüité. Type : détermine l’ensemble dans lequel l’objet prend ses valeurs. Valeur : élément particulier appartenant au domaine décrit par son type. Un objet est dit « variable » lorsque sa valeur n’est pas fixe il est dit « constante » dans le cas contraire. 15/11/2015 Mme DJEBOURI. D. 11
Déclarations 1.Variable الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Déclarations 1.Variable Syntaxe: Var <type> : < id-var1>,<id-var2>,……. ,<id-var n> Ex: Var réel : i, j, som , note1 2. Constante Dans R il n’est pas nécessaire de déclarer les objets explicitement. Ex: Const pi = 3.14; 15/11/2015 Mme DJEBOURI. D. 12
5. Les différents types de données الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 5. Les différents types de données 5. 1 Les types simples Un type dont les valeurs sont indécomposable est dit simple Type numérique : Ensemble des entiers et des réels positifs et négatifs. les opérations arithmétique applicables sont (+, - , * , / , %% , %/% , ^ ). NB: %% et %/% ne sont applicables que pour les entiers. 15/11/2015 Mme DJEBOURI. D. 13
b. Type booléen : Exemple: الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine b. Type booléen : C’est l’ensemble { TRUE, FALSE} Les opérations applicables sont les opérations logiques soit : (!, ||, &&) Exemple: 15/11/2015 Mme DJEBOURI. D. 14
c. Type caractère : Désigne l’ensemble des caractères et comprend : الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine c. Type caractère : Désigne l’ensemble des caractères et comprend : Les lettres, les chiffres, le blanc ( ‘ ’) et tout autre caractère ou symbole ( [, {, ), ], }, +, -, …) Une valeur de type caractère sera écrite entre deux cotes : " " Sous R : 15/11/2015 Mme DJEBOURI. D. 15
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine 5. 2 Les types structurés: Type dont les valeurs sont composées de valeurs simples Le Type tableau: cette structure regroupe des valeurs de même type. Ex: Var Tab(1..5) de entier : T ; 5 3 -2 12 T T[1] T[3] 15/11/2015 Mme DJEBOURI. D. 16
Exercice 1 : Quel est le résultat de l’algorithme suivant: الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exercice 1 : Quel est le résultat de l’algorithme suivant: Algorithme ex1; Var Entier : a , b , c Début a 12; b 1; c 2; a a - c + b; Fin. 15/11/2015 Mme DJEBOURI. D. 17
Priorité des opérateurs الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Priorité des opérateurs ( ) 1 ^ 2 ! , - , + 3 * , / , %%, %/% 4 + , - 5 < , <= , > , >= 6 == , ! = 7 && 8 || 9 15/11/2015 Mme DJEBOURI. D. 18
Exercice 2 : Quel est le résultat de l’algorithme suivant: الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exercice 2 : Quel est le résultat de l’algorithme suivant: Algorithme ex2; Var Entier : a, b, c, y , p Début a 5; b 10; c 3; p 0; y (a + 1)/c*(c + b/a); p a *(b/2); p p div 2; Fin. 15/11/2015 Mme DJEBOURI. D. 19
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exercice 3 : Ecrire un algorithme qui réalise la permutation de deux nombres entiers. Algorithme ex3; Var Entier : a, b, z Début a 5 b 10 z a a b b z Fin. 15/11/2015 Mme DJEBOURI. D. 20
Exercice 4 : Algorithme ex4; Var Réel : s Début s 5*24*60*60 Fin. الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exercice 4 : Ecrire un algorithme qui calcule le nombre de secondes existants dans 5 jours. Algorithme ex4; Var Réel : s Début s 5*24*60*60 Fin. 15/11/2015 Mme DJEBOURI. D. 21
الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Exercice 5 : Ecrire un algorithme qui crée le tableau T précédemment vu en exemple (diapo n°16) puis calcule la somme du 1er et du dernier élément. 15/11/2015 Mme DJEBOURI. D. 22
Références [1] Mounira BELMESK, Nacera BENSAOU, Sid Ahmed LARBI, الجمهورية الجزائرية الديمقراطية الشعبية République Algérienne Démocratique et Populaire وزارة التعليم العالي و البحث العلمي Ministère de l’Enseignement Supérieur et de la Recherche Scientifique جامعة جيلا لي ليابس بسيدي بلعباس كلية الطب Université Djillali LIABES de Sidi Bel Abbés Faculté de Médecine Département de médecine Références [1] Mounira BELMESK, Nacera BENSAOU, Sid Ahmed LARBI, ” ALGORITHMES ET STRUCTURES” KHAWARYSM EDITIONS, 1991. [2] R Development Core Team (2011). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. ISBN 3-900051-07-0, URL http://www.R-project.org/ . 15/11/2015 Mme DJEBOURI. D. 23