L'algorithmique - Spécialité

Python

Exercice 1 : Trouver l'expression d'une suite d'après un programme Python (pas d'exponentielle)

On définit la suite \( (u_n)_{n \in \mathbb{N}} \) à l’aide d’un programme python. Pour tout \( n \in \mathbb{N} \quad u_n = \) fonction(n).

La fonction Python fonction est définie par :

def fonction(n):
    u_n = 1
    i = 1
    while i <= n:
        u_n = 2 * i + u_n ** 2
		i = i + 1
    return u_n

Que vaut \( u_0 \) ?
Exprimer \( u_{n+1} \) en fonction de \( n \) et \( u_n \).

Exercice 2 : Initiation - Trois variables, deux lectures, un calcul - Python

On considère l'algorithme ci-dessous :

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

N = 8*a + b

print(N)

Si l'utilisateur entre les valeurs \(a=4\) et \(b=7\), quelle est la valeur affichée en sortie ?

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

Un distributeur automatique de billets ne contient que des billets de \( 5 \) et de \( 50 \) 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": [[250], [50], [650], [2], [323], [5], [10], [20], [50], [100], [200], [105], [60]], "outputs": [[], [], [], [], [], [], [], [], [], [], [], [], []], "studentCode": "", "nbAttemptsLeft": 2, "initCode": "%{def distributeur(montant):}s\n\t\n\treturn %{'Impossible de distribuer '}s+ + %{' euros'}s"}

Essais restants : 2

Exercice 4 : 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=47\), \(b=21\) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.

{"header_top": ["a", "b", "a", "a"], "data": [["47", "21", "?", "?"]]}

Exercice 5 : Initiation - Test simple et géométrie - Python

On considère l'algorithme ci-dessous :
tracer_une_droite_d()
choisir_une_forme_geometrique_au_hasard()
if la_forme_choisie_est_un_triangle():
    tracer_un_triangle_abc()
else:
    tracer_un_rectangle_abcd()
tracer_le_symetrique_de_la_forme_par_rapport_a_la_droite_d()

Trouver parmi les figures suivantes, celles qui ont pu être tracées avec cet algorithme.




False