39
BTS DSI ALGORITHMIQUE 1 BTS DSI Pr. Salwa Baqqali  Algorithmique module 13

Notion d’algorithme1

Embed Size (px)

Citation preview

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 1/39

BTS DSI ALGORITHMIQUE 1

BTS DSIPr. Salwa Baqqali

 Algorithmique

module 13

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 2/39

BTS DSI ALGORITHMIQUE 2

Notion d·algorithme

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 3/39

BTS DSI ALGORITHMIQUE 3

Structure générale d·un système

informatique :

Un ordinateur comprend cinq éléments

fon

damen

taux : l¶unité d¶entrée.

l¶unité de sortie.

l¶unité de mémoire.

l¶unité de contrôle.

l¶unité arithmétique.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 4/39

BTS DSI ALGORITHMIQUE 4

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 5/39

BTS DSI ALGORITHMIQUE 5

Les unités d¶entrée sortie sont des éléments qui permettent àl¶ordinateur de recevoir ou d¶émettrede l¶information (clavier, imprimante, CD-Rom, clé USB,«).

Les trois autres unités (L¶unité de mémoire, l¶unité de contrôle etl¶unité arithmétique) constituent l¶unité centrale (UC).

L¶unité de mémoire est l¶élément où sont stockées les donnéeset les résultats, elle est constituée de très nombreuses cases(cases mémoires).

L¶unité de contrôle coordonne toutes les activités des diverséléments de l¶ordinateur. Elle émet des commandes, contrôle lessignaux et détermine les séquences des diverses instructions.

L¶unité arithmétique est constituée de circuits électriques qui

exécutent les diverses opérations arithmétiques et logiques.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 6/39

BTS DSI ALGORITHMIQUE 6

M

éthodologie de programmation

Les différentes étapes du processus de

programmation

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 7/39

BTS DSI ALGORITHMIQUE 7

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 8/39

BTS DSI ALGORITHMIQUE 8

L¶analyse d¶un problème posé consiste à définir les différentes étapes de sa résolution.L¶ensemble de ces spécifications représentel¶algorithme.

La phase suivante consiste à traduire l¶algorithmedans un langage de programmation donné.

Dans le cas d¶erreur, le programme produit des

faux résultats : les retours vers l¶analyse(algorithme) sont alors nécessaires.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 9/39

BTS DSI ALGORITHMIQUE 9

 Algorithme :définition :

Un

algorithme c¶est un

e suite ordonn

ée d¶ordre ou detache à exécuter par la machine pour obtenir un résultat définie par le cahier de charge.

 Algorithme = méthode de résolution

 Algorithme vient du nom du célèbre mathématicien arabe Al Khawarizmi (Abu Jaafar Mohammed Ben Mussa Al-Khawarizmi).

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 10/39

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 11/39

BTS DSI ALGORITHMIQUE 11

La conception d¶un algorithme passe par 

plusieurs étapes : Analyse: définition du problème en termes de

séquences d¶opérations de calcul de stockagede données, etc.

Conception: définition précise des données,des traitements et de leur séquencement.

Implantation: traduction et réalisation del¶algorithme dans un langage précis.

Test: Vérification du bon fonctionnement del¶algorithme.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 12/39

BTS DSI ALGORITHMIQUE 12

Structure d¶un algorithme :

Début

Instruction 1 Les instructions sont exécutées

en ordre de 1 à N. les limites d¶algorithmes sont

définis par début etfin.

.

.Instruction N

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 13/39

BTS DSI ALGORITHMIQUE 13

Organisation d·un algorithme

Exemple d¶un programme : Algor ithme monAlg

 /* Constantes: initialisation obligatoir e */

CONST const1 : entier 

const2 : chaîne  // Les var iables

VAR var Reel1, var Reel2 : réels

varChaine : chaîne

DEBUT

Instruction1

Instruction2

«

FIN

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 14/39

BTS DSI ALGORITHMIQUE 14

Les données :

Données = ensemble des informationsmanipulées par un programme

Les données d'un programme sontmémorisées en mémoire centrale dans desvariables (sortes de cases)

Donnée : valeur stockée variable ou constante

Type

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 15/39

BTS DSI ALGORITHMIQUE 15

Traitement : opérations sur les données

instructions

Données initiales Traitements résultats

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 16/39

BTS DSI ALGORITHMIQUE 16

 Analyse du problème

Décomposer la tâche

Exemple simple : moyenne de 10 notes

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 17/39

BTS DSI ALGORITHMIQUE 17

 Variables

Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement

des valeurs. Il peut s¶agir de données issues du

disque dur, four nies par l¶utilisateur (frappées auclavier). Ces données peuvent être de plusieurstypes : elles peuvent être des nombres, du texte,

etc. Dès que l¶on a besoin de stocker une

information au cours d¶un programme, on utilise unevariable.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 18/39

BTS DSI ALGORITHMIQUE 18

Notion de variable :

Une variable possède : une valeur contenue par la case mémoire.

un identificateur : nom unique par lequel on peutaccéder à son contenu.

un type qui définit la taille de la place occupée.

Ne pas confondre la variable et son contenu Une variable est un contenant (case ou boîte).

Le contenu d'une variable est une valeur numérique, alphanumérique«

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 19/39

BTS DSI ALGORITHMIQUE 19

On utilisera différents types de variables (pour le moment):

Par exemple,définit 2 variables de type entières n'ayantaucune valeur (pour l'instant).

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 20/39

BTS DSI ALGORITHMIQUE 20

 T ypes numériques classiques

Entier  : une variable est dite entière si elle prend ses valeurs dansZ et quelle peut supporter les opérations suivantes :

 Addition, soustraction, multiplication, division.

Division entièr e notée div :

N div p=q : la division entière de n par p donne la partie entièredu quotient q.

Division modulo notée mod :

N mod p=r : la division modulo de n par p donne le reste r.

Exemples :

12 div 3=4 13 div 3=4

12 mod 3=0

13 mod 3=1

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 21/39

BTS DSI ALGORITHMIQUE 21

R éel :

Si la variable prend ses valeurs dans IR(ensemble des nombres réels).

Il existe deux représentations des réels : la forme usuelle avec les points : 0.426 , 342.78 , -12.5

la notation scientifique ayant la forme suivante : aE+bou :

Exemple : 247=2.4 E2=0.247 E3= 2470 E-1

Les opérations définies sur les réels : Addition, soustraction, multiplication, division.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 22/39

BTS DSI ALGORITHMIQUE 22

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 23/39

BTS DSI ALGORITHMIQUE 23

 A utres types numériques

Certains langages autorisent d¶autres typesnumériques, notamment :

le type monétaire (avec strictement deux chiffres aprèsla virgule)

le type date (jour/mois/année).

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 24/39

BTS DSI ALGORITHMIQUE 24

Type alphanumér ique

Le type alphanumérique caractérise les valeurs caractères (notées Car) ou chaî ne decaractères (notées chaî ne).

Caractère : peut appartenir au domaine des chiffres de µ0¶ à µ9¶, des lettres de A à Z(majuscules ou minuscules) et des caractères spéciaux (µ+¶, µ-µ, 4,¶, µ, µ ;¶, .¶, µ(µ, µ)¶, µ}¶, µ]¶, %,$,«

Uncaractère sera toujours

noté e

ntre des apostrophes.

Chaine : est une suite finie des caractères quelconques. Exemple : µbon  jour¶ µtelevision¶ Var   A : chaine Debut   A ¶bon jour¶ Ecrire(A)

Fin Dans une variable de ce type, on stocke des caractères, qu¶il s¶agisse de lettres, de

signes de ponctuation, d¶espaces, ou même de chiffres. Le nombre maximal de caractèrespouvant être stockés dans une seule variable string dépend du langage utilisé.

Un groupe de caractères (y compris un groupe de un, ou de zéro caractères), qu¶il soit ou non stocké dans une variable est donc souvent appelé chaî ne de caractères.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 25/39

BTS DSI ALGORITHMIQUE 25

 T ype booléen

Le der nier type de variables est le type booléen :on y stocke uniquement les valeurs logiques VRAIet FAUX.

On peut représenter ces notions abstraitesde VRAI et de FAUX par tout ce qu'on veut :de l'anglais (TRUE et FALSE) ou desnombres (0 et 1).

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 26/39

BTS DSI ALGORITHMIQUE 26

 A ffectation, expression et opérateurs

L¶affectation est l¶action élémentaire dontl¶effet est de donner une valeur à unevariable (ranger une valeur à une place).

L'affectation est réalisée au moyen del'opérateur 

(ou = en C et := en Pascal)

Exemple: A 4

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 27/39

BTS DSI ALGORITHMIQUE 27

O pérateurs :

Un opérateur est un signe qui relie deuxvaleurs, pour produire un résultat.

Opérateurs numériques :

Ce sont les quatre opérations arithmétiques :

+ Addition 

- soustraction 

* multiplication 

/ Division

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 28/39

BTS DSI ALGORITHMIQUE 28

Lire et écrire

Soit le programme suivant :

Variable A : entière

Début

  A 12^2

Fin 

Ce programme nous donne le carré de 12 soit144.

On remarque que :

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 29/39

BTS DSI ALGORITHMIQUE 29

Si on veut connaître le résultat d¶un calcul ou le contenu d¶unevariable X, l¶algorithme doit contenir l¶instruction qui commande àla machine de four nir ce résultat. Cette instruction est

écrire(X)

qui signifie : mettre sur l¶écran (organe de sortie de la machine)le contenu de la case X. Cette action ne modifie pas le contenude X. Exemple : soit le morceau d¶algorithme suivant :

 A étant une donnée, X un résultat

lire (A)X A^2

écrire (X)

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 30/39

BTS DSI ALGORITHMIQUE 30

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 31/39

BTS DSI ALGORITHMIQUE 31

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 32/39

BTS DSI ALGORITHMIQUE 32

Structure sélective

Si condition alor s inst1

Si la con

dition

est vrai l¶ordin

ateur exécutel¶inst1.

Si elle est fausse l¶ordinateur exécutel¶inst2.

Si«alors«sinon

Fin si

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 33/39

BTS DSI ALGORITHMIQUE 33

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 34/39

BTS DSI ALGORITHMIQUE 34

Solution

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 35/39

BTS DSI ALGORITHMIQUE 35

Structure sélective

choix multiple Choisir expression parmi Exp1 : inst1 Exp2 : inst2 . . ExpN : instN Fch Optionnellement Choisir exp parmi V1 : exp 1 V2 : exp 2 .

. VN : exp N Sinon exp N+1 Fch

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 36/39

BTS DSI ALGORITHMIQUE 36

autre forme de l·action sélective

le choix multiple Syntaxe : Selon variable Début Val1 : action 1 Val2 : action 2 « Val N : action  Fin  Si variable est égale à val i, on exécute action i, et

on passe à la suite de l¶algorithme, sinon on exécuteaction et on passe à la suite de l¶algorithme.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 37/39

BTS DSI ALGORITHMIQUE 37

L·action itérative

la forme répétitive :

Il y a trois sortes de formes répétitives permettant de répéter l¶exécution d¶un bloc d¶instruction, le nombre de répétition estdéfini dans l¶instruction.

1ér e f or me répétitive :

Tant que condition faire Inst 1

Inst 2

« Bloc des instructions à répéter 

Inst N

Fin Tq Tant que la condition est vérifiée on exécutera le corps de la

boucle, on s¶arrêtera dés que la condition n¶est plus vérifiée.

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 38/39

BTS DSI ALGORITHMIQUE 38

2ére forme répétitive

La boucle répéter 

La boucle Répéter permet de rentrer dans la bouclequelque soit la condition et réitère l¶exécution 

 jusqu¶à ce que la condition soit vérifiée. Répéter 

«

 Action 

«

Jusqu¶à condition

8/3/2019 Notion d’algorithme1

http://slidepdf.com/reader/full/notion-dalgorithme1 39/39

BTS DSI ALGORITHMIQUE 39

3ére forme répétitive :

La boucle Pour 

Syntaxe

Pour compteur allant de valeur i

nitiale pas de i

ncréme

nt faire

...

Traitement

...

Fin Pour  La boucle pour permet de répéter une instruction un nombre connu de fois.