Académique Documents
Professionnel Documents
Culture Documents
Cours Algorithmique
Applications
(Word, Excel, Jeux, etc.)
et structure de
Langages
(Java, C/C++, Fortran, Pascal, etc.)
Système d’exploitation
données (DOS,Windows, Unix, etc.)
Matériel
(PC, Macintosh, station SUN, etc.)
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 1 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 2
Un langage informatique est un outil permettant de Pour faire fonctionner un ordinateur il faut lui fournir un
donner des ordres (instructions) à la machine programme
Ordinateur = matériel + programme(s)
• A chaque instruction correspond une action du processeur
Un programme est une suite d’instructions d’ordinateur
Intérêt : écrire des programmes (suite consécutive
d’instructions) destinés à effectuer une tache donnée
Une instruction est un ordre compris par l’ordinateur
• Exemple: un programme de gestion de comptes bancaires (Micro-processeur) et qui lui fait exécuté une action, c-a-
• Exemple : un programme de gestion de notes des étudiants
d une modification de son environnement
Contrainte: être compréhensible par la machine
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 3 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 4
Actions d’un ordinateur : Exemple (Addition)
Principaux Langages de
programmation:
Attendre qu’un nombre soit tapé au clavier Blaise PASCAL, mathématicien Langage compilé et structuré, dérivé
et inventeur de la première d'ALGOL. c'est un langage de
Sortir à l’écran le nombre entré Pascal machine à calculer 1971 développement standard pour les
micro-ordinateurs.
Attendre qu’un nombre soit tapé au clavier C'est une version améliorée du Langage de programmation structuré et
langage de programmation B du compilé, très largement employé car
Sortir à l’écran le nombre entré C Bell Laboratory, créé en 1972 ses programmes peuvent facilement se
transférer d'un type d'ordinateur à un
Additionner les deux nombres entrés autre.
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 5 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 6
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 7 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 8
Représentation d’un algorithme Algorithmique
Historiquement, deux façons pour représenter un algorithme: 5 étapes pour arriver à un algorithme à partir d’un problème
• L’Organigramme: représentation graphique avec des symboles • 1. Comprendre le problème.
(carrés, losanges, etc.) • 2. Identifier les données d’entré et de sorties liées aux problème.
• offre une vue d’ensemble de l’algorithme • 3. Formuler le problème en actions élémentaires précises avec les
• représentation quasiment abandonnée aujourd’hui données nécessaires pour le calcul.
• 4. Développer l’algorithme général suivant les actions.
• Le pseudo-code: représentation textuelle avec une série de
conventions ressemblant à un langage de programmation (sans • 5. Détailler chaque action de l’algorithme (plus précis - sans
les problèmes de syntaxe) ambiguïté).
• plus pratique pour écrire un algorithme
Ensuite, traduire l’algorithme avec un langage de programmation
• représentation largement utilisée
Pour obtenir un programme
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 9 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 10
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 11 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 12
Structure d’un algorithme
Algorithmique et structure
de données ALGORITHME nom_de_l’algorithme
CONSTANTE {Définition des constantes}
C1= valeur1
TYPE {Définition de types}
Type1 = definition_du_type
Chapitre 1 - Notions et
VAR {Déclaration de variables}
V1:Type1
instructions de base DEBUT
……..
…….. {Suite d’instructions}
……..
……..
FIN
13 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 14
• la lecture / écriture Règle : Les variables doivent être déclarées avant d’être
• les tests utilisées, elle doivent être caractérisées par :
• les boucles • un nom (identificateur)
• un type (entier, réel, caractère, chaîne de caractères, …)
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 15 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 16
Choix des identificateurs (1) Choix des identificateurs (2)
Le choix des noms de variables est soumis à quelques Conseil: pour la lisibilité du code, choisir des noms
règles qui varient selon le langage, en général: significatifs qui décrivent les données manipulées
Un nom doit commencer par une lettre alphabétique exemples: TotalVentes2020, Prix_TTC, Prix_HT, moyenne, somme
exemple valide: A1 exemple invalide: 1A
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 21 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 22
Exercices simples sur l'affectation (1) Exercices simples sur l'affectation (2)
Donnez les valeurs des variables A, B et C après exécution Donnez les valeurs des variables A et B après exécution des
des instructions suivantes ? instructions suivantes ?
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 23 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 24
Exercices simples sur l'affectation (3) Expressions et opérateurs
Une expression peut être une valeur, une variable ou une
Ecrire un algorithme permettant d’échanger les opération constituée de variables reliées par des opérateurs
valeurs de deux variables A et B exemples: 1, b, a*2, a+ 3*b-c, …
• ^ : (élévation à la puissance)
• * , / (multiplication, division) 2x z
• Mod, Div Sachant que a=4, b=5,c=-1 et d=0 évaluer les expressions logiques
• + , - (addition, soustraction) suivantes:
exemple: 2+3*7 vaut 23 • (a<b) ET (c>=d)
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 27 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 28
Les instructions d'entrées-sorties: Les instructions d'entrées-sorties:
lecture et écriture (1) lecture et écriture (2)
L'écriture permet d'afficher des résultats à l'écran
Les instructions de lecture et d'écriture permettent à la machine
de communiquer avec l'utilisateur • En pseudo-code, on note:
ECRIRE(paramètre1 [[,paramètre2]…])
La lecture permet d'entrer des donnés à partir du clavier Paramètre = variable | expression | constante
• En pseudo-code, on note: lire (var1,var2,…) Constante = nombre | message message
expression
la machine met la valeur entrée au clavier dans la zone
mémoire nommée var1, var2,… Exemples ECRIRE(" La valeur de 3*2 est égale à ", 3*2)
message
• Remarque: Le programme s'arrête lorsqu'il rencontre une variable
instruction Lire et ne se poursuit qu'après la frappe d’une valeur ECRIRE(" La moyenne est = ", MOY)
au clavier et de la touche Entrée
Conseil: Avant de lire une variable, il est fortement conseillé d’écrire des
messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit saisir
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 29 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 30
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 33 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 34
Résultats cherchés
Écrire un algorithme qui consiste a calculer l’air S • S:surface du cercle
2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 37 2020/2021 Algorithmique et structure de données ISIMA-1LBC. Enseignant : Soufien GDAIM 38