SlideShare une entreprise Scribd logo
1  sur  36
AAllggoorriitthhmmiiqquuee 
eett pprrooggrraammmmaattiioonn pprrooccéédduurraallee 
CChhaapp II :: IInnttrroodduuccttiioonn 
Lajouad Rachid 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 1
DDééffiinniittiioonn // HHiissttoorriiqquuee 
• Un algorithme est une suite finie 
d’opérations élémentaires constituant un 
schéma de calcul de traitement ou de 
résolution d’un problème. 
• Algorithme -> Algorismus -> Alkhawarizmi 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 2
PPrroobblléémmaattiiqquuee 
• Trouver une méthode de résolution 
(exacte ou approché) d’un problème 
donné. 
• Exemple : 
– Equation 2nd dégrées 
– Intégrale de Reimann. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 3
AAllggoorriitthhmmeess eett pprrooggrraammmmeess 
• Un programme est l’implémentation dans 
un langage évolué d’un algorithme: 
– L’algorithme : étapes d’analyse (travaille du 
mathématicien). 
– Le programme : étapes de mise en oeuvre 
(travaille du programmeur). 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 4
AApppprroocchhee 
• Recette de cuisine 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 5
SSttrruuccttuurree dd’’uunn aallggoorriitthhmmee 
• Entête : identificateur : Nom_d_algorithme 
• Déclarations (variables, constantes, 
fonctions, structures …) 
• Début 
– Corps de l’algorithme 
• Fin 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 6
CCoonnddiittiioonnss ggéénnéérraalleess 
• Un algorithme doit être : 
– Lisible : Compréhensible (structure, notation) 
– De haut niveau : indépendant d’une plate 
forme de développement donnée. 
– Précis : lever les ambiguitées. 
– Concis : ne doit pas dépasser une page. 
– Structuré. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 7
EExxeemmppllee 
Algorithme : Somme 
Déclarations : 
Variables : 
a,b : réel; 
Debut 
lire(a); 
lire(b); 
Ecrire(‘Somme de a et b’,a+b); 
Fin 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 8
DDééccllaarraattiioonnss 
• Identifiant : suite de caractères qui permet de 
nommer les choses 
• Variable : une entité qui contient une information 
– Possède un identifiant 
– Possède une valeur (qui peut changer dans le temps) 
– Possède un type qui caractérise l'ensemble des valeurs 
• Une constante : une valeur qui ne change jamais 
dans le temps. 
• Un type : l’ensemble de valeur que peut prendre 
une variable. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 9
TTyyppeess ddeess ddoonnnnééeess 
• Deux grandes catégories : 
– Types simples 
– Types composés 
• Pour chaque types est définit la plage des 
valeurs, et les opérateurs utilisés. 
• Opérateur (unaire, binaire, opérande, 
expression …) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 10
TTyyppeess ssiimmpplleess 
• Dénombrable : 
– Booleen, les variables ne peuvent prendre que les 
valeurs VRAI ou FAUX 
– Intervalle, les variables ne peuvent prendre que les 
valeurs entières définies dans cet intervalle, par 
exemple 1..10 
– enumere, les variables ne peuvent prendre que les 
valeurs explicitees, par exemple les jours de la 
semaine (du lundi au dimanche), Ce sont les seuls 
types simples qui peuvent être définis par 
l'informaticien 
– Caractere, entoures par de simples cotes ' 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 11
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 12
TTyyppeess ssiimmpplleess 
• Les types simples indénombrables: 
– Entier (positifs et negatifs) équivalant a Z 
– Naturel (entiers positifs) équivalant a IN 
– Reel équivalant a IR 
– Chaîne de caractères, suite de caractères 
entourée de doubles cotes 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 13
OOppéérraatteeuurrss 
• Entier, Naturel, Réel : 
+ , - , * , / , Div , Mod, Ent 
• Booléans : 
Non, Et, Ou, XOu 
• Chaînes de caractères : 
+ 
• Enuméré : 
Succ, Pred, Ord 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 14
RRééssuumméé 
Type des opérandes Opérateurs disponibles Type résultat 
Booléen Non, Et, Ou, OuExclusif, =, ¹ Booléen 
Entier, Naturel 
+, -, *, div, mod, / Entier / Réel 
=, ¹, <, >, ³,£, Booléen 
Réel 
+, -, *, / Réel 
=, ¹, <, >, ³,£, Booléen 
Caractére 
succ, pred Caractére 
ord Naturel 
Naturel 
chr Caractère 
=, ¹, <, >, ³,£, Booléen 
Chaîne de caractères 
+ Chaîne 
= Booléen 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 15
AAffffeeccttaattiioonn 
•Elle a pour but de modifier la valeur d'une 
variable 
IdentifVar ← NewValue (une expression) 
Ne pas confondre l'affectation (←) avec 
l'operateur d'égalité (=) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 16
EEnnttrrééeess SSoorrttiieess 
• Lire : lire à partir de l’entrée standard 
(clavier par défaut) 
– Syntaxe : Lire(var1,var2,…) 
• Ecrire : Afficher sur la sortie standard 
(Ecran par défaut) 
– Syntaxe : Ecrire(val1, val2,…) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 17
EExxeerrcciicceess 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 18
IImmpplléémmeennttaattiioonn ssuurr llaannggaaggee 
éévvoolluuéé 
Introduction au langage C 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 19
LLaannggaaggeess aacccceessssiibblleess àà ll’’oorrddiinnaatteeuurr 
• Langage machine : opération sur les bits 
• Langage assembleur (symbolique) : 
opération sur les registres 
• Langages de programmation évolués 
Programme 
source 
Programme 
Objet Traducteur 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 20
LLee ttrraadduucctteeuurr 
• Traducteur : 
– Compilateur sert à la traduction du 
programme en bloc et sert aussi à rendre le 
programme exécutable (indépendant de la 
machine). 
– Interpréteur - l’exécution est liée à la machine 
(instruction par instruction). Il est plus lent 
mais interactif. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 21
CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess 
• Selon le domaine d’utilisation 
– Orientés problèmes scientifiques (Fortran & 
Algol,…) 
– Orientés problèmes de gestion (Cobol) 
– Universels (Pascal, Ada, C) 
– Orientés objet (C++, Smalltalk) 
– Pour L’IA (Prolog, Lisp) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 22
CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess 
• Selon la structure interne 
– procéduraux (C, C++, Pascal, etc.) : Le 
programme est une suite de procédures 
(instructions) 
– déclaratifs - logiques (Prolog) : Le programme 
est une suite de propositions logiques 
– fonctionnels (Lisp) : Le programme est une 
suite de fonctions 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 23
CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess 
• Selon la chronologie d’élaboration 
• 1ère génération (1950-1960): Fortran, 
Cobol. 
• 2ème génération (1960 – 1970) : Algol, Lisp. 
• 3ème génération (1970 – 1980): Pascal, C 
• 1978: The C reference manual 
(B.Kernighan, D.M. Ritchie) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 24
FFoonnddaatteeuurrss 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 25
SSttrruuccttuurree dd’’uunn pprrooggrraammmmee eenn CC 
Entête : 
Préprocesseurs, 
Prototypes, 
déclarations globales … 
main() { 
Corps du programme 
} 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 26
LLeess ccoommmmeennttaaiirreess 
• Tous texte se trouvant entre /* et */ 
• En C++ ou en ainsi c s’ajoute tout texte 
s’étalant sur une seule ligne et 
commençant par : // 
/* ceci est un commentaire*/ 
/* ceci est un autre … 
…. Commentaire … */ 
// et voilà un autre commentaire 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 27
LL’’eennttêêttee 
• Les préprocesseurs 
• Les déclarations globales 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 28
LLee ccoorrppss dduu pprrooggrraammmmee 
• La fonction main() 
– Syntaxe. 
– Conditions d’écriture 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 29
LLeess ttyyppeess ddee ddoonnnnééeess 
Nom de type Autre Nom Intervalle de valeur 
int signed, unsigned int -32 768 à 32 767 
short Short int, signed short signed short_int -32 768 à 32 767 
long long_int, signed long, signed long_int -2 147 493 648 à 2 147 483 647 
unsigned unsigned int 0 à 65 535 
unsigned short unsigned short_int 0 à 65 535 
unsigned long unsigned long_int 0 à 4 294 967 295 
float - -3.4E38 à +3.4E38 
double - -1.7E308 à +1.7E308 
long double - -1.7E308 à +1.7E308 
char signed char -128 à 127 
unsigned char - 0 à 255 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 30
DDééccllaarraattiioonn 
• Déclaration d’une variable. 
• Déclaration des constantes. 
• Etendu. 
• Convention de nommage. 
• Convention de valeurs. 
• Déclaration multiple, initialisation. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 31
SSééqquueenncceess dd’’éécchhaappeemmeenntt 
• n = retour à la ligne. 
• t = tabulation. 
• a = alarme (un bip). 
• 0 = caractère nul (code ASCII 000); 
• ' = l’apostrophe. 
•  = le backslash. 
• " = les guillemets. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 32
OOppéérraatteeuurrss ddee bbaassee 
• Affectation. 
• Opérateurs arithmétiques. 
• Affectation composée. 
• Opérateurs de comparaison. 
• Incrémentaux. 
• Opérateurs logique. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 33
EEnnttrrééeess//SSoorrttiieess ssttaannddaarrdd 
# include <stdio.h> 
printf("Chaîne de format",arg1,arg2,…); 
scanf("Chaîne de format",&arg1,&arg2,…); 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 34
SSppéécciiffiiccaatteeuurrss ddee ffoorrmmaatt 
%c : affiche un caractère unique 
%d ou %i : un entier signé sous forme décimale 
%f : une valeur réelle avec un point décimal. 
%e ou %E : une valeur réelle avec un exposant. 
%x ou %X : affiche un entier hexadécimal. 
%u : affiche un entier en notation décimale 
non signée. 
%s : une chaîne de caractères (string). 
%g ou %G : affiche une valeur réelle avec affichage de type 
e ou f selon la valeur. 
%4d : 4 digits "au moins" réservés pour l’entier. 
%.2f : précision de 2 rangs décimaux. 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 35
EExxeerrcciicceess ((AApppplliiccaattiioonnss)) 
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 36

Contenu connexe

Tendances (17)

Cours langage c
Cours langage cCours langage c
Cours langage c
 
Chapitre2 prog dsplf3
Chapitre2 prog dsplf3Chapitre2 prog dsplf3
Chapitre2 prog dsplf3
 
Cours de programmation en c
Cours de programmation en cCours de programmation en c
Cours de programmation en c
 
Tp1 compte rendu en langage c
Tp1 compte rendu en langage cTp1 compte rendu en langage c
Tp1 compte rendu en langage c
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
exercices en C
exercices en Cexercices en C
exercices en C
 
Cours matlab gpe
Cours matlab gpeCours matlab gpe
Cours matlab gpe
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
exercices-corriges-dalgorithmique
exercices-corriges-dalgorithmiqueexercices-corriges-dalgorithmique
exercices-corriges-dalgorithmique
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
Le langage C
Le langage CLe langage C
Le langage C
 
Corrigés exercices langage C
Corrigés exercices langage CCorrigés exercices langage C
Corrigés exercices langage C
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroy
 
Le langage C
Le langage CLe langage C
Le langage C
 
Formation algorithme
Formation algorithmeFormation algorithme
Formation algorithme
 
Tp 1 introduction à matlab
Tp 1 introduction à matlabTp 1 introduction à matlab
Tp 1 introduction à matlab
 
Langage C
Langage  CLangage  C
Langage C
 

En vedette

Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
Emeric Tapachès
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
Emeric Tapachès
 
La guerre d'algérie en images
La guerre d'algérie en imagesLa guerre d'algérie en images
La guerre d'algérie en images
Dande1941
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
Mohammed TAMALI
 

En vedette (20)

Info1 cours 3-codage-mi-sys num
Info1  cours 3-codage-mi-sys numInfo1  cours 3-codage-mi-sys num
Info1 cours 3-codage-mi-sys num
 
Codage cours 2-software-mi-
Codage  cours 2-software-mi-Codage  cours 2-software-mi-
Codage cours 2-software-mi-
 
Info1 cours 1-software-st&sm1-mi-
Info1  cours 1-software-st&sm1-mi-Info1  cours 1-software-st&sm1-mi-
Info1 cours 1-software-st&sm1-mi-
 
Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2Algorithmique_et_programmation_part3_V2
Algorithmique_et_programmation_part3_V2
 
Rendez votre code Python plus beau !
Rendez votre code Python plus beau !Rendez votre code Python plus beau !
Rendez votre code Python plus beau !
 
Python packaging
Python packagingPython packaging
Python packaging
 
Td pascal tdD
Td pascal tdDTd pascal tdD
Td pascal tdD
 
SGBDR - ACCESS
SGBDR - ACCESSSGBDR - ACCESS
SGBDR - ACCESS
 
Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015Examen Principal - Fondement Multimedia Janvier 2015
Examen Principal - Fondement Multimedia Janvier 2015
 
Examen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de donnéesExamen principal - Algorithme & Structures de données
Examen principal - Algorithme & Structures de données
 
Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2Algorithmique_et_programmation_part2
Algorithmique_et_programmation_part2
 
Python et les bases de données non sql
Python et les bases de données non sqlPython et les bases de données non sql
Python et les bases de données non sql
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Bonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHPBonnes pratiques de developpement en PHP
Bonnes pratiques de developpement en PHP
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Correction
CorrectionCorrection
Correction
 
Cv ines ouaz
Cv ines ouazCv ines ouaz
Cv ines ouaz
 
La guerre d'algérie en images
La guerre d'algérie en imagesLa guerre d'algérie en images
La guerre d'algérie en images
 
Chap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec pythonChap XIII : calcul scientifique avec python
Chap XIII : calcul scientifique avec python
 

Similaire à Algorithmique

Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
mahbouba
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
Sana Aroussi
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
PGambette
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
tarekjedidi
 

Similaire à Algorithmique (20)

Chap1V2019: Cours en C++
Chap1V2019: Cours en C++Chap1V2019: Cours en C++
Chap1V2019: Cours en C++
 
COURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptxCOURS_ALGORITHME_SNINEH.pptx
COURS_ALGORITHME_SNINEH.pptx
 
Chap1: Cours en C++
Chap1: Cours en C++Chap1: Cours en C++
Chap1: Cours en C++
 
Cours de c
Cours de cCours de c
Cours de c
 
algo-imsi-2.pdf
algo-imsi-2.pdfalgo-imsi-2.pdf
algo-imsi-2.pdf
 
2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
Chap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptxChap1_Entrees_Sorties.pptx
Chap1_Entrees_Sorties.pptx
 
Seance 1 - Programmation en langage C
Seance 1 - Programmation en langage CSeance 1 - Programmation en langage C
Seance 1 - Programmation en langage C
 
0 c2 2013
0 c2 20130 c2 2013
0 c2 2013
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Cours.langage c
Cours.langage cCours.langage c
Cours.langage c
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3INF120 - Algo DUT SRC1 - Cours 3
INF120 - Algo DUT SRC1 - Cours 3
 
Vhdl cours
Vhdl coursVhdl cours
Vhdl cours
 
resume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdfresume-theorique-m106-2004-6261bb9556a66.pdf
resume-theorique-m106-2004-6261bb9556a66.pdf
 
algo et complexité .pptx
algo et complexité  .pptxalgo et complexité  .pptx
algo et complexité .pptx
 

Plus de Rachid Lajouad

Plus de Rachid Lajouad (16)

4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion4 representationprocessindustrielslastversion
4 representationprocessindustrielslastversion
 
3 identification des systèmes
3 identification des systèmes3 identification des systèmes
3 identification des systèmes
 
2 correction des systèmes asservis
2 correction des systèmes asservis2 correction des systèmes asservis
2 correction des systèmes asservis
 
1 asservissements linéaires continus
1 asservissements linéaires continus1 asservissements linéaires continus
1 asservissements linéaires continus
 
Accès aux bases de données via jdbc
Accès aux bases de données via jdbcAccès aux bases de données via jdbc
Accès aux bases de données via jdbc
 
Chap4 cliserrmi
Chap4 cliserrmiChap4 cliserrmi
Chap4 cliserrmi
 
Chap3 clientsrvr
Chap3 clientsrvrChap3 clientsrvr
Chap3 clientsrvr
 
Chap2 clientsrvr
Chap2 clientsrvrChap2 clientsrvr
Chap2 clientsrvr
 
Chap1 clientsrvr
Chap1 clientsrvrChap1 clientsrvr
Chap1 clientsrvr
 
Tests unitaires
Tests unitairesTests unitaires
Tests unitaires
 
Qualite1
Qualite1Qualite1
Qualite1
 
Tableau de bord
Tableau de bordTableau de bord
Tableau de bord
 
Planifier projet
Planifier projetPlanifier projet
Planifier projet
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Structures donneenew
Structures donneenewStructures donneenew
Structures donneenew
 
Structures donnee
Structures donneeStructures donnee
Structures donnee
 

Dernier

Dernier (12)

Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
Présentation Webinaire Cohésion - Concevoir et mettre en place une CMDB, comm...
 
Festival de Cannes 2024. pptx
Festival    de   Cannes      2024.  pptxFestival    de   Cannes      2024.  pptx
Festival de Cannes 2024. pptx
 
Quitter la nuit. pptx
Quitter          la        nuit.    pptxQuitter          la        nuit.    pptx
Quitter la nuit. pptx
 
Présentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en AlgériePrésentation sur les Risques Électriques et Leur Prévention en Algérie
Présentation sur les Risques Électriques et Leur Prévention en Algérie
 
Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"Système National de Santé au- Maroc-(2017)."pdf"
Système National de Santé au- Maroc-(2017)."pdf"
 
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
PLANNING HEBDO ET CR LYCEE COUDON 21 MAI2024
 
Quitter la nuit. pptx
Quitter        la             nuit.   pptxQuitter        la             nuit.   pptx
Quitter la nuit. pptx
 
Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?Comment enseigner la langue française en Colombie?
Comment enseigner la langue française en Colombie?
 
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les ÉcolesEL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
EL KATRY Reem: Proposition de Programme Artistique et Exposition pour les Écoles
 
Traitement des eaux usées par lagunage a macrophytes.pptx
Traitement des eaux usées par lagunage a macrophytes.pptxTraitement des eaux usées par lagunage a macrophytes.pptx
Traitement des eaux usées par lagunage a macrophytes.pptx
 
Webinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctionsWebinaire Technologia | DAX : nouvelles fonctions
Webinaire Technologia | DAX : nouvelles fonctions
 
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
Fiche - Accompagnement du travail coopératif au sein d’une équipe d’enseignan...
 

Algorithmique

  • 1. AAllggoorriitthhmmiiqquuee eett pprrooggrraammmmaattiioonn pprrooccéédduurraallee CChhaapp II :: IInnttrroodduuccttiioonn Lajouad Rachid Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 1
  • 2. DDééffiinniittiioonn // HHiissttoorriiqquuee • Un algorithme est une suite finie d’opérations élémentaires constituant un schéma de calcul de traitement ou de résolution d’un problème. • Algorithme -> Algorismus -> Alkhawarizmi Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 2
  • 3. PPrroobblléémmaattiiqquuee • Trouver une méthode de résolution (exacte ou approché) d’un problème donné. • Exemple : – Equation 2nd dégrées – Intégrale de Reimann. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 3
  • 4. AAllggoorriitthhmmeess eett pprrooggrraammmmeess • Un programme est l’implémentation dans un langage évolué d’un algorithme: – L’algorithme : étapes d’analyse (travaille du mathématicien). – Le programme : étapes de mise en oeuvre (travaille du programmeur). Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 4
  • 5. AApppprroocchhee • Recette de cuisine Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 5
  • 6. SSttrruuccttuurree dd’’uunn aallggoorriitthhmmee • Entête : identificateur : Nom_d_algorithme • Déclarations (variables, constantes, fonctions, structures …) • Début – Corps de l’algorithme • Fin Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 6
  • 7. CCoonnddiittiioonnss ggéénnéérraalleess • Un algorithme doit être : – Lisible : Compréhensible (structure, notation) – De haut niveau : indépendant d’une plate forme de développement donnée. – Précis : lever les ambiguitées. – Concis : ne doit pas dépasser une page. – Structuré. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 7
  • 8. EExxeemmppllee Algorithme : Somme Déclarations : Variables : a,b : réel; Debut lire(a); lire(b); Ecrire(‘Somme de a et b’,a+b); Fin Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 8
  • 9. DDééccllaarraattiioonnss • Identifiant : suite de caractères qui permet de nommer les choses • Variable : une entité qui contient une information – Possède un identifiant – Possède une valeur (qui peut changer dans le temps) – Possède un type qui caractérise l'ensemble des valeurs • Une constante : une valeur qui ne change jamais dans le temps. • Un type : l’ensemble de valeur que peut prendre une variable. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 9
  • 10. TTyyppeess ddeess ddoonnnnééeess • Deux grandes catégories : – Types simples – Types composés • Pour chaque types est définit la plage des valeurs, et les opérateurs utilisés. • Opérateur (unaire, binaire, opérande, expression …) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 10
  • 11. TTyyppeess ssiimmpplleess • Dénombrable : – Booleen, les variables ne peuvent prendre que les valeurs VRAI ou FAUX – Intervalle, les variables ne peuvent prendre que les valeurs entières définies dans cet intervalle, par exemple 1..10 – enumere, les variables ne peuvent prendre que les valeurs explicitees, par exemple les jours de la semaine (du lundi au dimanche), Ce sont les seuls types simples qui peuvent être définis par l'informaticien – Caractere, entoures par de simples cotes ' Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 11
  • 12. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 12
  • 13. TTyyppeess ssiimmpplleess • Les types simples indénombrables: – Entier (positifs et negatifs) équivalant a Z – Naturel (entiers positifs) équivalant a IN – Reel équivalant a IR – Chaîne de caractères, suite de caractères entourée de doubles cotes Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 13
  • 14. OOppéérraatteeuurrss • Entier, Naturel, Réel : + , - , * , / , Div , Mod, Ent • Booléans : Non, Et, Ou, XOu • Chaînes de caractères : + • Enuméré : Succ, Pred, Ord Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 14
  • 15. RRééssuumméé Type des opérandes Opérateurs disponibles Type résultat Booléen Non, Et, Ou, OuExclusif, =, ¹ Booléen Entier, Naturel +, -, *, div, mod, / Entier / Réel =, ¹, <, >, ³,£, Booléen Réel +, -, *, / Réel =, ¹, <, >, ³,£, Booléen Caractére succ, pred Caractére ord Naturel Naturel chr Caractère =, ¹, <, >, ³,£, Booléen Chaîne de caractères + Chaîne = Booléen Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 15
  • 16. AAffffeeccttaattiioonn •Elle a pour but de modifier la valeur d'une variable IdentifVar ← NewValue (une expression) Ne pas confondre l'affectation (←) avec l'operateur d'égalité (=) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 16
  • 17. EEnnttrrééeess SSoorrttiieess • Lire : lire à partir de l’entrée standard (clavier par défaut) – Syntaxe : Lire(var1,var2,…) • Ecrire : Afficher sur la sortie standard (Ecran par défaut) – Syntaxe : Ecrire(val1, val2,…) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 17
  • 18. EExxeerrcciicceess Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 18
  • 19. IImmpplléémmeennttaattiioonn ssuurr llaannggaaggee éévvoolluuéé Introduction au langage C Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 19
  • 20. LLaannggaaggeess aacccceessssiibblleess àà ll’’oorrddiinnaatteeuurr • Langage machine : opération sur les bits • Langage assembleur (symbolique) : opération sur les registres • Langages de programmation évolués Programme source Programme Objet Traducteur Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 20
  • 21. LLee ttrraadduucctteeuurr • Traducteur : – Compilateur sert à la traduction du programme en bloc et sert aussi à rendre le programme exécutable (indépendant de la machine). – Interpréteur - l’exécution est liée à la machine (instruction par instruction). Il est plus lent mais interactif. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 21
  • 22. CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess • Selon le domaine d’utilisation – Orientés problèmes scientifiques (Fortran & Algol,…) – Orientés problèmes de gestion (Cobol) – Universels (Pascal, Ada, C) – Orientés objet (C++, Smalltalk) – Pour L’IA (Prolog, Lisp) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 22
  • 23. CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess • Selon la structure interne – procéduraux (C, C++, Pascal, etc.) : Le programme est une suite de procédures (instructions) – déclaratifs - logiques (Prolog) : Le programme est une suite de propositions logiques – fonctionnels (Lisp) : Le programme est une suite de fonctions Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 23
  • 24. CCllaassssiiffiiccaattiioonn ddeess llaannggaaggeess • Selon la chronologie d’élaboration • 1ère génération (1950-1960): Fortran, Cobol. • 2ème génération (1960 – 1970) : Algol, Lisp. • 3ème génération (1970 – 1980): Pascal, C • 1978: The C reference manual (B.Kernighan, D.M. Ritchie) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 24
  • 25. FFoonnddaatteeuurrss Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 25
  • 26. SSttrruuccttuurree dd’’uunn pprrooggrraammmmee eenn CC Entête : Préprocesseurs, Prototypes, déclarations globales … main() { Corps du programme } Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 26
  • 27. LLeess ccoommmmeennttaaiirreess • Tous texte se trouvant entre /* et */ • En C++ ou en ainsi c s’ajoute tout texte s’étalant sur une seule ligne et commençant par : // /* ceci est un commentaire*/ /* ceci est un autre … …. Commentaire … */ // et voilà un autre commentaire Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 27
  • 28. LL’’eennttêêttee • Les préprocesseurs • Les déclarations globales Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 28
  • 29. LLee ccoorrppss dduu pprrooggrraammmmee • La fonction main() – Syntaxe. – Conditions d’écriture Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 29
  • 30. LLeess ttyyppeess ddee ddoonnnnééeess Nom de type Autre Nom Intervalle de valeur int signed, unsigned int -32 768 à 32 767 short Short int, signed short signed short_int -32 768 à 32 767 long long_int, signed long, signed long_int -2 147 493 648 à 2 147 483 647 unsigned unsigned int 0 à 65 535 unsigned short unsigned short_int 0 à 65 535 unsigned long unsigned long_int 0 à 4 294 967 295 float - -3.4E38 à +3.4E38 double - -1.7E308 à +1.7E308 long double - -1.7E308 à +1.7E308 char signed char -128 à 127 unsigned char - 0 à 255 Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 30
  • 31. DDééccllaarraattiioonn • Déclaration d’une variable. • Déclaration des constantes. • Etendu. • Convention de nommage. • Convention de valeurs. • Déclaration multiple, initialisation. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 31
  • 32. SSééqquueenncceess dd’’éécchhaappeemmeenntt • n = retour à la ligne. • t = tabulation. • a = alarme (un bip). • 0 = caractère nul (code ASCII 000); • ' = l’apostrophe. • = le backslash. • " = les guillemets. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 32
  • 33. OOppéérraatteeuurrss ddee bbaassee • Affectation. • Opérateurs arithmétiques. • Affectation composée. • Opérateurs de comparaison. • Incrémentaux. • Opérateurs logique. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 33
  • 34. EEnnttrrééeess//SSoorrttiieess ssttaannddaarrdd # include <stdio.h> printf("Chaîne de format",arg1,arg2,…); scanf("Chaîne de format",&arg1,&arg2,…); Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 34
  • 35. SSppéécciiffiiccaatteeuurrss ddee ffoorrmmaatt %c : affiche un caractère unique %d ou %i : un entier signé sous forme décimale %f : une valeur réelle avec un point décimal. %e ou %E : une valeur réelle avec un exposant. %x ou %X : affiche un entier hexadécimal. %u : affiche un entier en notation décimale non signée. %s : une chaîne de caractères (string). %g ou %G : affiche une valeur réelle avec affichage de type e ou f selon la valeur. %4d : 4 digits "au moins" réservés pour l’entier. %.2f : précision de 2 rangs décimaux. Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 35
  • 36. EExxeerrcciicceess ((AApppplliiccaattiioonnss)) Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale 36