<jupyter_start><jupyter_text>--- CHAPITRE 1 : Bases de PYTHON TP 2 : Fonctions et boucles - ELEVEAttention, chaque fonction doit être implémentée avec les doctypes entre 3 guillements dans lesquels on précise les préconditions et les postconditions de la fonction--- 1. La fonction paire (*)Implémenter la fonction paire**paire : int -> bool**<jupyter_code># saisissez ici votre fonction
# jeu de tests
assert paire(7)==False
assert paire(8)==True<jupyter_output><empty_output><jupyter_text>2. La fonction max (*)Ecrire la fonction max qui renvoi le maximum de deux nombres**max2: int\*int -> int**(fonctionne aussi avec float)<jupyter_code># saisissez ici votre fonction
# jeu de tests
assert max2(5,7)==7
assert max2(3,3) == 3
assert max2(10.3,10.4) == 10.4<jupyter_output><empty_output><jupyter_text>2 bis La fonction max (suite) (*)Il s'agit maintenant d'implémenter la fonction max4, qui donne le maximum de 4 éléments**max4: int\*int\*int\*int -> int**astuce : utiliser la fonction max2 !<jupyter_code># saisissez ici votre fonction
# jeu de tests
assert max4(5,7,2,4)==7
assert max4(3,3,3,3)==3
assert max4(5,3,5,3)==5<jupyter_output><empty_output><jupyter_text>--- 3. Exercice : La suite de Syracuse (**)Implémenter une fonction qui à partir d'un entier n non nul, génère la suite de Syracuse (voir internet).**syracuse: int -> list**Pour générer une liste vous avez besoin de deux instructions- l=[] crée une liste vide- l.append(x) ajoute le terme x en bout de list(voir exemple ci dessous)<jupyter_code>#exemple de création de liste
liste=[]
liste.append(2)
liste.append(7)
liste.append(11)
liste
# saisissez ici votre fonction
# jeu de test
assert syracuse(3)== [3,10,5,16,8,4,2,1]<jupyter_output><empty_output><jupyter_text>--- 4. La fonction factorielle (**)n!=1 * 2 *  ... * nImplémenter la fonction factorielle pour n > 1**factorielle : int -> int**<jupyter_code># saisissez ici votre fonction

# jeu de tests
assert factorielle(5)==120
assert factorielle(1)==1
assert factorielle(2)==2<jupyter_output><empty_output><jupyter_text>--- 5. Somme des entiers (**)Implémenter la fonction somme des n premiers entiers **somme_entiers: int -> int**<jupyter_code># saisissez ici votre fonction
#jeu de tests
assert somme_entiers(5)==15
assert somme_entiers(1)==1
assert somme_entiers(100)==5050<jupyter_output><empty_output><jupyter_text>--- 5 bis Somme des entiers impairs (**)Est-il vrai que toute somme des premiers entiers impairs est toujours un carré ?ex : 1 + 3 + 5 = 9Implémenter la fonction somme_impairs qui calcule la somme des n premiers impairs.Astuce : m impair peut toujours s'écrire sous la forme 2*n+1 ou n est un entier**somme_impairs:int -> int**<jupyter_code># saisissez ici votre fonction
# jeu de tests
assert somme_impairs(3)==9
assert somme_impairs(1)==1
assert somme_impairs(7)==49<jupyter_output><empty_output><jupyter_text>--- 6. Somme des inverses (***)Existe-t-il un entier m tel que ${1\over 1} + {1\over 2}+ {1\over 3} + ... + {1\over m} > n$.Ecrire la fonction somme_inverse(n) qui retourne un tel entier.**somme_inverses : int -> int**<jupyter_code># saisissez ici votre fonction
# jeu de tests
assert somme_inverses(5)==83 # avec la somme des  83 premiers inverses on dépasse 5
assert somme_inverses(1)==2
assert somme_inverses(10)==12367<jupyter_output><empty_output><jupyter_text>--- 7. Approximation de pi ( *** )La série de Madhava-Leibniz converge vers pi. Elle permet de calculer les décimales de pi.$\pi =4 \times \left( 1-{1\over 3}+{1\over 5}-{1\over 7}+{1\over 9}-{1\over 11}+{1\over 13}-\cdots \right)$Implémenter la fonction pi(n) qui calcule une approximation de pi après n itérations de la série.**pi: int -> float**<jupyter_code># saisissez ici votre fonction
#jeu de tests
assert madhava_pi(100)==3.1315929035585537
assert madhava_pi(1)==4.0
assert madhava_pi(1000)==3.140592653839794<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.125, 'fraction_numerical': 0.048295454545454544, 'mean_word_length': 5.770979020979021, 'pattern_counts': {'":': 0, '<': 37, '<?xml version=': 0, '>': 48, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '663712', 'license': 'CC0-1.0', 'n_tokens_mistral': 1540, 'n_tokens_neox': 1435, 'n_words': 431, 'path': 'CH1 TP2 fonctions et boucles - 2020 ELEVE.ipynb', 'repo_name': 'MCHASLE/1NSI', 'size': '3872'}