Vous êtes sur la page 1sur 60

ALGORITHMIQUE

INTRODUCTION
PARTIE N° 0
I - ORDINATEUR

Un ordinateur est une machine électronique programmable servant au


traitement de l’information codée sous forme binaire, c’est-à-dire sous
forme de tout ou rien (soit le courant passe, soit il ne passe pas).

traitement

Données Ordinateur Résultats


I - ORDINATEUR

Contrairement aux autres machines qui sont dédiées à un nombre limité


de tâches, l'ordinateur est potentiellement capable d’effectuer une
infinité de tâches concernant le traitement rationnel de l’information.
On dit que c'est une machine universelle
UNE MACHINE PROGRAMMABLE

En fait, un ordinateur doit être préalablement programmé pour qu'il


puisse traiter les données.
Il effectue les traitements en suivant à la lettre un programme
d’exécution développés et installés par des spécialistes.

Program
Mémoire

Données Résultats
UCT

Ordinateur
II - PROGRAMME

Un programme est un enchaînement d’instructions élémentaires écrit dans


un langage de programmation, et exécuté par un ordinateur afin de traiter
les données d’un problème et renvoyer un ou plusieurs résultats.

1. Instruction n° 1
2. Instruction n° 2
3. Instruction n° 3
4. Instruction n °4
5. ….
.......
……
m. Instruction n° m
(fin du programme)

Programme
QUESTION ?

Pourquoi donc utiliser un ordinateur puisque que c’est l’Homme qui lui
donne la suite d’actions à exécuter ?

Réponse:
Comme l'ordinateur a l'avantage d'exécuter très rapidement et sans
erreurs les ordres qu'on lui donne (les instructions), il exécute beaucoup
de traitements complexes plus vite et plus sûrement qu'un homme.
III - PROGRAMMATION

• Exprimer une tâche complexe par un ensemble d’opérations


exécutables (instructions) par l’ordinateur( Algorithme)
• Traduire cette suite d’instructions dans un langage interprétable par
l’ordinateur (programmation)
EXEMPLE CONCRET

• Supposant une machine à calculer dont la touche de multiplication


est abimée.
• Pour réaliser une opération de multiplication ex: 5×8, il est plus
judicieux de la décomposer à un ensemble fini d’opérations
relativement simple, dans notre cas l’addition.
• Et on peut écrire : 5×8 = 8 + 8 + 8 + 8 + 8

5 – 1 opérations
d’addition

Alors pour effectuer l’opération de multiplication, il faut effectuer


l’opération de l’addition 8 + 8 4 fois
IV - ALGORITHME

D’où
1ère opération : 8+8
2ème opération : Résultat opération 1 + 8
3ème opération : Résultat opération 2 + 8
4ème opération : Résultat opération 3 + 8

Cette suite d’actions finies peut être définie comme


Algorithme
IV - ALGORITHME

• Un algorithme est une suite d’actions élémentaires qui doivent être


exécutées dans un ordre déterminé en vue de la résolution d’un
problème.
• En informatique, Un algorithme représente l'enchaînement des actions
(instructions) nécessaires pour faire exécuter une tâche à un ordinateur
• Un algorithme s'écrit le plus souvent en pseudo-langage de
programmation (appelé langage algorithmique)
• Un algorithme n'est donc exécutable directement par aucune machine.
Mais il a l'avantage d'être traduit facilement dans tous les langages de
programmation (TURBO PASCAL, C, JAVA, BASIC, ….)
V - RÉSOLUTION D’UN PROBLÈME

La méthode informatique de résolution d’un problème peut être


représentée par le schéma simplifié suivant.

Tâches réalisées par le programmeur

Problème Algorithme Programme Résultat

Analyse Traduction exécution


Ou
codage
Tâches réalisées par
l’ordinateur
VARIABLES ET EXPRESSIONS
PARTIE N° 1
I - NOTION DE DONNÉE

Les programmes ont pour but de traiter différentes données afin de


produire des résultats. Les résultats peuvent eux-mêmes être des
données pour d'autres programmes.

données Programme résultats


I – NOTION DE DONNÉE

Une donnée peut être:


• Texte
• Valeurs numériques
• Images
• Sons
• Vidéos
Ensemble de Fichier
• ….
fichiers compressé
II - TYPES DE DONNÉES

En algorithmique on distingue 5 types principaux :


• les caractères (lettres, chiffres, ponctuation …)
Ex : ‘A’ ‘@’ ‘0’ , remarquez que le caractère est entouré par les apostrophes.
• les chaînes de caractère (suites de caractères)
Ex : ‘’bonjour’’ ‘’1234’’ ‘’www.monsite.com’’
• les entiers (les nombres sans virgule)
Ex : 1 8 45 6
• les réels (les nombres à virgule et sans virgule)
Ex : 1,123 -5,45 4,00
• les booléens (qui n'ont que deux valeurs possibles: soit VRAI, soit
FAUX)
Les opérations possibles sur les variables dépendent de leur type.
I - NOTION DE VARIABLE

Les données d'un programme doivent être chargées en mémoire


centrale, pour pouvoir les utiliser ultérieurement durant le traitement par
le processeur. Ainsi, toutes les données d'un programme sont
mémorisées en mémoire centrale, dans des sortes de « cases » que l'on
appelle variables.

Par exemple, on peut avoir en mémoire une variable prix et une variables quantité qui
contiennent les valeurs 10.2 et 5

10,2 5
Prix Quantité
CONCRÉTISONS !

• Une variable peut être représentée par une ou plusieurs case mémoire,
qui contient la valeur d'une donnée.
• Chaque variable possède un nom unique appelé identificateur par
lequel on peut accéder à son contenu.
• Deux variables peuvent avoir la même valeur, mais une variable ne
peut pas avoir plusieurs valeurs en même temps.
• la valeur d'une variable peut varier au cours du programme. L'ancienne
valeur est tout simplement écrasée et remplacée par la nouvelle
• Les variables dont la valeur ne change pas au cours de l'exécution du
programme sont appelées variables constantes ou plus simplement
constantes.
III - OPÉRATEURS ARITHMÉTIQUES ET LOGIQUES
opérateurs Symbole de Types concernés Nature de
l’opérateur l’opérateur
Addition + Entier, réel Arithmétique
Soustraction - Entier, réel Arithmétique
Multiplication * Entier, réel Arithmétique
Division / Entier, réel Arithmétique
Exposant ^ Entier, réel Arithmétique
Division entière DIV Entier Arithmétique
Pourcentage % Entier, réel Arithmétique
Comparaisons < <= >= > = ≠ Entier, réel ,caractère, Comparaison
booléen Logique
Reste de la division E MOD Entier Arithmétique
Concaténation & Chaine
Négation NON Booléen Logique
Conjonction ET Booléen Logique
Disjonction OU Booléen Logique
ECLAIRCISSEMENT

• L’opérateur div est appelé opérateur de la division entière :


Ex: 7 div 2 = 3
7 mod 2 = 1 reste de la division entière de 7 par 2
Par contre 7 / 2 = 3,5 c’est la division réelle
• Les caractères sont comparés selon le code ASCII
A < B < C < D < …..
• L’opérateur & sert à concaténer des chaînes de caractère, ce qui
signifie : transformer plusieurs chaînes en une seule en les ajoutant les
unes à la suite des autres.
Ex : ‘’Bonjour‘’ & ‘’à tous’’ donne ‘’Bonjour à tous’’
III.I - PRIORITÉ DES OPÉRATEURS

Question : quel est le calcul correct ?

6 + 6 / 3 * 2 – 1 = 12 / 3 * 2 – 1
= 12 / 3 * 1
=4*1
=4

ou bien

6+6/3*2–1 =6+2*2–1
=6+4-1
=9
III.I - PRIORITÉ DES OPÉRATEURS

• Dans le premier calcul on a commencé par l’addition et le résultat


était 4
• Tandis que, dans le deuxième calcul, on a commencé par la division
et le résultat était 9

Conclusion : le calcul dépend de l’opération avec laquelle on a


commencé.
III.II - ORDRE DE PRIORITÉ

Opérateurs Ordre de priorité


décroissant
^ 1
* / MOD DIV 2
+- 3
< > = <= >= ≠ 4
NON 5
ET OU 6
III.III - RÈGLES DE PRIORITÉ

• Un opérande placé entre deux opérateurs de priorité différente sera


lié à celui possédant la priorité la plus élevée.
• Un opérande placé entre deux opérateurs de la même priorité sera
lié à celui se trouvant à gauche.
• Les expressions contenues entre parenthèses sont évaluées en
premier, afin de traiter leur résultat comme un simple opérande.
IV. EXPRESSIONS ARITHMÉTIQUES ET LOGIQUES

On distingues 3 types d’expressions :


• Expression arithmétique
• Expression logique simple
• Expression logique
IV.I - EXPRESSIONS ARITHMÉTIQUES

Une expression arithmétique est une expression dont son évaluation


donne un résultat numérique (entier ou réel)
Opérateurs
arithmétiques

Ex : A + B/2 – (C +4)

Opérandes
EXERCICES

Evaluer les expressions arithmétiques suivantes :


• 24 + 31 * 5 – (9 +4 * 3) / 7
• (13 – 15 / (3 + 2) * 3) / 4 – 1
• 14 – 24 mod 5 * 6
• (12 * 4) div (9 – 6) * 3
• 33 div 2 div 2 div 2 div 2 div 2
• N mod (N – 1)
EXERCICES

Evaluer les expressions arithmétiques suivantes :


• 24 + 31 * 5 – (9 +4 * 3) / 7 rép : 176
• (13 – 15 / (3 + 2) * 3) / 4 – 1 rép : 0
• 14 – 24 mod 5 * 6 rép : -10
• (12 * 4) div (9 – 6) * 3 rép : 48
• 33 div 2 div 2 div 2 div 2 div 2 rép : 1
• N mod( N – 1 ) rép : 1
IV.II - EXPRESSIONS LOGIQUES SIMPLES

Une expression logique simple est une comparaison entre deux


opérandes ou deux expressions arithmétiques, son évaluation donne un
résultat logique (booléen vrai ou faux)
Ex : A >= B
D -1 = 5 – 3*C

Ces expressions peuvent être vraies au fausses, selon les valeurs de A, B,


C et D
IV.III - EXPRESSIONS LOGIQUES

Une expression logique est la composée d’expressions logiques simples


par les opérateurs logiques (ET,OU et NON) , son évaluation donne un
résultat logique

Ex A > 2 ET A <=13
NON( X = 1) OU D>=14

Ces expressions peuvent être vraies au fausses, selon les valeurs de A, D


et X
EVALUATION D’EXPRESSIONS LOGIQUES

• Soit P et Q deux expressions logique :


ET OU NON
P Q P ET Q P Q P OU Q P NON P
Vrai vrai Vrai Vrai vrai Vrai Vrai Faux
Faux Faux Faux Faux Faux Faux Faux Vrai
Vrai Faux Faux Vrai Faux Vrai Ex : NON ( 6 ≠ 7)
Faux Vrai Faux Faux Vrai Vrai Expression fausse

Ex : X > 7 ET X < 2 Ex : X > 0 OU X <=0


Expression fausse Expression vrai
EXERCICES

Evaluer les expressions logiques suivantes :


• 17 < 14 ET 2 > (3 – 2)
• (17 – 4 < 3 + 6) OU (6 = 6)
• NON ( A * B ^ C -14 / 78 = 14 – 12 ^ 14) OU (A = A)

• NON(NON(NON(NON(7 = 7000 / (1000 – 1 / 10)))))

• Vrai ET Faux OU Vrai ET Faux ET NON(FAUX) OU Vrai

Vérifier que :
• NON ( X >1 ET X < 10 ) = (X <= 1 OU X >= 10)
EXERCICES

Evaluer les expressions logiques suivantes :


• 17 < 14 ET 2 > (3 – 2) rép : Faux
• (17 – 4 < 3 + 6) OU (6 = 6) rép : Vrai
• NON ( A * B ^ C -14 / 78 = 14 – 12 ^ 14) OU (A = A)
rép : Vrai
• NON(NON(NON(NON(7 = 7000 / (1000 – 1 / 10)))))
rép : Faux
• Vrai ET Faux OU Vrai ET Faux ET NON(FAUX) OU Vrai
rép : vrai
Vérifier que :
• NON ( X >1 ET X < 10 ) = (X <= 1 OU X >= 10)
V - DÉCLARATION DES VARIABLES

Pour qu'un programme puisse utiliser une variable, il faut au préalable


que cette variable ait été déclarée, c'est-à-dire que le programme lui
ait réservé une place en mémoire et ait attribué l'identificateur à cette
place.
Donc la déclaration d'une variable indique deux choses:
• son identificateur (son nom qui ne doit pas contenir un espace ou
commencer par un chiffre)
• son type (pour connaitre la taille)
V - DÉCLARATION DES VARIABLES

• Pour déclarer une variable on écris :

Var id_var1, id_var2, …,id_varN : Type de données

Ex : Var N,P : entier


Rst, To : réel
• Pour déclarer une constante

Const id_const  valeur

Ex : Const Pi  3,14
VI - STRUCTURE GÉNÉRALE D’UN ALGORITHME

Programme toto
Const x  14
y  ‘’bonjour’’ Déclaration
Var L, M : Entier
C : Chaine
DEBUT
// ceci est un commentaire
/* Les instructions */ Corps du programme

FIN
INSTRUCTIONS DE BASE
PARTIE N° 2
I - INSTRUCTION DE BASE

Les instructions élémentaires les plus courantes sont :


• l'affectation : le fait de donner une nouvelle valeur à une variable
• l'affichage sur l'écran
• la saisie à travers le clavier
A savoir, Les données manipulées par ces instruction :
• Des variables
• Des constantes
• Des valeurs littérales Ex : ‘’bonjour’’ , 45
• Des expressions
I - INSTRUCTIONS DE BASE

Affichage

Mémoire

45
‘’ok
’’
Saisie
‘T’
12,1

Affectation
USER
UCT
I.I - L’AFFECTATION

L’affectation consiste tout simplement à placer une valeur dans une


variable (ce qui revient à changer le contenu de cette variable)
Et on écris :
A  val ;
Se lit A reçoit la valeur val
La valeur d’affectation peut être soit :
• Une valeur littérale Ex: D  5; mes  ‘’ok’’; C ‘@’;
• Une valeur d’une autre variable Ex: X  Y;
• Une valeur d’une expression Ex: Total  A + B + C/2;
I.I - AFFECTATION

• Cette écriture n’a pas de sens

A + B  12 ;

• On peut écrire :

AA+3;
cela veut dire que la variable A reçoit son ancienne valeur + 3

• Lorsqu’on affecte une valeur à une variable contenant une ancienne


valeur, celle-ci sera écrasée (effacée)
ILLUSTRATION

VAR a, b : entiers
//a et b ont une valeur indéterminée
DEBUT
a3 // a reçoit 3 et b non initialisée
ba+2 // b reçoit 5
ab*3 // a reçoit 15
bb+1 // b reçoit 16
FIN
EXERCICE

Indiquer sur le tableau les valeurs des variables a, b, c, d après


l’exécution des instructions

Instruction a b c d
DEBUT N.I N.I N.I N.I
a5
ba-3
d  a mod b
bb-2
c  c div 2
ca–b+d

N.I désigne non initialisé


EXERCICES

Indiquer sur le tableau les valeurs des variables a, b, c, d après


l’exécution des instructions

Instruction a b c d
DEBUT N.I N.I N.I N.I
a5 5 N.I N.I N.I
ba-3 5 2 N.I N.I
d  a mod b 5 2 N.I 1
bb-2 5 0 N.I 1
c  c div 2 5 0 N.I 1
ca–b+d 5 0 6 1
INITIALISATION DES VARIABLES

• Au début d’un programme, les variables n’ont pas encore reçues de


valeur ; on dit qu’elles sont indéfinies. Toute variable doit recevoir une
valeur initiale, avant son utilisation , sinon, son contenu sera ni vide, ni
nul, il sera quelconque (indéterminé).
• L’initialisation s’effectue généralement au début du programme, juste
après les déclarations. Elle prend la forme d'une simple affectation ou
d’une saisie au clavier.
EXEMPLE D’INITIALISATION

Programme initialisation // on peut trouver le mot Algorithme


/*déclarations*/ au lieu de programme
VAR x , y : entiers
a : chaîne
DEBUT
/*initialisation*/
x0
y  10
a  "hello"
/* autres instructions */
FIN
PERMUTATION DE DEUX VALEURS

Ecrire la suite d’instruction permettant la permutation des valeurs de


deux variables entières a et b dont leurs valeurs initiales sont
respectivement 5 et 6
PERMUTATION DE DEUX VALEURS

Ecrire la suite d’instruction permettant la permutation des valeurs de


deux variables entières a et b dont leurs valeurs initiales sont
respectivement 5 et 6

Solution :
Programme Permutation
VAR a , b , c : entiers
DEBUT
/*initialisation*/
a5
b6
/* Permutation*/
ca
ab
bc
FIN
I.II – LA SAISIE DES DONNÉES

L’instruction de saisie permet de communiquer des données au


programme. Cette instruction assigne une valeur entrée au clavier
dans une variable. Tant que l'utilisateur n'entre rien au clavier, le
déroulement du programme est stoppé.
C’est équivalant à : variable  clavier

Syntaxe :
Saisir Var1, Var2, ….. (Ou bien Lire var1, Var2,…)
I.II – LA SAISIE DES DONNÉES

Saisir x
Cette instruction va lire la valeur saisie au clavier et l'affecte à la
variable x

Saisir x, y
Cette instruction lit la première valeur saisie au clavier et l'affecte à x,
puis lit la deuxième valeur saisie et l'affecte à y
I.III – AFFICHAGE

La plupart des programmes nécessitent de communiquer à l’utilisateur


un certain nombre de résultats par l’intermédiaire d’un périphérique.
Pour cela, ils utilisent des instructions d'affichage.
L'instruction d'affichage permet de fournir des résultats sous forme
compréhensible pour l'utilisateur à travers l'écran.
Syntaxe :
Afficher Expression1, Expression2 …..

(Ou bien: Ecrire Expression1, Expression2 ….. )


CONCRÉTISATION

• Afficher toto
Cette instruction permet d'afficher la valeur de la variable toto à l'écran
• Afficher "Bonjour!"
Celle-ci permet d'afficher la chaîne littérale Bonjour! à l'écran
• Afficher a, b
Quand on veut afficher deux objets à la suite, on les sépare d'une virgule. Si a vaut 5
et b vaut 10, on obtient alors à l'écran : 5 10
• Afficher " Voici les résultats : x = " , x, " et y = " , y
Ils apparaîtront dans l’ordre. Nous aurons donc à l’écran (en supposant que les
valeurs de x et y sont respectivement 5 et 10) : Voici les résultats : x = 5 et y = 10
EXERCICE

Indiquer les valeurs qui seront affichées à l’écran après l’exécution des
instructions.
Les variable x et y ont pour valeurs initiales 4 et 6
Instructions Ecran
bonjour
Afficher x , y
Afficher x + y
Afficher ‘’la somme est’’ , x + y
x + y = 10
Afficher ‘’ Félicitation! Vous
avez réussi la’’, y , ’’ème
opération’’
EXERCICE

Indiquer les valeurs qui seront affichées à l’écran après l’exécution des
instructions,
Les variable x et y ont pour valeurs initiales 4 et 6
Instructions Ecran
Afficher ‘’ bonjour ‘’ bonjour
Afficher x , y 46
Afficher x + y 10
Afficher ‘’la somme est’’ , x + y la somme est 10
Afficher ‘’ x + y = ‘’, x + y x + y = 10
Afficher ‘’ Félicitation! Vous Félicitation! Vous avez
avez réussi la’’, y , ’’ème réussi la 6 ème opération
opération’’
I.IV - SYNTHÈSE

• Réaliser un algorithme, c’est exprimer, dans le langage algorithmique


la suite des actions à effectuer pour réaliser un traitement
• Un algorithme n’est pas exécutable il doit être converti dans un
langage de programmation
• Les données d’un programme sont mémorisées dans des variables qui
sont des cases mémoire.
• Une variable est un contenant, qui contient une et une seule valeur à
un moment donné.
I.IV- SYNTHÈSE

Une variable est caractérisée par :


• un identificateur (son nom)
• une valeur (qui peut varier au cours du programme, sauf pour les
constantes)
• un type (qui détermine sa taille et les opérations possibles)
Les instructions de base sont :
• l'affectation permet de changer la valeur d'une variable.
• la saisie permet d'assigner à une variable, une valeur entrée au clavier
• l'affichage permet d'écrire le contenu d'une variable ou d'une expression à
l'écran
I.IV- SYNTHÈSE

Afficher

Résultats

Saisir traitement

Données

USER
UCT
TRAVAUX DIRIGÉS

• Exercice N° 1 : Nom et l’âge


Saisir le nom et l‘âge de l'utilisateur et afficher "Bonjour ..., tu as ... ans."
en remplaçant les ... par respectivement le nom et l‘âge.
• Exercice N° 2 : Moyenne de 3 valeurs
Saisir 3 valeurs, afficher leur moyenne.
• Exercice N° 3 : Surface du rectangle
Demander à l'utilisateur de saisir les longueurs et largeurs d'un
rectangle, afficher sa surface.
• Exercices N°4 : Etant donné 4 nombres A,B,C et D représentant 4
chiffres entre 0 et 9, écriver un algorithme qui retourne nombre
N=ABCD
TRAVAUX DIRIGÉS

• Exercice N° 5 : Permutation de 4 variable


Ecrire un algorithme demandant a l'utilisateur de saisir 4 valeurs A, B,
C, D et qui permute les variables de la façon suivante :
Nom des variables A B C D
Valeurs avant la permutation 1 2 3 4
valeurs après la permutation 4 3 1 2

l’algorithme doit fonctionner quelles que soient les valeurs saisies par
l'utilisateur.
TRAVAUX DIRIGÉS

• Exercice N° 6 : Permutation de 5 variable


Même principe que le précédent :
Nom des variables A B C D E
Valeurs avant la permutation 1 2 3 4 5
valeurs après la permutation 4 3 5 1 2

• Exercice N°7 : Pièces de monnaie


Nous disposons d'un nombre limite de pièces de 100 dh, 50 dh, 20 dh,
10dh, 5dh, 2dh, 1dh . Nous souhaitons, étant donne une somme S, savoir
avec quelles pièces la payer de sorte que le nombre de pièces utilisée
soit minimal

Vous aimerez peut-être aussi