[PDF] TP no 1 : À la découverte de Python (exercices 8 à 12)



Previous PDF Next PDF







Suite de Syracuse - ac-rouenfr

1 SUITE DE SYRACUSE On définit la suite (u n) de la manière suivante : u 0 est un entier positif non nul donné Pour n dans ℕ : = 2 =3 +1 ˘ Ecrire un programme permettant de conjecturer le comportement de la suite pour n suffisamment grand



Devoir à la maison n°2 - MathXY

En répétant l’opération, on o tient une suite d'entiers positifs dont haun ne dépend que de son prédécesseur Par exemple, à partir du nombre 5, on construite la suite de Syracuse du nombre 5 : 5, 16, 8, 4, 2, 1, 4, 2, 1, 4, 2, 1 Lothar Collatz énonça une conjecture en 1937 : une suite de Syracuse partant de n'importe quel



TD Info3n: Corrigé

TD Info3n: Corrigé PCSI 2 Lycée Pasteur 20 septembre 2007 Exercice 1 Une petite procédure Maple calculant le rang du premier terme de la suite de Syracuse alanvt 1 :



TP no 1 : À la découverte de Python (exercices 8 à 12)

Correction de l’exercice 11 – La suite de Syracuse, aussi appelée suite de Collatz, fournit une des plus célèbres conjectures non élucidées à ce jour, à l’énoncé particulièrement simple : pour toute valeur initiale n, la suite définit



Vendredi 14 juin 2013 – de 9h 00 à 13h 00 Deuxième épreuve d

Voici, en exemple, les cinq premiers termes de la suite de Syracuse commençant par 7 : 7 - 22 - 11 - 34 - 17 1 a) Donner les dix premiers termes de la suite de Syracuse dont le premier terme est 3 b) Donner les dix premiers termes de la suite de Syracuse dont le premier terme est 5



Maple TD2 - persocransorg

4 Ecrire une proc edure prenant une s equence en param etre et renvoyant la somme de ses el ements 5 Ecrire a nouveau la proc edure du 2 1 1 avec les r eponses aux questions pr ec edentes 3 4 Suite de Syracuse Par d e nition, la suite de Syracuse est : 8



Corrigés des exercices sur les fonctions récursives

Exercice 7 1 2 Fibonacci Ecrire une fonction qui calcule les valeurs de la série de Fibonacci, définie par : – u 0 = 0 – u 1 = 1 – u n = u n 1 +u n 2 Ecrivez cette fonction sous forme itérative et sous forme récursive



LANGAGE C Exercices corrigés 1

Exercice 3 : a) Calculez la racine carrée X d'un nombre réel positif A par approximations successives en utilisant la relation de récurrence suivante: XJ+1 = (XJ + A/XJ) / 2 X1 = A La précision du calcul J est à entrer par l'utilisateur b) Assurez-vous lors de l'introduction des données que la valeur pour A est un réel positif et que J



Suites et séries de fonctions - maths-francefr

La suite de fonctions (fn)n∈N converge simplement vers la fonction f sur D si et seulement si pour chaque x de D, la suite numérique (fn(x))n∈N converge vers le nombre f(x) On dit dans ce cas que f est la limite simple sur D de la suite de fonctions (fn)n∈N Exemple 1 Pour x ∈ [0,1]et n ∈ N, on pose fn(x)=xn Si x ∈ [0,1[, lim n



Exercices de base avec Python - IREM de la Réunion

Exercices de base avec Python Résultat du programme avec vérification : >python ' /SecondesEnAmjhms-Python2 py' Nombre de secondes à convertir : 12345678912 Cette durée correspond à 391 années de 365 jours, plus 5 mois de 30 jours, 24 jours, 19 heures, 15 minutes et 12 secondes > Exercices à faire Exercices sur les chaînes de caractères

[PDF] la suite définie

[PDF] la suite du texte "Le bleu qui fait mal aux yeux"

[PDF] La Suite numérique

[PDF] La supercificie de la Terre est environ de 5,1 x 10 puissance 8 km²

[PDF] La supersitition

[PDF] la superstition

[PDF] la surface (fraction)

[PDF] la surface du globe

[PDF] La surveillance la prévision et la prévention

[PDF] la survie sur l ile p 182 francaix

[PDF] la syllabation en poésie

[PDF] La symbolique chevaleresque dans l'enluminure

[PDF] la symbolique du crane dans arts plastics (peinture,sculture)

[PDF] La symétrie axiale

[PDF] La symétrie axiale - DM de maths

Lycée Louis-Le-Grand,Paris2014/2015

MPSI 4- Informatique pour tous

D. Cazor, A. Troesch

TP no1 : À la découverte de Python (exercices 8 à 12) Correction de l"exercice 8- Première version, avec tests emboîtés : defbissextile1(n): bis = (n % 4 == 0)# bis prend la valeur True ssi n divisible par 4 ifn > 1582:# sinon, c"est terminé # première exception: ifn % 100 == 0: bis = False # exception de l"exception: ifn % 400 == 0: bis = True returnbis

Voici une deuxième version, dans laquelle nous avons regroupé les tests concernant le calendrier grégorien :

defbissextile2(n): bis = (n % 4 == 0) if(n > 1582)and(n % 100 == 0)and not(n % 400 == 0): bis = False returnbis

La troisième version est encore plus synthétique, et n"utilise que les opérations sur les booléens :

defbissextile3(n): returnn % 4 == 0and((n <= 1582)or(not(n % 100 == 0)or(n % 400 == 0)))

Correction de l"exercice 9-

1. Après initialisation, on itère la construction de la série harmonique tant qu"on n"a pas dépassé le seuilA. La

terminaison de cet algorithme est assurée par la divergencede la série harmonique. Mais cette divergence est

lente (de l"ordre deln(n)). Cela explique le temps d"attente assez long pour des valeurs trop grande deA. Lors

d"une itération aussi longue, il faut aussi prendre garde aux problèmes d"inexactitude de la représentation des

réels, qui peuvent légèrement perturber les calculs. A = eval(input("Entrez␣une␣valeur-seuil␣A␣:␣")) S = 0 n = 0 whileS < A: n += 1

S += 1 / n

print("La␣série␣harmonique␣dépasse␣le␣seuil␣{}␣pour␣la␣première␣fois␣à ␣l"indice

{}".format(A,n))#(en une seule ligne)

2. On peut remarquer que contrairement à ce qu"on pourrait penser, il n"est pas nécessaire de faire explicitement

l"échange deaetblorsquea > binitialement. Cet échange se fait automatiquement lors de la première étape de

l"algorithme (pourquoi?) On obtient alors : defpgcd (a,b): whilea!= 0: a, b = b % a, a return(b) 1

On peut aussi en donner une version récursive (fonction faisant appel à elle-même pour des valeurs différentes

des paramètres). Attention dans cette situation à donner lacondition initiale, sous forme d"une struture condi-

tionnelle. defpgcd_rec(a,b): ifa == 0: returnb returnpgcd_rec(b % a, a)

On n"a pas besoin de mettre deelseici, car l"instructionreturnprovoque la sortie de la fonction. Ainsi, si

a= 0, la dernière ligne n"est pas lue. Correction de l"exercice 10-Formater l"affichage des nombres.

1. Pour commencer, vérifions que la fonctionstr()permet bien de faire une conversion d"un type numérique vers

un type string : >>> x = 3 >>> x 3 >>> str(x) "3" >>> "Les␣" + x + "␣petits␣cochons"

Traceback (most recent call last):

File "", line 1,in

TypeError: Can"t␣convert␣"int"␣object␣to␣str␣implicitly >>>␣"Les "␣+␣str(x)␣+␣" petits cochons" "Les 3 petits cochons"

Dans cet exemple, on essaie d"insérer la valeur de la variablexdans une chaîne de caractère, à l"aide de l"opération

+ (concaténation des chaînes de caractères). Si on essaye dele faire directement avec la valeur dex, on obtient une

erreur de type, l"ordinateur ne pouvant effectuer la somme d"une chaîne de caractère et d"une valeur numérique.

La conversion dexen chaîne de caractère résout le problème.

Le même exemple peut être traité à l"aide de la méthodeformat. Une méthode est une fonction définie pour une

classe d"objets, dont la syntaxe est généralement une utilisation en suffixe :objet.méthode(paramètres). La

liste des méthodes disponibles pour une classe peut être obtenue à l"aide de la fonctionhelp(). Ainsi,help(str)

renvoie la liste des méthodes de la classestrdes chaînes de caractères, liste dans laquelle nous retrouvons la

méthodeformatdéfinie dans l"énoncé. Nous obtenons la syntaxe suivante : >>> "Les␣{}␣petits␣cochons".format(x) "Les␣3␣petits␣cochons"

2. Nous testons ici les différents formats d"affichage décritsdans l"énoncé, avec la valeur27

>>> x = 2 / 7 >>> x

0.2857142857142857

>>> "Que␣mon␣nombre␣{}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:g}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:3e}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:e}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:.3e}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:.4f}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:<15.4f}␣est␣beau".format(x) 2 >>> "Que␣mon␣nombre␣{:>15.4f}␣est␣beau".format(x) >>> "Que␣mon␣nombre␣{:^15.4f}␣est␣beau".format(x)

La troisième tentative montre l"effet de l"oubli du point (simple passage en notation scientifique, mais on perd

la spécification du nombre de décimales; comme le montre la ligne suivante, cela revient au même que:e)

3. On calcule les valeurs deunles unes après les autres, en les stockant dans la même variableuqu"on actualise au

fur et à mesure du calcul. Ne pas oublier d"importer la fonctionsindu modulemath(ou denumpy). frommathimportsin u = 1 i = 0 whileu > 2e-3: u = sin(u) i += 1

La convergence est lente (enΘ(⎷n)), ce dont on peut se rendre compte en exécutant ce programme.si on

remplace2·10-3par10-3, il faut être beaucoup plus patient pour voir le programme terminer.

4. Soit on concatène les chaînes 3 par 3, soit on modifie le paramètreendde la fonctionprint(), afin de supprimer

les retours à la ligne entre chaque affichage, en rajoutant un retour à la ligne (par concaténation) tous les 3

affichages. C"est cette dernière méthode que nous retenons : n = 0 u = 1 whileu < 1e20: affichage = "2^{:<3}␣=␣{:>20}".format(n,u) ifn % 3 == 0: affichage = "\n" + affichage print(affichage, end = "␣;␣␣␣␣") u *= 2 n += 1

L"alignement des valeurs par les unités se fait en justifiantà droite, la longueur totale réservée à l"affichage étant

de 20 caractères, afin d"avoir la place d"afficher tous les nombres inférieurs à1020.

Correction de l"exercice 11- La suite de Syracuse, aussi appelée suite de Collatz, fournit une des plus célèbres

conjectures non élucidées à ce jour, à l"énoncé particulièrement simple : pour toute valeur initialen, la suite définit

finit-elle toujours par tomber sur la valeur1(puis boucler sur le cycle 4,2,1)? defsyracuse(n): """ Calcul de la suite de Syracuse (Collatz) de valeur initiale n """ u = n# initialisation de u

M = n# initialisation du maximum rencontré

i = 0# indice (temps de vol) whileu != 1: ifu % 2 == 0: u = u // 2 else: u = 3 * u + 1 ifM < u: M = u i += 1 returnM, i n = eval(input("Valeur␣initiale␣:␣")) h, t = syracuse(n) 3

Correction de l"exercice 12- La convergence de cette série n"est pas très dure à établir.Il s"agit en fait d"un

cas particulier d"une situation plus générale (séries alternées). Un théorème donne alors la convergence du fait de la

décroissance de 1 kln(k)vers0. En effet, en notantSn=n?k=2(-1)kkln(k), les deux différencesS2n+2-S2netS2n+3-S2n+1

sont toutes deux constituées de deux termes, et la décroissance de la valeur absolue du terme général permet de

montrer que l"une est positive, et l"autre négative. La convergence du terme général vers0permet alors de montrer

que(S2n)et(S2n+1)sont adjacentes, donc convergentes vers une même limiteS. Il en résulte que(Sn)elle-même

est convergente. Par ailleurs, des deux suites extraites(S2n)et(S2n+1), l"une converge en croissant versS, l"autre en

décroissant. On obtient alors facilement la majoration suivante : ?n?2,|Sn-S|?|Sn-Sn+1|.

Nous pouvons donc nous contenter de calculer la somme juqu"àce que deux termes consécutifs aient une différence

inférieure à l"erreur maximale souhaitée (ce qui revient à dire que la valeur absolue du terme général de rangn+1est

inférieur à cette erreur) frommathimportlog defsomme(err): # Initialisation: eps = 1# signe

S = 0# Somme partielle initiale

u = 1 / (2 * log(2))# premier terme général i = 2# premier indice # Itération: whileabs(u) > err:

S += u * eps

i += 1 u = 1 / (i * log(i)) eps *= -1 returnS

Pourerr = 1e-8, on obtientS = 0.5264122415333191.

4quotesdbs_dbs46.pdfusesText_46