Vous êtes sur la page 1sur 13

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 : A20)
 Les deux membres de l’affectation doivent être de même type. (AB // 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.

3.Ecrire 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.
1.Langages 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.

2.Format 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)

3.Fonctions 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]

Vous aimerez peut-être aussi