• Aide
  • Eurêkoi Eurêkoi

Livre

Informatique tronc commun : CPGE scientifiques, 1er et 2e année : nouveaux programmes

Résumé

L'ensemble du programme décomposé en trois parties, correspondant chacune à un semestre, accompagné de 150 exercices corrigés en lien avec les différents concours. Des compléments sont disponibles sur le site de l'éditeur.


  • Autre(s) auteur(s)
  • Éditeur(s)
  • Date
    • C 2021
  • Notes
    • La couv. porte en plus : "Classes préparatoires scientifiques 1re et 2e années"
    • CPGE = Classes préparatoires aux grandes écoles
    • Contient un "flashcode" permettant d"accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (596 p.) : ill. ; 24 cm
  • Sujet(s)
  • ISBN
    • 978-2-340-04870-6
  • Indice
  • Quatrième de couverture
    • Informatique Tronc Commun

      Classes préparatoires scientifiques 1re et 2e années

      Ce cours couvre le programme d'informatique du tronc commun des classes préparatoires scientifiques de 1re et 2e années (MPSI, PCSI, PTSI, MP, PC, PSI et PT) mis en place en 2021.

      Il est décomposé en trois parties, chacune correspondant à un semestre d'enseignement :

      • Rappels sur le langage Python - Méthodes itératives - Récursivité - Tris - Algorithmes gloutons - Traitement de l'image.
      • Représentation des nombres en machine - Preuves et complexité - Graphes - Aperçu de la POO.
      • Bases de données et SQL - Dictionnaires - Programmation dynamique - Algorithmes et jeux - Algorithmes pour l'IA.

      Il contient plus de 150 exercices, tous corrigés. Les scripts et des compléments sont disponibles sur le site des éditions Ellipses.


  • Tables des matières
      • Informatique tronc commun

      • Thierry Audibert

      • Amar Oussalah

      • ellipses

      • Partie I . Premier semestre
      • Chapitre 1 . Programmer avec Python 13
      • 1.1 Constantes, identificateurs, variables et affectations13
      • 1.2 Mots réservés du langage18
      • 1.3 Types prédéfinis avec Python19
      • 1.3.1 Types numériques : entiers, flottants, complexes 19
      • 1.3.2 Le type None 20
      • 1.3.3 Le type booléen 21
      • 1.3.4 Les conteneurs 22
      • 1.3.5 Opérations sur les listes, ensembles et dictionnaires 28
      • 1.3.6 Exercices 30
      • 1.4 La programmation et les fonctions avec Python31
      • 1.4.1 Blocs et indentation 31
      • 1.4.2 Instructions conditionnelles 31
      • 1.4.3 Parcours des objets itérables, boucles for 35
      • 1.4.4 Continue, pass 38
      • 1.4.5 Listes en compréhension 39
      • 1.4.6 Boucle while 40
      • 1.4.7 Break ou pas break ? 44
      • 1.4.8 Procédures et fonctions 45
      • 1.4.9 Compléments : sous-procédures et visibilité des variables 50
      • 1.4.10 Exercices 51
      • 1.5 Modules ou bibliothèques54
      • 1.5.1 L'instruction import 54
      • 1.5.2 Tableaux (array) de la bibliothèque numpy 56
      • 1.5.3 Les graphiques avec matplolib 60
      • 1.6 Corrigés des exercices70
      • Chapitre 2 . Quelques algorithmes itératifs fondamentaux 95
      • 2.1 Au début était l'arithmétique96
      • 2.1.1 La division euclidienne des entiers 96
      • 2.1.2 L'écriture binaire d'un entier 98
      • 2.2 Calcul de la moyenne et de la variance100
      • 2.2.1 Calcul conjoint et analyse 100
      • 2.2.2 Méthode des trapèzes 102
      • 2.3 Algorithmes de recherche séquentielle103
      • 2.3.1 Listes ou tableaux 103
      • 2.3.2 Recherche d'un élément dans une liste 104
      • 2.3.3 Recherche des plus grands éléments d'une liste 106
      • 2.3.4 Dictionnaires et comptage 110
      • 2.4 Boucles imbriquées114
      • 2.4.1 Valeurs les plus proches dans un tableau 114
      • 2.4.2 Recherche d'une sous-chaîne dans une chaîne de caractères 115
      • 2.5 Algorithmes dichotomiques117
      • 2.5.1 Algorithme de recherche dichotomique 117
      • 2.5.2 Exponentiation rapide, version itérative 120
      • 2.6 Corrigés des exercices122
      • Chapitre 3 . Récursivité 143
      • 3.1 Introduction143
      • 3.1.1 Vocabulaire, premiers exemples 143
      • 3.1.2 Quelques dessins de fractales 147
      • 3.2 Mise en garde concernant l'efficacité des programmes récursifs151
      • 3.3 Mise en ouvre157
      • 3.4 Diviser pour régner160
      • 3.4.1 Recherche de deux points réalisant la plus petite distance 161
      • 3.4.2 Exponentiation rapide, version récursive 163
      • 3.4.3 Recherche dichotomique dans une liste triée 164
      • 3.4.4 Illustration avec des tris 1 66
      • 3.5 Corrigés des exercices167
      • Chapitre 4 . Les tris 189
      • 4.1 Introduction189
      • 4.2 Tri par insertion190
      • 4.3 Tri rapide : diviser pour régner192
      • 4.4 Tri fusion194
      • 4.5 Tri par insertion dichotomique196
      • 4.6 Complexité des tris198
      • 4.7 Sort dans Python199
      • 4.8 Recherche de la médiane en temps linéaire200
      • 4.9 Corrigés des exercices202
      • Chapitre 5 . Algorithmes gloutons 207
      • 5.1 Introduction207
      • 5.1.1 Optimisation combinatoire 207
      • 5.1.2 Le principe des algorithmes gloutons 210
      • 5.2 Mise en ouvre de stratégies gloutonnes211
      • 5.2.1 Le rendu de monnaie 211
      • 5.2.2 Sélection d'activités 213
      • 5.2.3 Allocations de salles de cours 216
      • 5.3 Bilan219
      • 5.4 Corrigés des exercices220
      • Chapitre 6 . Traitement de l'image 233
      • 6.1 Représentation des images, formats, outils233
      • 6.1.1 Tableaux à plusieurs dimensions et représentation des images 233
      • 6.1.2 Des fichiers images vers les tableaux de numpy 234
      • 6.2 Dessiner une droite à l'écran240
      • 6.3 Transformations géométriques d'une image243
      • 6.3.1 Agrandir : Homothétique d'une image avec k>1 244
      • 6.3.2 Mode d'emploi pour faire tourner une image 245
      • 6.4 Traitements par convolution249
      • 6.4.1 Filtres linéaires et convolution 249
      • 6.4.2 Quelques effets du filtrage linéaire 255
      • 6.4.3 Détection de contours 256
      • 6.5 Corrigés des exercices262
      • Partie II » Deuxième semestre
      • Chapitre 7 . Calcul numérique : problématique et outils 279
      • 7.1 Représentation des nombres et erreurs de calcul279
      • 7.1.1 Numérations décimale, binaire, hexadécimale 280
      • 7.1.2 Représentation des entiers sur n bits 282
      • 7.1.3 Les entiers multi-précision de Python 285
      • 7.1.4 Représentation des flottants sur n bits 288
      • 7.1.5 Peut on calculer avec les flottants ? 293
      • 7.1.6 Exercices 299
      • 7.2 Corrigés des exercices302
      • Chapitre 8 . Preuves et complexité des programmes 311
      • 8.1 Spécification d'un algorithme311
      • 8.1.1 Le vocabulaire 311
      • 8.1.2 Vérifier les pré-conditions et les post-conditions 312
      • 8.1.3 Exemples 315
      • 8.2 Le point sur la notion de preuve d'un algorithme316
      • 8.3 Le point sur la notion de complexité321
      • 8.3.1 La place, le temps, la précision 321
      • 8.3.2 Les outils : théorie et pratique 323
      • 8.3.3 Exemples basiques 329
      • 8.3.4 Complexité de l'algorithme d'Euclide 330
      • 8.4 Analyse des programmes récursifs334
      • 8.5 Exercices337
      • 8.6 Corrigés des exercices340
      • Chapitre 9 . Graphes 365
      • 9.1 Définitions365
      • 9.2 Listes d'adjacence367
      • 9.3 Matrices d'adjacence369
      • 9.4 Parcours en profondeur, composantes connexes370
      • 9.5 Parcours, versions itératives375
      • 9.5.1 Piles et files 375
      • 9.5.2 Parcours en largeur, procédure itérative 375
      • 9.5.3 Parcours en profondeur, version itérative 378
      • 9.6 Un algorithme de plus court chemin381
      • 9.7 Graphes, amas et percolation386
      • 9.8 Corrigés des exercices390
      • Chapitre 10 . Un bref aperçu de la programmation objet 405
      • 10.1 Les concepts de la programmation objet405
      • 10.2 Une classe pour la structure de graphe406
      • 10.3 Percolation, une implémentation objet411
      • Partie III . Troisième semestre
      • Chapitre 11 . Bases de données, langage SQL 421
      • 11.1 Introduction421
      • 11.2 Qu'est ce qu'une base de données relationnelle ?422
      • 11.2.1 Les relations comme ensembles de p-uplets 422
      • 11.2.2 Modèle relationnel 423
      • 11.3 Algèbre relationnelle426
      • 11.3.1 La sélection 427
      • 11.3.2 La projection 427
      • 11.3.3 Le produit cartésien de deux tables, le renommage et la jointure428 428
      • 11.3.4 La jointure 429
      • 11.3.5 Conflits de noms d'attributs et renommage 430
      • 11.3.6 Union, intersection et différence 430
      • 11.3.7 Récapitulatif et expressions de requêtes avec l'algèbre relationnelle 431
      • 11.4 Langage de manipulation de données, SQL433
      • 11.4.1 Les interrogations 433
      • 11.4.2 Group By, Having et les fonctions d'agrégation 439
      • 11.5 Exercices442
      • 11.6 SQLite, PosgtreSQL, MySQL445
      • 11.7 Corrigés des exercices447
      • Chapitre 12 . À propos des dictionnaires 463
      • 12.1 Dictionnaires ou tableaux associatifs463
      • 12.1.1 Tableau associatif comme type de données 463
      • 12.1.2 Tableaux associatifs et tables de hachage 466
      • 12.1.3 Quelques fonctions de hachage 467
      • 12.2 Compression de texte : LZ78469
      • 12.3 Corrigés des exercices471
      • 12.4 Annexe474
      • Chapitre 13 . Programmation dynamique 477
      • 13.1 Premiers exemples477
      • 13.1.1 Plus longue sous-suite commune 477
      • 13.1.2 Produit de matrices, parenthésages optimaux 482
      • 13.1.3 Problèmes éligibles à la programmation dynamique 486
      • 13.2 Autres exemples488
      • 13.2.1 Distance d'édition 488
      • 13.2.2 Algorithme de Roy-Floyd-Warshall 490
      • 13.3 Corrigés des exercices493
      • Chapitre 14 . Algorithmes pour l'étude des jeux 507
      • 14.1 Jeux sur graphes507
      • 14.1.1 Exemples de jeux à deux joueurs 507
      • 14.1.2 Représentation par des graphes, vacabulaire 510
      • 14.2 Calcul des attracteurs dans les jeux d'accessibilité512
      • 14.2.1 Jeu d'accessibilité 512
      • 14.2.2 Attracteurs et pièges 513
      • 14.3 Algorithme du minimax, heuristiques517
      • 14.3.1 Arbres 517
      • 14.3.2 L'algorithme du minimax 522
      • 14.3.3 L'algorithme du minimax avec heuristiques 524
      • 14.4 Corrigés des exercices525
      • 14.5 Une classe pour représenter les arbres535
      • Chapitre 15 . Algorithmes pour l'étiquetage et la classification 537
      • 15.1 Vocabulaire et définitions537
      • 15.1.1 Classement et classification automatique 537
      • 15.1.2 Distances, similarités 539
      • 15.1.3 Inertie d'une partition 541
      • 15.1.4 A propos d'intelligence artificielle 543
      • 15.2 Classement supervisé, k-plus proches voisins544
      • 15.2.1 L'algorithme 544
      • 15.2.2 Les tests 545
      • 15.3 Classification non supervisée, algorithme des k-moyennes548
      • 15.4 Bibliothèque scikit-learn552
      • 15.4.1 scikit-learn.datasets 552
      • 15.4.2 k plus proches voisins ave c scikit-learn 553
      • 15.4.3 k moyennes avec scikit-learn 553
      • 15.4.4 Lexique français anglais (US) 556
      • 15.5 Corrigés des exercices557
      • Glossaire de l'informatique générale569
      • Bibliographie581
      • Index585

  • Origine de la notice:
    • BPI
  • Disponible - 681.21(07) AUD

    Niveau 3 - Informatique