TP1 Initiation A L Algorithmique

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

1

TS TP 1 : INITIATION À L'ALGORITHMIQUE.
I) LANGAGE NATUREL.

1) Un exemple dans la vie quotidienne :

Voici une recette tirée d’un livre de cuisine : (Extrait du livre Indice 2nde (Édition Bordas))
Se procurer 250 g de chocolat noir, 250 g de beurre, 4 œufs, 250 g de sucre et 75 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 à 220° C.
Servir le gâteau froid.
Ce texte décrit les opérations à effectuer successivement pour faire un moelleux au chocolat.
Il est formé de trois parties distinctes.

Écrire les entrées, c’est à dire ce qui est nécessaire à la préparation du traitement.
Écrire le traitement de la recette.
Écrire la sortie du traitement de la recette.

Synthèse : Un algorithme est un énoncé d’une suite finie d’instructions qui s’appliquent dans un ordre
déterminé à des données et permettent de donner la réponse à un problème.
Il comprend :
la préparation du traitement : on repère les données nécessaires à la résolution, ces données sont le
plus souvent saisies au clavier de l’ordinateur.
le traitement : on détermine les instructions à exécuter.
la sortie du ou des résultat(s). Ce ou ces résultat(s) peut (peuvent) être affiché(s) à l’écran,
imprimé(s) …

2) Un exemple en calcul : (Extrait du document d’accompagnement 2nde « Algorithmique »)


On considère l’algorithme suivant :
• Choisir un nombre
• Lui ajouter 4
• Multiplier la somme obtenue par le nombre de départ
• Ajouter 4 à ce produit
• Écrire le résultat.

a) Faire fonctionner cet algorithme avec 2, puis avec 10.


b) Donner la préparation du traitement ; le traitement et la sortie.
c) Pour un nombre quelconque x, quel résultat affiche cet algorithme ?

3) Un exemple en géométrie :

On se donne deux points 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 des deux cercles.
Construire le quadrilatère ADBC.
2
Exécuter cet algorithme.
Écrire les entrées, c’est à dire ce qui est nécessaire à la préparation du traitement.
Écrire le traitement de la construction.
Écrire la sortie du traitement de la construction.
Quelle construction décrit cet algorithme ?

4) Écrire un algorithme en langage naturel permettant de construire un triangle équilatéral connaissant


deux sommets de ce triangle.

II) LANGAGE CODÉ.

1) 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 (identificateur) et contient une valeur.

Reprenons l’algorithme du paragraphe I) 2) :

• Choisir un nombre
• Lui ajouter 4
• Multiplier la somme obtenue par le nombre de départ
• Ajouter 4 à ce produit
• Écrire le résultat.

Ici, nos deux variables sont le nombre choisi et le résultat. Il va falloir les stocker et les nommer (a et b
par exemple).

2) Entrée des données ou préparation du traitement:

L’entrée ou la lecture des données est l’opération qui consiste à saisir des valeurs pour qu’elles soient
utilisées par le programme. On note cette instruction : « …Saisir.. A (si A est la variable)».

3) Affectation :

L’instruction d’affectation permet d’attribuer (ou d’affecter) une valeur à une variable.
Lorsqu’on écrit « A prend la valeur 2 », cela signifie que la valeur 2 est affectée à la variable de nom A.

a) Quelles sont les valeurs des variables A et B après exécution des instructions ci-dessous ?

A prend la valeur 1
B prend la valeur A + 3
A prend la valeur B - 3

b) Soit l’algorithme suivant :

Soit un nombre X.
a) X prend la valeur X + 1.
b) X prend la valeur X - 2.
Afficher X.
3
Si l’on exécute cet algorithme avec la valeur initiale de X égale à 3, alors la valeur de X sera ……. après
l’étape a) et la valeur de X sera ……. après l’étape b). La valeur en sortie est ……

À l’étape a), on dit que l’on a ………….. à X la valeur X + 1. On peut noter X + 1 → X ou X ← X + 1


À l’étape b), on dit que l’on a ………….. à X la valeur ………….. On peut noter …….. → ….. ou …. ← ..
X est une …………….. : son contenu change au cours de l’exécution de l’algorithme.
Lorsqu’on écrit « X prend la valeur X + 1 », X + 1 représente le nombre égal à la somme de 1 et du
contenu de la variable X : ce nombre devient la nouvelle valeur de la variable X, la valeur précédente étant
effacée.

4) Sortie des données :

La sortie ou l’écriture des résultats permet d’afficher les valeurs des variables après traitement.
On note cette instruction : « …Afficher… A (si A est la variable) ».

Remarque : Lorsqu'on souhaite afficher du texte, on le met entre guillemets.

5) Description d'un algorithme :


Algorithme (codé) : Description :
Variables : X, Y (nombres réels - Déclaration des variables
Début - Début du programme.

Écrire "Entrez le nombre X :" - Le programme reproduit à l'écran la phrase


écrite entre guillemets.

Saisir X - Le programme attend la frappe d'une valeur au


clavier et affecte ce résultat à la variable X.

Y X+5 - Le programme calcule la valeur de X + 5 et


affecte ce résultat à la variable Y.

Afficher Y - La valeur de Y est affichée à l'écran.

Fin - Fin du programme.

6) Exercice 1 : On donne l’algorithme (codé) suivant :

Variables : N, a, b (entiers)

Début de l’algorithme :
Saisir N
a←3×N
b←a+2
Afficher b
Fin de l’algorithme.

a) Écrire cet algorithme en langage naturel. Donner la préparation du traitement ; le traitement et la sortie.
b) VRAI ou Faux ?
• Le nombre obtenu avec l’entrée 2 est 8.
• Le nombre obtenu avec l’entrée - 4 est 14.
• Si on veut obtenir 11, il faut entrer 3.
• Si on veut obtenir - 5, il faut entrer - 1.
4
7) Exercice 2 : On considère l’algorithme « naturel » suivant :

Choisir deux nombres a et b


c prend la valeur a + b
a prend la valeur c
b prend la valeur a - 2b
Écrire a et b

Faire fonctionner cet algorithme en prenant a = 8 et b = 5.


Recommencer avec a = 2,5 et b = 12,5.
Quels résultats fournit cet algorithme ?
Écrire l’algorithme précédent en langage « codé ».

III) PROGRAMMATION D’UNE INSTRUCTION CONDITIONNELLE :

1) La structure alternative ou test :


Dans un algorithme, on peut décider de n’exécuter des instructions que si une certaine condition est
remplie.
Une condition est un énoncé qui peut être vrai ou faux.

a) Condition Si … Alors
Si condition Alors

Traitement(s) : instruction élémentaire ou succession d’instructions élémentaires

FinSi

Si la condition est vérifiée, l’algorithme effectue le ou les traitement(s), puis passe à la suite de
l’algorithme. Dans le cas contraire, il passe directement à la suite de l’algorithme.

b) Condition Si … Alors … Sinon


Si condition Alors
Traitement 1
Sinon instructions ou successions d’instructions élémentaires.
Traitement 2

FinSi

Si la condition est vérifiée, l’algorithme effectue Traitement 1. Dans le cas contraire, il effectue
Traitement 2. Ensuite, il passe à la suite de l’algorithme.

c) Remarques :
On peut demander que deux ou plusieurs conditions soient réalisées simultanément en utilisant la
syntaxe et .
On peut demander qu’une condition (au moins) parmi plusieurs soit réalisée en utilisant la
syntaxe ou .
Respecter la présentation ci-dessus pour plus de lisibilité de l'algorithme.
Les tests peuvent être imbriqués les uns dans les autres …
5
2) Exercices :
Exercice 1 : On donne l’algorithme suivant : Variable : x (réel)

Début de l’algorithme
Saisir x
Si (x > 0 et x < 3) Alors
Afficher « x appartient à ]0 ; 3[ »
Sinon
Afficher « x ≤ 0 ou x ≥ 3 »
FinSi
Donner le problème auquel répond cet algorithme. Fin de l’algorithme

Exercice 2 : On donne l’algorithme suivant : Variables : N et a (entiers)


Début de l’algorithme
Saisir N
Si N est divisible par 2 Alors
a←N÷2
Sinon
a ← (N + 1) ÷ 2
FinSi
Afficher a
Fin de l’algorithme

1) QCM : Donner toutes les bonnes réponses :


(a) Le nombre obtenu avec l’entrée 5 est : 3 ; 2 ; -3
(b) Le nombre obtenu avec l’entrée 12 est : 7 ; 6 ; -6
(c) Si on veut obtenir 45, on peut entrer : 90 ; 89 ; 91
(d) Si on veut obtenir 50, on peut entrer : 100 ; 101 ; 99.
2) Décrire cet algorithme.
3) Dans une série statistique de valeurs rangées par ordre croissant, qu’obtient grâce à cet algorithme ?

Exercice 3 :
Écrire en langage codé l'algorithme ci-dessous :

Choisir deux nombres A et B


Si A > B Alors
Écrire le résultat de 5A + 2B
Sinon
Écrire le résultat de 5A - 2B
FinSi

Exercices du DM 1 :

Exercice 4 : f est la fonction qui, à un réel x, associe le réel f(x) défini de la façon suivante :
1
si x est différent de 2 et (- 3), alors f(x) =
(x - 2)(x + 3)
1) Calculer l’image par la fonction f de chacun des réels suivants : - 2 et 2,5.
2) Écrire en langage codé l’algorithme permettant le calcul des valeurs prises par la fonction f .
3) Décrire cet algorithme.
6
Exercice 5 :
Écrire en langage codé un algorithme demandant deux nombres distincts et donnant en sortie le plus
grand des deux.
Remarque : ne pas oublier de considérer la condition « les deux nombres doivent être distincts ». Pour
cela, on peut envisager d’envoyer un message à l’utilisateur dans le cas où la condition ne serait pas
réalisée.

Vous aimerez peut-être aussi