informatique pour tout en classes préparatoires aux grands écoles

informatique pour tout en classes préparatoires aux grands écoles

Table des matières....................................................................... 5  yri  P   Architecture matérielle et logicielle .................................................... 1  C   Machine, système d’exploitation et environnement de développement .............. 3  1.1 Qu’est-ce qu’un ordinateur ? . . . . . . . . . . . . . . . . . . . . . . . . . 4  1.1.1 Observations externes . . . . . . . . . . . . . . . . . . . . . . . . . . . 4  1.1.2 L’ordinateur, une machine universelle . . . . . . . . . . . . . . . . . . . . 4  1.1.3 Architecture des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . 7  1.2 Notion de système d’exploitation . . . . . . . . . . . . . . . . . . . . . . 13  1.2.1 Le multitâche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14  1.2.2 Identification des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . 14  1.2.3 Système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  1.2.4 Contrôle d’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19  1.2.5 Lancement d’applications . . . . . . . . . . . . . . . . . . . . . . . . . 23  1.2.6 Protections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  1.3 Environnement de développement intégré . . . . . . . . . . . . . . . . . 25  1.3.1 Console interactive . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  1.3.2 Éditeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  1.3.3 Débogueur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  C   Représentation des nombres............................................................ 33  2.1 Représentation des entiers naturels . . . . . . . . . . . . . . . . . . . . . 34  2.1.1 Représentation de l’information par des booléens . . . . . . . . . . . . . . 34  VI Informatique pour tous  2.2 Représentation des entiers relatifs . . . . . . . . . . . . . . . . . . . . . . 39  2.3 Représentation des nombres à virgule . . . . . . . . . . . . . . . . . . . . 45  Eyro  2.1.2 La numération à position et les bases . . . . . . . . . . . . . . . . . . . . 34  2.1.3 La base deux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  2.2.1 Notation en complément à deux . . . . . . . . . . . . . . . . . . . . . . 39  2.2.2 Dépassements de capacité . . . . . . . . . . . . . . . . . . . . . . . . . 41  2.3.1 L’arithmétique flottante . . . . . . . . . . . . . . . . . . . . . . . . . . 45  2.3.2 Quelques cas particuliers . . . . . . . . . . . . . . . . . . . . . . . . . . 46  2.3.3 Dépassements de capacité et problèmes de précision . . . . . . . . . . . . . 47  2.3.4 Les arrondis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  righ  D   Algorithmique et programmation ....................................................... 53  C   Expressions : types et opérations....................................................... 55  3.1 Expressions et types simples . . . . . . . . . . . . . . . . . . . . . . . . . 56  3.2 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68  3.3 Types composés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  3.1.1 Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  3.1.2 Entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  3.1.3 Flottants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  3.1.4 Booléens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  3.2.1 Notion de variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68  3.2.2 État et valeur d’une expression . . . . . . . . . . . . . . . . . . . . . . . 68  3.2.3 Déclaration et initialisation . . . . . . . . . . . . . . . . . . . . . . . . 70  3.2.4 Affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71  3.3.1 Les n-uplets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74  3.3.2 Chaînes de caractères : strings . . . . . . . . . . . . . . . . . . . . . . . 77  3.3.3 Listes : une première approche . . . . . . . . . . . . . . . . . . . . . . . 79  3.3.4 Conversions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80  C   Instructions : langage minimal de l’algorithmique..................................... 83  4.1 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84  4.2 Instructions conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . 88  4.1.1 Notion d’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84  4.1.2 Notion de programme . . . . . . . . . . . . . . . . . . . . . . . . . . . 84  4.1.3 Langage minimal de l’algorithmique . . . . . . . . . . . . . . . . . . . . 85  4.1.4 Entrées/sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85  4.1.5 Séquence d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . 86  4.2.1 Test simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88  pyri ht Eyro  4.2.2 Indentation signifiante . . . . . . . . . . . . . . . . . . . . . . . . . . . 88  4.2.3 Test avec alternative . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90  4.2.4 Tests imbriqués . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92  4.3 Boucles conditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . 96  4.3.1 Nécessité des boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . 96  4.3.2 Syntaxe d’une boucle conditionnelle . . . . . . . . . . . . . . . . . . . . 96  4.3.3 Terminaison de boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . 98  4.3.4 Invariant de boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101  4.3.5 Boucle infinie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102  4.4 Boucles inconditionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . 104  4.4.1 Boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104  4.4.2 Valeurs itérables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106  4.4.3 L’itérable range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107  4.4.4 Interrompre une boucle . . . . . . . . . . . . . . . . . . . . . . . . . . 108  4.4.5 Boucles imbriquées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109  4.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111  C   Fonctions ................................................................................. 113  5.1 La notion de fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115  5.1.1 Le retour de valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115  5.1.2 Variables globales et locales . . . . . . . . . . . . . . . . . . . . . . . . 119  5.1.3 Ordre d’évaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121  5.1.4 Passage par valeur . . . . . . . . . . . . . . . . . . . . . . 122  5.2 Mécanismes avancés . . . . . . . . . . . . . . . . . . . . 124  5.2.1 Fonctions locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124  5.2.2 Fonctions comme valeurs de première classe . . . . . . . . . . . . . . . . . 124  5.2.3 Fonctions partielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126  5.2.4 Fonctions de bibliothèque . . . .. . . . . . . . . . . . . 127  5.2.5 Méthodes . . . . . . . . . . . . . . . . . . . . . . . . . 129  5.3 La récursivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130  5.3.1 Concevoir une fonction récursive . . . . . . . . . . . . . . . . . . . . . . 132  5.3.2 Terminaison et correction d’une fonction récursive . . . . . . . . . . . . . . 135  5.3.3 Complexité d’une fonction récursive . . . . . . . . . . . . . . . . . . . . 138  5.4 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139    Notions de complexité et algorithmique sur les tableaux .............. 143  6.1 Complexité d’un algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 144  6.1.1 Plusieurs algorithmes pour un même problème . . .. . . . . . . 144  6.1.2 Complexité et notation O . . . . . . . . . . . . . . . 146  6.1.3 Différentes nuances de complexité . . . . . . . . . . . . . . . . . . . . . 148




télécharger d'ici

5 commentaires: