• Aucun résultat trouvé

(1) ´Ecrire un algorithme qui ´etant donn´e un nombre rentr´e par l’utilisateur, affiche tous les ´el´ements de la suite

N/A
N/A
Protected

Academic year: 2022

Partager "(1) ´Ecrire un algorithme qui ´etant donn´e un nombre rentr´e par l’utilisateur, affiche tous les ´el´ements de la suite"

Copied!
1
0
0

Texte intégral

(1)

BCPST Conditions et boucles 2013-2014

Exercice 1 :

Soit l’algorithme suivant, o`utabest une liste de nombre : tmp = 0

i =0

NbElem = l e n ( ta b ) while i < NbElem :

tmp = tmp + t a b [ i ] i=i +1

(1) Dire `a quoi sert l’algorithme.

(2) Montrer la terminaison de l’algorithme.

(3) Montrer la correction de l’algorithme.

(4) R´e´ecrire cet algorithme en utilisant une bouclefor.

Exercice 2 :

Ecrire un algorithme qui calcule´ n!. On prouvera la terminaison et la correction de celui-ci.

Exercice 3 :

La suite de Syracuse d’un nombre entierN est d´efinie par r´ecurrence, de la mani`ere suivante :u0=N et pour tout entiern>0 :

un+1= (un

2 siun est pair 3un+ 1 siun est impair

Une conjecture affirme que, pour toutN >0 , il existe un indicentel queun= 1. Dans la suite de cet exercice, on suppose que cette conjecture est vraie.

(1) ´Ecrire un algorithme qui ´etant donn´e un nombre rentr´e par l’utilisateur, affiche tous les ´el´ements de la suite.

(2) Modifier ce programme pour que chaque ´el´ement de la liste soit stock´e dans une liste.

(3) Effectuer un test pour savoir si il existentel queun= 2.

(4) Le temps de vol est le plus petit indicentel queun= 1. ´Ecrire les instructions qui permettent d’afficher le temps de vol de cette suite.

(5) L’altitude maximale est la valeur maximale de la suite.

a. ´Ecrire les instructions qui permettent d’afficher cette valeur maximale.

b. V´erifier la terminaison et la correction de ce programme.

(6) Le temps de vol en altitude est le plus petit indicentel que un+1 < u0. Afficher ce temps de vol.

(7) Modifier cet algorithme pour calculer les temps de vol des suites de Syracuse desN premiers entiers o`u N est entr´e par l’utilisateur.

Exercice 4 :

Ecrire un programme qui g´´ en`ere un nombre al´eatoire entre 0 et 99 et fait deviner celui-ci `a l’uti- lisateur. Le programme devra dire si l’utilisateur a trouv´e ou pas le nombre, si l’utilisateur ne le trouve pas, le programme devra indiquer si le nombre saisi est trop grand ou trop petit. Une fois le nombre trouv´e, le programme indiquera en combien d’essais l’utilisateur l’a trouv´e. Par exemple, si le nombre est 62, on aura :

-Ordinateur : Saisir un nombre -Utilisateur : 50

-Ordinateur : Votre nombre est trop petit.

-Utilisateur : 75

-Ordinateur : Votre nombre est trop grand.

-Utilisateur : 62

-Ordinateur : Vous avez trouv´e le nombre en 2 essais.

En important la biblioth`eque random (import random), on a acc`es `a la fonction randint (exemple random.randint(0,99)

Références

Documents relatifs

On constate que les lignes correspondant ` a un nombre impair compos´ e (par ex- emple, ici la quatri` eme ligne correspondant au nombre impair 9) ne contiennent jamais de case

→ En 1949, Erdös montra le joli résultat suivant : pour tout entier k &gt;1 donné, il existe une infinité de nombres 2-pseudo-premiers qui sont chacun produit de k facteurs

Le programme devra dire si l’utilisateur a trouv´ e ou pas le nombre, si l’utilisateur ne le trouve pas, le programme devra indiquer si le nombre saisi est trop grand ou trop

Le programme devra dire si l’utilisateur a trouv´ e ou pas le nombre, si l’utilisateur ne le trouve pas, le programme devra indiquer si le nombre saisi est trop grand ou trop

[r]

Faire un programme qui affiche une ligne verticale de carrés de côté 40, si possible centrée comme indiqué ci-dessous :. Points

Faire un programme qui affiche un triangle rectangle isocèle de côté 150, si possible centré comme indiqué ci-dessous :. Points

Cr´ eer une fonction tirer d’argument n qui effectue la simulation de l’exp´ erience pr´ ec´ edente et renvoie le num´ ero de la case dans laquelle se trouve la bille ` a la fin..