[PDF] Cours d’Informatique pour Tous - SFR



Previous PDF Next PDF







Cours dinformatique – PCSI

Cours d'informatique – PCSI Author: Alexandre Casamayou-Boucau Subject: IPT Keywords: IPT, lycée Louis Barthou (Pau) Created Date: 4/6/2020 11:53:56 PM



Cours d’Informatique pour Tous - SFR

classesdepremièreannéeMPSI(831),PCSI(833)etdedeuxièmeannéeMP*,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



Cours d’informatique commune MPSI 4 - Free

Lycée Louis-Le-Grand, Paris Cours d’informatique commune MPSI 4 Alain TROESCH Version du: 4 juin 2015



Informatique - Dunod

lièresMPSI,PCSI,PTSI,TSI,BCPST,TPC,MP,PC,PSIetPT) Ilpourraégalementintéresser en rapport avec le chapitre de cours, illustrée d’un ou plusieurs exemples, et



CLASSES PRÉPARATOIRES SCIENTIFIQUES MPSI - PCSI

Cours TD TP Cours TD TP Cours TD TP Mathématiques 10 h 2 h - 7 h 3 h - 6 h 3 h - Physique 5 h 1 h 1 h 5 h 30 1 h 1 h 6 h 1 h 2 h Chimie 1 h - 1 h 1 h 0,5 h 1 h 3 h 0,5 h 2 h Elèves de MP : au choix Sciences industrielles ou option informatique 1 h 1 h - - - - - - -



Matrices - Gonnord

Dans tout ce chapitre, Kd´esigne un corps : Rou C Tous les espaces vectoriels en jeu sont de dimension finie 1 Pr´esentation de Mn,p(K) 1 1 Espace des matrices (n,p)



Chapitre 5 informatique commune Listes et séquences

Chapitre 5 informatique commune Listes et séquences Une structure de données est une façon de ranger et d’ordonner des objets Il en existe de plusieurs types, qui se distinguent par la façon d’accéder aux éléments de la structure de données et par la façon de modifier cette dernière (en ajoutant ou en ôtant des éléments)



Initiation à la simulation numérique Introduction aux bases

Initiation à la simulation numérique Introduction aux bases de données Cours d’informatique de PSI P E LEROY 11 juin 2019 Cetteœuvreestmiseàdispositionsouslicence



Informatique en CPGE (2018-2019) Le langage SQL

Informatique en CPGE (2018-2019) Le langage SQL S B Lycée des EK 14 mai 2019 S B Présentation en Latex avec Beamer cours avec Monsieur Python

[PDF] cours informatique mpsi python

[PDF] bo s si

[PDF] rapport isn terminale s

[PDF] eduscol ressources isn

[PDF] association d'utilité sociale définition

[PDF] bac s informatique et sciences du numérique

[PDF] définition utilité sociale loi ess

[PDF] utilité sociale des associations

[PDF] utilité sociale définition psychologie

[PDF] utilité sociale sociologie

[PDF] utilité sociale définition philosophique

[PDF] utilité sociale wikipédia

[PDF] le voyage du centurion résumé

[PDF] pathfinder metamagie

[PDF] wiki pathfinder

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

quotesdbs_dbs45.pdfusesText_45