L'algorithmique - Spécialité

Python

Exercice 1 : Initiation - Priorités et expressions littérale

On considère l'algorithme ci-dessous :
a = float(input('Rentrez la valeur de a : '))

a = a + 2
a = 9*a
a = a + 8
a = a/5
afficher_le_resultat()

Si l'on note \(x\) le nombre fourni par l'utilisateur, donner l'expression du calcul réalisé par cet algorithme.

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

On considère l'algorithme ci-dessous :

u = 5000
S = 5000

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

for i in range(2, n + 1):
    u = 9*u/5
    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.

{"data": [["", "2", "?", "?", "?"], ["5000", "?", "?", "?", "?"], ["5000", "?", "?", "?", "?"]], "header_left": ["i", "u", "S"]}

Exercice 3 : PGCD - Algorithme d'Euclide (inspiré par Bac S Antilles-Guyane 2015 pour spé) - Python

Pour deux entiers naturels non nuls \(u\) et \(m\), on note \(\operatorname{r}{\left (u,m \right )}\) le reste dans la division euclidienne de \(u\) et \(m\). On considère l'algorithme suivant :

import r

u = int(input('Rentrez la valeur de u : '))
m = int(input('Rentrez la valeur de m : '))

s = r(u, m)
while s != 0:
    u = m
    m = s
    s = r(u, m)
print(m)
if ???:
    print('u et m sont premiers entre eux')
else:
    print('u et m ne sont pas premiers entre eux')

Faire fonctionner cet algorithme avec \(u=39\) et \(m=11\) en indiquant les valeurs de \(u\), \(m\) et \(s\) à chaque étape.

{"header_left": ["u", "m", "s"], "data": [["39", "?", "?", "?"], ["11", "?", "?", "?"], ["?", "?", "?", "?"]]}

Cet algorithme donne en sortie le PGCD des entiers naturels non nuls \(u\) et \(m\). Par quelle expression doit on compléter la condition ??? pour qu’il indique si deux entiers naturels non nuls \(u\) et \(m\) sont premiers entre eux ou non.

Exercice 4 : Resultat de boucle Pour - Python

On considère l'algorithme ci-dessous :

S = 0

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

for i in range(1, N + 1):
    S = S + 2*i

print(S)

Si l'utilisateur entre la valeur \(N=4\), quelle est la valeur affichée en sortie ?

Exercice 5 : Boucle et condition - Lancers de dés

Le programme trouver_probabilite(n) calcule la probabilité d'obtenir le nombre entier naturel non nul n en additionnant le résultat d'un lancer de dé à \( 20 \) faces avec celui d'un dé à \( 10 \) faces.

Écrire le contenu de la fonction trouver_probabilite

La fonction doit renvoyer un nombre "rationnel".
Par exemple, si la fonction doit renvoyer \( \dfrac{4}{3} \) on utilisera  return 4/3
{"initCode": "%{def trouver_probabilite(n):}s", "inputs": [[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15], [16], [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], [32]], "outputs": [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], "nbAttemptsLeft": 2, "studentCode": ""}
Suivant Valider

Essais restants : 2