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

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.pdfFadouaBouafifSamoud
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EEInes Ouaz
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite completChahrawoods Dmz
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Aziz Darouichi
 
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
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 

Tendances (20)

Récursivité
RécursivitéRécursivité
Récursivité
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
TP C++ : enoncé
TP C++ : enoncéTP C++ : enoncé
TP C++ : enoncé
 
TP C++ : Correction
TP C++ : CorrectionTP C++ : Correction
TP C++ : Correction
 
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
 
algorithmique
algorithmiquealgorithmique
algorithmique
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Support programmation orientée objet c# .net version f8
Support programmation orientée objet c#  .net version f8Support programmation orientée objet c#  .net version f8
Support programmation orientée objet c# .net version f8
 
Formation JAVA/J2EE
Formation JAVA/J2EEFormation JAVA/J2EE
Formation JAVA/J2EE
 
01 correction-td smia-s2-info2
01 correction-td smia-s2-info201 correction-td smia-s2-info2
01 correction-td smia-s2-info2
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références Chapitre4: Pointeurs et références
Chapitre4: Pointeurs et références
 
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
 
Support POO Java première partie
Support POO Java première partieSupport POO Java première partie
Support POO Java première partie
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 

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
 

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

Asd
AsdAsd
Asd
 
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
 

Plus de FadouaBouafifSamoud

Plus de FadouaBouafifSamoud (7)

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

le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEgharebikram98
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 

Dernier (20)

le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIEBONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
BONNES PRATIQUES DE FABRICATION RESUME SIMPLIFIE
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
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