Cours Algorithmique Et Structures de Données: Informatique?
Cours Algorithmique Et Structures de Données: Informatique?
Cours Algorithmique Et Structures de Données: Informatique?
Cours Algorithmique
Applications
(Word, Excel, Jeux, etc.)
et structures de
Langages
(Java, C/C++, Python, Pascal, etc.)
Système d’exploitation
données (DOS,Windows, Unix, etc.)
Matériel
(PC, Macintosh, station SUN, etc.)
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 1 2024/2025 Algorithmique et structures de données FSM-LSI1. 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,
• Exemple : un programme de gestion de notes des étudiants
une modification de son environnement
Contrainte: être compréhensible par la machine
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 3 2024/2025 Algorithmique et structures de données FSM-LSI1. 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.
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 5 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 6
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 7 2024/2025 Algorithmique et structures de données FSM-LSI1. 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èmes.
• 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
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 9 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 10
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 11 2024/2025 Algorithmique et structures de données FSM-LSI1. 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 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 14
• la lecture / écriture Règle : Les variables doivent être déclarées avant d’être
• les tests utilisées, elles doivent être caractérisées par :
• les boucles • un nom (identificateur)
• un type (entier, réel, caractère, chaîne de caractères, …)
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 15 2024/2025 Algorithmique et structures de données FSM-LSI1. 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
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 21 2024/2025 Algorithmique et structures de données FSM-LSI1. 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 ?
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 23 2024/2025 Algorithmique et structures de données FSM-LSI1. 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)
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 27 2024/2025 Algorithmique et structures de données FSM-LSI1. 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ées à 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
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 29 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 30
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 33 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 34
Résultats cherchés
Écrire un algorithme qui consiste a calculer l’air S • S:surface du cercle
2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 37 2024/2025 Algorithmique et structures de données FSM-LSI1. Enseignant : Soufien GDAIM 38