Vous êtes sur la page 1sur 15

COMPUTERS SCIENCE la reference Informatique

INTRODUCTION A L'ALGORITHMIQUE

I. INTRODUCTION

II. STRUCTURE DE CONTRÔLE DE FLOT

III. ALGORITHME PAR ORDINATEUR

IV. STRUCTURES DE DONNÉES

V. LES SOUS-PROGRAMMES

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

I. INTRODUCTION

1- OBJECTIFS

2- DÉFINITION

3- EXEMPLE ET EXERCICE

4- RÉDACTION DE PRINCIPE : un brin d'harmonisation

5- EXÉCUTION D'UN PRINCIPE

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

1- OBJECTIFS
L'algorithmique défini un langage impératif qui permet d'exprimer sous
forme d'ordre les actions a effectuer pour résoudre un problème.
L'objectif de ce cours est de s'initier pour ce langage. A la fin du cours ,
l'étudiant devra être capable de partir d'un problème et d'imaginer un algorithme
pour le résoudre.
En amont de cette compétence, l'étudiant devra également être capable de
lire , comprendre et simuler l'exécution d'un algorithme.

2- DÉFINITIONS

De manière informelle, un algorithme est le texte (écrit ou oral ) que nous


produisons chaque fois que nous répondons a une question du type "comment faire
telle chose". Chaque fois que nous apprenons quelque chose en observant
comment les gens experts le font , ce que nous retenons du processus observé est
un algorithme : c'est la démarche que nous pourrons reproduire pour imiter l'expert.

3- EXEMPLE ET EXERCICE

Exemple 1: comment additionner deux nombres

Pour additionner deux nombres par exemple a et b:


1- faire un tas de a bâtonnets
2- faire un autre tas de b bâtonnets
3- mélanger les deux tas
4- compter l'ensemble du tas obtenu
5- dire le résultat

Exemple 2: comment multiplier deux nombres

Pour multiplier deux nombres ,par exemple a et b:


1- faire b tad de a bâtonnets chacun
2- mélanger tous les tas
3- compter le tas obtenu
4- dire le résultat

Exercice 1:
Comment calculer la résistance équivalente de deux résistances montées en
série
Exercice 2: Déplacement sur une grille
Soit une grille constituée de cellules ayant chacune une coordonné (x;y).

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

Considérons un robot qui ne sait faire que deux choses :


--> avancer: le robot fait un pas devant lui (avance d'une case)
--> tourner : le robot fait un quart de tour sur lui même a droite

Donner les directives pour que le robot :


1- avance de trois cases
2- fasse un demi-tour
3- le robot recule d'un pas
4- faire avancer le robot jusqu'à ce qu'il rencontre un obstacle
5- faire reculer jusqu'à ce qu'il rencontre un obstacle
6- faire avancer le robot en oblique de 100 cases

Exercice 3:
i. Comment reconnaître un nombre paire
II. Comment obtenir le quotient et le reste de la division de a par b
III. Comment conjuguer un verbe du premier groupe

4- RÉDACTION DE PRINCIPE : un brin d'harmonisation


Un principe peux se présenter sous la forme d'un texte,une illustration ou
d'une formule
CAS DES TEXTES
Concernant les textes , pour limiter les risques d'embiguité du langage
naturel il faut au préalable clairement spécifié les termes à employer et les
capacités ou les compétences de l'exécutant.
Le texte a proprement parler comporte :
--> la spécification de l'ensemble des objets a utilisé
--> la suite d'instructions a effectuer ,trivialement , chaque phrase du texte est
une instruction de la suite et chaque instruction doit faire appel une seule capacité
ou compétences elementaire de l'exécutant. On peut leur associé un numéro d'ordre
.

5- EXÉCUTION D'UN PRINCIPE

L'exécution d'un algorithme est déterminé par :

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

--> deux exécutions différentes sur les mêmes données produisent toujours le
même résultat.
--> le résultat attendu est correct s'il satisfait aux attentes . Un Algorithme
correct produit toujours des résultats corrects .
Un algorithme dont les résultats sont parfois bons , parfois mauvais est
incorrect .
Pour exécuter un algorithme , le lecteur ( l'exécutant) lit puis exécuté la
première instruction, il lit ensuite l'instruction suivante et l'exécute . Il continue ainsi
jusqu'à la dernière instruction exécuté et forme la trace d'exécution de l'algorithme

Exemple 1: algorithme qui fait la somme de deux nombres

Données : a,b
Resultat: s
1- faire un tas de a bâtonnets
2- faire un autre tas de b bâtonnets
3- mélanger les deux tas
4- compter l'ensemble du tas obtenu
5- le total est s

Trace
1--> 2 --> 3 --> 4 -- > 5

Pour un algorithme de n instructions, les numéros de la trace peuvent :


--> apparaissent de manière continue de la première a la dernière : l'exécution est
alors dite séquentielle.
--> présenter des discontinuités : présente un schéma fonctionnel
--> présenter des répétitions : présence de boucle ou d'instructions répétitives
Dans les deux derniers cas , le texte de l'algorithme comporte des
instructions de rupture de séquences dont le but est de contrôler le flot d'exécution.
Il existe deux types d'instructions, de rupture de séquence élémentaire :
--> instruction de flot inconditionnelle : aller a la ligne i
--> instruction de flot conditionnelle : aller a la ligne i si la condition c est vérifié.
Les textes de conditions doivent faire partir de la compétence de l'exécutant.
Les instructions de flot permettent de réaliser les instructions conditionnelle
ou répétitives

Exercice :
1- comment calculer la moitié d'un nombre
2- comment calculer le successeur du triple d'un nombre
3- donner un pseudo algorithme pour évaluer
Y= x/2 si x est paire
Y= 3x+1 sinon
4- écrire un pseudo algorithme particulier des différents termes (f(x))' , x=1,2,...

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

Jusqu'à ce que (f(x))''=1


(f(x))''=f[f(x)]

Solution :
1- soit x y=x/2
2-soit x y=3x+1
3- soit x
Si x est paire alors
y=x/2
Sinon
y=3x+1
Fsi
F=y

4- soit x

Tant que X différents de 1 faire


Y=f(x)
X=Y
Ftq

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

II. STRUCTURE DE CONTRÔLE DE FLOT

1- INTRODUCTION
2- NOTION DE BLOC D'INSTRUCTIONS
3- SCHÉMA SÉQUENTIEL
4- SCHÉMA CONDITIONNEL
5- SCHÉMA ITERATIF
6- STRUCTURES IMBRIQUÉES

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

1- INTRODUCTION
Le flot est une abstraction de l'exécution d'un algorithme , ce que l'on peut
représenter également par la trace . La longueur d'une trace peut être "plus grande" ,
"plus petite" ou "égale" ou nombre d'exécution de l'algorithme.
Le texte de l'algorithme comporte alors une structure de contrôle de flot qui
indique quel sera la prochaine instruction à exécuter a la fin du traitement de
l'instruction courante. De manière véridique , cette structure de contrôle pilote
l'exécution du texte de deux manières :
--> continuer en séquence
--> aller a la ligne x avec /sans condition.
Ces structures de contrôle , permettent de réaliser trois formes de schéma
d'exécution de bases:
--> le schéma séquentiel
--> le schéma conditionnel
--> le schéma itératif

2- NOTION DE BLOC D'INSTRUCTIONS

Un bloc d'instructions est un regroupement d'instructions qui se suivent


dans un algorithme. On peut considérer un algorithme entier comme un "bloc" : le
bloc principale. De même , on peut décomposer un algorithme en plusieurs blocs ,
tous contenus dans le bloc principale. La logique du découpage pouvant être
fonctionnel ou structurel . Pour mettre en évidence un bloc , on introduit dans le
texte des marques de début et de fin.

3- SCHÉMA SÉQUENTIEL
Le schéma séquentiel caractérise les blocs constitués des instructions qui
s'exécutent l'une après l'autre de la première a la dernière sans interruption . Un
bloc séquentiel ne comporte pas d'instructions de rupture de séquence.

4- SCHÉMA CONDITIONNEL

C'est un schéma qui possède une instruction permettant d'exécuter un


traitement si et seulement si une condition est vérifiée. Dans le langage naturel , la
condition amitié est déterminé par le mot réservé "si" . Nous adopterons ce mot et
l'employerons comme suit :
si (condition c) alors.
Traitement T
La suite d'instructions qui constitue le traitement T est un bloc.
Le schéma conditionnel permet également de réaliser des alternatives :
Un traitement T1 est réalisé si une condition C est vérifiée, dans le cas
contraire le traitement T2 qui doit être réalisé .le model d'expression de l'alternative

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

est le suivant :
si ( C) alors
T1
sinon
T2

5- LE SCHÉMA ITERATIF
Lorsqu'un bloc d'instructions est répété plusieurs fois de suite durant
l'exécution d'un algorithme , le schéma correspondant est le schéma itératif.
Un schéma itératif possède <<un roteur>> dont la rotation va entraîner
la répet d'un traitement . A chaque coup de roteur , le traitement est exécuter une
fois . On dit aussi qu'à chaque coup du roteur on réalise une itération de traitement.
Il existe trois types de roteur que l'on appel communément boucle:
--> la boucle pour
--> la boucle répéter
--> la boucle <<tant que >>
Leurs modèles se représente comme suit :
a- la boucle Tant que.
Pour réaliser un traitement T plusieurs fois de suite tant que une
condition C est vérifiée on utilise le model suivant

Tant que (C) faire


T

La suite d'instructions de T est un bloc . Pour le rendre évident on utilise


généralement le model suivant :

Tant que (C) faire


T
Fin tant que

b- la boucle <<repeter>>.
Elle permet de répéter un traitement T jusqu'à ce qu'une condition C
spot vérifier. Son texte est le suivant :

Répéter
T
Jusqu'à (C)

c- la boucle <<pour>>
Elle permet de répéter une action un certain nombre de fois connu
a l'avance. Le model suivant permet de répéter T n fois de suite

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

Pour i de 1 à n faire pour i<--1 à n faire


T Ou T
fin pour fin pour

6- STRUCTURES IMBRIQUÉES
On peut imbriquée une structure dans une autres . Dans ce cas , les
précautions à prendre est d'éviter les regroupements.

Exp: si (C1) alors


T1
si (C2) alors
T2
Fsi2
Fsi1

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

III. ALGORITHME PAR ORDINATEUR

1- INTRODUCTION

2- LANGAGE DE BASE DE L'ORDINATEUR

3- DÉFINITION

4- LES DONNÉES

5- LES EXPRESSIONS

6- OPÉRATEUR D'ENTRÉE/SORTIE

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

1- INTRODUCTION

Dans le chapitre précédent , nous avons présenté d'une manière


informelle la notion d'algorithme et nous avons précisé les caractéristiques d'un bon
algorithme : précis et concis ,. Style impératif , fiable ...etc. Nous avons précisé que
les termes employés devraient s'accorder avec la capacité attendu . Désormais
notre cible sera les ordinateurs . Les actions a considérer sont alors aux seule
opérations ou calcul qu'un ordinateur peut réaliser . C'est pourquoi les algorithmes
se présentent comme les fiches de calculs.

2- LANGAGE DE BASE DE L'ORDINATEUR

Un ordinateur est une machine de traitement automatique de


l'information capable de :
--> acquérir l'information
--> stocker l'information
--> traiter l'information
--> restituer l'information.
De ces fonctionnalités découle l'architecture simplifiée ci dessous :

Il apparaît qu'un ordinateur réalisé les trois actions suivantes :


--> lecture : matérialiser par l'opération "lire(x);" qui permet a l'ordinateur de
stocker en mémoire centrale dans un emplacement identifier par le nom x , la valeur
saisir au clavier par l'utilisateur de l'algorithme
--> l'écriture : matérialiser par l'opération "écrire (x);" qui permet a
l'ordinateur d'afficher la valeur de l'information qui se trouve a l'emplacement nome
x de la mémoire

--> les calculs : qui correspondent aux opérations , arithmétique , logiques ,


relationnelles ...etc.

3- DÉFINITION

Un algorithme est une suite d'instructions finis qui décrit les étapes de la
résolution d'un problème en terme de calculs et qui s'exécute en un temps fini
pour produire le résultat.

Exemple : algorithme qui permet de déterminer le périmètre d'un rectangle

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

Algorithme rectangle ;
Variable : long, larg, Dp, p: reels
Début
Lire(long);
Lire(larg);
Dp<----- long+larg;
P<------- Dp*2;
Écrire(p);
Fin

4- LES DONNÉES

Dans le monde réel , les objets portes des noms , ils peuvent être concrets
ou abstrait. Chaque objet possède une valeur comme par exemple l'intensité du
courant électrique , la taille d'une personne ...etc . Ces valeurs peuvent être
numérique ou non numérique. En informatique , les programmes ne traitent pas les
objets mais plutôt des représentations d'objets qui sont copiés en mémoire en des
emplacements appelées variables .
Une variable est une zone de la mémoire qui est localisé par une adresse
a laquelle on peut affecter un nom ( son identifiant) et qui peut contenir une valeur
d'un type donné . Le type défini la plage de valeurs que peut prendre une variable .
Les types de variable gérer sont les suivantes : entier , réel , caractère , chaîne ,
booléen.
Avant d'être utilisé , une variable doit être déclarer . La déclaration d'une
variable précisé son identifiant et son type . En algorithmique on déclare les
variables dans une zone étiquetté par le mot réservé "Var" comme l'indique
l'exemple suivant :
Algorithme exemple;
Var x: entier
a,b: reels
B: booléen

L'exécution du programme peut modifier la valeur d'une variable .


Cependant il est parfois utile de posséder des variables dont la valeur ne change
pas. De tel variables sont appelés "constante" on les déclares dans une zone du
programme étiquetté par le mot clé "const" comme l'indique l'exemple suivant :
Algorithme exemple
Const Pi=3'14
G=10

LES identificateurs ( nombre de variable) sont des suites de caractère


alphanumérique pouvant inclure des traits de soulignement. Toutefois, le premier

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

caractère d'un identificateur ne dois pas être un chiffre.

5- LES EXPRESSIONS

Les expressions sont analogues ou formule , une expression est une suite
de symboles , de variable , de constante , d'opérateurs et éventuellement de
parenthèses.
Une expression précisé un calcul qui peut être arithmétique , logique ou
relationnel . Les opérateurs que l'on retrouve dans les instructions sont les suivants :
--> opérateurs arithmétique : +,=, *,/,mod,^
--> opérateurs logique : et , ou , non
--> opérateurs relationnel : < , <= , = , > , >=
Exemple : écrire un algorithme qui examine une expression
2
f(x)= x+3/x -log(x)+√3

Algorithme Expression;
Var x,f: reels;
Début
Lire(x);
f<---(x+3)/(x*x2-log(x) + √3);
Écrire (x);
Fin

L'affection est également un opérateur . Il est symbolisé par le caractère


(<---) . Son symptique est le suivant
•|v <--- RV
•|v. <---- expression
On affecte la valeur d'une autre variable pour le résultat de l'évaluation
d'une expression situé à droite de l'opérateur.
L'affectation codifie la valeur de la variable réceptrice . Une lettre value ne
peut être une constante.

6- OPÉRATEURS D'ENTRÉE/SORTIE

Les opérateurs d'entrée/sortie permettent a l'ordinateur de


communiquer avec lincrementation pour acquérir ou restituer des informations .
Ces opérations sont là "lecture" , "l'écriture" dont les synoptiques sont les
suivantes :
--> lire(x) : permet a l'ordinateur de récupérer la valeur saisir par l'utilisateur et
de la stockée en mémoire centrale dans la variable "x" , la donnée lu ou acquise
ecrase l'ancienne valeur de la variable x de la machine.
--> écrire (x): permet a l'ordinateur d'afficher sur un terminal la valeur de la
variable x . L'écriture ne modifie pas la valeur de x

COMPUTERS SCIENCE la reference Informatique


COMPUTERS SCIENCE la reference Informatique

--> écrire ("message"): permet d'afficher la chaîne de caractères "message"


sur le terminal.
On peut combiner plusieurs lecturebou écriture dans une seule
instruction
Exemple : Lire(a,b);
Écrire("résultat",s);

Pour spécifier le traitement conditionnel , on utilise l'instruction structuré


"si" donc le synoptique est le suivant :
si (condition) alors si (condition) alors
T T1
fsi. sinon
T2
fsi

COMPUTERS SCIENCE la reference Informatique