• Aucun résultat trouvé

Révisions sur le branchement conditionnel et les boucles – TP

N/A
N/A
Protected

Academic year: 2022

Partager "Révisions sur le branchement conditionnel et les boucles – TP"

Copied!
3
0
0

Texte intégral

(1)

RÉVISIONS SUR LE BRANCHEMENT CONDITIONNEL ET LES BOUCLES TP

Révisions sur le branchement conditionnel et les boucles – TP

1

G. BOUTARDet S. CALLEA 1 Lycée GAY-LUSSAC

(2)

TP RÉVISIONS SUR LE BRANCHEMENT CONDITIONNEL ET LES BOUCLES

Exercices

Exercice 1 – Programme mystère

On donne la fonction suivante : Python

1 def diviseurs(n):

2 compteur = 0

3 for d in range(1,n+1):

4 if n % d == 0:

5 compteur = compteur + 1

6 return compteur

1. Tester la fonctiondiviseursavec les valeursn=20, puisn=173.

2. Lors de l’exécution de la fonction, donner les valeurs prises par la variabled. 3. Que signifien % d? Que signifien // d?

4. Que signifien % d == 0?

5. Quelle valeur est renvoyée par cette fonction ?

Exercice 2 – Factorielle

Soitn∈N. On pose 0!=1 etn!=1×2× · · · ×n. Autrement dit,n! est le produit des entiers compris entre 1 etn.

1. Donner un relation reliant (n+1)!,n! etn+1.

2. Écrire un programme qui affecte un nombre entiernde votre choix à une variable et affiche la valeur de n! en utilisant une bouclefor.

Exercice 3 – Suite mystère

Le programme suivant affiche les premiers termes d’une suite (un)n∈N. Python

1 u,i = 1/3,0

2 while i < 20:

3 print(u)

4 u,i = 3*u,i+1

1. Donner l’indice du dernier terme de la suite calculé.

2. Soitn∈Nfixé. Donner l’expression deun+1 en fonction deun. 3. En déduire l’expression deunen fonction den.

4. Écrire un programme permettant de calculerunsans utiliser de bouclewhile. Vous comparerez les réponses de votre programme et du programme de l’énoncé.

PCSI 2021 – 2022 2 G. BOUTARDet S. CALLEA

(3)

RÉVISIONS SUR LE BRANCHEMENT CONDITIONNEL ET LES BOUCLES TP

Exercice 4 – Programme mystère

Que fait le programme suivant ? Python

1 from math import *

2 n = int(input("Entrez un entier supérieur à 1 : "))

3 r = sqrt(2)

4 for i in range(n-1):

5 r = sqrt(2)**r

6 print(r)

Travail à faire

Exercice 5 – Suite de Syracuse

On considère la suite de Syracuse :u0=a∈N?et, pour toutn∈N,

un+1= ( un

2 siunest pair, 3un+1 siunest impair.

1. Comment peut-on déterminer la parité d’un entier stocké dans une variableuen Python ?

2. Écrire un programme qui stocke dans deux variablesaetN des entiers naturels non nuls et qui affiche les termes u0,u1, . . . ,uN de la suite de Syracuse.

3. SiNest choisi « assez grand » (mais pas trop...), que constatez-vous ? La conjecture de Syracuse est : pour touta∈N?, il existen∈Ntel queun=1.

Poura∈N? fixé, on appelletemps de volde la suite le plus petit entierntel queun=1.

4. Écrire un programme qui stocke dans une variableaun entier naturel non nul et affiche la valeur du temps de vol de la suite (un)n∈N.

Indication: lorsquea=9, le temps de vol est 19.

G. BOUTARDet S. CALLEA 3 Lycée GAY-LUSSAC

Références

Documents relatifs

Réaliser un programme qui affiche le résultat de l’opération après affectation dans une

En utilisant la fonction scanf et les propriétés de la division des en- tiers vues plus haut, écrire un programme qui permet à l’utilisateur de saisir un nombre entier et affiche

écart-type : écrire une fonction EcartType1 qui prend comme para- mètre un tableau X et un entier n et renvoie l’écart-type des n premières valeurs du tableau4. calculs statistiques

Ecrire un programme qui demande à l’utilisateur une chaine de carac- tère puis un entier n, et affiche ensuite la chaîne n fois à l’écran en sautant une ligne entre chaque

Construire une procédure qui, étant donné un entier naturel non nul n, affiche le nombre de piles obtenus au cours des n premiers lancers.. Construire une procédure qui affiche

 var est une variable compteur de type entier (ou caractère). Elle doit être déclarée.  Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être mentionné,

On suppose que dans un programme scilab est définie une fonction nommée fonc qui à un entier n, renvoie une valeur f (n), à l’aide d’une boucle for, écrire un code scilab

Écrire un programme utilisant la boucle Repeat qui permet de calculer la somme à payer d'un ensemble d'articles achetés par un client.. Le prix de chaque article est saisi