Algorithmique 2 2de Lycée Marie Reynoard
1/3
Algorithmique 2 : Affectation de variables
Etude de fonctions
1. Algorithme
Un algorithme est une suite d’instructions élémentaires. Ces instructions s’appliquent dans un
ordre déterminé à des données et fournissent en un nombre fini d’étapes des résultats.
traitement
Données --------------------------------------> Résultats
(entrées) (algorithme) (sorties)
Appliquer un algorithme de calcul : que donne l’algorithme de calcul suivant si vous choisissez comme
nombre de départ 2 ? 10 ?
Choisir un nombre
Lui ajouter 13
Si la somme obtenue est supérieure ou égale à 20 alors lui retrancher 15
Sinon lui ajouter 15
Mutliplier le nombre obtenu par 7
2. Affectation et variables
On peut avoir besoin de stocker les calculs ou certains résultats. On va pour cela utiliser des variables,
qui sont sur un ordinateur une case mémoire (on range des valeurs dans des cases mémoires).
Lorsqu’on donne une valeur à ces variables, ou quand on met un nombre dans ces cases mémoires, on dit
qu’on affecte une valeur à la variable.
a. Ecrire au fur et à mesure des instructions (colonne 1 du tableau) ce qui se trouve dans les variables A,
B et C (colonne 2 du tableau).
instructions
mémoires
A prend la valeur 1
B prend la valeur 3
C prend la valeur 3A+B
A prend la valeur A+1
B prend la valeur A+B+C
Afficher A, B, C
A B C
b. L’algorithme de Calcul de la partie 1. peut s’écrire en utilisant une variable de la façon suivante :
Algorithme
Mémoire A
choisir A
A prend la valeur A+13
Si A 20 alors :
A prend la valeur A-15
Sinon :
A prend la valeur A+15
A prend la valeur A*7
Afficher A
Ecrire ci-dessus au fur et à mesure ce qui se trouve dans la variable A.
Algorithmique 2 2de Lycée Marie Reynoard
2/3
3. Exercices
Exercice 1 :
A
B
C
Algorithme 2 :
A
B
C
Saisir A,B,C
BB+A
CC+B+A
Afficher A,B,C
Saisir A,B,C
CC+B+A
BB+A
Afficher A,B,C
« Saisir A » signifie : on choisit une valeur et on la met dans la variable A.
L’instruction «A signifie « A prend la valeur 1 »
Ecrire les valeurs de A, B et C lors du déroulement de chacun des algorithmes. Prendre des valeurs
initiales différentes pour A, B et C !
Les deux algorithmes font-ils la même chose ? Quelle est la différence entre les deux algorithmes ?
Exercice 2 :
1) Que donne l’algorithme suivant ?
Saisir A et B
M prend la valeur de B
Si A > M alors :
M prend la valeur de A
Ecrire M
2) Ecrire un algorithme qui permet de saisir trois valeurs et qui affecte le maximum des trois valeurs à M
Exercice 3 :
On considère la fonction f définie sur [- 2 ; 2] par f(x) = x3 5x + 1.
1) Déterminer ce que renvoie l’algorithme suivant :
P prend la valeur 0,5
X prend la valeur 2
A prend la valeur de X
M prend la valeur de valeur f(X)
Tant que X 2:
Y prend la valeur f(X)
Si Y >M alors:
M prend la valeur de Y
A prend la valeur de X
X prend la valeur X+ P
Ecrire A et M.
2) Modifier l’algorithme pour qu’il renvoie également la valeur du minimum de la fonction.
Algorithmique 2 2de Lycée Marie Reynoard
3/3
3) Pour aller plus loin: écrire un algorithme qui donne les valeurs approchées des solutions de l’équation
f(x) = 0 (réels où la fonction s’annule)
Exercice 4 :
A
B
Algorithme 2 :
Saisir A,B
A A + B
B A B
A A B
1) Ecrire les valeurs de A et B dans l’algorithme 1 ci-dessus. Qu’a-t-il réalisé ?
2) Ecrire l’algorithme 2, qui permet de permuter les valeurs de A, B et C (c’est-à-dire, mettre dans A
la valeur initiale de C, dans B la valeur initiale de A et dans C la valeur initiale de B).
4. Programmation
Programmer les algorithmes des exercices 2 et 3 en Python. Voir en fin du livre le langage Python.
Algorithmique 2 2de Lycée Marie Reynoard
4/3
Corrigés des Programmes en Python:
def f(x):
Y=x**3-5*x+1.0
return Y
P=0.5
X=-2.0
A=X
M=f(X)
while X<=2:
Y=f(X)
if Y>M:
M=Y
A=X
X=X+P
print 'le maximum est',M,'et est atteint pour x=',A
def maximum(X1,X2):
if X1>X2 :
return X1
else:
return X2
A=input("A=")
B=input("B=")
C=input("C=")
M=maximum(A,B)
M=maximum(M,C)
print "maximum:",M
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 !