Feuille 1

publicité
Seconde
Exemples et exercices
d'algorithmique
Année scolaire
2012/2013
Tout d'abord, il est indispensable de consulter le programme d'algorithmique de la
classe de seconde :
http://mangeard.maths.free.fr/Ecole/Seconde/Doc_ress_algo_v25-2.pdf
Voici quelques exercices pour se familiariser avec les outils utilisés cette année en
algorithmique.
Un choix a été fait : les algorithmes corrigés seront donnés sous la forme d'un simple
texte, puis sous Algobox, ensuite sous la forme de programme sur la calculatrice
CASIO Graph 35+. Quelques-uns utiliseront éventuellement Scilab 5.3 et aussi XCas.
On rappelle que dans un algorithme, il y a toujours trois parties :
a) Les entrées
b) Le traitement
c) Les sorties
L'ensemble est toujours précédé de la déclaration des variables utilisées.
Pour commencer, voici quelques exemples d'exercices corrigés :
I) Exemples de base : Instructions d'affectation
Exercice 1 :
Ecrire un algorithme qui demande à l'utilisateur un nombre , puis calcule son
cube.
a) Texte :
Variables
x , y : nombres
Début
Entrée
Saisir x
Traitement
y reçoit x^3
Sortie
Afficher y
Fin
Remarque : On pouvait n'utiliser qu'une seule variable et dans la partie traitement,
affecter à x la valeur x3.
Cependant, si on souhaite conserver jusqu'à la fin la valeur initiale de x pour pouvoir
afficher « le cube du nombre x » est … il est impératif d'avoir deux variables.
b) Algobox :
Remarque :
On peut singulièrement améliorer l'algorithme précédent en ajoutant des messages à
l'utilisateur :
c) Calculatrice
« DONNER UN NOMBRE : » ?→X↵
X^3→Y↵
« LE CUBE DE »:X
« EST »:Y
Exercice 2 :
Ecrire un algorithme qui demande à l'utilisateur deux nombres et qui calcule leur
moyenne.
a) Texte :
Variables
x , y , m : nombres
Début
Saisir x et y
m reçoit (x + y)/ 2
Afficher m
Fin
b) Algobox :
c) Calculatrice :
« Donner un premier nombre : » ?→X↵
« Donner un second nombre : » ?→Y↵
(X+Y)/2 →M↵
« La moyenne de ces deux nombres est »:M
Exercice 3 :
Ecrire un algorithme qui demande le prix HT d'un objet et affiche le prix TTC
(avec une TVA de 19,6%).
a) Texte :
Variables
x , y : nombres
Début
Saisir x (= le prix HT)
y reçoit x + 0,196x x
Afficher y (=le prix TTC)
Fin
b) Algobox :
c) Calculatrice :
« DONNER LE PRIX HT : » ?→X↵
X+0.196*X→Y↵
« LE PRIX TTC EST : »↵
Y
Remarque :
On peut apporter une modification à l'énoncé de l'exercice 3 en demandant à
l'utilisateur de donner également le taux de TVA en % à appliquer.
II) Instruction conditionnelle :
Dans la résolution de certains problèmes, on est amené à effectuer un test.
Si la réponse au test est positive, alors on doit effectuer une certaine tâche, dans le
cas contraire, on effectue une autre tâche.
Schématiquement, on peut représenter la situation de la façon suivante :
Si condition vérifiée, alors faire la tâche n°1
sinon faire la tâche n°2
Fin si
Remarque :
Le sinon n'est pas obligatoire. Si on ne le met pas, la tâche ne se fait pas et
l'algorithme effectue l'instruction qui suit.
Exercice 1 :
On demande à l'utilisateur de donner les longueurs des trois côtés d'un triangle
ABC.On veut savoir si le triangle est rectangle en C.
Analyse de l'énonce :
On va utiliser la réciproque du théorème de Pythagore :
Si AB2 = AC2 + BC2, alors le triangle ABC est rectangle en C.
Le test va s'effectuer sur cette égalité : si elle est vérifiée, on affichera « le
triangle est rectangle en C » sinon « le triangle n'est pas rectangle en C »
a) Texte :
Variables
x , y,z : nombres
Début
Saisir x (= longueur AB)
Saisir y (= longueur AC)
Saisir z (= longueur BC)
2
Si ( x = y2 + z2) alors
Afficher « Le triangle ABC est rectangle en C »
Sinon Afficher « Le triangle ABC n'est pas rectangle en C »
Fin
b) Algobox :
Remarques : - La fonction pow(x,n) d'Algobox permet de calculer x n
- Lorsqu'on effectue un test d'égalité il faut mettre deux signes =
c) Calculatrice :
« DONNER LA LONGUEUR AB : » ?→X↵
« DONNER LA LONGUEUR AC : » ?→Y↵
« DONNER LA LONGUEUR BC : » ?→Z↵
If (X^2=Y^2+Z^2)↵
Then « ABC EST RECTANGLE EN C »↵
Else « ABC N'EST PAS RECTANGLE EN C »↵
Exercice 2 :
On lance un dé à six faces, non truqué. Si on obtient six, on a gagné.
Ecrire un algorithme qui permet de simuler un tel lancer de dé et qui affiche
« C'est gagné » quand le résultat est six.
a) Texte :
Variables
x : nombres
Début
x reçoit un entier aléatoire pris entre 1 et 6 inclus
Si ( x = 6) alors
Afficher « C'est gagné ! »
Sinon
Afficher « C'est perdu ! »
Fin
b) Algobox :
Avec Algobox, la fonction RANDOM renvoit un nombre aléatoire compris entre 0 et 1.
6*RANDOM va donc renvoyer un nombre aléatoire compris entre 0 et 6.
FLOOR permet d'obtenir l'entier juste inférieur au nombre donné.
Donc : FLOOR(6*RANDOM + 1) permet d'obtenir de manière aléatoire 1 ou 2 ou 3 ou
4 ou 5 ou 6 : c'est-à-dire cela permet de simuler le lancer d'un dé à 6 faces.
Remarque :
On fait afficher a à la ligne 5 pour pouvoir bien contrôler les valeurs obtenues.
c) Calculatrice :
III) Boucle itérative :
IV) Boucle conditionnelle :
V) Exercices de synthèse :
Téléchargement