SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Algorithmique & structure
des données I
1ère Business Computing (BC)
Responsable : Dr. Fadoua Bouafif
1
Dr.Fadoua BOUAFIF
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
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
Chapitre 1: Généralités
4
Dr.Fadoua BOUAFIF
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
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
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
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
É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
É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
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
Démarche algorithmique
12
Dr.Fadoua BOUAFIF
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
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
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

Contenu connexe

Tendances

Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesInes Ouaz
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireLilia Sfaxi
 
1 introduction informatique
1 introduction informatique1 introduction informatique
1 introduction informatiqueCEFRI-UAC
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateursAziz Darouichi
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfC00LiMoUn
 
Cours langage c
Cours langage cCours langage c
Cours langage ccoursuniv
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busSana Aroussi
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfFadouaBouafifSamoud
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Aziz Darouichi
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)rezgui mohamed
 

Tendances (20)

Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Travaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de donnéesTravaux dirigés 1: algorithme & structures de données
Travaux dirigés 1: algorithme & structures de données
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Systèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoireSystèmes d'Exploitation - chp3-gestion mémoire
Systèmes d'Exploitation - chp3-gestion mémoire
 
1 introduction informatique
1 introduction informatique1 introduction informatique
1 introduction informatique
 
Chapitre6: Surcharge des opérateurs
Chapitre6:  Surcharge des opérateursChapitre6:  Surcharge des opérateurs
Chapitre6: Surcharge des opérateurs
 
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdfChapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
Chapitre 2 Les strucutures conditionnelles_18-19.ppt [Mode de compatibilité].pdf
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
Cours de c
Cours de cCours de c
Cours de c
 
Cours langage c
Cours langage cCours langage c
Cours langage c
 
Chapitre iv entrées sorties et bus
Chapitre iv entrées sorties et busChapitre iv entrées sorties et bus
Chapitre iv entrées sorties et bus
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Asd
AsdAsd
Asd
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Ch3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdfCh3-les structures conditionnelles.pdf
Ch3-les structures conditionnelles.pdf
 
Programmation en C
Programmation en CProgrammation en C
Programmation en C
 
Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019Chapitre2fonctionscppv2019
Chapitre2fonctionscppv2019
 
Cours structures des données (langage c)
Cours structures des données (langage c)Cours structures des données (langage c)
Cours structures des données (langage c)
 

Similaire à Ch1-Généralités.pdf

cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcoursedu
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Guillaume RICHARD
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1Sami Neili
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1DIALLO Boubacar
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Amina HAMEURLAINE
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire Mohammed Zaoui
 
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfPE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfBinocheMf
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfRedaBelattar
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmationSageKataliko1
 
cours-01-intro.pdf
cours-01-intro.pdfcours-01-intro.pdf
cours-01-intro.pdfNihedBahria2
 
Mql4 pour les nuls
Mql4 pour les nulsMql4 pour les nuls
Mql4 pour les nulsmatafnet
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...Sid Ahmed Benkraoua
 

Similaire à Ch1-Généralités.pdf (20)

Ktab asd
Ktab asdKtab asd
Ktab asd
 
Algorithme
AlgorithmeAlgorithme
Algorithme
 
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.comcours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
cours Algorithmique SMP-SMC s2 by coursedu.blogspot.com
 
040401+seminar+gelo+diro.ppt
040401+seminar+gelo+diro.ppt040401+seminar+gelo+diro.ppt
040401+seminar+gelo+diro.ppt
 
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
Comment récupérer un projet Web pourri ... et réussir à travailler dessus.
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Initiation à UML: Partie 1
Initiation à UML: Partie 1Initiation à UML: Partie 1
Initiation à UML: Partie 1
 
Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++Cours Programmation Orientée Objet en C++
Cours Programmation Orientée Objet en C++
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
Projet+com02.ppt
Projet+com02.pptProjet+com02.ppt
Projet+com02.ppt
 
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdfPE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
PE - Développeur d'applications multiplateformes-24 Juin-Final.pdf
 
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdfLUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
LUP IRT 2021_2022 - Cours - Programmation Python (Partie I).pdf
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
cours-01-intro.pdf
cours-01-intro.pdfcours-01-intro.pdf
cours-01-intro.pdf
 
Mql4 pour les nuls
Mql4 pour les nulsMql4 pour les nuls
Mql4 pour les nuls
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 

Plus de FadouaBouafifSamoud

Plus de FadouaBouafifSamoud (8)

Ch4- les structures répétitives.pdf
Ch4- les structures répétitives.pdfCh4- les structures répétitives.pdf
Ch4- les structures répétitives.pdf
 
ch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdfch7_les chaines de caractères.pdf
ch7_les chaines de caractères.pdf
 
ch6 les sous programmes.pdf
ch6 les sous programmes.pdfch6 les sous programmes.pdf
ch6 les sous programmes.pdf
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
ch4_les listes.pdf
ch4_les listes.pdfch4_les listes.pdf
ch4_les listes.pdf
 
ch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdfch3_les variables_dynamiques.pdf
ch3_les variables_dynamiques.pdf
 
Ch2_ la récursivité.pdf
Ch2_ la récursivité.pdfCh2_ la récursivité.pdf
Ch2_ la récursivité.pdf
 
Ch1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdfCh1 _ les enregistrements.pdf
Ch1 _ les enregistrements.pdf
 

Dernier

Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAmar LAKEL, PhD
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfAtelier Canopé 37 - Tours
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilfrizzole
 
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RH
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RHM2i Webinar - CPF 2024 : une stratégie pour booster les performances RH
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RHM2i Formation
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfAtelier Canopé 37 - Tours
 
0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.pptessiben
 
Copilot your everyday AI companion- OFFICE 365-
Copilot your everyday AI companion- OFFICE 365-Copilot your everyday AI companion- OFFICE 365-
Copilot your everyday AI companion- OFFICE 365-Majida Antonios, M.Ed.
 
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...Unidad de Espiritualidad Eudista
 

Dernier (12)

Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Aux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècleAux origines de la sociologie : du XIXème au début XX ème siècle
Aux origines de la sociologie : du XIXème au début XX ème siècle
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 
Calendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avrilCalendrier de la semaine du 8 au 12 avril
Calendrier de la semaine du 8 au 12 avril
 
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RH
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RHM2i Webinar - CPF 2024 : une stratégie pour booster les performances RH
M2i Webinar - CPF 2024 : une stratégie pour booster les performances RH
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt
 
Copilot your everyday AI companion- OFFICE 365-
Copilot your everyday AI companion- OFFICE 365-Copilot your everyday AI companion- OFFICE 365-
Copilot your everyday AI companion- OFFICE 365-
 
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...
L'Unité de Spiritualité Eudiste se joint à toute l'Église Universelle et en p...
 

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