Académique Documents
Professionnel Documents
Culture Documents
module 13
BTS DSI
ALGORITHMIQUE
Notion dalgorithme
BTS DSI
ALGORITHMIQUE
BTS DSI
ALGORITHMIQUE
Les units dentre sortie sont des lments qui permettent lordinateur de recevoir ou dmettre de linformation (clavier, imprimante, CD-Rom, cl USB,). Les trois autres units (Lunit de mmoire, lunit de contrle et lunit arithmtique) constituent lunit centrale (UC). Lunit de mmoire est llment o sont stockes les donnes et les rsultats, elle est constitue de trs nombreuses cases (cases mmoires). Lunit de contrle coordonne toutes les activits des divers lments de lordinateur. Elle met des commandes, contrle les signaux et dtermine les squences des diverses instructions. Lunit arithmtique est constitue de circuits lectriques qui excutent les diverses oprations arithmtiques et logiques.
BTS DSI
ALGORITHMIQUE
Mthodologie de programmation
BTS DSI
ALGORITHMIQUE
BTS DSI
ALGORITHMIQUE
Lanalyse dun problme pos consiste dfinir les diffrentes tapes de sa rsolution. Lensemble de ces spcifications reprsente lalgorithme. La phase suivante consiste traduire lalgorithme dans un langage de programmation donn. Dans le cas derreur, le programme produit des faux rsultats : les retours vers lanalyse (algorithme) sont alors ncessaires.
BTS DSI
ALGORITHMIQUE
Algorithme :
dfinition : Un algorithme cest une suite ordonne dordre ou de tache excuter par la machine pour obtenir un rsultat dfinie par le cahier de charge. Algorithme = mthode de rsolution Algorithme vient du nom du clbre mathmaticien arabe Al Khawarizmi (Abu Jaafar Mohammed Ben Mussa Al-Khawarizmi).
BTS DSI
ALGORITHMIQUE
Lalgorithmique dsigne aussi la discipline qui tudie les algorithmes et leurs applications en Informatique. Une bonne connaissance de lalgorithmique permet dcrire des algorithmes exacts et efficaces.
BTS DSI
ALGORITHMIQUE
10
La conception dun algorithme passe par plusieurs tapes : Analyse: dfinition du problme en termes de squences doprations de calcul de stockage de donnes, etc. Conception: dfinition prcise des donnes, des traitements et de leur squencement. Implantation: traduction et ralisation de lalgorithme dans un langage prcis. Test: Vrification du bon fonctionnement de lalgorithme.
BTS DSI ALGORITHMIQUE 11
Les instructions sont excutes en ordre de 1 N les limites dalgorithmes sont dfinis par dbut et fin.
. . Instruction N
BTS DSI
ALGORITHMIQUE
12
Exemple dun programme : Algorithme monAlg /* Constantes: initialisation obligatoire */ CONST const1 : entier const2 : chane // Les variables VAR varReel1, varReel2 : rels varChaine : chane DEBUT Instruction1 Instruction2 FIN
BTS DSI
ALGORITHMIQUE
13
Les donnes :
Donnes = ensemble des informations manipules par un programme Les donnes d'un programme sont mmorises en mmoire centrale dans des variables (sortes de cases) Donne : valeur stocke
variable ou constante Type
BTS DSI ALGORITHMIQUE 14
Donnes initiales
Traitements
rsultats
BTS DSI
ALGORITHMIQUE
15
Analyse du problme
Dcomposer la tche Exemple simple : moyenne de 10 notes
BTS DSI
ALGORITHMIQUE
16
Variables
Dans un programme informatique, on va avoir en permanence besoin de stocker provisoirement des valeurs. Il peut sagir de donnes issues du disque dur, fournies par lutilisateur (frappes au clavier). Ces donnes peuvent tre de plusieurs types : elles peuvent tre des nombres, du texte, etc. Ds que lon a besoin de stocker une information au cours dun programme, on utilise une variable.
BTS DSI
ALGORITHMIQUE
17
Notion de variable :
Une variable possde :
une valeur contenue par la case mmoire. un identificateur : nom unique par lequel on peut accder son contenu. un type qui dfinit la taille de la place occupe.
Par exemple, dfinit 2 variables de type entires n'ayant aucune valeur (pour l'instant).
BTS DSI ALGORITHMIQUE 19
Rel :
Si la variable prend ses valeurs dans IR (ensemble des nombres rels). Il existe deux reprsentations des rels :
la forme usuelle avec les points : 0.426 , 342.78 , -12.5 la notation scientifique ayant la forme suivante : aE+b ou :
Exemple : 247=2.4 E2=0.247 E3= 2470 E-1 Les oprations dfinies sur les rels : Addition, soustraction, multiplication, division.
BTS DSI ALGORITHMIQUE 21
BTS DSI
ALGORITHMIQUE
22
le type montaire (avec strictement deux chiffres aprs la virgule) le type date (jour/mois/anne).
BTS DSI
ALGORITHMIQUE
23
Type alphanumrique
Le type alphanumrique caractrise les valeurs caractres (notes Car) ou chane de caractres (notes chane). Caractre : peut appartenir au domaine des chiffres de 0 9, des lettres de A Z (majuscules ou minuscules) et des caractres spciaux (+, -, 4,, , ;, ., (, ), }, ], %, $, Un caractre sera toujours not entre des apostrophes. Chaine : est une suite finie des caractres quelconques. Exemple : bonjour television Var A : chaine Debut A bonjour Ecrire(A) Fin Dans une variable de ce type, on stocke des caractres, quil sagisse de lettres, de signes de ponctuation, despaces, ou mme de chiffres. Le nombre maximal de caractres pouvant tre stocks dans une seule variable string dpend du langage utilis. Un groupe de caractres (y compris un groupe de un, ou de zro caractres), quil soit ou non stock dans une variable est donc souvent appel chane de caractres.
BTS DSI
ALGORITHMIQUE
24
Type boolen
Le dernier type de variables est le type boolen : on y stocke uniquement les valeurs logiques VRAI et FAUX.
On peut reprsenter ces notions abstraites de VRAI et de FAUX par tout ce qu'on veut : de l'anglais (TRUE et FALSE) ou des nombres (0 et 1).
BTS DSI
ALGORITHMIQUE
25
Oprateurs :
Un oprateur est un signe qui relie deux valeurs, pour produire un rsultat. Oprateurs numriques : Ce sont les quatre oprations arithmtiques : + Addition soustraction * multiplication / Division
BTS DSI ALGORITHMIQUE 27
Lire et crire
Soit le programme suivant : Variable A : entire Dbut A 12^2 Fin Ce programme nous donne le carr de 12 soit 144. On remarque que :
BTS DSI ALGORITHMIQUE 28
Si on veut connatre le rsultat dun calcul ou le contenu dune variable X, lalgorithme doit contenir linstruction qui commande la machine de fournir ce rsultat. Cette instruction est crire(X) qui signifie : mettre sur lcran (organe de sortie de la machine) le contenu de la case X. Cette action ne modifie pas le contenu de X. Exemple : soit le morceau dalgorithme suivant : A tant une donne, X un rsultat lire (A) X A^2 crire (X)
BTS DSI
ALGORITHMIQUE
29
BTS DSI
ALGORITHMIQUE
30
BTS DSI
ALGORITHMIQUE
31
Structure slective
Si condition alors inst1 Si la condition est vrai lordinateur excute linst1. Si elle est fausse lordinateur excute linst2. Sialorssinon Fin si
BTS DSI ALGORITHMIQUE 32
BTS DSI
ALGORITHMIQUE
33
Solution
BTS DSI
ALGORITHMIQUE
34
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
BTS DSI
ALGORITHMIQUE
35
Syntaxe : Selon variable Dbut Val1 : action 1 Val2 : action 2 Val N : action Fin Si variable est gale val i, on excute action i, et on passe la suite de lalgorithme, sinon on excute action et on passe la suite de lalgorithme.
BTS DSI ALGORITHMIQUE 36
Il y a trois sortes de formes rptitives permettant de rpter lexcution dun bloc dinstruction, le nombre de rptition est dfini dans linstruction. 1re forme rptitive : Tant que condition faire Inst 1 Inst 2 Bloc des instructions rpter Inst N Fin Tq Tant que la condition est vrifie on excutera le corps de la boucle, on sarrtera ds que la condition nest plus vrifie.
BTS DSI
ALGORITHMIQUE
37
BTS DSI
ALGORITHMIQUE
La boucle Pour Syntaxe ... Traitement ... Fin Pour La boucle pour permet de rpter une instruction un nombre connu de fois.
BTS DSI ALGORITHMIQUE 39