[PDF] Cours dInformatique pour Tous 2021 –





Previous PDF Next PDF



Version numérique pour la préparation des cours dinformatique en

Version numérique pour la préparation des cours d'informatique en CPGE à partir du manuel : Informatique pour tous. Les ordinateurs n'ont fait que confirmer a ...



Informatique pour tous 1° année de CPGE

13 déc. 2017 Informatique pour tous. 1° année de CPGE. Denis DEFAUCHY. 13/12/2017. Cours. Page 9 sur 162. A. Informatique pour tous – 1° année. A.I. Contexte.



Cours dInformatique pour Tous

sur tous les fichiers du système. 0.3 Le langage Python. Python est le langage de programmation au programme des CPGE scientifiques. Ce langage a été développé 



Informatique MP Cours

https://www.cpge-fermat.fr. Page 2 Dans cet exercice « Algorithme de décomposition primaire d'un entier » (Informatique pour tous) on se propose d'écrire.



Informatique pour tous - Classes préparatoires scientifiques - 1re et

conséquente pour les élèves de CPGE scientifiques. À lire ces ouvrages que ce soit dans les disciplines qui sont les miennes



Linformatique en CPGE

Si l'enseignement d'informatique commun à toutes les filières scientifiques (hors filières à dominante biologique) mis en place en 2013 a constitué un net 



COURS ALGORITHMIQUE ET PROGRAMMATION INFORMATIQUE

12 mars 2013 • Eléments pour une histoire de l'informatique D.E Knuth CSLI ... "Insuffisant" dans tous les autres cas. si note ≥12 alors afficher( "Reçu ...



Linformatique en CPGE

Si l'enseignement d'informatique commun à toutes les filières scientifiques (hors filières à dominante biologique) mis en place en 2013 a constitué un net 



Version numérique pour la préparation des cours dinformatique en

Version numérique pour la préparation des cours d'informatique en CPGE à partir du manuel : Informatique pour tous. Les ordinateurs n'ont fait que confirmer a ...



Réussir son entrée en prépa Physique-Chimie

INFORMATIQUE POUR TOUS - 1re ET 2e ANNÉES A. Caignot



Version numérique pour la préparation des cours dinformatique en

d'informatique en CPGE à partir du manuel : http://www.eyrolles.com/Sciences/Livre/informatique-pour-tous-en-classes-preparatoires-aux- ... base16_1.pdf.



Cours dInformatique pour Tous

sur tous les fichiers du système. 0.3 Le langage Python. Python est le langage de programmation au programme des CPGE scientifiques.



Informatique pour tous 1° année de CPGE

13 déc. 2017 Dernière mise à jour. Informatique pour tous. 1° année de CPGE. Denis DEFAUCHY. 13/12/2017. Cours. Page 1 sur 162. Informatique pour tous.



Version numérique pour la préparation des cours dinformatique en

d'informatique en CPGE à partir du manuel : http://www.eyrolles.com/Sciences/Livre/informatique-pour-tous-en-classes-preparatoires-aux- ... base16_1.pdf.



Informatique en CPGE (2018-2019) Le langage SQL

14 mai 2019 Les clauses de regroupement. Le mot SELECT indique la liste des champs à afficher ; pour afficher tous les champs on utilise *.



Informatique MP2 Cours

Informatique MP2. Cours Lycée P. de Fermat https://www.cpge-fermat.fr ... tout ce qui concerne l'affichage de graphiques avec plusieurs sous-modules.



Informatique pour tous - Architecture des ordinateurs - II

Informatique pour tous. Mémoire. Mémoire. Entrée. Sortie. Accumulateur. Unité de contrôle. Unité arithmétique et logique. FiGURe : Architecture de von 



Cours dInformatique pour Tous 2021 –

sur tous les fichiers du système. 0.3 Le langage Python. Python est le langage de programmation au programme des CPGE scientifiques.



Brochure Ecole dingenieurs EIA

INFORMATIQUE. ET ISSU DES CPGE ? L'ECOLE D'INGÉNIEUR. ABULCASIS. EST FAITE POUR VOUS ! E-LEARNING. DIPLÔME MAROCAIN. OUVERTURE DES PRE-INSCRIPTIONS.



Linformatique en CPGE

Si l'enseignement d'informatique commun à toutes les filières scientifiques (hors filières à dominante biologique) mis en place en 2013 a constitué un net 

.

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

10.4 Tri par insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14 3

10.5 Conclusion sur les tris par comparaisons quadratiques . . . . . . . . . . . . . . . . . . . . . . . . . . .

144

10.6 Un tri qui n"est pas un tri par comparaisons : le tri par comptage . . . . . . . . . . . . . . . . . . . . .

145

11 Structures de données linéaires : piles (et files) 147

11.1 Les Piles : une classe abstraite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

147

11.2 Implémentation d"une pile de capacité finie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

149

11.3 Implémentation d"une pile de capacité infinie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

150

11.4 Application à l"évaluation d"une expression postfixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

151

11.5 Introduction à la programmation orientée objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

153

11.5.1 Bases de la POO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

153

11.5.2 Implémentation d"une pile de capacité finie avec une liste . . . . . . . . . . . . . . . . . . . . .

153

11.5.3 Implémentation d"une pile non bornée avec une liste Python . . . . . . . . . . . . . . . . . . . .

154

11.5.4 Implémentation personnalisée d"une pile non bornée (liste chaînée) . . . . . . . . . . . . . . . .

154

11.6 Structure de file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

155

12 Récursivité157

12.1 Principes de la récursivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

12.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

12.1.2 La pile d"exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

157

12.1.3 D"autres exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

158

12.1.4 Limites de la récursivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

159

Svartz Page 8/191

TABLE DES MATIÈRESLycée Masséna12.1.5 Avantage de la récursivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160

12.2 Terminaison, correction et complexité d"une fonction récursive . . . . . . . . . . . . . . . . . . . . . . .

162

12.2.1 Terminaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

162

12.2.2 Correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

163

12.2.3 Complexité des fonctions récursives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

163

12.3 Diviser pour régner et algorithme de Karatsuba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

165

13 Algorithmes de tri efficaces, Médiane 169

13.1 Rappels sur la stratégie " Diviser pour régner » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169

13.2 Tri Fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169

13.2.1 La fonction de fusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

169

13.2.2 Le tri en lui-même . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 1

13.3 Tri Rapide (QuickSort) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173

13.3.1 Fonction de partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

173

13.3.2 Le tri en lui-même . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17 5quotesdbs_dbs10.pdfusesText_16
[PDF] informatique pour tous pdf

[PDF] informatique s1 smia exercices corrigés

[PDF] informatique s1 smia pdf

[PDF] informatique secteur d'activité

[PDF] informatique université montpellier 3

[PDF] informatisation de la comptabilité

[PDF] informe de cobranza ejemplos

[PDF] informe deseco competencias clave

[PDF] informel synonyme

[PDF] informelle définition

[PDF] infraction douanière

[PDF] infractions pénales droit du travail

[PDF] infractions transport routier marchandises

[PDF] infrastructure ict definition

[PDF] infrastructure sanitaire wikipedia