Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Ch1-Généralités.pdf
1. Algorithmique & structure
des données I
1ère Business Computing (BC)
Responsable : Dr. Fadoua Bouafif
1
Dr.Fadoua BOUAFIF
2. Objectifs du cours
Ce cours vise principalement à:
Initier les étudiants à suivre une démarche méthodique et rigoureuse
dans la résolution de problèmes allant de l’analyse jusqu'à l’écriture de la
solution en algorithmique.
A l’issue de ce module l’étudiant doit :
Connaître les composants et les éléments de base de l’algorithmique,
Pouvoir utiliser les structures décisionnelles et itératives,
Maîtriser l’utilisation des sous-programmes
Apprendre le principe des méthodes de tri et de recherche dans les
tableaux
2
Dr.Fadoua BOUAFIF
3. Plan du cours
Chapitre 1: Généralités
Chapitre 2 : Notions de base et actions élémentaires
Chapitre 3: Les structures conditionnelles
Chapitre 4: Les structures ittératives
Chapitre 5: Les tableaux et les pointeurs
Chapitre 6: Les chaines de caractères
Chapitre 7: Les sous-programmes
Chapitre 8: Les Algorithmes de tri et les algorithmes de recherche dans les
tableaux
3
Dr.Fadoua BOUAFIF
5. Objectifs du chapitre
Savoir les concepts généraux relatifs à l’algorithmique
Comprendre la différence entre un algorithme et un
programme
Avoir une idée sur les étapes d’éxecution d’un programme C
sur la machine
Connaitre la structure d’un algorithme/un programme
5
Dr.Fadoua BOUAFIF
6. Plan du chapitre
1. Introduction
2. Définitions
3. Élaboration d'un algorithme
4. Passage de l'algorithme au programme
5. Démarche algorithmique
6. Etapes d’éxecution d’un programme sur la machine
7. Structure d'un algorithme/programme
8. Conclusion
6
Dr.Fadoua BOUAFIF
7. Introduction
Qu’est ce qu’un programme informatique?
C’est une suite d'actions ou d'instructions permettant à l'ordinateur de résoudre un problème donné.
Comment écrire un programme?
La mise en place d’un programme informatique nécessite plusieurs étapes.
La première étape est la plus importante : la phase d’analyse.
Qu’est ce que la phase d’analyse ?
La phase d’analyse consiste à:
Comprendre le problème énoncé,
Cerner ces limites, et
Mettre en forme le problème dans un langage descriptif.
Qu’est ce qu’un langage descriptif ?
C’est un langage utilisé pour écrire le résultat de l’analyse.
Algorithme
7
Dr.Fadoua BOUAFIF
8. Définitions
8
Un algorithme est conçu pour résoudre un problème en utilisant l'ordinateur.
Un algorithme est une suite d'opérations ou d'instructions suivant une logique déterminée.
Exemples : les algorithmes de recherches, les algorithmes de tri, etc.
L'algorithmique est une science qui cherche la manière la plus optimale pour calculer des solutions
pratiques à un problème de calcul.
L'algorithmique désigne l'ensemble des règles et des techniques qui sont impliquées dans la
définition et la conception des algorithmes.
L'implémentation est la transcription de l'algorithme dans un langage évolué.
Dr.Fadoua BOUAFIF
9. Élaboration d'un algorithme
9
Objectif : Structurer le raisonnement afin de parvenir à une solution claire.
Différentes questions se posent ainsi :
Quel est le résultat attendu ?
Quelles sont les données nécessaires pour résoudre ce problème ?
Quels sont les principaux sous-problèmes ?
Quelles sont les principales étapes permettant de les résoudre ?
Solution:
Ecriture d’un algorithme où nous précisons les données(les constantes / les variables), leurs
types et les instructions.
Dr.Fadoua BOUAFIF
10. Élaboration d'un algorithme (suite)
10
Caractéristiques :
Un algorithme doit être :
Lisible : l'algorithme doit être compréhensible même par un non informaticien.
De haut niveau : l'algorithme doit pouvoir être traduit dans n'importe quel langage de programmation.
Précis : chaque élément de l'algorithme ne doit pas porter à confusion. Il est donc important de lever
toutes ambigüités.
Concis : un algorithme ne doit pas dépasser une page. Si c'est le cas, il faut le décomposer en sous-
programme.
Structuré : un algorithme doit être composé de différentes parties facilement identifiables.
Remarque : La décomposition du problème en sous-problèmes et leurs descriptions s'appellent
modularisation des programmes (fonctions et procédures).
Dr.Fadoua BOUAFIF
11. Passage de l'algorithme au programme
11
Après la phase d’analyse qui aboutit à l’écriture de l'algorithme relatif au problème donné, la
deuxième phase qui doit être élaborée est la programmation.
La programmation consiste à traduire l'algorithme en un langage de programmation
(langage évolué) spécifique.
Le langage de programmation
est l'intermédiaire entre l'humain et la machine.
permet d'écrire dans un langage proche de la machine mais intelligible par l'humain les opérations que
l'ordinateur doit exécuter.
doit respecter une sémantique et une syntaxe stricte.
La sémantique est l'étude du sens des mots.
La syntaxe ou la grammaire est l'étude des contraintes entre les mots pour former des phases correctes.
Dr.Fadoua BOUAFIF
13. Etapes d’éxecution d’un programme sur la machine
13
1
2 3
4
1. Codage: consiste à choisir un langage de
programmation et à l'aide de son éditeur,
l'algorithme est traduit et sera enregistré dans un
fichier nommé source.
2. Compilation: traduit le fichier source en un fichier
objet après avoir détecté toutes les erreurs
syntaxiques du programme.
3. Edition de liens: consiste à combiner les différents
fichiers objets pour créer un fichier exécutable.
4. Exécution : permet d’afficher le résultat du
programme via l’environnement de
développement intégré et le programmeur peut
se rendre compte des erreurs logiques en
effectuant une série de tests.
Dr.Fadoua BOUAFIF
14. Structure d'un algorithme/programme
14
En Algorithmique En C
Algorithme nom_algorithme
Const:
// déclaration des constantes
Var:
// déclaration des variables
Début
instruction 1
instruction 2
……
instruction n
Fin
En tête
Déclaration des variables
et des constantes
Traitement
#include <stdio.h>
#include <stdlib.h>
int main()
{ //début du programme
// déclaration des constantes
// déclaration des variables ;
instruction 1;
instruction 2 ;
……
instruction n ;
return 0;
} //fin du programme
Dr.Fadoua BOUAFIF
15. Conclusion
Dans ce chapitre nous avons:
Présenté les concepts généraux relatifs à l’algorithmique
Défini la différence entre un algorithme et un programme
Détaillé les étapes de l’exécution d’un programme
Montré la structure d’un algorithme/ d’un programme
15
Dr.Fadoua BOUAFIF