Sciences Economiques – Semestre 3 – Cours d’Algorithmique COURS ALGORITHMIQUE –

Sciences Economiques – Semestre 3 – Cours d’Algorithmique COURS ALGORITHMIQUE – PARTIE 1 SCIENCES ECONOMIQUES - SEMESTRE 3 – 2019/2020 A. DRISSI / A. ELOUARDIGHI Sciences Economiques – Semestre 3 – Cours d’Algorithmique Introduction L'algorithmique est l’ensemble des règles et des techniques permettant de définir et de concevoir des algorithmes. En informatique, un algorithme est une sorte de « plan » composé d’une suite finie d’instructions (écrites selon un format adapté aux langages compréhensibles par les ordinateurs) destinées à la résolution d’un problème donné. Pour que ce plan (algorithme) soit transformé en un programme (qui s’exécute sur un ordinateur), il suffit de réécrire ses instructions en un langage compréhensible par l’ordinateur (langage C, Basic, Fortran, etc.). Une fois exécuté, le programme conçu permet d’aboutir à une solution du problème posé. De ce point de vue, l’algorithmique est une première étape nécessaire à la compréhension de la logique de communication avec les ordinateurs, par le biais des langages de programmation (et parfois même via les logiciels). Un algorithme peut s’écrire indépendamment de tout langage de programmation mais doit respecter la logique d’écriture des programmes, utilisée par l’essentiel des langages de programmation. De ce fait, dans le présent cours, nos algorithmes seront écrits à l’aide d’un pseudo-langage (ou pseudo- code) proche des langages de programmation classiques. I- Les variables Dotée d’un nom (X, A, Var, Truc, …), une variable est un espace qui permet de stocker une valeur (numériques, logiques, texte, etc.). Une variable doit être « déclarée » en début d’algorithme pour que l’ordinateur puisse lui réserver l’espace nécessaire en mémoire. La déclaration d’une variable permet de fixer son nom, son « type » (numériques, logiques, texte, etc.) et éventuellement sa valeur initiale. Il est important de noter qu’une variable, ne peut prendre qu’une valeur à la fois. Par contre, cette valeur peut être modifiée à tout moment par une instruction de l’algorithme. Exemple d’instruction permettant de modifier la valeur d’une variable : l’affectation. Dans notre pseudo-code, l’affectation est représentée par le signe ←. Algorithme 1 : Variable A en Numérique Début A ← 10 Fin Ici, la variable A est déclarée comme de type numérique. Cet algorithme lui affecte la valeur 10. Algorithme 2 : Variable A en Numérique Début A ← 10 A ← 20 Fin Ici, la variable A est prend d’abord la valeur 10. Cette valeur est écrasée et est remplacée par la valeur 20 après la deuxième instruction d’affectation. Sciences Economiques – Semestre 3 – Cours d’Algorithmique Algorithme 3 : Variables A, B en Numérique Début A ← 10 B ← A A ← 15 Fin Ici, on déclare deux variables numériques A et B. La première instruction affecte la valeur 10 à A. A ce moment, B n’a pas encore de valeur. La seconde instruction affecte à B, la valeur de A (donc 10). A ce moment, A et B ont tous les deux la valeur 10. La troisième instruction écrase la valeur courante (10) de A par une nouvelle valeur (15). Donc en fin d’algorithme, A a la valeur 15 et B la valeur 10. Remarque : Comme dans les langages de programmation, notre pseudo-code n’évalue que la partie droite de l’affectation : A ← 10 : Ici 10 est évaluée mais pas A. La valeur de 10 est 10 (bien sûr). B← A : Ici A est évaluée (sa valeur à ce moment est 10) et c’est cette valeur qui est affectée à B. De manière générale, une affectation est toujours de la forme : X ← Expression X est la variable à affecter. Sa valeur va être l’évaluation de Expression. Cette dernière est une expression qui peut être composée d’une valeur, d’une variable ou d’un ensemble de valeurs et de variables reliés par des opérateurs (exemple : 3 + Y – 2*Z) Quelques types de variables dans notre pseudo-code : Numérique : regroupe les nombres de toutes sortes (entiers, réels, …) Caractère : regroupe les lettres, les signes de ponctuation, les espaces et même les chiffres si on les utilise comme caractère. Chaîne : c’est un groupe de caractère. Les chaînes sont toujours notées en guillemets. Booléen : type logique prenant les valeurs Vrai et Faux considérés comme 1 et 0. Quelques opérateurs : Opérateurs numériques : Ce sont les quatre opérations arithmétiques tout ce qu’il y a de classique. + : addition - : soustraction * : multiplication / : division Remarque : Il y a également le signe ^ qui signifie « puissance ». 9 au carré s’écrira donc 9 ^ 2. Opérateur de concaténation pour les chaînes : & Exemple : Variables A, B, C en Chaîne Début A ← "Lun" B ← "di" C ← A & B Fin La valeur de C à la fin de l’algorithme est "Lundi" Opérateurs logiques (ou booléens) : il s’agit du ET, du OU et du NON. (A voir plus tard) Sciences Economiques – Semestre 3 – Cours d’Algorithmique Exercices Exercice 1 Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ? Variables A, B, C en Numérique Début A ← 7 B ← 3 C ← A + B A ← 6 C ← B – A Fin Exercice 2 Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ? Variables A, B en Entier Début A ← 7 B ← A + 3 A ← A + 8 B ← A – 2 Fin Exercice 3 Ecrire un algorithme qui demande à l’utilisateur d’entrer les valeurs de deux variables A et B puis échange ces deux valeurs (la valeur de A devient celle de B et la valeur de B devient celle de A). A la fin, le programme affiche les nouvelles valeurs de A et B. Exemple : si au début de l’algorithme A vaut 3 et B vaut 5 alors, en fin d’algorithme, A doit valoir 5 et B doit valoir 3. Sciences Economiques – Semestre 3 – Cours d’Algorithmique II- Les instructions de lecture et d’écriture : Afin de permettre une meilleure interaction entre l’ordinateur et l’utilisateur, les programmes permettent souvent l’insertion de données via le clavier ainsi que l’affichage des résultats sur l’écran. Pour cela il y a l’instruction de lecture : Lire X, Y, … Et l’instruction d’écriture : Ecrire X, Y, … Exemple : Variable P, N en chaîne Début Ecrire « Entrez votre prénom » Lire P Ecrire « Entrez votre nom » Lire N Ecrire « Vous êtes : », «Monsieur », « », P, « », N Fin III- Le test SI En reprenant le dernier exemple (cf. instructions de lecture écriture) on se rend compte qu’il considère toujours la personne comme étant un Monsieur ! Il serait judicieux de reformuler ce programme de manière à ce qu’il puisse aussi identifier les dames. La modification consiste à inclure une demande du sexe («h» ou «f») et de répondre « Monsieur » ou « Madame » en fonction du sexe de la personne. Voici la nouvelle version du programme : Variable P, N en chaîne Variable Sexe en numérique Début Ecrire « Entrez votre prénom » Lire P Ecrire « Entrez votre nom » Lire N Ecrire « Entrez 1 si vous êtes homme et 2 si vous êtes femme » Lire Sexe Si (Sexe = 1) Alors Ecrire « Vous êtes : », «Monsieur », « », P, « », N Sinon Ecrire « Vous êtes : », «Madame », « », P, « », N Finsi Fin La forme générale d’un test Si est comme suit : Si condition Alors Instructions 1 Sinon Instructions 2 Finsi Sciences Economiques – Semestre 3 – Cours d’Algorithmique Parfois on se contente de : (S’il n’y a pas d’instructions2 à faire) Si condition Alors Instructions 1 Finsi Fonctionnement : si la condition est vérifiée (càd vraie) on exécute les instructions1 sinon (la condition est fausse) on exécute les instructions2. L’expression ‘condition’ doit aboutir à vrai ou faux. Elle peut être simple ou composée. Exemple de conditions : les conditions avec comparaison : X = 23 (égalité), X > Z (strictement supérieur)… On note les opérateurs : =, >, <, >= (supérieur ou égal), <= (inférieur ou égal), /= (différent). Remarques : Tests imbriqués Les blocs instructions1 et instructions2 peuvent eux même contenir un test « Si ». Dans ce cas, on parle de tests imbriqués. Exemple : Un programme qui affiche le repas associé à un moment donné de la journée : Matin : Petit-déjeuner, Midi : Déjeuner et Soir : Diner. Variable Mom en numérique Début Ecrire « Choisir le moment : 1 pour Matin, 2 pour Midi et 3 pour Soir » Lire Mom Si (Mom = 1) Alors Ecrire « Petit-Déjeuner » Sinon Si (Mom = 2) Alors Ecrire « Déjeuner » Sinon Ecrire « Diner » Finsi Finsi Fin Exercice : Un magasin de reprographie facture 0,10 Dhs les dix premières photocopies, 0,09 Dhs les vingt suivantes et 0,08 Dhs au-delà. Ecrivez un algorithme qui demande à l’utilisateur uploads/Litterature/ cours-algo-partie-1.pdf

  • 40
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager