[PDF] Cours dInformatique pour Tous Le chapitre 1 présente





Previous PDF Next PDF



Informatique et Algorithmique avec le langage Python

Un programme informatique (appelé aussi “application”) est une traduction de l'algorithme dans un langage de programmation. L'ordinateur peut alors exécuter 



cours-python.pdf

Mar 22 2018 Introduction à la programmation Python pour la biologie ... L'apprentissage d'un langage informatique comme Python va nécessiter d'écrire ...



Python au lycée - tome 1

L'objectif de ce livre est double : approfondir les mathématiques à travers l'informatique et maîtriser la programmation en s'aidant des mathématiques. Python.



Apprendre à programmer avec Python 3 - INFOREF

À l'origine le présent ouvrage a été rédigé à l'intention des élèves qui suivent le cours Programmation et langages de l'option Sciences & informatique au 



Consignes pour les révisions dinformatique et de programmation en

Consignes pour les révisions d'informatique et de programmation en Python. PCSI lycée Bertran de Born. Avec la réforme du baccalauréat



Linformatique du tronc commun en TSI

Sep 23 2021 Pourquoi s'engager dans les enseignements d'informatique. - Le nouveau programme informatique de TSI. - Les outils : Python.



Cours dInformatique pour Tous

Le chapitre 1 présente de manière détaillée les éléments au programme concernant la programmation en. Python. Il est en pratique présenté peu à peu en cours 



COURS DINFORMATIQUE BCPST 1A

Dec 3 2017 La première erreur informatique est apparue sur un ordinateur à lampe3. ... quel langage de programmation



CMS - Informatique et Calcul Scientifique

May 7 2020 Premier semestre: 6 semaines de programmation Python



Informatique en CPGE (2018-2019) Algorithmique et programmation

K ! Donc elle est convergente et le programme va bien se terminer. Par contre si x et y sont du type int le programme ne se termine pas car en Python les 

Cours dInformatique pour Tous

Cours d"Informatique pour Tous

Jules Svartz

Lycée Masséna

Lycée Masséna

Svartz Page 2/191

Lycée Masséna

Préambule

Ces notes de cours sont issues du cours d"informatique commune (IPT) subi par les élèves du lycée Masséna des

classes de première année MPSI (831), PCSI (833) et de deuxième année MP*, MP, PC*, PC.

Le cours présenté ici est très détaillé, et tous les points ne sont pas nécessairement abordés en classe : il se veut

utile autant pour l"élève qui veut un récapitulatif que pour celui qui souhaite aller plus loin.

Le polycopié se divise en 4 parties, elles-mêmes subdivisées en 13 chapitres. À ceux-ci s"ajoute un dernier chapitre

explicitant brièvement l"usage des modules usuels en Python, notamment Numpy. Les trois premières parties sont

relatives au programme de première année, la quatrième au programme de deuxième année. Le plan choisi est le

suivant :

La première partie est dév olueà l" "initiation ». Malgré ce nom, elle est fondamen tale,notammen tles c hapitres

2 et 3. Elle se subdivise en 4 chapitres :

Le c hapitre0 est un c hapitred"in troductionà l"informatique, il présen teun p ointde vue historique sur le

développement de cette discipline, les principaux éléments constitutifs d"un ordinateur et le rôle du système

d"exploitation. Le cours présenté ici est habituellement présenté en fin d"année, par choix pédagogique :

il est en effet plus facile d"expliquer précisément le comportement d"un micro-processeur à des élèves qui

savent déja programmer et ont une connaissance du système de numération binaire.

Le c hapitre1 présen tede manière d étailléeles élémen tsau programme concernan tla programmation en

Python. Il est en pratique présenté peu à peu en cours et en TP, parallèlement aux chapitres qui suivent.

L"utilisation des modules n"est pas présentée en détail dans ce chapitre mais reléguée en fin de polycopié.

Le c hapitre2 présen tela représen tationdes nom bres(en tieret flottan ts)dans un ordinateur. Il est plus

détaillé que ce que préconise le programme officiel, mais les algorithmes de changements de base sur les

entiers offrent une bonne introduction à l"algorithmique. L"addition des entiers relatifs sur des registres de

taille fixée permet de plus de comprendre le fonctionnement d"un processeur. Enfin, la représentation des

flottants offre un premier avertissement sur les erreurs d"arrondis.

Le c hapitre3 donne les outils p ourl"analyse théorique des algorithmes (terminaison / correction / com-

plexité). C"est un chapitre crucial où sont présentés les algorithmes " basiques » au programme de première

année : parcours de listes, recherche dichotomique ou de motif dans une chaîne de caractères...

La deu xièmepartie e stdév olueà l"analyse n umérique.Elle es ttrès (p eut-êtretrop) détaillée, mais c"es tégalemen t

un choix pédagogique motivé par l"importance qu"occupent les questions d"analyse numérique dans les concours.

Elle se découpe en 5 chapitres.

Le c hapitre4 présen teune sensibilisation aux erreurs n umériqueset fait suite au c hapitre2. P eut-êtreun

peu rébarbative, il explique certains comportements " étranges » observés en TP, à cause de l"utilisation

des nombres flottants.

Le c hapitre5 présen teles deux métho desau programme p ourla résolution d"é quationsn umériques: la

méthode de la dichotomie et la méthode de Newton.

Le c hapitre6 présen tela résolution d"équations linéaires via l"algorithme du piv otde Gauss. Là encore, on

fait attention aux erreurs d"arrondis.

Le c hapitre7 présen tedes métho desd" intégrationde fonctions. Bien que la seule métho deau programme

soit la méthode des rectangles (à gauche), on étudie également des méthodes d"ordre supérieur, notamment

la méthode des trapèzes qui fait des apparitions régulières aux concours.

Le c hapitre8 présen tedes mé thodesde résolution d"équations différen tielles.On fait le lien a vecle c ha-

pitre précédent : les méthodes de résolution sont vues comme des applications des méthodes d"intégration

approchée. Là encore, seule la méthode d"Euler (explicite) est au programme, mais d"autres méthodes font

également l"objet de questions aux concours.

Svartz Page 3/191

Lycée Masséna

Le c hapitre9, u niquec hapitrede la partie 3 (Bases de données), p résenteles bases de SQL et de l"algèbre

relationnelle. Le choix de présenter l"algèbre relationnelle (pas clairement au programme) est là aussi motivé par

sa présence aux concours. La partie 4 (Algorithmique a vancée)présen tele programme de deuxième année.

Le c hapitre10 présen teles algorithmes de tris " naïfs », c"est-à-dire q uadratiques.C "estune b onneo ccasion

de mettre en pratique les concepts introduits au chapitre 3.

Le c hapitre11 présen tela structure de pile (seule structure abstraite au programme). P ourjustifier le

chapitre, plusieurs applications sont données. On présente également une autre structure abstraite, celle de

file.

Le c hapitre12 in troduitla récursivité, en s"appuy antsur le c hapitreprécéden t.P ourne pas se can tonner

aux exemples " triviaux » d"algorithmes récursifs, on présente notamment un algorithme " Diviser pour

régner ».

Enfin, le c hapitre13 pré sente,en lien a vecle c hapitreprécéden t,les deux algorithmes de tri efficaces au

programme : le tri fusion et le tri rapide. On donne également un algorithme de calcul de la médiane en

temps linéaire en moyenne, basé sur une variante du tri rapide.

Le c hapitre14, relégué en annexe, donne une présen tationdes mo dulesusuels. Bien que leur connaissance ne

soit pas exigible à l"écrit des concours, les écrits proposent souvent des questions où ils sont utilisés (notamment

Numpy), même si certaines fonctions sont données en formulaire. La connaissance des modules est également

utile pour la deuxième épreuve de mathématiques à l"oral de Centrale, ou encore pour effectuer des modélisations

dans un TIPE.

Licence.Cette oeuvre est mise à disposition sous licence Attribution - Partage dans les Mêmes Conditions 2.0 France.

Pour voir une copie de cette licence, visitezhttp://creativecommons.org/licenses/by-sa/2.0/fr/ou écrivez à

Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Svartz Page 4/191

TABLE DES MATIÈRESLycée MassénaTable des matières

I Initiation11

0 Ordinateurs, Systèmes d"exploitation et Python 13

0.1 Qu"est ce qu"un ordinateur? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

0.1.1 Turing et ses machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

0.1.2 Prémices aux ordinateurs et modèle de Von Neumann . . . . . . . . . . . . . . . . . . . . . . .

15

0.1.3 Le rôle de chaque élément. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

0.1.4 Avantages et inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

0.1.5 De nos jours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

0.1.6 Ordres de grandeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

0.2 Le système d"exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

0.2.1 Le multitâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 9

0.2.2 Identification des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

0.2.3 Organisation des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

0.2.4 Droits d"accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

0.3 Le langage Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1 Programmation en Python23

1.1 Types simples et expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.1.1 Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.1.2 Entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

1.1.3 Flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1.1.4 Booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

1.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

1.2.1 Identificateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

1.2.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

1.3 Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

1.3.1 Python et l"indentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

1.3.2 Instruction conditionnelle if/else (si/sinon) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

1.3.3 Boucle conditionnelle while (tant que) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29

1.3.4 Boucle inconditionnelle for... (pour...) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

1.3.5 Break et Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

1.3.6 Boucles imbriquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

1.4 Structures de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

1.4.1 Listes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

1.4.2 Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

1.4.3 Chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

1.5 Fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 8

1.5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

1.5.2 Notions et syntaxe de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

1.5.3 Variables locales et globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

1.5.4 Passage par références. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

1.5.5 Une fonction : un objet comme les autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

1.6 Entrées/Sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

1.6.1 print et input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

1.6.2 Fonctions pour les fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

44

Svartz Page 5/191

TABLE DES MATIÈRESLycée Masséna2 Entiers, Flottants47

2.1 Représentation des entiers naturels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

2.1.1 Écriture dans une base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

2.1.2 Changement de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

48

2.2 Représentation des entiers relatifs en binaire, additions. . . . . . . . . . . . . . . . . . . . . . . . . . .

51

2.2.1 Entiers naturels de taille fixée et additions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

2.2.2 Entiers relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

52

2.2.3 En pratique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

54

2.3 Représentation des nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

55

2.3.1 Représentations des nombres dyadiques en binaire . . . . . . . . . . . . . . . . . . . . . . . . .

55

2.3.2 Nombres flottants normalisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

2.3.3 Exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

56

2.3.4 Arrondis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3 Analyse d"algorithmes59

3.1 Terminaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.1.1 Quelques exemples, exponentiation rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

3.1.2 Variant de boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

60

3.2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

3.2.1 Correction des boucleswhile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

3.2.2 Correction des bouclesfor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62

3.2.3 D"autres exemples : parcours linéaires de listes . . . . . . . . . . . . . . . . . . . . . . . . . . .

63

3.2.4 Recherche efficace dans une liste triée : recherche dichotomique . . . . . . . . . . . . . . . . . .

63

3.3 Complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

64

3.3.1 Introduction et tri par sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 4

3.3.2 Complexité : définitions et méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 6

3.3.3 Applications aux algorithmes vus précédemment . . . . . . . . . . . . . . . . . . . . . . . . . .

67

3.3.4 Quelques ordres de grandeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

3.4 Recherche d"un motif dans une chaîne de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

68

II Analyse numérique 71

4 Estimation d"erreurs numériques 73

4.1 Rappels sur la représentation des nombres réels : précision absolue et relative . . . . . . . . . . . . . .

73

4.2 Erreurs sur les sommes et produits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

4.2.1 Erreur sur la somme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

73

4.2.2 Erreur sur le produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.3 Phénomènes d"instabilité et remèdes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.3.1 Phénomènes de compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

76

4.3.2 Problèmes mal posés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

78

5 Résolution d"équations numériques 81

5.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

5.2 Méthode de la dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

81

5.3 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

5.3.1 Principe et code Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

83

5.3.2 Convergence de la méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

5.3.3 Variations et extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

85

6 Pivot de Gauss et résolution de systèmes linéaires 87

6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

6.2 Formalisme matriciel et opérations élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

6.2.1 Formalisme matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

87

6.2.2 Opérations élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

6.3 L"algorithme du pivot de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

88

6.3.1 Mise sous forme triangulaire d"une matrice carrée . . . . . . . . . . . . . . . . . . . . . . . . . .

88

6.3.2 Phase de remontée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

89

6.4 Écriture du pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

90

Svartz Page 6/191

TABLE DES MATIÈRESLycée Masséna6.5 Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 0

6.6 En Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

92

7 Calcul approché d"intégrales93

7.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

7.2 Idée générale de l"approximation d"intégrales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

93

7.3 Méthodes des rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

7.3.1 Principe général des méthodes élémentaire et composée . . . . . . . . . . . . . . . . . . . . . .

94

7.3.2 Codes Python pour les méthodes composées . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94

7.3.3 Étude théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

95

7.4 Introduction aux méthodes de Newton-Cotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

7.4.1 Principe général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

7.4.2 Méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

7.4.3 Méthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

97

7.4.4 Méthodes d"ordre supérieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

98

7.4.5 Peut-on faire mieux? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

7.4.6 Influence des erreurs d"arrondi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

7.5 Quelques estimations d"erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

7.5.1 Méthodes des rectangles à gauche et du point milieu . . . . . . . . . . . . . . . . . . . . . . . .

100

7.5.2 Méthodes des trapèzes et de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

102

7.5.3 Comparaison des méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

103

7.6 Et les méthodes intégrées en Python? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

104

8 Résolution approchée d"équations différentielles 105

8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

8.1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

8.1.2 Reformulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

105

8.1.3 Lien avec l"intégration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

106

8.1.4 Formulation " à laodeint» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .106

8.2 Méthode d"Euler explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

108

8.2.1 Principe de la méthode : les rectangles à gauche . . . . . . . . . . . . . . . . . . . . . . . . . .

108

8.2.2 Code(s) Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

108

8.2.3 Variante pour les fonctions à valeurs vectorielles . . . . . . . . . . . . . . . . . . . . . . . . . .

109

8.2.4 Exemple complet : le pendule amorti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109

8.3 Quelques notions d"analyse numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

110

8.3.1 Erreur sur l"exponentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

110

8.3.2 Notion d"erreur de consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

111

8.3.3 Ordre d"un schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

111

8.4 Autres méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

112

8.4.1 Méthode d"Euler implicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

112

8.4.2 Schéma prédicteur correcteur explicite (Runge-Kutta 2) . . . . . . . . . . . . . . . . . . . . . .

114

8.4.3 Méthode de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

114

8.4.4 Méthode Runge-Kutta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

115

8.4.5 Comparaison avec la tension aux bornes du condensateur . . . . . . . . . . . . . . . . . . . . .

116

III Bases de données 119

9 Requêtes dans les bases de données 121

9.1 Introduction : limite des structures de données plates pour la recherche d"informations . . . . . . . . .

121

9.2 Présentation succincte des bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

9.2.1 Rôle des bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

9.2.2 Un exemple avec quelques requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

122

9.2.3 Architecture client-serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

123

9.2.4 Abstraction des bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

9.3 Vocabulaire des bases de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

9.3.1 Modélisation en tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

9.3.2 Vocabulaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

124

9.3.3 Contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

125

Svartz Page 7/191

TABLE DES MATIÈRESLycée Masséna9.3.4 Clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125

9.4 Algèbre relationnelle simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

9.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

9.4.2 Opérateurs ensemblistes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

9.4.3 Opérateurs spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

126

9.5 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

128

9.5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 8

9.5.2 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

128

9.6 Agrégats et fonctions d"agrégation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

129

9.6.1 Agrégats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 9

9.6.2 SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

130

9.6.3 Sélection après agrégation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131

9.7 Affichage des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131

9.7.1 Ordonner les résultats avec ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

131

9.7.2 Limiter l"affichage avec LIMIT et OFFSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

132

9.8 Composition de requêtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

132

9.9 Produit cartésien et jointure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133

9.9.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 3

9.9.2 Notion de clé étrangère . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

133

9.9.3 Produit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134

9.9.4 Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

134

9.9.5 Jointure naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 4

9.9.6 Jointure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135

9.10 Tables multiples dans SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 5

9.10.1 Produit cartésien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135

9.10.2 Jointure naturelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136

9.10.3 Division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136

9.10.4 Jointure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136

9.11 Pour conclure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

136

IV Algorithmique " avancée » 137

10 Algorithmes naïfs de tri139

10.1 Introduction : le problème du tri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

139

10.2 Tri par sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

141

10.3 Tri à bulles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

142
quotesdbs_dbs33.pdfusesText_39
[PDF] infos Patrimoine ORCOM Pour les revenus 2012 Coup de rabot supplémentaire des niches fiscales L équipe Patrimoine vous informe!

[PDF] Ingénierie Mécanique en Conception de produits

[PDF] INGÉNIEUR PÉDAGOGIQUE MULTIMEDIA. - ses enjeux, ses méthodologies et sa diversité -

[PDF] INITIATEUR-ENTRAINEUR APNEE Niveau 1 (IE1) et Niveau 2 (IE2)

[PDF] Initiation au. Carine Rous

[PDF] Initiation WORD. Module 11 : Enveloppes et étiquettes.

[PDF] Initiative Landes, fonds de prêt d honneur landais

[PDF] Initiatives d accompagnement : quel choix pour quel résultat? Paris, 18 février 2013

[PDF] Innovation et villes durables : repères pour l action

[PDF] INRA-DRH numconcours externes 2009

[PDF] Inrap / Procédures réglementaires

[PDF] Ins c riptions 2015-2016 Natation et aquaforme

[PDF] INSCRIPTION AU REGISTRE

[PDF] INSCRIPTION DES ÉLÈVES POUR L ANNÉE SCOLAIRE 2014-2015

[PDF] Inscription en ligne. Course à la vie CIBC 2015