Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Algorithmique Chap3 S1 BCPST

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 26

Algorithmique

Algorithmes élémentaires opérant par boucles simples

Anicet Ebou
ediman.ebou@inphb.ci

INP-HB - Cours d’informatique - Semestre 1 - Prépa BCPST 1


01
Mise en situation

Cours d’informatique - Semestre 1 - Prépa BCPST 2


Mise en situation

Version simplifiée de la facturation des produits dans un supermarché :

● Le prix unitaire est fourni


● Le nombre d’articles identiques est saisi puis on passe au produit
suivant et ainsi de suite...

Quand tous les produits sont entrés, le total est calculé et affiché

Cours d’informatique - Semestre 1 - Prépa BCPST 3


Éléments algorithmiques

Répéter et avancer: On considère un article…puis on passe au produit


suivant.

Cours d’informatique - Semestre 1 - Prépa BCPST 4


Éléments algorithmiques

Condition d’entrée et condition d’arrêt

On commence : il y a au moins un produit à enregistrer

On répète l’action :

● Tant qu’il y a des produits à enregistrer


● Tant que le nombre de produit à enregistrer n’est pas atteint

On arrête la répétition : Quand tous les produits sont entrés, le total


est calculé et affiché
Cours d’informatique - Semestre 1 - Prépa BCPST 5
Éléments algorithmiques

Notion d’itération:

Quelles sont les actions à répéter ?

● Le prix unitaire est fourni


● Le nombre d’articles est saisi
● Le prix total pour un article est calculé

Combien de fois le bloc d’action sera-t-il exécuté ?

Cours d’informatique - Semestre 1 - Prépa BCPST 6


02
Boucle <<TANT QUE>>

Cours d’informatique - Semestre 1 - Prépa BCPST 7


Boucle <<TANT QUE>>

Cette structure algorithmique permet de réaliser un certain nombre


d’actions tant qu’une certaine condition est remplie (vraie).

Cours d’informatique - Semestre 1 - Prépa BCPST 8


Boucle <<TANT QUE>>

Tant que condition faire

Action1_pour_vrai
TEST Traitement
Action2_pour_vrai

...

FinTantQue

Algogigramme Pseudo-code

Cours d’informatique - Semestre 1 - Prépa BCPST 9


Boucle <<TANT QUE>>: Remarques

Seule la condition TEST décide de l’exécution (ou de la ré-exécution)


du bloc Traitement. FinTantQue n'indique pas de fin directe après
l’exécution du bloc, sauf si la condition devient fausse directement bien
sûr. Il en sera de même pour toutes les structures de type boucle.

Cours d’informatique - Semestre 1 - Prépa BCPST 10


Algorithme facturation Début

reponse ← ‘o’
Variables
total ← 0
prix_unit, total, nb_art : entier
Tant que (reponse=’o’) faire
reponse : caractère
Ecrire(‘prix unitaire : ‘)

Lire(prix_unit)

Ecrire(“nbre d’articles: “)

Lire(nb_art)

total ← total + prix_unit * nb_art

Ecrire(‘Ajouter un autre article ? o/n’)

Lire(reponse)

FinTantQue

Ecrire(‘Net à payer :’,total)


Cours d’informatique - Semestre 1 - Prépa BCPST 11
Fin
Travaux Pratiques

Représentez l’algorithme précédent (slide 11) à l’aide d’un algogigramme.

Cours d’informatique - Semestre 1 - Prépa BCPST 12


03
Boucle <<POUR>>

Cours d’informatique - Semestre 1 - Prépa BCPST 13


Boucle <<POUR>>

Cette structure algorithmique permet de réaliser un certain nombre


d’actions en s’appuyant sur un compteur géré automatiquement.

La boucle POUR est surtout adaptée à la gestion des situations où le


nombre de répétitions est connu ou facile à établir.

Cours d’informatique - Semestre 1 - Prépa BCPST 14


Boucle <<POUR>>

Pour compteur ← Vi à Vf faire


i <- Vi
action1_pour_vrai
i <- i + p

action2_pour_vrai
i < Vf Traitement
...

FinPour

Vi : Valeur initiale
Algogigramme Vf: Valeur finale
p: pas Pseudo-code
Cours d’informatique - Semestre 1 - Prépa BCPST 15
Boucle <<POUR>>: Remarques

● Le lettre i représente la variable d’itération de la boucle. On l’utilise


sans doute parce que c’est la première lettre des mots index et
indice, mais aussi parce qu’elle est souvent utilisée comme variable
muette quand on étudie les suites en mathématiques (avec j et k).
● La variable d’itération va prendre des valeurs différentes dans
chacun des tours de la boucle.

Cours d’informatique - Semestre 1 - Prépa BCPST 16


Boucle <<POUR>>: Remarques

● La lettre p désigne le pas de la boucle. C’est la valeur des sauts que


fait la variable d’itération. Si on ne l’indique pas, il faut 1 par défaut
(c’est pratique car on veut le plus souvent travailler avec des entiers
consécutifs).
● La boucle POUR peut toujours être mise en place par une boucle
tant que.

Cours d’informatique - Semestre 1 - Prépa BCPST 17


Boucle <<POUR>>: Remarques

● Les boucles de type pour ne s’arrêteront au FinPour que si le bon


nombre d’itérations a été effectué. Le mot « FinPour » ne signale que
la fin du bloc.

Cours d’informatique - Semestre 1 - Prépa BCPST 18


Boucle <<POUR>>

On vous demande d’écrire un


algorithme permettant de calculer la
moyenne arithmétique de N valeurs
fournie par l’utilisateur.

Cours d’informatique - Semestre 1 - Prépa BCPST 19


Algorithme moyenne Début

Variables Ecrire(‘Entrez le nombre de valeurs :’)

x, moy : réel Lire(n)

i,n : entier moy ← 0

Pour i 1 à n faire

Ecrire(‘Entrez la valeur’, i)

Lire(x)

moy ← moy+(x/n)

FinPour

Ecrire(‘La moyenne est : ’ , moy)

Fin

Cours d’informatique - Semestre 1 - Prépa BCPST 20


Travaux Pratiques

Représentez l’algorithme précédent (slide 20) à l’aide d’un algogigramme.

Cours d’informatique - Semestre 1 - Prépa BCPST 21


Travaux Pratiques

Cours d’informatique - Semestre 1 - Prépa BCPST 22


Activité 1: Année bisextile ou pas?

Écrire un programme (représenté en algogigramme et en


pseudo-code) qui demande à un utilisateur de rentrer une année
quelconque, et qui lui précise en retour si celle-ci est bissextile ou
pas.

Pour information, pour qu’une année A soit bissextile, A doit être


divisible par 4, mais ne doit pas être un multiple de 100 à moins d’
être un multiple de 400.

Cours d’informatique - Semestre 1 - Prépa BCPST 23


Activité 2: Calcule de légende

Une légende de l’Inde ancienne raconte que le jeu d’échecs a été inventé par un
vieux sage, que son roi voulut remercier en lui affirmant qu’il lui accorderait n’importe
quel cadeau en récompense. Le vieux sage demanda qu’on lui fournisse simplement
un peu de riz pour ses vieux jours, et plus précisément un nombre de grains de riz
suffisant pour que l’on puisse en déposer 1 seul sur la première case du jeu qu’il
venait d’inventer, deux sur la suivante, quatre sur la troisième, et ainsi de suite jusqu’
à la 64e case.

Écrire un algorithme (en pseudo-code et algogigramme) qui affiche le nombre total


de grains à déposer sur l’ensemble des 64 cases du jeu sous forme d’entier.

Cours d’informatique - Semestre 1 - Prépa BCPST 24


Activité 3: Calcule de légende

Rédiger un algorithme qui calcule en demandant au préalable jusqu’


à quelle valeur de « n » l’utilisateur souhaite aller

Cours d’informatique - Semestre 1 - Prépa BCPST 25


Merci
Vous avez des préoccupations?
ediman.ebou@inphb.ci

26

Vous aimerez peut-être aussi