SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
CHAPITRE:
Généralitéssurlanotion
d’Algorithme 1ere année LMD Sciences
et Technologies
Introduction
Structure d’un Algorithme/ Programme
La déclaration des objets
La déclaration des actions
Exercices d’application
Sommaire:
1
2
3
4
5
INTRODUCTION
Objectif du cours:
 Apprendre à résoudre des problèmes réels qui
surviennent fréquemment dans les applications
informatiques;
 Apprendre à présenter les solutions et formaliser un
algorithme puis un programme.
 Apprendre les principes de base et les techniques
utilisés pour répondre à la question: «À quel point
l'algorithme peut résoudre le problème?»;
Dans l’informatique et les matières connexes (comme les mathématiques, les
sciences, la méthodologie de programmation, etc.), l'algorithme est défini
comme une séquence d'instructions, une procédure explicite étape par étape
pour résoudre un problème, souvent utilisée pour le calcul et le traitement
des données.
Il s’agit formellement d’un type de méthode efficace dans laquelle est
composée d’une liste d'instructions bien définies pour accomplir une tâche.
Elle commence par un état initial, passe par une série bien définie d'états
successifs, se terminant finalement par un état final complétant le travail
souhaité.
1.Qu'est-cequ'unalgorithme?
Exemple: on donne les ingrédients suivants:
Poivre, 1 brin de persil, 2 c à café de moutarde, 1/2 jus de citron, 1 yaourt
nature à 0%. Et les ustensiles nécessaires à la préparation: un ramequin et
un batteur.
Préparer une sauce blanche allégée.
Préparation:
Dans un ramequin, pressez le citron et ajoutez la moutarde. Mélangez.
Ajoutez le persil ciselé finement et le poivre. Faites monter avec le yaourt
à l'aide d'un batteur.
Le mot « Algorithme » est inventé par le mathématicien «
ALKHAWARISMI ». Un algorithme est un ensemble d'actions (ou
d'instructions) séquentielles et logiquement ordonnées, permettant
de transformer des données en entrée en données de sorties
(résultats), afin de résoudre un problème. Un algorithme peut être
schématisé comme suit :
2.Définitiond’unalgorithme:
Données en entrée Données en sortie
(résultats)
Ordinateur
Algorithme
Problème
STRUCTURE
D’UN
ALGORITHME/
PROGRAMME
4. Structure d’un Algorithme/ programme: Un algorithme/programme est
organisé en plusieurs parties :
– Entête : dans cette partie on déclare le nom de l'algorithme à travers un
identificateur.
– Déclarations : dans cette partie on déclare toutes les données utilisées par
l'algorithme.
– Corps : représente la séquence d'actions (instructions)
Une fois l'algorithme est écrit, il sera transformé, après avoir choisi un langage
de programmation, en un programme code source qui sera exécuté par
l'ordinateur.
3. Qu’est ce qu’un programme?
Un programme est la traduction d'un algorithme dans un langage de
programmation compréhensible par la machine. Par exemple: Fortran, Pascal,
C++, JAVA, etc. Pour cette année, nous nous intéressons par le programme
Pascal.
Algorithme<nomdel’algorithme>
constante
<listedesconstantes>
variable
<listesdesvariables>
début
<action1>
<action2>
.
.
.
<actionn>
fin
L’en-tête
Déclaration
Définition du corps
de l’algorithme
(partie des actions)
L’algorithme est délimité par les mots-clefs Début et Fin
Structure général d’un Algorithme
L’en-tête
Déclaration
Définition du corps
du programme
(partie des actions)
Le programme est délimité par les mots-clefs begin et end.
Program<nomduprogramme>
const
<listedesconstantes>
var
<listesdesvariables>
begin
<action1>;
<action2>;
.;
.;
.;
<actionn>;
End.
Structure général d’un Programme Pascal
LA DÉCLARATION
DESOBJETS
5. Notion d'identificateur
Un identificateur est une chaîne de caractères contenant uniquement des
caractère alpha numériques (alphabétiques de [a..z] et [A..Z] et numérique [0..9]) et
tiré 8 '_' (trait souligné), pas d’espace et sa taille ne dépasse pas 8 caractères, il doit
aussi être unique dans un algorithme et il doit commencer soit par un une lettre
alphabétique ou _.
Le nom d’un algorithme et le nom d’un objet impliqué dans les actions de l’algorithme
(une variable, une constante, une procédure ou une fonction) doivent respecter lors de
leur définition les règles d’un identificateur.
Exemple:
a1 : est un identificateur valide.
x1-y : est un identificateur non valide (à cause du signe - ).
1xy : est un identificateur non valide (commence un caractères numérique).
6.1 Déclaration des constantes: Les constantes sont des objets contenant des valeurs non
modifiables. Les constantes sont déclarées comme suit :
Sysntaxe:
Constante
<NomConstante> = <Valeur>;
Exemples :
Constante Pi = 3.14;
Constante g = 10;
On cas de plusieurs déclarations de constantes:
Constante
Pi=3.14;
Alpha=0.6;
6.2 Déclaration des variables: une variable est un objet contenant une valeur pouvant être
modifiée. Sa forme est comme suite:
Syntaxe:
Variable <NomVariable> : <Type>;
6. La déclaration des objets
Toute les données (variable ou constante) d'un algorithme possède un type de données
(domaine de valeurs possibles).
6.3. Types de données
Dans l'algorithmique, nous avons cinq types de base :
- Entier :valeur numériques entières pouvant être signées ou non signées, exemple: 125; - 450;
-67; etc.
- Réel: prend ses valeurs dans un sous-ensemble de réels décimaux signés, exemple: -0,457;
12,680; -45,3; etc.
- Caractère : prend ses valeurs dans l'ensemble des caractères de la table ASCII.
Exemple: Chiffre: 0..9; lettre: a..z ou A..Z; symbole: &; *; $; etc.
-Chaîne de caractère : se compose d'une suite de symboles de type caractère. Exemple:
‘bonjour’ ; ‘ carte_78’ ;’1010’;etc.
-Logique (booléen): type logique qui peut prendre les valeurs VRAI ou FAUX.
Exemples sur la déclaration des variables :
Variable Rayon : Réel;
Variable Lettre : Caractère;
6.4. Expressions et opérateurs :
C’est quoi un opérateur?
Opérateurs numériques: +, -, *, div, mod, /
Opérateurs Logiques: et, ou, non
Opérateurs de comparaison: <,>,<=,>=,=, 
C’est quoi une expression?
Une expression est un ensemble de variables/valeurs, reliées par des
opérateurs, et équivalent à une seule valeur.
6.5. Fonctions:
SQRT (x) : racine carré de x; EXP (x): exponentielle de x; SQR (x) :
retourne le carré de x; ABS (x) : valeur absolue de x; etc.
DÉFINITION DU
CORPS
(DÉCLARATION
DESACTIONS)
7. Définition du Corps (déclaration des actions): Le corps d’un d’algorithme
est une suite d’instructions ou des tâches à exécuter.
7. 1 . Les instructions de base
7. 1.1. La lecture (Fonction d’entrée: Lire), en Pascal (read)
Instruction qui permet d’entrer des données tapées au clavier.
Syntaxe
LIRE(Nomvariable1);
LIRE(Nomvariable2); ou bien
LIRE(Nomvariable1, Nomvariable2,..);
….
Exemple: LIRE (x,y,z); Exemple en Pascal: Read (x,y,z);
LIRE (a) ; Read (a) ;
7.1.2. L’écriture (Fonction de sortie: écrire), en Pascal (Write)
Instruction qui permet d'afficher le contenu d’une variables ou/et un message sur l'écran.
Nous distinguons 5 types d’affichage:
Syntaxe (Algorithme)
Ecrire(Nomvariable) ;  Afficher le contenu de la variable
Ecrire ('message') ;  Afficher le message tel qu'il est
Ecrire ('message', Nomvariable) ;  Afficher le message suivi par contenu de la variable.
Ecrire ('message', Expression) ;  Afficher le message suivi par le résultat obtenu par
l’expression.
Ecrire (‘message1', variable1, variable2, ‘message2') ;  Afficher le message suivi par la
valeur de la variable 1 puis la valeur de la variable 2 puis le message2.
Syntaxe (Pascal)
write(Nomvariable) ; write ('message') ;
write ('message', Nomvariable) ; write ('message', Expression) ;
Write ('Texte à afficher', variable1, variable2, 'texte2') ;
Remarque: Si le message à afficher contient une apostrophe, il faut alors la doubler. Les
différents noms de variables doivent êtres séparés par des virgules.
Exemple:
En Algorithme
Ecrire(A);  afficher sur l’écran le contenu de la variable A.
Ecrire('donnez votre nom : ');  donnez votre nom :
Ecrire (‘la valeur1=‘, x, ‘la valeur2=‘,y);
En Pascal:
Write (A);
Write ('donnez votre nom : ');
Write ('L"apostrophe se double.') ;
7.1.3. Affectation:
C’est l’action de charger une valeur dans une variable. Cette valeur peut elle-même être
une variable, le résultat d’une expression arithmétique ou logique ou une constante.
Le symbole utilisé pour l'affectation est ←. (En Pascal: on utilise le symbole := pour
l’affectation).
Syntaxe (en algorithmique):
NomVariable Variable 2 ;
NomVariable Expression;
NomVariable Constante;
Syntaxe (en Pascal):
NomVariable Variable 2 ;
NomVariable Expression;
NomVariable Constante;
Exemple:
Soit les variables: x, y, T, a de type entier et B est de type caractère.
Nous considérons les affectations suivantes:
x ← y; se lit « x reçoit y » ou bien j’affecte la valeur de y dans la variable x
T ← 25;
a ← T+5;
B ← ‘f’;
y
x
x
30
a
a
T
25
T
B
f
B
Avant l’affectation
Après l’affectation
En Pascal:
X:= y;
T := 25;
a := T+5;
B := ‘f’;
Exemple :
Ecrire un algorithme / programme qui calcul le périmètre et la surface d’un cercle.
Exécuter le programme pour R = 2,8 cm.
Soit: P: Périmètre, S: Surface, R: Rayon.
Solution:
Données en entrée: R
Données en sortie (résultat): S et P
Traitement (comment): P= 2*R * π et S= π *R ²
Constante : π
Variables : R, P, S de type réel
Remarque: puisqu’une expression retourne une valeur, elle peut être
affectée à une variable.
Exemple: x ← a*b/4 et non pas l’inverse (a*b/4 ← x).
Algorithme/programme
Algorithme cercle;
Constante
Pi =3.14;
Variable
R, P, S:reel ;
Début
écrire (‘donner le rayon:’);
lire (R );
P←2*pi*R ;
S ← pi*R*R ;
écrire (‘ le périmètre du cercle =‘, P);
écrire (‘la surface du cercle =‘, S);
Fin.
Program cercle;
Const
Pi =3.14;
Var
R, P, S:real ;
begin
write (‘donner le rayon:’);
read (R );
P:= 2*pi*R ;
S := pi*R*R ; { ou bien sqr(R)}
write (‘ le périmètre du cercle =‘, P);
write (‘la surface du cercle =‘, S);
End.
Exécutionduprogramme
donner le rayon:
2.8
le périmètre du cercle = 17.58
la surface du cercle = 15.68
3.14
Pi PR S
3.14
Pi PR S
17.583.14
Pi P
2.8
R
15.68
S
2*3.14*2.8 3.14*2.8*2.8
Ecran
2.8
Const
Pi =3.14;
Var
R, P, S:real ;
write (‘donner le rayon:’);
read (R );
P:= 2*pi*R ;
S := pi*R*R ;
write (‘ le périmètre du cercle =‘; P);
write (‘la surface du cercle =‘; S);
EXERCICES
D'APPLICATION
Exercice N°1 :
Ecrire un programme Pascal qui permet de saisir les
paramètres d’une équation du second degré et de
calculer son discriminant .
Exercice N°2 :
Ecrire l'algorithme qui calcule le Volume V et la Surface S
d’un cylindre de Rayon R et de Hauteur H sachant que :
 Volume d’un cylindre : V= π.R2.H
 Surface d’un cylindre : S=2. π.R.H
 π est une constante = 3.14159
Exercice N°3 :
Ecrire un programme Pascal qui calcule et affiche la
distance entre deux points connaissant leurs coordonnées
P1(x1,y1), P2(x2,y2).
Exercice N°4 :
Ecrire un programme Pascal qui permet de saisir les
paramètres d’une équation du second degré et de calculer
son discriminant .

Contenu connexe

Tendances

Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
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
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesAnass41
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdfGhassenHaamdi
 
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
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASDInes Ouaz
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsSana Aroussi
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court cheminSana Aroussi
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycéeKayl Mido
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmiqueAbdoulaye Dieng
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage PythonAziz Darouichi
 

Tendances (20)

Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
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
 
Travaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de DonnéesTravaux Dirigés : Algorithmique et Structure de Données
Travaux Dirigés : Algorithmique et Structure de Données
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Algorithme et programmation.pdf
Algorithme et programmation.pdfAlgorithme et programmation.pdf
Algorithme et programmation.pdf
 
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)
 
Exercices algo
Exercices algoExercices algo
Exercices algo
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Examen principal + Correction ASD
Examen principal + Correction ASDExamen principal + Correction ASD
Examen principal + Correction ASD
 
Chapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récentsChapitre i architectures des processeurs récents
Chapitre i architectures des processeurs récents
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Chapitre 2 plus court chemin
Chapitre 2 plus court cheminChapitre 2 plus court chemin
Chapitre 2 plus court chemin
 
Le langage C
Le langage CLe langage C
Le langage C
 
algorithme tronc commun lycée
algorithme tronc commun lycéealgorithme tronc commun lycée
algorithme tronc commun lycée
 
Algorithmique
AlgorithmiqueAlgorithmique
Algorithmique
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Serie2
Serie2Serie2
Serie2
 
Initiation à l'algorithmique
Initiation à l'algorithmiqueInitiation à l'algorithmique
Initiation à l'algorithmique
 
Exercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage CExercices : Algorithmes et Langage C
Exercices : Algorithmes et Langage C
 
Chapitre1: Langage Python
Chapitre1: Langage PythonChapitre1: Langage Python
Chapitre1: Langage Python
 

Similaire à Généralités sur la notion d’Algorithme

Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R SumAmy Isleb
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfFadouaBouafifSamoud
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018salah fenni
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithmemustapha4
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdfMARYAM510573
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCSiratiSoufiane
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfAdjimbawNDIAYE
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de donnéesHichem Kemali
 

Similaire à Généralités sur la notion d’Algorithme (20)

Algorithmique Amp Programmation (R Sum
Algorithmique  Amp  Programmation (R SumAlgorithmique  Amp  Programmation (R Sum
Algorithmique Amp Programmation (R Sum
 
Ch2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdfCh2-Notions de base & actions élémentaires.pdf
Ch2-Notions de base & actions élémentaires.pdf
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Algo inf102 2007
Algo inf102 2007Algo inf102 2007
Algo inf102 2007
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Conception de base_de_l_algorithme
Conception de base_de_l_algorithmeConception de base_de_l_algorithme
Conception de base_de_l_algorithme
 
langage C++
langage C++langage C++
langage C++
 
01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf01 - Introduction à Python chaines de caractères.pdf
01 - Introduction à Python chaines de caractères.pdf
 
TAD (1).pptx
TAD (1).pptxTAD (1).pptx
TAD (1).pptx
 
Ktab asd
Ktab asdKtab asd
Ktab asd
 
Asd
AsdAsd
Asd
 
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
CPP PTT DE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdfChapitre 2-Concepts de base de l'algorithme-2024.pdf
Chapitre 2-Concepts de base de l'algorithme-2024.pdf
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Les Structures de données
Les Structures de donnéesLes Structures de données
Les Structures de données
 
Theme 7
Theme 7Theme 7
Theme 7
 
syntax-matlab.pdf
syntax-matlab.pdfsyntax-matlab.pdf
syntax-matlab.pdf
 
Algorithme chap 1
Algorithme chap 1Algorithme chap 1
Algorithme chap 1
 

Dernier

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
 
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
 
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
 
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.
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.pptessiben
 
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
 
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
 
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
 
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
 
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
 

Dernier (12)

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...
 
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
 
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
 
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-
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt0234567778999876554345678898765566.15.ppt
0234567778999876554345678898765566.15.ppt
 
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
 
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
 
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
 
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
 
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
 
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
 

Généralités sur la notion d’Algorithme

  • 2. Introduction Structure d’un Algorithme/ Programme La déclaration des objets La déclaration des actions Exercices d’application Sommaire: 1 2 3 4 5
  • 4. Objectif du cours:  Apprendre à résoudre des problèmes réels qui surviennent fréquemment dans les applications informatiques;  Apprendre à présenter les solutions et formaliser un algorithme puis un programme.  Apprendre les principes de base et les techniques utilisés pour répondre à la question: «À quel point l'algorithme peut résoudre le problème?»;
  • 5. Dans l’informatique et les matières connexes (comme les mathématiques, les sciences, la méthodologie de programmation, etc.), l'algorithme est défini comme une séquence d'instructions, une procédure explicite étape par étape pour résoudre un problème, souvent utilisée pour le calcul et le traitement des données. Il s’agit formellement d’un type de méthode efficace dans laquelle est composée d’une liste d'instructions bien définies pour accomplir une tâche. Elle commence par un état initial, passe par une série bien définie d'états successifs, se terminant finalement par un état final complétant le travail souhaité. 1.Qu'est-cequ'unalgorithme?
  • 6. Exemple: on donne les ingrédients suivants: Poivre, 1 brin de persil, 2 c à café de moutarde, 1/2 jus de citron, 1 yaourt nature à 0%. Et les ustensiles nécessaires à la préparation: un ramequin et un batteur. Préparer une sauce blanche allégée. Préparation: Dans un ramequin, pressez le citron et ajoutez la moutarde. Mélangez. Ajoutez le persil ciselé finement et le poivre. Faites monter avec le yaourt à l'aide d'un batteur.
  • 7.
  • 8. Le mot « Algorithme » est inventé par le mathématicien « ALKHAWARISMI ». Un algorithme est un ensemble d'actions (ou d'instructions) séquentielles et logiquement ordonnées, permettant de transformer des données en entrée en données de sorties (résultats), afin de résoudre un problème. Un algorithme peut être schématisé comme suit : 2.Définitiond’unalgorithme: Données en entrée Données en sortie (résultats) Ordinateur Algorithme Problème
  • 10. 4. Structure d’un Algorithme/ programme: Un algorithme/programme est organisé en plusieurs parties : – Entête : dans cette partie on déclare le nom de l'algorithme à travers un identificateur. – Déclarations : dans cette partie on déclare toutes les données utilisées par l'algorithme. – Corps : représente la séquence d'actions (instructions) Une fois l'algorithme est écrit, il sera transformé, après avoir choisi un langage de programmation, en un programme code source qui sera exécuté par l'ordinateur. 3. Qu’est ce qu’un programme? Un programme est la traduction d'un algorithme dans un langage de programmation compréhensible par la machine. Par exemple: Fortran, Pascal, C++, JAVA, etc. Pour cette année, nous nous intéressons par le programme Pascal.
  • 11. Algorithme<nomdel’algorithme> constante <listedesconstantes> variable <listesdesvariables> début <action1> <action2> . . . <actionn> fin L’en-tête Déclaration Définition du corps de l’algorithme (partie des actions) L’algorithme est délimité par les mots-clefs Début et Fin Structure général d’un Algorithme
  • 12. L’en-tête Déclaration Définition du corps du programme (partie des actions) Le programme est délimité par les mots-clefs begin et end. Program<nomduprogramme> const <listedesconstantes> var <listesdesvariables> begin <action1>; <action2>; .; .; .; <actionn>; End. Structure général d’un Programme Pascal
  • 14. 5. Notion d'identificateur Un identificateur est une chaîne de caractères contenant uniquement des caractère alpha numériques (alphabétiques de [a..z] et [A..Z] et numérique [0..9]) et tiré 8 '_' (trait souligné), pas d’espace et sa taille ne dépasse pas 8 caractères, il doit aussi être unique dans un algorithme et il doit commencer soit par un une lettre alphabétique ou _. Le nom d’un algorithme et le nom d’un objet impliqué dans les actions de l’algorithme (une variable, une constante, une procédure ou une fonction) doivent respecter lors de leur définition les règles d’un identificateur. Exemple: a1 : est un identificateur valide. x1-y : est un identificateur non valide (à cause du signe - ). 1xy : est un identificateur non valide (commence un caractères numérique).
  • 15. 6.1 Déclaration des constantes: Les constantes sont des objets contenant des valeurs non modifiables. Les constantes sont déclarées comme suit : Sysntaxe: Constante <NomConstante> = <Valeur>; Exemples : Constante Pi = 3.14; Constante g = 10; On cas de plusieurs déclarations de constantes: Constante Pi=3.14; Alpha=0.6; 6.2 Déclaration des variables: une variable est un objet contenant une valeur pouvant être modifiée. Sa forme est comme suite: Syntaxe: Variable <NomVariable> : <Type>; 6. La déclaration des objets
  • 16. Toute les données (variable ou constante) d'un algorithme possède un type de données (domaine de valeurs possibles). 6.3. Types de données Dans l'algorithmique, nous avons cinq types de base : - Entier :valeur numériques entières pouvant être signées ou non signées, exemple: 125; - 450; -67; etc. - Réel: prend ses valeurs dans un sous-ensemble de réels décimaux signés, exemple: -0,457; 12,680; -45,3; etc. - Caractère : prend ses valeurs dans l'ensemble des caractères de la table ASCII. Exemple: Chiffre: 0..9; lettre: a..z ou A..Z; symbole: &; *; $; etc. -Chaîne de caractère : se compose d'une suite de symboles de type caractère. Exemple: ‘bonjour’ ; ‘ carte_78’ ;’1010’;etc. -Logique (booléen): type logique qui peut prendre les valeurs VRAI ou FAUX. Exemples sur la déclaration des variables : Variable Rayon : Réel; Variable Lettre : Caractère;
  • 17. 6.4. Expressions et opérateurs : C’est quoi un opérateur? Opérateurs numériques: +, -, *, div, mod, / Opérateurs Logiques: et, ou, non Opérateurs de comparaison: <,>,<=,>=,=,  C’est quoi une expression? Une expression est un ensemble de variables/valeurs, reliées par des opérateurs, et équivalent à une seule valeur. 6.5. Fonctions: SQRT (x) : racine carré de x; EXP (x): exponentielle de x; SQR (x) : retourne le carré de x; ABS (x) : valeur absolue de x; etc.
  • 19. 7. Définition du Corps (déclaration des actions): Le corps d’un d’algorithme est une suite d’instructions ou des tâches à exécuter. 7. 1 . Les instructions de base 7. 1.1. La lecture (Fonction d’entrée: Lire), en Pascal (read) Instruction qui permet d’entrer des données tapées au clavier. Syntaxe LIRE(Nomvariable1); LIRE(Nomvariable2); ou bien LIRE(Nomvariable1, Nomvariable2,..); …. Exemple: LIRE (x,y,z); Exemple en Pascal: Read (x,y,z); LIRE (a) ; Read (a) ;
  • 20. 7.1.2. L’écriture (Fonction de sortie: écrire), en Pascal (Write) Instruction qui permet d'afficher le contenu d’une variables ou/et un message sur l'écran. Nous distinguons 5 types d’affichage: Syntaxe (Algorithme) Ecrire(Nomvariable) ;  Afficher le contenu de la variable Ecrire ('message') ;  Afficher le message tel qu'il est Ecrire ('message', Nomvariable) ;  Afficher le message suivi par contenu de la variable. Ecrire ('message', Expression) ;  Afficher le message suivi par le résultat obtenu par l’expression. Ecrire (‘message1', variable1, variable2, ‘message2') ;  Afficher le message suivi par la valeur de la variable 1 puis la valeur de la variable 2 puis le message2. Syntaxe (Pascal) write(Nomvariable) ; write ('message') ; write ('message', Nomvariable) ; write ('message', Expression) ; Write ('Texte à afficher', variable1, variable2, 'texte2') ;
  • 21. Remarque: Si le message à afficher contient une apostrophe, il faut alors la doubler. Les différents noms de variables doivent êtres séparés par des virgules. Exemple: En Algorithme Ecrire(A);  afficher sur l’écran le contenu de la variable A. Ecrire('donnez votre nom : ');  donnez votre nom : Ecrire (‘la valeur1=‘, x, ‘la valeur2=‘,y); En Pascal: Write (A); Write ('donnez votre nom : '); Write ('L"apostrophe se double.') ;
  • 22. 7.1.3. Affectation: C’est l’action de charger une valeur dans une variable. Cette valeur peut elle-même être une variable, le résultat d’une expression arithmétique ou logique ou une constante. Le symbole utilisé pour l'affectation est ←. (En Pascal: on utilise le symbole := pour l’affectation). Syntaxe (en algorithmique): NomVariable Variable 2 ; NomVariable Expression; NomVariable Constante; Syntaxe (en Pascal): NomVariable Variable 2 ; NomVariable Expression; NomVariable Constante;
  • 23. Exemple: Soit les variables: x, y, T, a de type entier et B est de type caractère. Nous considérons les affectations suivantes: x ← y; se lit « x reçoit y » ou bien j’affecte la valeur de y dans la variable x T ← 25; a ← T+5; B ← ‘f’; y x x 30 a a T 25 T B f B Avant l’affectation Après l’affectation En Pascal: X:= y; T := 25; a := T+5; B := ‘f’;
  • 24. Exemple : Ecrire un algorithme / programme qui calcul le périmètre et la surface d’un cercle. Exécuter le programme pour R = 2,8 cm. Soit: P: Périmètre, S: Surface, R: Rayon. Solution: Données en entrée: R Données en sortie (résultat): S et P Traitement (comment): P= 2*R * π et S= π *R ² Constante : π Variables : R, P, S de type réel Remarque: puisqu’une expression retourne une valeur, elle peut être affectée à une variable. Exemple: x ← a*b/4 et non pas l’inverse (a*b/4 ← x).
  • 25. Algorithme/programme Algorithme cercle; Constante Pi =3.14; Variable R, P, S:reel ; Début écrire (‘donner le rayon:’); lire (R ); P←2*pi*R ; S ← pi*R*R ; écrire (‘ le périmètre du cercle =‘, P); écrire (‘la surface du cercle =‘, S); Fin. Program cercle; Const Pi =3.14; Var R, P, S:real ; begin write (‘donner le rayon:’); read (R ); P:= 2*pi*R ; S := pi*R*R ; { ou bien sqr(R)} write (‘ le périmètre du cercle =‘, P); write (‘la surface du cercle =‘, S); End.
  • 26. Exécutionduprogramme donner le rayon: 2.8 le périmètre du cercle = 17.58 la surface du cercle = 15.68 3.14 Pi PR S 3.14 Pi PR S 17.583.14 Pi P 2.8 R 15.68 S 2*3.14*2.8 3.14*2.8*2.8 Ecran 2.8 Const Pi =3.14; Var R, P, S:real ; write (‘donner le rayon:’); read (R ); P:= 2*pi*R ; S := pi*R*R ; write (‘ le périmètre du cercle =‘; P); write (‘la surface du cercle =‘; S);
  • 28. Exercice N°1 : Ecrire un programme Pascal qui permet de saisir les paramètres d’une équation du second degré et de calculer son discriminant .
  • 29. Exercice N°2 : Ecrire l'algorithme qui calcule le Volume V et la Surface S d’un cylindre de Rayon R et de Hauteur H sachant que :  Volume d’un cylindre : V= π.R2.H  Surface d’un cylindre : S=2. π.R.H  π est une constante = 3.14159
  • 30. Exercice N°3 : Ecrire un programme Pascal qui calcule et affiche la distance entre deux points connaissant leurs coordonnées P1(x1,y1), P2(x2,y2).
  • 31. Exercice N°4 : Ecrire un programme Pascal qui permet de saisir les paramètres d’une équation du second degré et de calculer son discriminant .