Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Introduction
Le mot algorithme est dérivé d’un nom de mathématicien arabe Al-
Khawarizmi, et pour résoudre un problème donné par l’informatique,
l’utilisateur de l’ordinateur doit mettre en point un algorithme et le faire exécuter
par l’ordinateur.
Al-Khawarizmi est un mathématicien arabe, dont les travaux sur l’algèbre, l’arithmétique et les
tables d’astronomie ont considérablement fait progresser la pensée mathématique.
I. Notion d’algorithme
1. Schéma de résolution d’un problème
Analyse Conception Traduction
-Entrées
Problème 1 2 Algorithme 3 Programme
-Traitement
-Sorties
4 Exécution
Les tâches 1,2 et 3 sont effectuées par le programmeur.
La dernière tâche est effectuée par l’utilisateur.
Résultats
2. Définitions
Algorithmique : est l’ensemble des activités qui relèvent des algorithmes.
Algorithme : Un algorithme est un ensemble d’actions (ou d'instructions) destinées à
résoudre un problème en un nombre fini d’opérations.
Caractéristiques d’un algorithme :
La finitude : Le nombre d’instructions de l’algorithme doit être fini.
La précision : Toute étape doit être définie.
Les domaines des entrées et de sorties (nombre, caractère…).
L’exécutabilité : l’algorithme doit être exécutable en un temps fini, et possède au
moins un résultat.
Exemple :
Analyser le problème suivant :
Connaissant les notes obtenues d’un élève dans 3 matières et leurs coefficients,
Calculez la moyenne de l’élève.
Prof. Ait Aissa Mohammed 1
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Solution
Analyser un problème c’est déterminé les entrées, le traitement qui doit être effectué sur ces
données et le ou les résultats qui signifient la résolution du problème.
Notre problème c’est de calculer la moyenne d’un élève, sachant que nous avons connus déjà
les notes de trois matières et leurs coefficients.
N.B : nF c.-à-d. note de français, cF c.-à-d. coefficient de Français.
Algorithme Moyenne
Entrées : nF,nM,nArabe, cF,cM,cArabe
Traitement : M = ((nF*cF)+(nM*cM)+(nArabe*cArabe))/(cF+cM+cArabe)
Sorties : La moyenne est : M
Exercices d’application
Exercice n°1 :
Étant donnée la surface d’un disque calculez son rayon.
Exercice n°2 :
Connaissant le prix d’achat d’un produit, les frais de transport et son prix de vente,
calculez le bénéfice réalisé.
Solution
Exercice n°1 : Exercice n°2 :
Algorithme Rayon Algorithme bénéfice
Entrées : la Surface S Entrées : PA,FT,PV
Traitement : R = √(S¿ ¿ π ) ¿ Traitement : Gain = PV – (PA+FT)
Sorties : Le rayon est R Sorties : Le bénéfice est Gain
Travail à faire à la maison
Solution
Etant donné le rayon d’une sphère, calculer sa
Algorithme Volume
volume Indication : V = 4 Pi R³ / 3
Entrées : Le rayon R
Traitement : V = 4 Pi R³ / 3
Sorties : Le volume de cette sphère est V
Prof. Ait Aissa Mohammed 2
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
II. Notions de données
1. Les constantes
Une constante est une donnée qui possède un nom et une valeur inchangeable durant
le déroulement de l’algorithme.
Syntaxe : Constante nom_de_constante = valeur ;
Exemple : Constante Pi = 3,14 ;
2. Les variables
Une variable est une donnée qui possède un Nom, un type et une valeur changeable
durant le déroulement de l’algorithme.
Syntaxe : Variable nom_de_variable = type_de_var;
Type de variables
Type numérique : le cas où la variable reçoit un nombre.
Type entier : une variable accepte des valeurs qui appartiennent à l’ensemble Z.
Type réel: une variable accepte des valeurs qui appartiennent à l’ensemble R.
Type alphanumérique :
Type caractère : une variable accepte des valeurs comme : ‘a’,’1’,’ ?’,’+’.
Type chaîne de caractères : une variable accepte des valeurs comme :
‘nom’,’123’,’note1’.
Type logique (booléen)
Une variable prend uniquement deux valeurs vrai ou faux
Exemples : variable a : Entier;
char : caractère;
log : booléen ;
c : chaine de caractères;
b : Réel ;
Prof. Ait Aissa Mohammed 3
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
3. Les fonctions définies sur les types de variables (types simple).
Fonction Type Description
Div Entier n1 div n2 retourne le quotient de la division
euclidienne entière de n1 par n2.
Par exemple 11 div 2 vaut 5
Mod Entier N1 mod n2 retourne le reste de la division.
Par exemple 11 mod 2 vaut 1
Abs(x) Entier ou Réel Retourne la valeur absolue du nombre x.
Par exemple Abs(-3) vaut 3.
Racine (x) Entier ou Réel Retourne la racine carrée du nombre Positif x.
Par exemple racine(9) vaut 3
Longueur (chaine) La variable Retourne la longueur d’une chaine de caractère
chaine est de type donnée. Par exemple Longueur (‘’Informatique’’)
Chaine de vaut 12
caractères
4. Formalisme d’un algorithme
Algorithme nom_algorithme ; // En-tête d’algorithme
Variable nom_variable : type_variable ;
Constante nom_contante = valeur ; // partie déclarative
Début
// Le corps d’algorithme
//(……………………………..)
Fin
Exercices d’application (Á FAIRE AUSSI)
Exercice n°1 :
Vous voulez calculer la division de deux nombres a et b donnez le type de chaque
variable, sachant que : div = a /b
Exercice n°2 :
Vous êtes besoin d’utiliser dans un calcul la gravité, comment allez-vous déclarer
cette donnée ? Donner la syntaxe convenable.
Prof. Ait Aissa Mohammed 4
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Exercice n°3
Donner la valeur et le type de chaque variable A, B, C
A= (111 div 2) + ( 111 mod 2) ;
B = racine (25) + abs(-35,65) ;
C = longueur(‘Bonjour’) + longueur (‘Tout le monde’) ;
III. Instructions de base
1. Affectation
C’est l’action qui permet d’attribuer à une variable, une expression (valeur, variable,
constante, expression, fonction).
Le symbole de l’affectation est = ou
Syntaxe : Nom_de_variable = Expression ;
N.B : // Signifie que c’est un commentaire.
Exemple :
Algorithme Affectation //Nom de l’algorithme
Début
A 20 ; // la variable A reçoit une valeur ;(A=20)
B 30 ; // La variable B reçoit une valeur ; (B=30)
A B ; // La variable A reçoit le contenu de la variable B ; (A=30)
B A+ 35 ; // La variable B reçoit une expression ; (B= 65)
A racine (25) ; // La variable A reçoit une fonction ; (A=5)
Fin
Remarque :
Pour utiliser l’affectation, on doit respecter les propriétés suivantes :
Le membre gauche de l’affectation doit être toujours une variable. (Ex : A20)
Les deux membres de l’affectation doivent être de même type. (AB // A et B sont
deux variables de type caractère).
Le contenu du membre gauche de l’affectation sera écrasé et remplacé par le contenu
du membre droit. (Voir la 3ème instruction de l’exemple, auparavant A=20 mais lorsque
nous avons affecté B à A la valeur de A devient 30.
2.1 Expressions :
Operateurs, Opérandes, Expression
Un Opérateur est un symbole d’opération. Les opérateurs usuels (+, -, *, /), Et Les opérateurs
de comparaison (>,<,=,<>, >=, <=, Et, Ou, Non).
Prof. Ait Aissa Mohammed 5
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Un opérande est une entité (Variable, Constante Expression, Ou Fonction) Utilisée Par Un
Operateur.
Une expression est une combinaison d’operateur(S) et d’opérande(S), Elle est évaluée durant
L’exécution de l’algorithme, et possède une valeur (Son Interprétation) et un type.
2.2 Expressions arithmétiques Opérateur (*)
Opérande 1(fonction) (Abs(3) + racine (25)) * 5
Opérande 2 (fonction) Opérande 3 (nombre)
Opérateur (+)
2.3 Expressions logiques simples
Une expression logique simple est une comparaison entre deux expressions arithmétiques.
Opérateur Description Opérateur Description
= Égal <> Différent
< Inférieur > Supérieur
<= Inférieur ou égal >= Supérieur ou égal
2.4 Expressions logiques (Opérateurs logiques)
A B NON B NON A A ET B A OU B
V V F F V V
V F V F F V
F V F V F V
F F V V F F
Exemple : 5<3 ET 3<5
Expression logique simple1 Opérateur Logique ET Expression logique simple2
Prof. Ait Aissa Mohammed 6
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Table de priorité des opérateurs
Ordre Opérateurs Ordre Opérateurs
1 OU 5 +,-
2 ET 6 *, /
3 NON 7 Les opérateurs
unaires + et –
4 <,<=,>,>=,<> et =
2. Instruction d’écriture
C’est l’action qui permet à l’algorithme d’afficher pour son utilisateur des messages ou des
résultats de calculs.
Syntaxe : Écrire (val1,val2,val3…..,valn) ;
Exemples :
Ecrire (‘Entrer la longueur du rectangle’);
Ecrire (‘La surface du rectangle est’, S);
Ecrire (‘La surface du disque est ‘, Pi*r*r);
Remarque :
Pour afficher un message, il est nécessaire de le mettre entre apostrophes.
Exemple : Écrire (Entrer la longueur du rectangle) ; (Instruction incorrecte).
Pour afficher un message et le résultat d’un calcul avec une seule instruction, séparer
entre eux avec une virgule.
Exemple : Écrire (‘La surface du disque est’ Pi*r*r) ; (Instruction incorrecte).
3. Instruction de lecture
C’est l’action qui permet à l’utilisateur de fournir à l’algorithme les valeurs des variables.
Syntaxe : Lire (val1,val2,val3…..,valn) ;
Prof. Ait Aissa Mohammed 7
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Exemples :
Lire (Long);
Lire (larg);
Lire (Long, larg);
Remarque :
L’instruction Lire (‘Long’) est incorrecte, car Long représente le caractère et non pas
la variable nommée Long.
4. Formalisme d’un algorithme
Algorithme nom_d’algorithme ; //En-tête d’algorithme
variable identifiant: typedevariable ;
constante identifiant = valeur ; //partie déclarative
Début
bloc d’actions ; //bloc d’instructions. (lecture, écriture et affectation)
Fin
//Bloc d’instructions
Un bloc d’instruction est une partie de traitement d’un algorithme, constituée
d’opérations élémentaires situées entre Début et Fin.
5. Organigramme
Contenu Organigramme
Début, Fin
Ecrire(), Lire()
Traitement : Affectation
Début
Exemple :
Algorithme Surface ; en-tête de l’algorithme Ecrire (‘Donner le rayon ’)
Variable S,R : Réel ;
Constante Pi = 3,14 ; Partie déclarative Lire(R)
Début
Écrire (‘Donner le rayon ’) ; bloc S Pi*R*R
Lire(R) ; d’instructions
S Pi*R*R ;
Écrire (‘La surface est =’, S)
Écrire (‘La surface est’, S) ;
Fin
Fin
Prof. Ait Aissa Mohammed 8
IV. Structure de contrôle de base
Le langage algorithmique propose des structures de contrôle conditionnelles standard qui sont :
l’alternative simple, complète, imbriquée et le choix multiple.
4.1 Alternative simple (choix unaire)
Si Syntaxe :
Si condition Alors
bloc instructions
FinSi
condition est vérifiée alors le bloc d’instructions sera exécuté, sinon il sera ignoré.
Exercice d’application
Ecrire un algorithme permet de calculer et afficher la somme de deux nombre s’il est supérieur à
10. Et transformer l’algorithme en organigramme.
Exercice (Partie des exercices) Algorithme Adulte si l’âge est supérieur à 12 ans.
4.2 Alternative complète(Choix binaire)
Syntaxe :
Si condition Alors
bloc instructions1
Sinon
bloc d’instructions2
FinSi
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
Si condition est vérifiée alors le bloc instructions1 sera exécuté et le bloc instructions2 sera
ignoré, sinon le bloc instruction1 sera ignoré et le bloc instructions2 sera exécuté.
Exercice d’application
Ecrire un algorithme qui demande à l’utilisateur d’entrer deux nombres, puis affiche le nombre
minimal. ET transformer l’algorithme en organigramme.
Exercice (Partie des exercices) Algorithme signe deux nombres sont de même signe ou
de signe contraire.
4.3 Alternative imbriquée
Il est possible d’imbriquer des structures conditionnelles entre elles (ne pas oublier d’indenter
pour une bonne lisibilité de l’algorithme.
Exercice d’application
Ecrire un algorithme qui demande à l’utilisateur d’entrer deux nombres puis affiche le nombre
maximal, traiter le cas où les deux nombres sont égaux.
Exercice (Algorithme Club sportif : Poussins, Minime, Cadet).
4.4 Alternative à choix multiple
Lorsque l’imbrication des alternatives devient importante, la structure de l’algorithme devient
complexe. Pour palier à ce problème, le langage algorithmique propose une nouvelle structure de
contrôle, appelée instruction de choix multiple.
Syntaxe :
Cas Expression Vaut
val1 : Instructions1;
Exercice d’application : val2: Instructions2;
…………………..
Ecrire un algorithme qui demande à un enseignant le nom d’un élève, puis affiche le numéro de
cet élève.
Exercice (Algorithme opérations permetvaln : Instructions
d’effectuer n;
les 4 opérations élémentaires).
Exercices d’application Autre
: : Instructions;
1. Écrire un algorithme
Fin Cas
qui demande à l’utilisateur une lettre minuscule entre ‘a’ et ‘e’,
puis il affiche sa majuscule. Il faut inclure le cas où l’utilisateur saisie une lettre
différente.
Prof. Ait Aissa Mohammed 10
Module 4 : Algorithmique et Programmation
Chapitre 1 : Algorithmique
2. Ecrire un algorithme qui demande à l’utilisateur d’entrer un nom, puis affiche
Bonjour chère Client si la longueur de ce nom est moins de 6 caractères, et Vous
n’êtes pas notre Client dans le cas contraire.
[Link] un algorithme qui demande à l’utilisateur d’entrer un
Nombre, puis affiche :
Positif s’il est supérieur à Zéro
Négatif s’il est inférieur à Zéro
Nul s’il est égal à Zéro.
4. Ecrire un algorithme permet de fonctionner un distributeur de boissons contient les
choix ci-dessous. Indication : Traiter le cas si l’utilisateur veut ajouter du sucre à un
boisson ou non.
Prof. Ait Aissa Mohammed 11
Module 2 : Algorithmique et Programmation
Chapitre 2 : Langage de programmation (Pascal)
I. Notion de programme
Un programme est une suite d’instructions à effectuer sur des données avec un ordre précis
dans un langage donné.
L’exécution d’un programme correspond à effectuer la suite des instructions qui le
composent.
La programmation c’est l’activité qui établit des programmes.
[Link] de programmation
Un programme est un code permettant de programmer l’ordinateur afin de lui faire réaliser
des tâches.
Un langage de programmation est l’intermédiaire entre l’être humain et la machine.
[Link] simple d’un programme en langage Pascal
Le format d’un programme en langage Pascal peut-être présenté comme suit :
Program TITRE; (*En-tête*)
VAR
Const (*Partie déclarative : variables, constantes*)
Begin
(*Corps du programme*)
End.
Program : C’est le premier mot de chaque programme Pascal ;
VAR : Cette instruction permet de déclarer les variables utilisées.
Types simples de données :
Integer : Entier
Real : Réel
Char : Caractère
String : Chaine de caractère
Exemple : Var A, B : Integer.
Begin : Précise le point de départ du programme et fournit un moyen de grouper les
instructions d’un même programme.
End. : Cette instruction doit être suivie d’un point, s’il est la dernière instruction d’un
programme Pascal.
Module 2 : Algorithmique et Programmation
Chapitre 2 : Langage de programmation (Pascal)
[Link] définies sur des types simples de données
Fonctions (langage algorithmique) Fonctions (Langage Pascal)
Absolue Abs()
% (mod) N1 mod N2
// (div) N1 div N2
Racine() Sqrt()
II. Instructions de base
2.1 Instructions simples
a. Affectation
Cette instruction permet de transcrire une valeur dans une variable.
Le symbole d’affectation est ‘ :=’. Exemples : I := 100 ; I := I+1 ;
b. Instructions d’entrées
Une instruction d’entrée permet de lire une donnée à partir du clavier.
Syntaxe : read(v1,v2,…….vn) ; ******* readln(v1,v2,…………vn);
c. Instructions de sortie
Une instruction de sortie permet l’affichage sur l’écran des valeurs correspondantes aux arguments
considérés.
Syntaxe : write(val1,val2,…….valN) ; ******* writeln(val1,val2,…………valN);
Remarque : Affichage des nombres réels avec un format
Exemple : Write (X :v :n) (* X : est le type reel; v*: Le nombre de position; n* : est le nombre de
chiffre après la virgule).
2.2 Instructions conditionnelles
a. Alternative simple Syntaxe : If condition then
Bloc ;
b. Alternative complète Syntaxe : If condition then
Bloc1 Pas de ‘ ;’ avant la
Else clause Else
Bloc2;
c. Instruction CASE Syntaxe : Case Expression of
Val1 :Bloc1 Remarque : Si un bloc
Val2 :Bloc2 contient plus d’une
……………….. instruction, il doit être
Valn:Blocn; délimité par les mots Begin
Else bloc;
et end.
End ; [Fin de Case]