Introduction Un algorithme consiste retranscrire un processus

publicité
Introduction
Un algorithme consiste retranscrire un processus logique a l aide d un langage naturel
Un algorithme est la description d un traitement qui consiste a transformer des données appelées
entrées, afin de produire d’autre données appelées sorties.
Les entrées et les sortis représentent les variables manipulés par l’algorithme
Ecrire un algorithme c’est :
Analysé et comprendre le problème : edudier les données fournis et les résultat attendus
Résoudre le problème c est trouver les structures de données adaptées ainsi que l enchaînement des
actions à réaliser pour passer des données au résultat.
Comment exécuter un algorithme sur un ordinateur ?
Il faut traduire cet algorithme a l aide d un langage de programmation connu par l ordinateur.
Déclaration d une variable
Une variable correspond à un type de variable. Les principaux types sont /
- Chaîne de caractères
- Entier
- Décimal
- Date
- Booléen (valeur vraie ou fausse 0 ou 1)
- Etc.
Les affectations
Affecter une variable consiste à lui donner une valeur. Cette valeur peut être soit une constante, soit
une valeur d une autre variable, soit le résultat d un calcul.
Ex : si A est variable de type Byte (valeur 0- 255) on peut écrire :
A <- 3, A<- 3+4, A<- 2B, A <- (BxB)/C
Le symbole <- est le symbole d affectation (il peut être remplace par =)
Si une variable est numérique A<- 0
Si une variable est chaîne de caractères A <- « 0 », ou A <- « lettres »
L’entrée d information
La primitive d entrée ou saisir (entrée clavier) et lire (lecture en provenant du DD)
Le but de ces primitives est de permettre a l ordinateur d affecter une variable extenso=rieur a une
autre variable. Le nom de cette adresse se trouve la valeur, a un moment donne de la variable.
La primitive de sortie : écrire, afficher, imprimer. Le but est de permettre a l ordinateur de sortir la
valeur d une variable vers les périphérique extérieurs.
Les outils
Début si
Alors
Action 1
Sinon
Action2
1
Fin si
Structure imbriquée
Si (condition est vraie)
Alors
Si (condition est vraie)
Alors
Action 1
Sinon
Action2
Fin si
Sinon
Action2
Fin si
Les Structures itératives
Une structure itérative permet de répéter une suite d instruction autant de fois que l on veut ou
lorsqu’une condition devient fausse (notion de boucle)
Différentes structures permettent de réaliser cette forme de traitement :
- Pour
- Tant que
- Répéter jusqu'à ce que
Structure itérative pour
On sait à l’avance combien de fois on veut itérer
Pour l de 1 a 10
Faire
Actions
Fin pour (i  i+1)
Il faut donc connaître la valeur de début de i ainsi que sa valeur d’arrive. A chaque tour de boucle, la
variable i sera incrémentée de 1.
Structure itérative tant que
Tant que la condition vraie alors action
EX :
Réponse : chaîne de caractère
Réponse  « oui » ou saisir réponse (initialisation)
Tant que réponse « oui »
Faire
Actions
Saisir réponse
Fin tant que
Structure itérative jusqu'à ce que
2
Répéter l’action jusqu’ a ce que condition devient fausse
Réponse= chaîne
Répéter réponse = chaîne
Action
Saisir réponse
Jusqu'à ce que soit vraie
Exo :
Ecrire un algorithme qui demande a l’utilisateur un nombre compris entre 1 et 3 jusqu’ a ce que la
réponse convienne.
Début
Variable N : entier
N0
Saisir « entrez un nombre entre 1 et 3 » ; N
Tant que N<1 ou N>3
Afficher « saisie erronée. Recommencez »
Saisir « entrez un nombre entre 1 et 3 » ; N
Fin tant que
Fin
Exo :
Ecrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu'à ce que la réponse
convienne.
En cas de réponse supérieure a 20, on fera apparaître un message : « plus petit ! » ; et inversement, «
plus grand ! » si le nombre est inférieur a 10.
Début
Variable N : entier
N 0
Saisir « entrez un nombre entre 10 et 20 » ; N
Tant que N<10 ou N>20
Faire
Si N<10
Alors
Afficher « plus grand ! »
Sinon
Afficher « plus petit ! »
Fin Si
Saisir « entrez un nombre entre 10 et 20 » ; N
Fin de tant que
Fin
Exo :
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres
suivants.
Par exemple, si l utilisateur entre le nombre 17 le programme affichera les nombres de 18 à 27.
Début
Variable N, i : entier
Saisir « entrez un chiffre » ; N
Afficher « les 10 nombres suivants sont : »
3
Pour i= N+1 à N+10
Afficher i
Fin Pour équivalent a ii+1
Fin
Exo :
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication
de ce nombre, présentée comme suit
Table 7 :
7x1 =7
7x2=14
Début
Variable N, i : entier
Saisir « entrez un chiffre» ; N
Ecrire « la table de multiplication de ce nombre est : »
Pour i = 1 a 10
Afficher N ; « x » ; i ; « = » ; N*i
Fin pour
Fin
Exo :
Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu'à
ce nombre. Par exemple, si l’on entre 5 le programme doit calculer :
1+2+3+4+5=15
Début
Variable n, i, somme : entier
Saisir « entrez un chiffre » ; n
Somme0
Pour i= 1 a N
Sommesomme+1
Fin pour
Afficher « la somme est : », somme
Fin
Variable n, i, f : entier
Saisir « entrez un chiffre » ; n
F 0
Pour i= 2 a N
ff*1
Fin pour
Afficher « la somme est : », f
Exo :
Debut variable n , i , pg : entier
Pg 0
Pour i 1 a 20
Saisir « entrez numero » ;n
Si n< pg alors
4
Pg n
Ipgi
Fin si
Fin pour
Ecrire « le nombre le plus grand etait : », pg
Ecrire « il a ete saisi en position numero », ipg
Fin
Structure alternative selon cas :
Selon cas <variable>
Cas <expression>
<action1>
Cas < expression >
<action2>
Cas < expression >
<action3>
Fin selon
algo calcul des frais de deplacement
variables :
nbkm : entier
puissance : entier
tarif : reel
frais : entier
saisir puissance
saisir nbkm
si nbkm <= 100
alors
frais = 0
sinon
si puissance >= 1 et puissance <= 3
alors
tarif = 1
sinon
si puissance <= 4 et puissance <= 6
alors
tarif = 1.5
sinon
si puissance <= 7 et puissance <= 8
alors
tarif = 2
sinon
si puissance <= 9 et puissance <= 12
alors
tarif = 2.5
sinon
si puissance > 12
alors
tarif =3
sinon
tarif = 0
Fin si
Fin si
5
Fin si
Fin si
Fin si
Fin si
Procédures et fonctions
Sont des séquences d action qui seront nommées et qui seront considères comme étant dans des
algorithmes auxiliaires.
Ces procédures et fonctions seront appelées a parier d un algorithme principal.
Les procédures
La procédure est désigner par un nom
La procédure est appelée une ou plusieurs fois dans un ou plusieurs algos principaux
Le procédure a besoin de variable élémentaires déclarées dans un l’algorithme
On dira que les variables ont une portée globale
L intérêt d utiliser des procédures est de permettre une plus grande lisibilité de l algorithme principal
(appelant)
-
gaine de temp. Peu être appelée dans plusieurs algos principaux
mise a jour aisée
Private sub cmd_clac_fahr_click ( )
Procedure_farem_cel
MsgBox”la temperature est de “&f&” degrés F.”
End sub
Private sub procedure_farem_cel ( )
f = ( txt_valeur * 9/5 ) + 32
End sub
Private sub cmd_clac_text_click ( )
Procedure_farem (txt_valeur)
MsgBox”la temperature est de “& Celsius &” degrés C.”
End sub
Private sub procedure_farem (degree as single)
Celsius = (degree * 9/5) + 32
End sub
Les fonctions
Une fonction est une procédure particulière qui ne renvoie, dans l’algo principal, qu’un et un
seul résultat.
La fonction est appelée ans l’algorithme principal, directement dans une instruction :
En général, elle apparaît dans la partie droite d une affectation
6
Lors de son appel, la fonction est évaluée à partir d arguments qui lui sont fournis.
Le résultat vient se substituer au nom de la fonction dans l »expression appelante.
Function fahr(cel as integer) as single
Fahr = (cel * 9/5) + 32
End function
Appel de la function
Private sub cmd_calc_Fahr_Click ()
MsgBox”La temperature est de “ & fahr(txt_cel) & “ degrés C.”
End sub
7
Téléchargement