Introduction à l`algorithmique

publicité
DAIGL
BTS Informatique de gestion 1€re ann•e
Chapitre 1 : Introduction ‚
l'algorithmique - Les donn•es
1.
Le d•veloppement d’applications ................................................................................ 2
1.1. L'analyse............................................................................................................... 2
1.2. L'algorithmique ...................................................................................................... 2
1.3. La programmation .................................................................................................. 3
2.
Structure g•n•rale d’un algorithme ............................................................................ 4
3.
Les donn•es ................................................................................................................ 5
3.1. Les variables.......................................................................................................... 5
3.1.1. D‚finition et caract‚ristiques............................................................................... 5
3.1.2. Les diff‚rents types de variables ......................................................................... 7
3.1.3. D‚claration ....................................................................................................... 7
3.2. Les constantes ....................................................................................................... 8
3.2.1. D‚finition et caract‚ristiques............................................................................... 8
3.2.2. D‚claration ....................................................................................................... 8
4.
Exercices..................................................................................................................... 9
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
1
DAIGL
BTS Informatique de gestion 1€re ann•e
1. Le d•veloppement d’applications
De maniƒre sch‚matique, on peut repr‚senter l’activit‚ de d‚veloppement sous la forme suivante :
R‚flexion
Codage
Problƒme
Programme
Algorithme


1.1. L'analyse
L’analyse est la lecture qu’on porte sur un problƒme ‚nonc‚. En g‚n‚ral, un problƒme est pr‚sent‚ •
travers une formulation propre • son auteur et au m‚tier qu’il exerce. Les consid‚rations
informatiques sont inexistantes.
Il est donc n‚cessaire • l’informaticien d’exprimer, dans un premier temps, le m…me problƒme au
moyen d’un vocabulaire, d’outils, de concepts sp‚cifiquement informatiques (d‚claration de
variables, de constantes, op‚rations • effectuer…)
1.2. L'algorithmique
Une fois cette analyse compl‚t‚e, nombre de donn‚es et traitements sont mis au jour. Ceux-ci
seront au cœur du second temps de la r‚flexion, celui de la formalisation d’algorithmes.
D•finition d’un algorithme
Avez-vous d‚j• indiqu‚ un chemin • un touriste ‚gar‚ ? Avez-vous fait chercher un objet •
quelqu’un par t‚l‚phone ? Si oui, vous avez d‚j• fabriqu‚ – et fait ex‚cuter – des algorithmes.
D•finition de l’algorithmique
L’algorithmique est une m‚thode de r‚flexion qui permet de d‚composer un problƒme complexe en
une suite ordonn‚e et finie d’actions • accomplir (l’algorithme), pour parvenir • un r‚sultat
d‚termin‚.
 La d•marche algorithmique
L’algorithmique est une m‚thode permettant de trouver l’algorithme qui r‚sout un problƒme
donn‚. L’algorithme lui-m…me n’est donc que le r‚sultat d’une d‚marche qui consiste • :
 Comprendre le probl€me ‚ r•soudre
Si ce n’est pas le cas, il pourra …tre utile de se le repr‚senter • travers des cas ou exemples
concrets. Par ailleurs, le questionnement et la recherche d’une reformulation seront aussi
pr‚cieux pour ‚clairer le sujet.
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
2
DAIGL
BTS Informatique de gestion 1€re ann•e
 Rechercher une solution
Il n’en existe pas forc‚ment qu’une, mais certaines sont meilleures que d’autres. Selon la
formule consacr‚e, un moyen efficace de r‚solution sera de ˆ Diviser chaque problƒme en
autant de parties qu’il est n‚cessaire pour mieux les r‚soudre ‰.
 Algorithmique et informatique
En informatique, un algorithme repr‚sente l'enchaŠnement des actions (instructions)
n‚cessaires pour faire ex‚cuter une t‹che • un ordinateur (r‚soudre un problƒme).
 L’algorithme peut …tre pr‚sent‚ sous une forme graphique (organigramme, arbre
programmatique…) ou bien verbeuse. Nous utiliserons, pour ce qui nous concerne, cette
derniƒre forme au moyen de ce que l’on appelle un pseudo-langage.
 Tout comme un programme, un algorithme transforme des donn‚es (entr‚es) en r‚sultats
(sorties) par un traitement.
1.3. La programmation
Un algorithme est un programme que l’on peut qualifier d’universel. Il repr‚sente l’ensemble des
actions que l’on va demander • l’ordinateur d’effectuer. Cet ensemble est r‚dig‚ dans un langage
ind‚pendant de toute impl‚mentation technique.
- Ind‚pendance vis • vis du langage de programmation r‚el
- Ind‚pendance vis • vis du systƒme d’exploitation utilis‚
- Ind‚pendance vis • vis de l’architecture de l’ordinateur
La programmation consiste • r‚aliser les programmes qui vont permettre la mise en œuvre des
algorithmes.
Le programme est obtenu par le codage de l’algorithme dans le langage de programmation
retenu.
Les programmes ont pour but de traiter des donn•es afin de produire des r•sultats. Les
r‚sultats peuvent eux-m…mes constituer des donn‚es pour d'autres programmes ou pour le
programme lui-m…me.
Vu de l’ext‚rieur, le programme est une boŠte noire dans laquelle on introduit des donn‚es (les
entr‚es) pour produire des r‚sultats (les sorties)
D onnÄes
P rogramme
R Äs ul tats
Le rŒle du programmeur est de d‚finir le contenu de la boŠte noire selon les besoins de l’utilisateur
qui souhaite des r•ponses correctes dans un temps raisonnable.
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
3
DAIGL
BTS Informatique de gestion 1€re ann•e
2. Structure g•n•rale d’un algorithme
La structure g‚n‚rale d’un algorithme est la suivante :
ALGO essai
CONST
titi = 10
tutu = "bonjour!"
// les variables au sens strict
VAR
riri, fifi : r•els
loulou : cha„ne
DEBUT
/* liste des instructions
Ä exÅcuter par le programme */
…
FIN

Les mots ALGO, DEBUT et FIN ainsi que le nom de l’algorithme sont obligatoires.

L’indentation (lignes en retrait) est indispensable dans un algorithme (ou un code source)
afin de le rendre plus lisible.

Il est possible et m…me fortement conseill‚ d’ajouter des commentaires dans les algorithmes et
les programmes. Ces commentaires vont permettre de d•crire des portions de code complexes,
d‚finir l’utilit‚ d’une variable, etc. Ces commentaires vont permettre une meilleure relecture du
traitement et sont donc trƒs utiles en maintenance corrective ou •volutive.
Il est possible d’ins‚rer des commentaires
- Sur une seule ligne : dans ce cas on le fait pr‚c‚der de //
- Sur plusieurs lignes : dans ce cas, la premiƒre ligne commence par /* et la derniƒre ligne
se termine par */ (Cf. exemple ci-dessus)
Dans la suite de ce chapitre, nous allons ‚tudier la partie d‚claration de l’algorithme, autrement dit
la d•finition des donn•es.
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
4
DAIGL
BTS Informatique de gestion 1€re ann•e
3. Les donn•es
Un algorithme ou un programme manipule des informations : les donn‚es.
On distingue deux types de donn‚es : les variables et les constantes. Comme leur nom l'indique,
les "variables" sont des donn‚es qui pourront varier (dont la valeur pourra changer) durant
l'ex‚cution du programme. A l'inverse, les "constantes" ont une valeur constante tout au long de
l'ex‚cution du programme.
3.1. Les variables
3.1.1.
D•finition et caract•ristiques
Les variables sont des donn‚es qui doivent …tre stock‚es quelque part : dans la m‚moire de
l'ordinateur.
Comme vous vous en doutez, tout cela est organis‚.
La m‚moire de l'ordinateur peut …tre vue comme plein de boŠtes vides.
On veut par exemple m‚moriser le nombre 2010, mais on ne peut pas le mettre comme cela dans
une boŠte vide, car on ne pourra pas le retrouver !
On va donc coller une Åtiquette sur une des boŠtes et la nommer "ann‚e" : cela permettre de la
retrouver plus tard.
On va maintenant pouvoir y ranger le nombre 2010 • l'int‚rieur.
Et bien en algo (et en programmation), c'est le m…me principe :



la boŠte s'appelle une variable.
L'‚tiquette appos‚e sur la boŠte est le nom de cette variable (dans notre cas, ann‚e).
Le nombre 2010 est la valeur de cette variable.
Attention, une "boite" ne contient qu'une seule valeur !
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
5
DAIGL
BTS Informatique de gestion 1€re ann•e
Une fois les informations ainsi stock‚es en m‚moire, vous allez pouvoir les lire quand vous en aurez
besoin. Cela consiste • ouvrir la boŠte, prendre l'information, l'utiliser et la remettre dans sa boŠte.
Par exemple, on fait un calcul, on enregistre le r‚sultat dans une variable, et au moment opportun,
on affiche le r‚sultat.
Mais vous aurez vite besoin de les modifier. Dans ce cas, on ouvre la boŠte, et on remplace
l'ancienne valeur par la nouvelle.
En r‚sum‚
Les variables sont des contenants (des boŠtes), qui contiennent une valeur (un nombre, un texte,
une date, …).
 Elles permettent le stockage d'une information
 Deux variables peuvent avoir la m…me valeur
 Une variable ne peut avoir qu'une seule valeur ‚ un instant donn•
 La valeur d'une variable peut varier au cours du programme. L'ancienne valeur est •cras•e et
remplac•e par la nouvelle.
 Le nom des variables
Il s’agit d'un identificateur unique, par lequel on peut acc‚der • son contenu.
Par exemple, on peut avoir en m‚moire une variable prix et une variable quantit‚ qui
contiennent les valeurs 10.2 et 5
10,2
5
prix
quantitÅ
Conventions de nommage
 Le nom d’une variable est constitu‚ d’un ou plusieurs mots, la premiƒre lettre de chaque mot
‚tant en majuscule, sauf le premier en g‚n‚ral
Par exemple :
montantTTC
valeurDeTravail
MontantFrais
• ‚viter (car peu lisible) : valeurdetravail
mais pas incorrect
 Un nom peut …tre compos‚ de lettres et de chiffres mais il ne peut pas commencer par un
chiffre et ne peut pas comporter d'espaces.
 Le nom des variables doit …tre suffisamment significatif afin de reconnaŠtre facilement le rŒle
de cette variable. Par exemple pour des variables repr‚sentant un prix et une quantit‚, ‚vitez
ˆ a Ç et ˆ b Ç mais utilisez plutŒt ˆ prix Ç et ˆ quantitÅ Ç.
 Le type de donn•es des variables
Le type d’une variable correspond • la nature de l’information qu’elle va recevoir : nombre
entier, nombre r‚el, texte, etc.
Le type de donn‚es est une information importante car il d‚termine la nature des op‚rations qui
pourront …tre r‚alis‚es ensuite sur la variable (op‚ration arithm‚tique sur des nombres,
concat‚nation de chaine de caractƒres, etc.).
 La valeur des variables
La valeur d’une variable correspond au contenu de cette variable (de l’emplacement m‚moire).
 Exercice n† 1
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
6
DAIGL
3.1.2.
BTS Informatique de gestion 1€re ann•e
Les diff•rents types de variables
Le type des variables permet de d‚terminer :
- La taille m•moire n‚cessaire pour stocker les valeurs (un simple caractƒre ne n‚cessite pas la
m…me taille m‚moire qu’un nombre r‚el)
- Les op•rations applicables sur la variable (on ne divise pas des chaŠnes de caractƒres !)
En algorithmique, on distingue 6 types principaux :

Le type
Dans une variable de ce type, on stocke un caractƒre, qu’il s’agisse de lettre, chiffre, caractƒre
de ponctuation, espace, retour chariot,… et plus g‚n‚ralement toutes les touches que l'on peut
trouver sur une machine • ‚crire.
Convention : les caractƒres sont entour‚s d’apostrophes (simples quotes)
Exemples : 'a' 'B'

Le type
Dans une variable de ce type, on stocke une chaŠne de caractƒres, c'est-•-dire une suite de
caractƒres
Convention : les chaŠnes de caractƒres dont entour‚es de guillemets (doubles quotes).
Exemple : "Bient‡t les vacances"

Le type
Les entiers correspondent aux nombres sans virgule.

Le type
Les r‚els correspondent aux nombres • virgule ou sans virgule. Le s‚parateur de d‚cimales est
le point.

Le type
Les variables de ce type permettent de stocker les valeurs logiques VRAI ou FAUX

Le type
Les variables de type Date permettent de stocker les dates.
 Exercices n† 2 ‚ 4
3.1.3.
D•claration
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.
Les variables sont d‚clar‚es dans le bloc de d•claration de variables :
Exemples
ALGO essai
On indique le nom de la
variable suivi de deux points
(:) suivi du type de donnÅe.
Il est possible de dÅclarer
plusieurs variables de mÉme
type sur une mÉme ligne.
DEBUT
< instructions >
FIN
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
7
DAIGL
BTS Informatique de gestion 1€re ann•e
3.2. Les constantes
3.2.1.
D•finition et caract•ristiques
 Une constante est une donn‚e qui ne poss€de pas d’emplacement m•moire. En fait, la
constante est en quelque sorte un "alias" de la valeur : au lieu d'indiquer dans le code la valeur
elle-m…me, on pr‚cise le nom de la constante. Le compilateur remplace directement la valeur
dans le code du programme chaque fois qu'il rencontre une constante.
 L'int‚r…t des constantes est double : mise • jour plus rapide et lisibilit‚ du code
 Comme la constante ne possƒde pas d’emplacement m‚moire, sa valeur ne peut pas …tre
modifi•e.
Tout comme les variables, les constantes sont caract‚ris‚es par un nom, une valeur et un type de
donn•e.
Le type de donn•e de la constante est implicite (on ne le pr‚cise pas), puisqu’il est d‚termin‚ par
la valeur de cette constante.
3.2.2. D•claration
Les constantes sont d‚clar‚es dans le bloc de d•claration de constantes :
Le bloc des constantes est TOUJOURS plac‚ avant le bloc des variables.
Exemples
ALGO essai
VAR
noteObtenue : Caractƒre
nomClient, adresseClient : ChaŠne
nbrJours : Entier
prixTTC : R‚el
resultat : Bool‚en
dateCommande : Date
DEBUT
< instructions >
FIN
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
On indique le nom de la
constante suivi du signe
Ågal (=) suivi de la valeur
de la constante
Dans cet exemple, on
dÅclare une constante
nommÅe PI dont la valeur
est 3.1416
Cette constante est de
type rÅel (implicite)
8
DAIGL
BTS Informatique de gestion 1€re ann•e
4. Exercices
1. Indiquer si les noms de variable suivants sont corrects ou pas
Nom variable
note
note De Maths
notedemaths
1note
noteMaths
NoteDeMaths
note_maths
note1
Correct (O/N)
2. Donnez des exemples de valeur de type :
bool•en
entier
r•el
c arac t€re
c ha„ne
Date
3. Compl•ter le tableau suivant en indiquant si les valeurs indiqu•es sont correctes ou
non
Variable
Type
Valeur
var1
var2
Var3
var4
var5
var6
var7
var8
var9
var10
var11
Caractƒre
Entier
R‚el
Caractƒre
Bool‚en
ChaŠne
Entier
ChaŠne
Caractƒre
ChaŠne
R‚el
‘abc’
3
4
6
"vrai"
"vrai"
3.0
"Vive le BTS IG"
'5'
'40€'
'56.30'
Correcte
(O/N)
Justification
4. Compl•ter le tableau suivant en indiquant le ou les types possibles pour les variables
Valeur de la variable
'a'
"ceci est le r‚sultat"
"40.50"
33
3,1415
FAUX
'VRAI'
Type(s) possibles
DAIGL_IG1_C01 – Introduction • l'algorithmique - Les donn‚es
9
Téléchargement