Aller au contenu
Accueil › Exercices de maths › 1ère › Algorithmique et Python : exercices de maths 1ère

Algorithmique et Python : exercices de maths 1ère à télécharger en PDF

  • par
Rate this post
Exercices de maths en 1ère : Algorithmique et Python — Zyro, l’explorateur de Planète Maths

22 exercices classés par difficulté (★ facile, ★★ moyen, ★★★ difficile). Cherche d’abord sans regarder le corrigé !

2 Une fonction avec conditions ★★★

Voici une fonction qui décrit la température de l’air.

def categorie(t):
    if t < 0:
        return "gel"
    elif t <= 25:
        return "doux"
    else:
        return "chaud"

  1. Que renvoient categorie(-3), categorie(25) et categorie(31) ?
  2. Pourquoi n’est-il pas nécessaire d’écrire la condition \(t \gt 25\) dans la dernière branche ?

3 Évaluer une fonction Python ★★★

On définit en Python :

def f(x):
    return 3*x**2 - 4

  1. Calcule f(2), f(-3) et f(0.5).
  2. Écris en Python la fonction g définie par \(g(x) = 5 - 2x\) et donne g(4).

4 Indices et méthodes des listes ★★★

On définit L = [4, 9, 1, 7].

  1. Donne L[0], L[2] et len(L).
  2. On exécute L.append(10). Quelle est la nouvelle liste ? Que valent alors sum(L) et max(L) ?

5 Les termes d’une suite arithmétique ★★★

Voici un programme.

u = 12
for i in range(4):
    u = u + 5
print(u)

  1. Quelle valeur est affichée ?
  2. Quelle suite \((u_n)\) ce programme calcule-t-il ? Donne l’expression de \(u_n\).
  3. Comment modifier le programme pour afficher \(u_{20}\) ? Quelle valeur obtient-on ?

6 Vrai ou faux autour de range ★★★

Dis si chaque affirmation est vraie ou fausse, en justifiant.

  1. range(3, 8) contient 5 valeurs.
  2. range(5) contient la valeur 5.
  3. range(2, 10, 3) donne les valeurs 2, 5 et 8.
  4. La boucle for i in range(1, 10) s’exécute 10 fois.

7 Suivi d’une boucle while ★★★

On considère ce programme.

n = 1
while n < 50:
    n = n * 3

  1. Écris les valeurs successives de n.
  2. Combien de fois le bloc est-il exécuté ? Quelle est la valeur finale de n ?
  3. Pourquoi la boucle s’arrête-t-elle ?

8 Une culture de bactéries ★★★

Une culture compte 500 bactéries et augmente de 12 % chaque heure. On veut connaître la première heure où elle dépasse 2000 bactéries.

  1. Complète le programme (remplace chaque …).

b = 500
h = 0
while b … 2000:
    b = b * …
    h = h + …
print(h)

  1. Quelle valeur est affichée ? Justifie par un calcul.

9 Somme de onze termes ★★★

Soit \(u_n = n^2 - 3n + 1\) et le programme suivant.

S = 0
for k in range(11):
    S = S + (k**2 - 3*k + 1)
print(S)

  1. Combien de termes sont additionnés ? Précise le premier et le dernier.
  2. Calcule les termes et détermine la valeur affichée.

10 Compréhensions de listes ★★★

Donne le contenu des listes suivantes.

  1. A = [k**2 for k in range(1, 7)]
  2. M = [3, 8, 5, 12, 7, 10] puis B = [x for x in M if x % 2 == 0] (l’expression x % 2 est le reste de la division de x par 2)
  3. C = [2*k + 1 for k in range(5)]

11 Dichotomie à la main pour √7 ★★★

Soit \(f(x) = x^2 - 7\) sur \([2\,;\,3]\).

  1. Vérifie que \(f(2)\) et \(f(3)\) sont de signes contraires.
  2. Applique quatre étapes de la dichotomie en complétant un tableau (milieu, signe de \(f\), nouvel intervalle).
  3. Donne un encadrement de \(\sqrt{7}\).

12 Taux d’accroissement de x³ ★★★

On exécute ce programme.

def f(x):
    return x**3
for h in [0.1, 0.01, 0.001]:
    print((f(1 + h) - f(1)) / h)

  1. Calcule les trois valeurs affichées (à l’arrondi d’affichage près).
  2. Quel nombre dérivé peut-on conjecturer ?
  3. Démontre-le en simplifiant le taux d’accroissement.

13 Cinq épreuves à pile ou face ★★★

Un programme simule un lancer de pièce équilibrée :

from random import random
def epreuve():
    if random() < 0.5:
        return 1
    else:
        return 0

Soit \(X\) la somme de cinq appels de epreuve().

  1. Quelle est la loi de \(X\) ? Quelle est son espérance ?
  2. Calcule \(P(X = 2)\) et \(P(X \ge 1)\).

14 Une suite qui se rapproche de 2 ★★★

Soit \((u_n)\) définie par \(u_0 = 1\) et \(u_{n+1} = \dfrac{u_n}{2} + 1\).

u = 1
n = 0
while 2 - u >= 0.01:
    u = u / 2 + 1
    n = n + 1
print(n)

  1. Calcule \(u_1, u_2, u_3\).
  2. Que représente la valeur affichée ?
  3. Montre que \(2 - u_n = \dfrac{1}{2^n}\) et trouve la valeur affichée.

15 Moyenne d’une liste de notes ★★★

Voici une fonction.

def moyenne(L):
    total = 0
    for x in L:
        total = total + x
    return total / len(L)

  1. Que renvoie moyenne([13, 8, 16, 11, 7]) ?
  2. Écris une fonction au_dessus(L) qui renvoie le nombre d’éléments strictement supérieurs à la moyenne. Que donne-t-elle sur la liste précédente ?

16 Dichotomie : combien d’étapes ? ★★★

Soit \(f(x) = x^3 - 5x + 1\) sur \([0\,;\,1]\).

  1. Montre que l’équation \(f(x) = 0\) admet une unique solution \(\alpha\) dans \([0\,;\,1]\).
  2. Effectue trois étapes de dichotomie.
  3. Combien d’étapes faut-il pour obtenir un encadrement d’amplitude strictement inférieure à \(10^{-3}\) ?

17 Le plan d’entraînement du marathon ★★★

Une coureuse parcourt 10 km la première semaine, puis augmente sa distance de 10 % chaque semaine. Elle veut avoir couru plus de 200 km au total.

d = 10
total = 0
n = 0
while total <= 200:
    total = total + d
    d = d * 1.1
    n = n + 1
print(n)

  1. Que représentent les variables d, total et n ?
  2. Quelle valeur le programme affiche-t-il ? Justifie avec une formule.

18 Estimer une probabilité par simulation ★★★

Soit \(X\) le nombre de succès dans 20 épreuves indépendantes de probabilité de succès 0,4.

from random import random
def tirage():
    s = 0
    for i in range(20):
        if random() < 0.4:
            s = s + 1
    return s

compteur = 0
for j in range(5000):
    if tirage() >= 10:
        compteur = compteur + 1
print(compteur / 5000)

  1. Quelle est la loi de \(X\) ? Calcule \(E(X)\).
  2. Quelle probabilité ce programme estime-t-il ?
  3. Le programme affiche tantôt 0,2386, tantôt 0,2512. Est-ce anormal ?
  4. Donne la valeur exacte arrondie de \(P(X = 8)\) à la calculatrice.

19 Dérivée de l’inverse par le calcul numérique ★★★

Soit \(f(x) = \dfrac{1}{x}\) et \(a = 2\).

  1. Montre que \(\dfrac{f(2+h) - f(2)}{h} = -\dfrac{1}{2(2+h)}\).
  2. Calcule ce taux pour \(h = 0{,}01\), puis conjecture \(f'(2)\).
  3. On utilise aussi \(\dfrac{f(2+h) - f(2-h)}{2h}\). Montre qu’il vaut \(-\dfrac{1}{4 - h^2}\) et compare, pour \(h = 0{,}1\), l’écart avec \(f'(2)\) dans les deux méthodes.
  4. Déduis l’équation de la tangente en \(A(2\,;\,0{,}5)\).

20 Dichotomie pour exp(x) + x = 3 ★★★

Soit \(f(x) = \text{e}^x + x - 3\) sur \([0\,;\,1]\).

0.20.40.60.811.2-2.5-2-1.5-1-0.50.511.5α

  1. Montre que \(f(x) = 0\) a une unique solution \(\alpha\) dans \([0\,;\,1]\).
  2. Effectue trois étapes de dichotomie. Donne l’encadrement obtenu.
  3. Quelle est l’amplitude de l’encadrement après 10 étapes ?

21 Une boucle qui ne s’arrête jamais ★★★

Léa écrit ce programme pour compter de 0,1 en 0,1 jusqu’à 1.

x = 0
while x != 1:
    x = x + 0.1

  1. Le programme ne s’arrête jamais. Explique pourquoi : Python représente 0,1 de façon approchée et, après 10 additions, x vaut 0.9999999999999999 et non 1.
  2. Propose deux corrections.

22 Quand la somme des inverses dépasse 3 ★★★

On pose \(S_n = 1 + \dfrac{1}{2} + \dfrac{1}{3} + \dots + \dfrac{1}{n}\).

n = 1
S = 1
while S <= 3:
    n = n + 1
    S = S + 1 / n
print(n)

  1. Explique ce que fait ce programme.
  2. Calcule \(S_4\).
  3. Le programme affiche 11. Vérifie-le en donnant des valeurs approchées de \(S_{10}\) et \(S_{11}\).
Voir le corrigé des exercices : Algorithmique et Python – Planète MathsRevoir le cours : Algorithmique et Python – Planète Maths

Entraîne-toi : défi express de 1ère

Automatismes 1ère : combien de réponses en 60 secondes ?

🚀 Zyro te conseille la suite