La règle de ce jeu est très simple. L'ordinateur choisit une valeur entière comprise entre 1 et 100 au hasard.
Le joueur essaie de trouver cette valeur. A chaque essai, l'ordinateur affiche l’un de ces trois messages :
Bravo, vous avez gagné !
C’est plus …
C’est moins …
Écrire un programme qui simule ce jeu
Remarque
Pour crée un nombre entier aléatoire entre 1 et 100 on utilise le module random comme suit :
import random
mystere = random.randint(1,100)
trouve = True
while trouve :
nombre = int(input('Entrez un entier entre 1 et 100 : '))
if nombre == mystere :
trouve = False
elif nombre < mystere :
print("C'est plus grand")
else :
print("C'est plus petit")
print("Bravo, vous avez gagné !")
Convergence d'une suite.
Une suite u est définie, pour tout entier naturel n, par
\[\begin{equation}
\left\{
\begin{aligned}
u(0) = 0\\
u(n+1) = u(n) + \frac{1}{(n+1)(n+2)}\\
\end{aligned}
\right.
\end{equation}\]
Programmer le calcul de u(n). Émettre une conjecture sur la convergence de cette suite.
Ecrire un programme permettant d'afficher le plus petit entier naturel n à partir duquel on a : \[\mid(u(n)-1)\mid< 0.001\]
Résolution de la question "Le calcul de u(n)".
n = int(input("Saisir la valeur de l'entier naturel n : "))
k = 0
u = 0
while k < n :
u = u + 1/((k+1)*(k+2))
k = k + 1
print("Le terme de la suite au rang ", n, " est : ", u)
Résolution de la question "\[\mid u(n)-1 \mid< 0.001\]".
from math import *
u = 0
n = 0
while abs(u - 1) > 0.001 :
u = u + 1/((n+1)*(n+2))
n = n + 1
print("Le plus petit entier n tel que |u(n) - 1 | < 0.001 est ", n)
Croissance de la factorielle.
Soit n un entier positif.
On appelle factorielle n (et on note n!) l'entier égal au produit des entiers de 1 à n.
Écrire un programme qui :
demande un entier strictement positif B,
détermine et affiche le plus petit entier n tel n! > B.
Résolution de l'exercice "Croissance de la factorielle".
B=int(input('Entrez un entier B > 0 : '))
p=1
n=0
while p <= B :
n+=1
p*=n
print('Le premier entier n tel que n! > {} est {}.'.format(B,n) )
blog.
Soit x ≥ 1 un nombre réel. On appellera blog(x) le plus petit entier n tel que x ≤ 2n.
Écrire un programme en python prenant en entrée un float x ≥ 1 et donnant en sortie blog(x).
Résolution de l'exercice blog.
x = float(input('Entrez une valeur réelle de x : '))
n = 0
while x > 1 :
x/=2
n+=1
print('blog({}) = {}.'.format(x, n) )
Pour déterminer le pgcd de deux entiers naturels a et b, on utilise les propriétés suivantes :
pgcd(a,0)=0
pgcd(a,b)=pgcd(b,r) où r est le reste de la division euclidienne de a par b.
Lorsqu'on remplace pgcd(a,b) par pgcd(b,r), on remplace l'élément b par un élément strictement plus petit (et ≥ 0).
En réitérant le procédé, on finit par arriver à une valeur de r égale à 0.
La dernière valeur de r non nulle (qui peut éventuellement être b lui-même dans certains cas) est alors le pgcd de a et b.
En d'autres termes, le calcul du pgcd revient à remplacer le couple (a, b) par le couple (b,r) successivement
jusqu'à ce que r soit nul puis à appliquer
la règle 1 citée ci-dessus.
Écrire un programme qui demande deux entiers naturels a et b et détermine ensuite leur pgcd suivant
le principe précédent.
Résolution de l'exercice PGCD.
Premier programme.
a=int(input('Entrez un entier naturel a : '))
b=int(input('Entrez un entier naturel b : '))
while b!=0 :
aux= a
a=b
b= aux%b
print(a)
Second programme.
On peut en python se passer de la variable intermédiaire aux utilisée dans le programme précédent à l'aide
d'affectations parallèles.
Par exemple, si l'on veut échanger les valeurs des variables a et b, il suffit d'écrire a,b=b,a
en langage python
(dans la plupart des autres langages, une variable auxiliaire serait nécessaire).
Cette particularité permet d'écrire un programme plus proche de notre descriptif :
a=int(input('Entrez un entier naturel a : '))
b=int(input('Entrez un entier naturel b : '))
while b!=0 :
a,b =b, a%b
print(a)