Algorithmique ©EPoulin2010
L’algorithmique
1) Qu’est-ce qu’un algorithme ?
Activité introductive
Commençons par un exemple :
L’algorithme des différences permet (comme l’algorithme d’Euclide) de calculer le PGCD de deux
nombres entiers
Mettre dans a et b les deux entiers naturels dont on cherche le PGCD
Tant que a
b, répéter :
Remplacer le plus grand des deux nombres a et b par la différence entre ces deux nombres
Le PGCD est égal au résultat du a final
Testons cet algorithme avec 32 et 80
a 32
b 80
différence 80-32=48
Conclusion : PGCD(32,80)=
Définition
Un algorithme est une liste d’instruction à exécuter pas à pas pour accomplir une tâche précise. Un
algorithme doit être :
Systématique (il fonctionne quelles que soient les valeurs de départ)
Mécanique (il n’y a pas besoin de réfléchir, il suffit d’appliquer la méthode)
Un algorithme peut être schématisé par une boîte dans laquelle un certain nombre d’instructions est
réalisé à partir de données d’entrée pour donner en sortie un résultat.
Entrée(s) Traitement Sortie(s)
Un algorithme peut être écrit en langage naturel, en langage codé, ou en langage programmé
pour une calculatrice ou un ordinateur
2) Notions de variable et d’affectation
Variable : dans un programme, une variable correspond à un emplacement de la mémoire de la
calculatrice ou de l’ordinateur
Elle est repérée par un nom et contient une valeur.
Affectation : L’instruction affectation peremet d’attribuer une valeur à une variable.
« A prend la valeur 2 » signifie que la valeur 2 est affectée à la variable de nom A
3) Notions de boucles, de conditions
Les boucles permettent d’itérer un processus un certain nombre de fois
Exemple : Pour i allant de 1 à N Tant que « condition » faire
La condition permet de tester si une expression est vraie ou fausse
Exemple : Si « Condition » (est vraie) alors… Sinon …
Algorithmique ©EPoulin2010
Algorithmique
Activité : Observation d’algorithme en langage naturel
Identifier les entrées (donnée de base), des traitements (instruction) et des sorties (résultat)
1) Voici une recette tirée d’un livre de cuisine
Ingrédients : 250 g de chocolat noir, 250 g de beurre, 4 œufs, 250 g de sucre et g de farine
a) faire fondre le chocolat au bain-marie ; ajouter le beurre, mélanger ; ajouter la farine.
b) Battre les œufs en omelette ; ajouter le sucre et tourner le mélange.
c) Mélanger les deux préparations
d) Verser dans un moule et faire cuire 45 minutes au four à °C.
Servir le gâteau froid.
2) Voici un programme de construction
On donne deux point A et B du plan
a) Tracer le cercle de centre A passant par B
b) Tracer le cercle de centre B passant par A
c) Nommer C et D les points d’intersection de ces deux cercles
Construire le polygone ADBC
3) Voici un programme de résolution d’équation
On considère l’équation :
7234
+
=
+
xx
Pour résoudre cette équation appliquer les consignes ci-dessous :
a)
retrancher 3 dans les deux membres
b)
retrancher 2x dans les deux membres
c)
diviser par 2 les deux membres
Ecrire la solution de l’équation
4)
Voici un programme de calcul
a)
choisir un nombre
b)
Lui ajouter 13.
c)
Si la somme obtenue est supérieure ou égale à 20, alors lui retrancher 15,
Sinon lui ajouter 15
d)
Multiplier le nombre obtenu par 7
e)
Ecrire le résultat
5)
Carré en spirale
a)
Soit un carré ABCD
b)
Placer un point E sur le segment [AB] au huitième de la longueur du segment
c)
Reporter la longueur AE sur [BC] à partir de B, on obtient le point F, puis sur [CD] à
partir de C, on obtient G, puis sur [DA] à partir de D, on obtient H.
d)
Tracer le carré EFGH.
e)
Recommencer l’opération à partir de ce carré (placer un point au huitième du segment
[EF]…)
f)
Arrêter le processus lorsque vous aurez obtenu un total de 10 carrés
Activité : Faire fonctionner un algorithme
Reprendre les algorithmes 2 – 3 – 4 – 5 et les faire fonctionner
Pour le 4) appliquer ce programme à 5 nombres.
Algorithmique ©EPoulin2010
Algorithmique
Voici une écriture codée de quelques algorithmes :
1)
Exemple 1 :
Faire fonctionner cet algorithme et compléter le
Entrée tableau ci-dessous :
Saisir
x
Traitement
u
prend la valeur
x
+4
y prend la valeur
x
u
×
Sortie
Afficher y
2)
Exemple 1 :
Faire fonctionner cet algorithme et compléter le
Entrée tableau ci-dessous :
Saisir
n
Traitement
Si
n
pair alors
y
prend la valeur
2
n
Sinon
Y prend la valeur 3n+1
FinSi
Sortie
Afficher y
3)
Exemple 3 :
Faire fonctionner cet algorithme et compléter le
tableau ci-dessous pour N=7 :
Les parents de Tom versent 100 € sur un
livret à sa naissance, puis verse 20 €
chaque mois sur ce livret. On élabore
un algorithme donnant la somme sur ce
livret au bout d’un certain nombre N
de mois.
Entrée
Saisir N
S prend la valeur 100
Traitement
Pour I variant de 1 à N
S prend la valeur S+20
Fin Pour
Sortie
Afficher S
Entrée x 1 2 3 4 5 6
u
y
Sortie y
Entrée 3 0 1 4 9 14 27
Sortie y
I S
Début 100
Fin de la 1
ère
boucle 1 120
Fin de la 2
nde
boucle 2
Algorithmique ©EPoulin2010
Algorithmique
Ecriture en langage codé de quelques algorithmes :
1)
Ecrire en langage codé l’algorithme du programme suivant
Voici un programme de calcul
a)
choisir un nombre
b)
Lui ajouter 13.
c)
Si la somme obtenue est supérieure ou égale à 20, alors lui retrancher 15,
d)
Sinon lui ajouter 15
e)
Multiplier le nombre obtenu par 7
f)
Ecrire le résultat
2)
Ecrire en langage codé un algorithme permettant d’afficher la somme des carrés
de deux entiers consécutifs. On saisit le plus petit des deux entiers
3)
Ecrire un algorithme permettant l’affichage de la table de multiplication d’un
entier naturel donné inférieur ou égal à 10
4)
Ecrire un algorithme permettant d’afficher, après la saisie de 3 longueurs d’un
triangle données dans l’ordre croissant, si le triangle est rectangle ou non
5)
Ecrire un algorithme permettant d’échanger deux nombres A et B, c’est-à-dire
que les entrées sont A et B et les sorties B et A
1 / 4 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 !