Description
Table des matières
- Introduction à l’algorithmique
- 1. Les fondements de l’informatique
- 1.1 Architecture de Von Neumann
 - 1.2 La machine de Turing
 - 1.3 Représentation interne des instructions et des données
- 1.3.1 Le binaire
 - 1.3.2 Les octets et les mots
 - 1.3.3 L’hexadécimal
 
 
 - 2. L’algorithmique
- 2.1 Programmer, c’est un art
 - 2.2 Définition : L’algorithme est une recette
 - 2.3 Pourquoi utiliser un algorithme ?
 - 2.4 Le formalisme
- 2.4.1 Les algorigrammes
 - 2.4.2 L’algorithme sous forme de texte
 
 - 2.5 La complexité
 - 2.6 Les structures algorithmiques
 
 - 3. Les langages d’implémentation
- 3.1 Quel langage ?
 - 3.2 Classifications des langages
- 3.2.1 Haut niveau, bas niveau
 - 3.2.2 Diverses classifications
 - 3.2.3 Compilé ou interprété
 
 - 3.3 La machine virtuelle
 - 3.4 Python
- 3.4.1 Les avantages
 - 3.4.2 Un premier programme Python
 
 
 - 4. Exercices
 
 - 1. Les fondements de l’informatique
 - Les variables et opérateurs
- 1. La variable
- 1.1 Principe
 - 1.2 Déclaration
 - 1.3 Les types
- 1.3.1 Les nombres
 - 1.3.2 Autres types numériques
 - 1.3.3 Les caractères
 - 1.3.4 Le type booléen
 
 - 1.4 Affectation
- 1.4.1 Affectation de valeurs
 - 1.4.2 Affectation de variables
 
 - 1.5 Saisie et affichage
- 1.5.1 La fonction print()
 - 1.5.2 La fonction input()
 
 - 1.6 Les constantes
 
 - 2. Opérateurs et calculs
- 2.1 Les affectations
 - 2.2 Les opérateurs arithmétiques
 - 2.3 Les opérateurs booléens
 - 2.4 Les opérateurs de comparaison
- 2.4.1 L’égalité
 - 2.4.2 La différence
 - 2.4.3 Inférieur, supérieur
 
 - 2.5 Le cas des chaînes de caractères
 - 2.6 La précédence des opérateurs
 
 - 3. Pour aller plus loin
- 3.1 Les nombres négatifs
 - 3.2 La représentation des nombres réels
 - 3.3 Les dates
 - 3.4 Les caractères
 
 - 4. Types et langages
- 4.1 Langages typés ou non
 - 4.2 La gestion de la mémoire
 
 - 5. Les types spécifiques à Python
- 5.1 Les listes
 - 5.2 Les tuples
 - 5.3 Le type set
 - 5.4 Les dictionnaires
 
 - 6. Exercices
 
 - 1. La variable
 - Tests et logique booléenne
- 1. Les tests et conditions
- 1.1 Principe
 - 1.2 Que tester ?
 - 1.3 Tests SI
- 1.3.1 Forme simple
 - 1.3.2 Forme complexe
 
 - 1.4 Tests imbriqués
 - 1.5 Choix multiples
 - 1.6 Des exemples complets
- 1.6.1 Le lendemain d’une date
 - 1.6.2 La validité d’une date
 - 1.6.3 L’heure dans n secondes
 
 
 - 2. L’algèbre booléen
- 2.1 L’origine des tests
 - 2.2 Petites erreurs, grosses conséquences
- 2.2.1 Ariane 5
 - 2.2.2 Mars Climate Orbiter
 
 - 2.3 George Boole
 - 2.4 L’algèbre
- 2.4.1 Établir une communication
 - 2.4.2 La vérité
 - 2.4.3 La loi ET
 - 2.4.4 La loi OU
 - 2.4.5 Le contraire
 - 2.4.6 Les propriétés
 - 2.4.7 Quelques fonctions logiques
 - 2.4.8 Avec plus de deux variables
 
 - 2.5 Une dernière précision
 
 - 3. Exercices
 
 - 1. Les tests et conditions
 - Les boucles
- 1. Les structures itératives
- 1.1 Définition
 - 1.2 Quelques usages simples
 
 - 2. Tant Que
- 2.1 Structure générale
 - 2.2 Boucles infinies et “break”
 - 2.3 Des exemples
- 2.3.1 Une table de multiplication
 - 2.3.2 Une factorielle
 - 2.3.3 x à la puissance y
 - 2.3.4 Toutes les tables de multiplication
 - 2.3.5 Saisie de notes et calcul de moyennes
 - 2.3.6 Rendez la monnaie
 - 2.3.7 Trois boucles
 
 
 - 3. Répéter … Jusqu’à
- 3.1 Différences fondamentales
 - 3.2 Quelques exemples adaptés
- 3.2.1 La factorielle
 - 3.2.2 Les trois boucles
 
 
 - 4. Pour … Fin Pour
- 4.1 Une structure pour compter…
 - 4.2 … mais pas indispensable
 - 4.3 Quelle structure choisir ?
 - 4.4 Un piège à éviter
 - 4.5 Quelques exemples
- 4.5.1 De nouveau trois boucles
 - 4.5.2 La factorielle
 - 4.5.3 Racine carrée avec précision
 - 4.5.4 Calcul du nombre PI
 
 
 - 5. Exercices
 
 - 1. Les structures itératives
 - Les tableaux et structures
- 1. Présentation
- 1.1 Principe et définition
- 1.1.1 Simplifier les variables
 - 1.1.2 Les dimensions
 - 1.1.3 Les types
 - 1.1.4 Déclaration
 - 1.1.5 Utilisation
 - 1.1.6 Les tableaux dynamiques
 
 - 1.2 Python et les tableaux
 - 1.3 Représentation en mémoire
- 1.3.1 Représentation linéaire
 - 1.3.2 Représentation par référence
 
 
 - 1.1 Principe et définition
 - 2. Manipulations simples
- 2.1 Recherche d’un élément
 - 2.2 Le plus grand/petit, la moyenne
 - 2.3 Le morpion
 
 - 3. Algorithmes avancés
- 3.1 Les algorithmes des tris
- 3.1.1 Le principe
 - 3.1.2 Le tri par création
 - 3.1.3 Le tri par sélection
 - 3.1.4 Le tri à bulles
 - 3.1.5 Le tri par insertion
 - 3.1.6 Le tri Shell
 
 - 3.2 Recherche par dichotomie
 
 - 3.1 Les algorithmes des tris
 - 4. Structures et enregistrements
- 4.1 Principe
 - 4.2 Déclaration
- 4.2.1 Type structuré
 - 4.2.2 Enregistrement
 
 - 4.3 Utiliser les enregistrements
- 4.3.1 Utiliser les champs
 - 4.3.2 Un enregistrement dans une structure
 - 4.3.3 Un tableau dans une structure
 
 - 4.4 Les tableaux d’enregistrements
- 4.4.1 Les tables
 - 4.4.2 Une table comme champ
 
 - 4.5 Et Python ?
 
 - 5. Exercices
 
 - 1. Présentation
 - Les sous-programmes
- 1. Présentation
- 1.1 Principe
 - 1.2 Déclaration et définition
- 1.2.1 Dans un algorithme
 - 1.2.2 En Python
 
 - 1.3 Appel
 - 1.4 Fonctions et procédures
- 1.4.1 Les procédures
 - 1.4.2 Les fonctions
 
 - 1.5 Variables locales et globales
- 1.5.1 Locales
 - 1.5.2 Globales
 - 1.5.3 Variables globales et Python
 
 - 1.6 Les paramètres
- 1.6.1 Les procédures
 - 1.6.2 Les fonctions
 - 1.6.3 Paramètres et Python
 - 1.6.4 Petite application fonctionnelle
 
 - 1.7 Sous-programmes prédéfinis
- 1.7.1 Un choix important
 - 1.7.2 Quelques exemples
 
 - 1.8 Dernier cas : les tableaux
 
 - 2. Les sous-programmes récursifs
- 2.1 Principe
 - 2.2 Un premier exemple : la factorielle
 - 2.3 Un exemple pratique : les tours de Hanoï
 
 - 3. Exercices
 
 - 1. Présentation
 - Les fichiers
- 1. Les différents fichiers
- 1.1 Préambule
 - 1.2 Problématique
 - 1.3 Définition
 - 1.4 Les formats
- 1.4.1 Types de contenus
 - 1.4.2 Le fichier binaire
 - 1.4.3 Le fichier texte
 - 1.4.4 Quel format utiliser ?
 
 - 1.5 Les accès aux fichiers
- 1.5.1 Séquentiel
 - 1.5.2 Accès direct
 - 1.5.3 Indexé
 - 1.5.4 Autre ?
 
 
 - 2. Les enregistrements
- 2.1 Les délimiteurs
 - 2.2 Largeur fixe
 - 2.3 Principes d’accès
- 2.3.1 Étapes de base
 - 2.3.2 Identificateurs de fichiers et canaux
 - 2.3.3 Les modes d’ouverture
 
 
 - 3. Fichier texte séquentiel
- 3.1 Ouvrir et fermer un fichier
 - 3.2 Lire et écrire des enregistrements
- 3.2.1 Lecture
 - 3.2.2 Écriture
 
 - 3.3 Les enregistrements structurés
 - 3.4 Exemple en Python
 
 - 4. Les fichiers binaires
- 4.1 Nouvelles instructions
 - 4.2 Exemple
 
 - 5. Exercices
 
 - 1. Les différents fichiers
 - Notions avancées
- 1. Les pointeurs et références
- 1.1 Rappels sur la mémoire et les données
- 1.1.1 Structure de la mémoire
 - 1.1.2 Python : des limites qui n’en sont pas
 - 1.1.3 Brefs exemples en C
 
 - 1.2 Le pointeur
- 1.2.1 Principe et définition
 - 1.2.2 Le C roi des pointeurs
 - 1.2.3 Applications
 
 - 1.3 Notation algorithmique
- 1.3.1 Déclarer et utiliser les pointeurs
 - 1.3.2 Allocation dynamique
 
 - 1.4 Python et les références
- 1.4.1 Différences entre le C et Python
 - 1.4.2 Références sur les objets
 - 1.4.3 Les types primitifs
 - 1.4.4 Références sur structures
 - 1.4.5 Le piège en Python
 
 
 - 1.1 Rappels sur la mémoire et les données
 - 2. Les listes chaînées
- 2.1 Listes chaînées simples
- 2.1.1 Principe
 - 2.1.2 Création
 - 2.1.3 Parcours de la liste
 - 2.1.4 Recherche
 - 2.1.5 Ajout d’un élément
 - 2.1.6 Suppression d’un élément
 - 2.1.7 Supprimer toute la liste
 - 2.1.8 Parcours récursif
 
 - 2.2 L’implémentation en Python
 - 2.3 Autres exemples de listes
- 2.3.1 Listes circulaires
 - 2.3.2 Listes d’éléments triés
 - 2.3.3 Listes doublement chaînées
 - 2.3.4 Files et piles
 
 
 - 2.1 Listes chaînées simples
 - 3. Les arbres
- 3.1 Principe
 - 3.2 Définitions
- 3.2.1 Base
 - 3.2.2 Terminologie
 - 3.2.3 Description horizontale
 - 3.2.4 Description verticale
 - 3.2.5 L’arbre binaire
 
 - 3.3 Parcours d’un arbre
 - 3.4 Arbre binaire ordonné
- 3.4.1 Principe
 - 3.4.2 Recherche d’un élément
 - 3.4.3 Ajout d’un élément
 - 3.4.4 Suppression d’un nœud
 
 
 - 4. Exercices
 
 - 1. Les pointeurs et références
 - Une approche de l’objet
- 1. Principe de l’objet, une notion évidente
- 1.1 Avant de continuer
 - 1.2 Rappels sur la programmation procédurale
- 1.2.1 Les données
 - 1.2.2 Les traitements
 
 - 1.3 L’objet
- 1.3.1 Dans la vie courante
 - 1.3.2 En informatique
 
 - 1.4 Classe, objets
 - 1.5 Déclaration et accès
 - 1.6 Les méthodes
 - 1.7 Portée des membres
 - 1.8 Encapsulation des données
 - 1.9 L’héritage
- 1.9.1 Principe
 - 1.9.2 Commerce
 - 1.9.3 Hiérarchie
 - 1.9.4 Simple ou multiple
 
 - 1.10 Le polymorphisme
- 1.10.1 Principe
 - 1.10.2 Le polymorphisme ad hoc
 - 1.10.3 Le polymorphisme d’héritage
 - 1.10.4 Le polymorphisme paramétrique
 
 
 - 2. Manipuler les objets
- 2.1 Les constructeurs
- 2.1.1 Déclaration
 - 2.1.2 Appel implicite
 - 2.1.3 L’héritage
 
 - 2.2 Les destructeurs
 - 2.3 Les membres statiques
 - 2.4 Classes et méthodes abstraites
 - 2.5 Interfaces
 
 - 2.1 Les constructeurs
 - 3. L’objet en Python
- 3.1 Les langages objet
 - 3.2 Déclaration des classes et objets
 - 3.3 Héritage
 - 3.4 Interfaces
 
 - 4. Exercices
 
 - 1. Principe de l’objet, une notion évidente
 - Corrigés des exercices
 






                            
Reviews
There are no reviews yet.