1
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
2
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
3
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
N0
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 : »
4
Pour i= N+1 à N+10
Afficher i
Fin Pour équivalent a ii+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
Somme0
Pour i= 1 a N
Sommesomme+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
ff*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
5
Pg n
Ipgi
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
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !