ENVIRONNEMENT DE RECETTE

Pour aller plus loin (Ancien programme) - STI2D/STL

L'algorithmique

Exercice 1 : Somme de suite géométrique (inspiré par Bac ES Métropole 2015) - Python

On considère l'algorithme ci-dessous :

u = 3600
S = 3600

n = int(input('Rentrez la valeur de n : '))

for i in range(2, n + 1):
    u = 3*u/2
    S = S + u

print(S)

Faire fonctionner l'algorithme précédent pour \( n=5 \) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.
{"header_left": ["i", "u", "S"], "data": [["", "2", "?", "?", "?"], ["3600", "?", "?", "?", "?"], ["3600", "?", "?", "?", "?"]]}

Exercice 2 : Séquence conditionnelle simple - distributeur de banque

Un distributeur automatique de billets ne contient que des billets de \( 5 \) et de \( 200 \) euros. Le client choisit un montant en euros.

Écrire le contenu de la fonction distributeur qui doit renvoyer un entier correspondant aux nombre de billets minimum permettant de distribuer le montant choisi par le client.
Si ce n'est pas possible, elle renvoie une chaîne de caractères contenant un message d'erreur.

Le message d'erreur doit suivre le format suivant : "Impossible de distribuer 33 euros" où 33 est le montant choisi par le client.
Les valeurs en entrée seront forcément des entiers positifs.

La fonction distributeur ne doit pas afficher le résultat avec  print()
{"inputs": [[1000], [200], [2600], [2], [323], [5], [10], [20], [50], [100], [200], [405], [210]], "nbAttemptsLeft": 2, "initCode": "%{def distributeur(montant):}s\n\t\n\treturn %{'Impossible de distribuer '}s+ + %{' euros'}s", "studentCode": "", "outputs": [[], [], [], [], [], [], [], [], [], [], [], [], []]}

Essais restants : 2

Exercice 3 : Etapes avec boucle Tant que (reste de division) - Python

On considère l'algorithme ci-dessous :

a = int(input('Rentrez la valeur de a : '))
b = int(input('Rentrez la valeur de b : '))

while a > b:
    a = a - b

print(a)

Faire fonctionner l'algorithme précédent pour \(a=43\), \(b=17\) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.

{"data": [["43", "17", "?", "?"]], "header_top": ["a", "b", "a", "a"]}

Exercice 4 : Initiation - Trois variables, deux lectures, un calcul

On considère l'algorithme ci-dessous :

\(N\)\(b + 3 \times a\)

Si \(a=4\) et \(b=7\), quelle est la valeur finale de \(N\) ?

Exercice 5 : Identifier les lignes à erreur de l'algorithme 1 - Python

On écrit un algorithme Python pour obtenir les racines d’un polynôme du second degré de la forme \( ax^2+bx+c \).
Les lignes 6 et 7 traitent le cas de l'existence de deux racines, les lignes 8 et 9 celui de la racine double et enfin les lignes 10 et 11 celui de l'absence de racine.
Cependant, l'algorithme ne renvoie pas le résultat souhaité, il doit comporter des erreurs. Pour un nombre réel positif k, on note math.sqrt(k) la racine carrée de k.

01 |   import math
02 |   a = float(input('Rentrez la valeur de a : '))
03 |   b = float(input('Rentrez la valeur de b : '))
04 |   float(input('Rentrez la valeur de c : '))
05 |   delta = b ** 2 - 4 * a * c
06 |   if delta > 0:
07 |       result = [- math.sqrt(delta) / (2 * a), math.sqrt(delta) / (2 * a)]
08 |   elif delta < 0:
09 |       result = -b / (2 * a)
10 |   elif:
11 |       result = None
12 |   print(result)

Identifier la ou les lignes comportant des erreurs :
False