• Aucun résultat trouvé

II.1 Structure conditionnelle : if, elif, else

N/A
N/A
Protected

Academic year: 2022

Partager "II.1 Structure conditionnelle : if, elif, else"

Copied!
2
0
0

Texte intégral

(1)

BCPST1

Feuille d’exercices

2021-2022

Lycée Henri-IV

Syntaxe du langage Python

Mathématiques

I Bases de Python

Exercice 1

On suppose que l’on dispose de deux variablesaet bcontenant chacune un nombre différent.

1. Proposer une succession de commandes permettant d’échanger les valeurs deaet b(il faut bien sur que ces commandes fonctionnent quelles que soient les valeurs initiales des deux variables !).

Indication :il peut être utile d’introduire une troisième variablec...

2. Plus dur : résoudre le même problème, mais en s’interdisant cette fois d’utiliser une autre variable queaoub.

Exercice 2

1. Écrire une fonction discriminant prenant en paramètres trois réels a, b, c et retournant la valeur du discriminant du polynômeaX2+bX+c.

2. Écrire une fonctionracinesqui, lorsqu’on l’applique à trois réels a, b, cvérifiant b2−4ac > 0, retourne les deux solutions de l’équation polynomiale du second degréax2+bx+c= 0.

On ne cherchera pas à traiter les cas où le discriminant est négatif ou nul.

Afin de pouvoir utiliser la fonction "racine carrée" (sqrten Python), taper dans la console "from math import sqrt".

II Structures de contrôle

II.1 Structure conditionnelle : if, elif, else

Exercice 3

Reprendre la fonction racines créée dans l’exercice I, et l’améliorer afin qu’elle prenne en compte aussi le cas ou toutes les valeurs possibles du discriminant.

Exercice 4

Expliquer ce que font les programmes suivants. Sont-ils équivalents ?

Programme 1 : if b < 0 :

print ("vivent les maths") elif b < 1 :

print("vive la bio")

Programme 2 : if b < 1 :

print("vive la bio") elif b < 0 :

print ("vivent les maths")

Exercice 5

Faire un programme qui indique si un nombre entier aest divisible par un nombre entierb.

Exercice 6

1. Dans la console, taper :effe(0). Que se passe-t-il ? Qu’en déduire ?

2. Faire (dans un fichier) une fonction (Python) qu’on nommeraeffe(x)qui calcule le résultat de la fonction (mathématique) suivante :

x7−→





x2 si x <0 2x+ 1 si x∈[0,1]

5x−1 si x∈]1,5[

x si x>5

3. Exécuter le fichier (et corriger les fautes de syntaxe éventuelles !) puis tester cette fonction dans la console

II.2 Structure itérative : boucle for

Exercice 7

1. Écrire un programme qui affiche 1000 fois le mot « Supercalifragilisticexpialido- cious ».

2. Écrire un programme qui affiche les carrés des entiers de 1 à 20.

3. Écrire un fonction prenant en entrée deux entiers pet n, et affichant les carrés des entiers depàn.

4. Écrire un programme qui affiche les carrés des entiers de 1 à 20, mais en en sautant un sur deux.

(2)

Feuille d’exercices : Informatique – Syntaxe du langage Python Exercice 8

Que fait le programme suivant : a = 1

for k in range(10) : a=a*(k+1)

print(a)

Exercice 9

On considère la suite définie par récurrence de la manière suivante :

u0= 2 et∀n∈N, un+1=1 2un+ 2.

1. A l’aide d’une boucle FOR, faire une fonctionmaSuite(n)qui prend un entiern et qui renvoie la valeur deun.

2. Écrire un script qui utilise la fonction précédente pour afficher tous les termes uk pourk∈[[n , p]],net pétant donnés.

II.3 Structure itérative : boucle while

Exercice 10

On considère à nouveau la suite définie dans l’exercice9: u0= 2 et∀n∈N, un+1=1

2un+ 2.

1. Écrire un programme qui détermine le rang du premier terme de la suite à dé- passer 3,99 (en d’autres termes, qui affiche le premier entierN tel queuN >3,99).

2. Écrire une fonction prenant en entrée un réelε >0, et renvoie le premier entier N tel que −ε < uN −4< ε.

Exercice 11

Que font les programmes suivants : 1.

b = 0

while (b <= 10) : print(b) b = b + 1

2.

b = 0

while (b <= 10) : b = b + 1 print(b)

Exercice 12

Que fait le programme suivant ?

b = 0

while (b <= 10) : print(b)

Exercice 13

On considère la suite (un)n∈Ndéfinie par :

∀n∈N, un= n2+ 1 n+ 3.

1. Écrire un programme qui détermine le rang du premier terme de la suite dépas- sant 1000.

2. Écrire une fonction prenant en entrée un réelAet déterminant le premier entier N tel que uN > A.

Exercice 14

L’algorithme de Syracuse consiste à associer à un nombre entiern:

n/2 si n est pair

• 3n+ 1 si n est impair.

On conjecture (on ne sait toujours pas si c’est vrai) que quel que soit l’entier n considéré, si on applique répétitivement l’algorithme de Syracuse, on finit toujours par arriver à un moment sur la valeur 1. C’est en tout cas vrai pour tous les entiers avec lesquels l’algorithme a été testé.

1. Écrire une fonction syracuse(n)qui prend en entrée un entiern, et qui effectue l’algorithme de Syracuse répétitivement jusqu’à obtenir 1, affichant tous les nombres obtenus jusqu’au premier 1 et renvoyant le nombre d’itérations effectuées jusqu’à l’obtention du premier 1.

2. Le tester sur différentes valeurs (par exemple sur 7 et 27).

Références

Documents relatifs

– il existe un nombre n’ (plus grand que n) tel que, parmi les vols de numéros inférieurs à n’, au plus un pour cent ne passe pas sous leur point de départ ;.. – il existe

[r]

Une suite géométrique positive et strictement croissante admet une limite égale à

b) A number is assigned to each student the following way: If your first name starts with A, your number is 1; If your first name starts with B, your number is 2 ...etc. Starting

Il suffit donc d'arrêter la suite de n au plus petit i tel que U(n, ï)&lt;n, appelé «temps d'arrêt simple de n» dans [1], On change le test r&gt;\ en r ^ n dans le

Qu’est-ce que la conjecture de Syracuse, encore appelée conjecture de Collatz, conjecture d’Ulam, conjecture tchèque ou problème 3x+1.. Définissez la notion de temps de vol

A priori, il serait possible que la suite de Syracuse de certaines valeurs de départ n’atteigne jamais la valeur 1, soit qu’elle aboutisse à un cycle différent du cycle trivial,

1°) Recopier et compléter le tableau suivant des termes de suites de Syracuse définies par des différents termes initiaux. 4°) Programmer l’algorithme précédent soit