[PDF] livre-algorithmes EXo7.pdf Algorithmes et mathématiques PREMIERS





Previous PDF Next PDF



cours-python.pdf

22 mars 2018 2.8 Note sur la division de deux nombres entiers . ... Cours de Python / Université Paris Cité / UFR Sciences du Vivant.



Notes de cours / Algo et Python

Introduction à l'algorithmique et à la programmation avec Python Sur Updago : Algorithmique et Programmation Python ... Notes de cours Ensip 1A.



INITIATION A LALGORITHMIQUE INF 102 NOTES DE COURS

Nous donnerons une implémentation en Python (voir cours MISMI MIS. 102). Définition 1.4.Une heuristique est une procédure de calcul correcte.



Python au lycée - tome 1

Ce livre n'est donc ni un manuel complet de Python ni un cours Le but est de découvrir des algorithmes



Exercices corrigés

Ils sont soit simples soit moins simples (notés > dans la marge) soit difficiles (notés >>). Les scripts du cours. Cours no 1 : « Premiers pas en Python ».



Notes de cours / Algo et Python

Introduction à l'algorithmique et à la programmation avec Python. Laurent Signac https://deptinfo-ensip.univ-poitiers.fr. 27 septembre 2017 



Informatique et Algorithmique avec le langage Python

Informatique et Algorithmique avec le langage Python. Cours a.1) L'interpréteur python appelé aussi ... note minimale à obtenir pour valider une UE.



Algorithmique & programmation en langage C - vol.1 - Archive

1 févr. 2019 Algorithmique & programmation en langage C. Damien Berthet & Vincent Labatut. Notes de cours. Supports de cours – Volume 1.



Cours de mathématiques - Exo7

ALGORITHMES ET MATHÉMATIQUES. 1. PREMIERS PAS AVEC Python 2. 1.2. Somme des cubes. Travaux pratiques 2. 1. Pour un entier n fixé programmer le calcul de la 



livre-algorithmes EXo7.pdf

Algorithmes et mathématiques PREMIERS PAS AVEC Python 2 ... Pour un point M on note M le point de la demi-droite [ON) tel que les droites (OM) et (MM ) ...



Informatique et Algorithmique avec le langage Python - LIMSI

Dans tous les cas il y a deux façons de travailler avec python : l'interpréteuret l'éditeur 1 - Voir par exemple htps:// wikipedia org/wiki/Liste_de_langages_de_programmation 2 - Voir les indications sur htps://www python org/download/mac/tcltk/ I - Algorithmes instructions et langages informatiques 7



Le tutoriel Python — Documentation Python 3115

Introduction à l'algo et prog en Python Exemples de sorties Entrées/Sorties 2020/2021 27 / 159 >>> promo = "Master" >>> annee = 2 >>> filiere = "BFNI" >>> print("Je suis un étudiant de s d s" (promoanneefiliere)) Je suis un étudiant de Master 2 BFNI >>> print() effectue un saut de ligne



Programmation Python – Algorithme – Fiche de cours

Programmation Python – Algorithme – Fiche de cours 1 Entrées sorties et variables Pour lire un message on peut utiliser l’instruction : variable = input(« Message ») Pour afficher un message on peut utiliser l’instruction : print (« Message » variable) Pour convertir le type des variables on peut utiliser :

ALGORITHMES

COURS DE MATHÉMATIQUES

PREMIÈRE ANNÉEExo7

Algorithmes

Ce recueil regroupe différents chapitres sur les mathématiques en lien avec l"informatique.

Sommaire

1 Algorithmes et mathématiques

1

1 Premiers pas avec??????. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Écriture des entiers

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Calculs de sinus, cosinus, tangente

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Les réels

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

5 Arithmétique - Algorithmes récursifs

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Polynômes - Complexité d"un algorithme

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2 Zéros des fonctions29

1 La dichotomie

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2 La méthode de la sécante

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3 La méthode de Newton

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 Cryptographie41

1 Le chiffrement de César

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2 Le chiffrement de Vigenère

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3 La machine Enigma et les clés secrètes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4 La cryptographie à clé publique

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5 L"arithmétique pour RSA

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6 Le chiffrement RSA

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4 Calcul formel67

1 Premiers pas avec????. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

2 Structures de contrôle avec????. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

3 Suites récurrentes et preuves formelles

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

4 Suites récurrentes et visualisation

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5 Algèbre linéaire

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

6 Courbes et surfaces

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

7 Calculs d"intégrales

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

8 Polynômes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

9 Équations différentielles

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

Algorithmes et mathématiquesChapitre

1

1. Premiers pas avec??????Dans cette partie on vérifie d"abord que??????fonctionne, puis on introduira les boucles (???et?????),

1.1. Hello world!

Pour commencer testons si tout fonctionne!Travaux pratiques 1. 1. Définir deux variables prenant les valeurs 3 et 6. 2. Calculer leur somme et leur produit. Voici à quoi cela ressemble :

Code 1(hello-world.py).

??On retient les choses suivantes : On affecte une valeur à une variable par le signe égal?. ALGORITHMES ET MATHÉMATIQUES1. PREMIERS PAS AVEC??????2

On affiche un message avec la fonction???????.

•Lorsque qu"une ligne contient un dièse?, tout ce qui suit est ignoré. Cela permet d"insérer des commen-

taires, ce qui est essentiel pour relire le code.

Dans la suite on omettra les symboles???. Voir plus de détails sur le fonctionnement en fin de section.

1.2. Somme des cubesTravaux pratiques 2.

1. P ourun entier nfixé, programmer le calcul de la sommeSn=13+23+33++n3. 2. Définir une fonction qui pour une valeur nrenvoie la sommen=1+2+3++n. 3. Définir une fonction qui pour une valeur nrenvoieSn. 4. V érifier,pour les premiers entiers, que Sn= (n)2.1.

Code 2(somme-cubes.py (1)).

On affecte d"abord la valeur 0 à la variable?????, cela correspond à l"initialisationS0=0. Nous avons défini uneboucleavec l"instruction???qui fait varierientre 1 etn. Nous calculons successivementS1,S2,...en utilisant la formule de récurrenceSi=Si1+i3. Comme nous n"avons pas besoin de conserver toutes les valeurs desSialors on garde le même nom pour toutes les sommes, à chaque étape on affecte à?????l"ancienne valeur de la somme plusi3: est l"ensemble des entiersf1,2,...,ng. C"est bien les entiersstrictement inférieurs 2.

Nous savons que n=1+2+3++n=n(n+1)2

donc nous n"avons pas besoin de faire une boucle :Code 3(somme-cubes.py (2)).

Unefonctionen informatique est similaire à une fonction mathématique, c"est un objet qui prend en

entrée des variables (dites variables formelles ou variables muettes, icin) et retourne une valeur (un

entier, une liste, une chaîne de caractères,... icin(n+1)2 3. V oicila fonction qui retourne la somme des cubes : Code 4(somme-cubes.py (3)). ?????4.Et enfin on vérifie que pour les premiers entiers Sn=€n(n+1)2

2, par exemple pourn=12 :Code 5(somme-cubes.py (4)).

Les puissances se calculent aussi avec??: 52s"écrit???ou????, 53s"écrit?????ou????,... ???exécute le premier bloc d"instructions si la condition est vraie; si la condition est fausse cela exécute l"autre bloc.

Exemple de conditions

-?????:aEnfin en??????(contrairement aux autres langages) c"est l"indentation (les espaces en début de chaque

ligne) qui détermine les blocs d"instructions.

1.3. Calcul deau hasard

Nous allons voir qu"il est possible de calculer les premières décimales depar la méthode de Monte-Carlo,

c"est à dire avec l"aide du hasard. On considère le carré de coté1, le cercle de rayon1centré à l"origine,

d"équationx2+y2=1, et la portion de disque dans le carré (voir la figure).(0,0)(1,0)(0,1)Travaux pratiques 3.

1. Calculer l"aire du carré et de la portion de disque. 2.

Pour un point(x,y)tiré au hasard dans le carré, quelle est la probabilité que le point soit en fait

dans la portion de disque? 3. T irerun grand nombre de points au hasard, compter ceux qui sont dans la portion de disque.

ALGORITHMES ET MATHÉMATIQUES1. PREMIERS PAS AVEC??????44.En déduire les premières décimales de .Voici le code :

Code 6(pi-hasard.py).

???????Commentaires :

•Un petit calcul prouve que l"aire de la portion de disque est4, l"aire du carré est1. Donc la probabilité

de tomber dans le disque est4

Cette fonction n"est pas connue par défaut de??????, il faut lui indiquer le nom dumoduleoù elle se

sont exécutées. Ici???est le compteur que l"on a initialisé à0. Ensuite on commence à exécuter la boucle.

Bien sûr la première chose que l"on fait dans la boucle est d"incrémenter le compteur???. On continue

jusqu"à ce que l"on atteigne999. Pour???=1000la condition n"est plus vraie et le bloc d"instructions

du?????n"est pas exécuté. On passe aux instructions suivantes pour afficher le résultat.

À chaque tir on teste si on est dans la portion de disque ou pas à l"aide de l"inégalitéx2+y261.

Cette méthode n"est pas très efficace, il faut beaucoup de tirs pour obtenir le deux premières décimales

de.

1.4. Un peu plus sur??????

Le plus surprenant avec??????c"est que c"estl"indentationqui détermine le début et la fin d"un bloc

d"instructions. Cela oblige à présenter très soigneusement le code.

Contrairement à d"autres langages on n"a pas besoin de déclarer le type de variable. Par exemple lorsque

l"on initialise une variable par???, on n"a pas besoin de préciser sixest un entier ou un réel.

Nous travaillerons avec la version 3 (ou plus) de??????, que l"on appelle par??????ou???????.

tout est ok. Par contre avec les versions 1 et 2 de??????la réponse est?(car il considérait que c"est

quotient de la division euclidienne de deux entiers). ALGORITHMES ET MATHÉMATIQUES2. ÉCRITURE DES ENTIERS5

•La première façon de lancer??????est en ligne de commande, on obtient alors l"invite???et on tape

les commandes. Mais le plus pratique est de sauvegarder ses commandes dans un fichier et de faire un appel par Vous trouverez sans problème de l"aide et des tutoriels sur internet!Mini-exercices.1. Soit le produitPn= (112)(113)(114) (11n). Calculer une valeur approchée dePnpour les premiers entiersn. 2. 3.

On considère le cube[0,1][0,1][0,1]et la portion de boule de rayon1centrée à l"origine incluse

dans ce cube. Faire les calculs de probabilité pour un point tiré au hasard dans le cube d"être en fait

dans la portion de boule. Faire une fonction pour le vérifier expérimentalement. 4.

On lance deux dés. Expérimenter quelle est la probabilité que la somme soit7, puis6, puis3? Quelle

du module??????retourne un entierkau hasard, vérifianta6k6b. 5.

On lance un dé jusqu"à ce que l"on obtienne un6. En moyenne au bout de combien de lancer s"arrête-

t-on?2. Écriture des entiers

Nous allons faire un peu d"arithmétique : le quotient de la division euclidienne??, le reste?(modulo) et

nous verrons l"écriture des entiers en base10et en base2. Nous utiliserons aussi la notion de listes et le

module????.

2.1. Division euclidienne et reste, calcul avec les modulo

La division euclidienne deaparb, aveca2Zetb2Zs"écrit : a=bq+ret 06r4 alors que??????(lire 14 modulo 3) retourne 2. On a bien 14=34+2.

Les calculs avec les modulos sont très pratiques. Par exemple si l"on souhaite tester si un entier est pair, ou

calculer cos(n2 )alors il faut discuter suivant les valeurs de???. Appliquons ceci au problème suivant :Travaux pratiques 4. Combien y-a-t-il d"occurrences du chiffre1dans les nombres de1à999? Par exemple le chiffre1 apparaît une fois dans 51 mais deux fois dans 131.Code 7(nb-un.py).

•Comment obtient-on le chiffre des unités d"un entierN? C"est le reste modulo10, d"où l"instruction

Comment obtient-on le chiffre des dizaines? C"est plus délicat, on commence par effectuer la division

euclidienne deNpar10(cela revient à supprimer le chiffre des unités, par exemple siN=251alors retourne le chiffre des dizaines 5. Pour le chiffre des centaines on divise d"abord par 100.

2.2. Écriture des nombres en base10

L"écriture décimale d"un nombre, c"est associer à un entierNla suite de ses chiffres[a0,a1,...,an]de sorte

queaisoit lei-ème chiffre deN. C"est-à-dire

N=an10n+an110n1++a2102+a110+a0etai2 f0,1,...,9g

a

0est le chiffre des unités,a1celui des dizaines,a2celui des centaines,...Travaux pratiques 5.

1. Écrire une fonction qui à partir d"une liste [a0,a1,...,an]calcule l"entierNcorrespondant. 2.

Pour un entierNfixé, combien a-t-il de chiffres? On pourra s"aider d"une inégalité du type10n6

N<10n+1.

3.

Écrire une fonction qui à partir de Ncalcule son écriture décimale[a0,a1,...,an].Voici le premier algorithme :

Code 8(decimale.py (1)).

La formule mathématique est simplementN=an10n+an110n1++a2102+a110+a0. Par exemple Expliquons les bases sur leslistes(qui s"appelle aussi destableaux) accède aux valeurs par??????:??????vaut 4,??????vaut 3,??????vaut 2,??????vaut 1. ALGORITHMES ET MATHÉMATIQUES2. ÉCRITURE DES ENTIERS7 vement 4, 3, 2, 1. utiliser??????, iciivariant ici de 0 à 3.

La liste vide est seulement notée avec deux crochets :??. Elle est utile pour initialiser une liste.

Pour ajouter un élément à une liste???existante on utilise la fonction??????. Par exemple définissons

notre liste a deux éléments :[4,3]. Voici l"écriture d"un entier en base 10 :Code 9(decimale.py (2)). dont nous avions besoin sur les listes au-dessus, expliquons les mathématiques. est du type[10n,10n+1[. PourN2Nil existe doncn2Ntel que10n6N<10n+1. Ce qui indique que le nombre de chiffres deNestn+1. Par exemple siN=1234alors1000=1036N<104=10000, ainsin=3et le nombre de chiffres est 4.

Comment calculernà partirdeN? Nous allons utiliserle logarithme décimallog10qui vérifielog10(10) =

1etlog10(10i) =i. Le logarithme est une fonction croissante, donc l"inégalité10n6N<10n+1

quotesdbs_dbs23.pdfusesText_29
[PDF] Algorithmique et Programmation Projet : algorithme de - DI ENS

[PDF] Score ASIA

[PDF] Un algorithme de simulation pour résoudre un problème de probabilité

[PDF] Algorithme PanaMaths

[PDF] Algorithmique en classe de première avec AlgoBox - Xm1 Math

[PDF] Algorithme U prend la valeur [expression de la suite - Maths en ligne

[PDF] Rappels sur les suites - Algorithme - Lycée d Adultes

[PDF] Les tableaux - Luc Brun

[PDF] Les tableaux 1 Exercice 1 - Lipn

[PDF] Terminale S Exercices sur les suites Exercice 1 On consid`ere la

[PDF] Cours d algorithmique BTS SIO première année - Bienvenue sur le

[PDF] Algorithmique et programmation, un levier pour développer des

[PDF] Algorithmique et Structures de Données

[PDF] ORME 212 : Algorithmique en seconde avec Python

[PDF] Ali baba et les quarante voleurs - Gomme Gribouillages