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.
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.
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 .