Très satisfait des produits. Rapport qualité prix satisfaisant
AnonymeDu C au C++ De la programmation procédurale à l'objet (2ième édition)
2 avis
Ce livre s'adresse aux développeurs débutants qui souhaitent maîtriser la conception algorithmique en s'appuyant sur le langage C puis sur le langage C++. Il est particulièrement adapté aux étudiants en licence d'informatique, école d'ingénieur et prépa scientifique. L'efficacité, la complémentarité mais aussi la généricité des langages C et C++ vont permettre au lecteur d'acquérir un...
Consulter des extraits du livre en ligne
Aperçu de la version papier
- Niveau Initié à Confirmé
- Nombre de pages 911 pages
- Parution septembre 2014
- Niveau Initié à Confirmé
- Parution septembre 2014
Les six premiers chapitres concernent l'apprentissage du langage C et les premières armes en algorithmique, des variables simples aux structures et tableaux jusqu'aux pointeurs. Ensuite, au chapitre 7 les fonctionnalités et la dimension objet du langage C++ sont exposées. Notamment une partie sur la communication entre objets est développée. Tous les points importants sont abordés avec des petits programmes d'illustration. Le lecteur trouvera là un marchepied conséquent vers le monde de l'objet qui lui donnera aussi les clés d'autres langages objet comme C# ou Java par exemple.
La suite du livre apporte des approfondissements avec l'étude des listes en C et des conteneurs qui en sont l'implémentation en C++. En langage C sont expliqués les listes chainées dynamiques, mais également les piles et les files ainsi que les arbres, essentiellement les arbres binaires. Pour ce faire, un chapitre expose la récursivité, élément incontournable pour l'implémentation des arbres. Ensuite les conteneurs du C++ sont détaillés et leurs principales caractéristiques explorées, l'objectif étant d'en faciliter l'utilisation.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Introduction – Variables simples – Les contrôles des blocs d'instructions – Les structures – Les tableaux – Structuration d'un programme – Les pointeurs – La dimension objet, le C++ - Récursivité – Liste en C – Listes en C++ (conteneurs)
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-7460-0902-0
- EAN : 9782746090200
- Ref. ENI : RI2CC
Caractéristiques
- HTML
- ISBN : 978-2-7460-0919-2
- EAN : 9782746091962
- Ref. ENI : LNRI2CC
Téléchargements
Introduction
- Objectif : apprendre à programmer
- Contenu
- Librairies graphiques
- Public visé
- Comment apprendre à programmer ?
- 1. Comprendre n’est pas savoir faire
- 2. Trois niveaux de difficulté
- a. Maîtriser les outils
- b. Résoudre un problème
- c. Concevoir un programme
- 3. Un apprentissage non linéaire
- 1. Chapitres
- 2. Solutions des exercices
Variables simples
- Introduction dans la programmation C
- 1. Qu’est-ce que programmer ?
- 2. Le positionnement par rapport à l’ordinateur
- 3. Les logiciels de la programmation
- a. Le compilateur
- b. L’IDE : environnement de développement
- c. Installation
- 4. Base d’un programme
- a. Des données et des instructions
- b. Des librairies de fonctions
- 5. Créer un projet
- a. Créer un projet sous Code::Blocks
- b. Créer un projet sous Visual Studio 2013
- c. Créer un modèle de projet (template)sous Visual Studio
- 6. Premier programme
- a. La fonction main() : entrée du programme
- b. Afficher du texte avec la fonction printf()
- c. Compiler et lancer le programme
- 7. Mise en pratique : découverte du compilateur
- 1. Qu’est-ce qu’une variable en informatique?
- 2. Définir des variables dans un programme
- a. Les types de variables élémentairesen C
- b. Déclarer ses variables dans un programme
- c. Contraintes pour le choix des noms
- a. Affecter une valeur à une variable
- b. Des valeurs de type caractère (codage ASCII)
- c. printf() pour afficher des valeurs
- d. Obtenir des caractères accentuésdans la console (sous Windows)
- e. Obtenir et afficher la taille en mémoired’une variable
- f. Obtenir et afficher l’adresse mémoire d’unevariable
- g. scanf() pour récupérer une valeurentrée par l’utilisateur
- h. Les pièges de scanf()
- a. Définition, mot-clé const
- b. Macro constantes #define
- c. Suite de constantes enum
- a. Codage et mesure de l’information
- b. Plages de valeurs en décimal
- c. Troncature
- d. Codage des nombres négatifs
- 1. La notion d’expression
- 2. Opérations arithmétiques
- a. Les opérateurs +, -, *, /, %
- b. Les affectations combinées
- c. Opérateurs d’incrémentationet de décrémentation
- d. Opérations entre types différents,opérateur de conversion (cast)
- e. Priorités entre opérateurs
- a. Principe du pseudo aléatoire
- b. La fonction rand()
- c. La fonction srand()
- d. Valeurs aléatoires dans des fourchettes
- a. ET : opérateur &
- b. OU exclusif : opérateur ˆ
- c. OU inclusif : opérateur |
- d. Complément : opérateur ~
- e. Décalages gauche et droite : opérateurs>> et <<
- f. Priorités des opérateurs bit à bit
Les contrôles des blocs d'instructions
- Blocs d'instructions et conditions
- 1. Qu’est-ce qu’un bloc d’instructions ?
- a. Définition
- b. Exemple
- c. Utilité d’un bloc d’instructions
- 1. Qu’est-ce qu’un bloc d’instructions ?
- 2. Définir une condition
- a. Pourquoi une condition ?
- b. Comment définir une condition ?
- c. Les opérateurs de comparaison
- d. L’opérateur unaire NON : !
- e. Priorités des opérateurs NON etcomparaison
- 3. Mise en pratique : opérateurs de comparaisonet NON
- 1. L’instruction if
- 2. Le couple d’instructions if-else
- 3. La forme contractée du if-else, opérateurconditionnel ?
- 4. La cascade d’instructions if-else if-else
- 5. Expérimentation : les sauts conditionnels(les trois if)
- 6. Mise en pratique : les sauts conditionnels
- 1. Branchement sélectif : switch, case et break
- 2. Rupture de séquence : goto avec étiquette
- 3. Expérimentation : branchement sélectifswitch
- 4. Mise en pratique : l’aiguillage switch
- 1. Conjonction ET : opérateur &&
- a. ET avec deux expressions membres
- b. ET avec plus de deux expressions membres
- a. OU avec deux expressions membres
- b. OU avec plus de deux expressions membres
- 1. Boucle TANT QUE : le while
- 2. Boucle FAIRE {...} TANT QUE : ledo-while
- 3. Boucle comptée POUR : le for
- 4. Boucles imbriquées
- 5. Sortie et saut forcés dans une boucle
- a. Sortir avec l’instruction break
- b. Passer à l’itération suivante avecl’instruction continue
- c. Sortir d’une ou de plusieurs boucles imbriquées avec l’instruction goto
- 1. Créer un menu utilisateur
- 2. Boucle d’événements dans un jeuvidéo
- a. Récupérer les entrées clavier: kbhit() et getch()
- b. Boucle d’événements simple
- c. Contrôler le temps d’exécution
- 1. Qu’est-ce qu’une fonction ?
- 2. Écrire sa fonction
- a. Où écrire sa fonction ?
- b. Conditions à remplir
- c. Exemple de fonction sans retour ni paramètre
- d. Exemple de fonction avec retour et sans paramètre
- e. Exemple de fonction sans retour avec un paramètre
- f. Exemple de fonction avec retour et paramètre
- g. Conclusion : quatre cas d’écriture de fonction
- a. Appel de la fonction (bonjour1)
- b. Récupération de la valeur de retour(bonjour2)
- c. Passage de valeurs aux paramètres (bonjour3 et 4)
- d. Précision sur le passage par valeur
- e. Visibilité et déclaration de lafonction
- a. Liste variable de paramètres de mêmetype
- b. Liste variable de paramètres de types différents
- c. Transformer printf()
- a. Identifier les composants d’une fonction
- b. Déclaration de fonctions
- c. Procédures sans paramètre
- d. Fonctions sans paramètre
- e. Fonctions avec paramètres
- 1. Visibilité des variables
- a. Profondeur de la déclaration
- b. Portée des variables
- c. Masquage d’une variable
- a. Variables globales
- b. Variables locales (auto)
- c. Variables static
- a. Principe du circuit
- b. Structure de données du circuit
- c. Structure de données de la voiture
- d. Étapes de l’algorithme, fonctions nécessaires
- e. Programme commenté
- f. Conclusion
- a. Ascenseur de la tour infernale
- b. Tracer des lignes
- 1. Pourquoi soigner le style ?
- 2. Typographie et choix des noms
- 3. Indentations rigoureuses et accolades
- 4. Parenthèses pour dissiper les ambiguïtés
- 5. Commentaires pertinents
- 6. Mise en pratique : style, indentations, commentaires
Les structures
- Structure
- 1. Qu’est-ce qu’une structure ?
- 2. Disposer d’une structure dans un programme
- a. Définir un type de structure
- b. Où placer sa définition de structure
- c. Déclarer ses variables structure
- d. Utiliser un typedef
- 3. Utiliser une structure
- a. Accès aux éléments avecl’opérateur point
- b. Priorité de l’opérateur point
- c. Une structure comme champ dans une structure
- d. Initialiser une structure à la déclaration
- e. Copier une structure
- 4. Mise en pratique : définir, déclarer,initialiser des structures
- 1. Retourner une structure
- 2. Structures en paramètre de fonction
- 3. Mise en pratique : structures et fonctions
- 4. Expérimentation
- a. Fourmi 1 : une fourmi mobile à l’écran
- b. Voiture 2 : structure circuit, structure voiture
Les tableaux
- Tableaux statiques
- 1. Qu’est-ce qu’un tableau ?
- 2. Disposer d’un tableau statique dans un programme
- a. Définir et déclarer un tableau
- b. Utiliser des #define pour les tailles
- 3. Utiliser un tableau
- a. Accéder aux éléments dutableau avec l’opérateur [ ]
- b. Priorité de l’opérateur [ ]
- c. Débordement de tableau
- d. Initialiser un tableau à la déclaration
- e. Parcourir un tableau avec une boucle for
- f. Trier un tableau
- 4. Précisions sur enum et #define
- a. Utiliser un #define
- b. Utiliser un enum
- 5. Tableaux à plusieurs dimensions
- a. Déclarer un tableau à plusieursdimensions
- b. Initialiser la déclaration
- c. Parcourir un tableau à plusieurs dimensions
- 6. Expérimentation : tableaux statiques
- 7. Mise en pratique : opérations de base surles tableaux statiques (non dynamiques)
- a. Déclaration de tableaux, accès aux éléments
- b. Initialisation de tableaux à la déclaration
- c. Tableaux à plusieurs dimensions
- d. Boucles et tableaux
- 1. Chaînes de caractères
- 2. Image bitmap
- 3. Stocker des données localisées
- 4. Expérimentation : utilisation de chaînesde caractères
- 5. Mise en pratique : tableaux
- a. Chaînes de caractères
- b. Image, terrain de jeux
- c. Localisation de données via plusieurs dimensions
- 1. Tableau comme champ dans une structure
- 2. Tableau de structures
- 3. Différences entre tableaux et structures
- 4. Mise en pratique : tableaux de structures
- 5. Expérimentations : améliorationdu programme voiture 2
- a. Voiture 3 : une structure trait et un tableaude traits
- b. Voiture 4 : tableau de structures voiture
- c. Voiture 5 : un circuit par voiture
- d. Voiture 5b : un circuit différentpour chaque voiture
- 1. Utiliser un tableau déclaré en global
- 2. Tableau en paramètre de fonction
- a. Précision sur le type tableau
- b. La variable pointeur
- c. En paramètre, conversion du tableau en pointeur
- d. Choix pour l’écriture des tableaux en paramètre
- e. Modification des données via un passage paradresse
- a. Récupérer une chaîne entréepar l’utilisateur
- b. Obtenir la taille d’une chaîne
- c. Copier une chaîne
- d. Comparer deux chaînes
- e. Concaténer deux chaînes
- a. Appels de fonctions, tableaux en paramètre
- b. Manipulations sur les chaînes
Structuration d’un programme
- Structuration d'un programme, étude d'un automate cellulaire
- 1. Clarifier et définir ses objectifs
- a. Principe de l’automate cellulaire
- b. Fonctionnement envisagé
- 1. Clarifier et définir ses objectifs
- 2. Trouver une structure de données valable
- 3. Identifier les fonctions principales
- 4. Choisir le niveau des variables fondamentales
- 5. Écrire les fonctions
- a. Fonction d’initialisation
- b. Fonction d’affichage
- c. Fonction de calcul
- d. Fonction de comptage des voisins
- e. Fonction de recopie
- f. Montage dans le main()
- 6. Intégrer une librairie personnelle
- 7. Répartir son code sur plusieurs fichiersC
- a. Code réparti en quatre fichiers C
- b. Problème de redéfinition
- 8. Mise en pratique : structuration d’un programme
- a. Simulation d’un feu de forêt
- b. Tristus et rigolus
- c. Simulation d’une attaque de microbes dans le sang
- d. Bancs de poissons, mouvements de populations
- e. Élection présidentielle
- f. Chenille
- g. Système de vie artificielle, colonies defourmis
- h. Boutons et pages
- i. Panneaux de bois et entrepôts
- j. Nenuphs et clans
- k. Neige 1
- l. Neige 2
- m. Neige 3
- n. Casse-brique simple
- o. Casse-brique guru
- p. Space Invaders simple
- q. Space Invaders more
- r. Space Invaders guru
- s. Pacman débutant
- t. Pacman intermediate
- u. Pacman guru
- v. Jeu de miroirs
- w. Simulations football
Les pointeurs
- Principe du pointeur
- 1. Qu’est-ce qu’un pointeur ?
- a. Mémoire RAM
- b. Une variable pointeur
- c. Quatre opérateurs
- d. Trois utilisations fondamentales des pointeurs
- 1. Qu’est-ce qu’un pointeur ?
- 2. Déclarer un pointeur dans un programme
- 3. Fonctionnement des quatre opérateurs
- a. Opérateur adresse : &
- b. Opérateur étoile : *
- c. Opérateur flèche : ->
- d. Opérateur crochet : [ ]
- e. Priorité des quatre opérateurs
- 4. Allouer dynamiquement de la mémoire
- a. La fonction malloc()
- b. Libérer la mémoire allouée: la fonction free()
- c. Le pointeur générique void*
- d. La valeur NULL
- 5. Attention à la validité d’une adressemémoire
- a. Validité d’une adresse mémoire
- b. Pourquoi caster le retour des fonctions d’allocation?
- 6. Pointeurs et constantes
- a. Pointeur variable sur un objet constant
- b. Pointeur constant sur un objet variable
- c. Pointeur constant sur un objet constant
- 7. Cas des tableaux de pointeurs
- a. Une structure de données très utile
- b. Un tableau de chaînes de caractères
- c. Utiliser les arguments de lignes de commandes
- 8. Cas des pointeurs de fonction
- a. Une fonction est une adresse
- b. Reconnaître un type de fonction
- c. Appeler une fonction via un pointeur
- d. Pourquoi des pointeurs de fonction ?
- 9. Expérimentation : base pointeurs
- 10. Mise en pratique : base sur les pointeurs
- a. Définir et manipuler des pointeurs
- b. Tests tableaux/pointeurs
- c. Base allocation dynamique
- d. Attention aux erreurs
- e. Tableaux de chaînes
- 1. Allouer un tableau avec un pointeur
- 2. Allouer une matrice avec un pointeur de pointeur
- 3. Différences entre tableaux statiques et dynamiques
- 4. Autres fonctions d’allocation dynamique
- a. Fonction calloc()
- b. Fonction realloc()
- a. Allouer dynamiquement des tableaux
- b. Allouer dynamiquement des matrices
- c. Allocation dynamique calloc() et realloc()
- 1. Passage par référence
- a. Cas général d’une variable quelconque
- b. Exemple : une fonction qui retourne l’heure
- c. Passage par référence d’une structure
- d. Passage par référence d’une variablepointeur
- a. Passage par référence, base
- b. Passage par référence, opérateursbit à bit
- c. Passage de pointeurs par référence
- d. Passage de tableaux dynamiques
- 1. Notions de base
- a. Le type FILE*
- b. Ouverture et fermeture d’un fichier
- c. Spécifier un chemin d’accès
- a. Écriture et lecture en mode binaire
- b. Détecter la fin d’un fichier binaire
- c. Déplacements dans un fichier
- a. Détecter la fin d’un fichier : EOF et feof()
- b. Lecture/écriture de caractères
- c. Lecture/écriture de chaînes
- d. Lecture/écriture formatées
- a. Sauvegarder et récupérer un tableaudynamique
- b. Récupérer des données viades pointeurs
La dimension objet, le C++
- C inclus en C++
- 1. Un projet console en C++
- a. Bibliothèque <iostream></iostream>
- b. L’instruction using namespace std;
- 1. Un projet console en C++
- 2. Un programme C compilé en C++
- 1. Entrée-sortie console : cout et cin
- a. Utiliser cout et cin
- b. Instructions de formatage en sortie
- a. Déclarations plus souples
- b. Type bool
- c. Type long long ou unsigned long long
- d. Type caractère unicode : wchar_t
- e. Typedef inutile pour les structures
- f. Type référence (pointeur masqué)
- g. Type pointeur, opérateurs new et delete
- h. Type auto (C++ 2011)
- i. Constantes (const) et énumération(enum) plutôt que #define
- a. static_cast<type></type>
- b. const_cast<type></type>
- c. reinterpret_cast<type></type>
- d. dynamic_cast<type></type>
- a. Fonctions embarquées "inline"
- b. Retourner une référence
- c. Valeurs par défaut de paramètres
- d. Surcharge des fonctions
- e. Fonctions génériques (template)
- f. Fonctions comme champs de structures
- a. Instruction throw
- b. Instruction de saut try-catch
- c. Instruction throw et appels de fonctions
- d. Instruction throw sans valeur de retour
- e. Exception non identifiée
- f. Bloc catch(...) par défaut
- 1. Une classe, des objets
- a. Qu’est-ce qu’une classe ?
- b. Qu’est-ce qu’un objet ?
- c. Définir une classe
- d. Déclarer un objet
- e. Droits d’accès
- f. Un programme C muté en classe et objet
- a. Paramétrer un objet à sa déclaration
- b. Le pointeur this
- c. Constructeur sans paramètre
- d. Constructeurs avec paramètres
- e. Constructeur et initialiseur
- f. Constructeur et copie d’objet
- a. Principe de la « property »
- b. Lire une variable private ou protected
- c. Modifier une variable private ou protected
- d. Lire et modifier une variable private ou protected
- e. Intérêt d’un appel de fonction
- a. Fonction operator globale hors classe
- b. Fonction operator localisée dans une classe
- c. Fonction operator et données dynamiques
- d. Objet-fonction (ou fonction-objet)
- a. Qualificatif static en C
- b. Qualificatif static et objets
- a. Principe
- b. Syntaxe de base
- c. Syntaxe des constructeurs
- d. Syntaxe avec plusieurs types génériques
- e. Paramétrage d’une classe générique
- f. Exemple d’implémentation d’une pile générique
- g. Spécialisation de fonction sur un type donné
- h. Spécialiser une classe entière
- 1. Principes des associations pour les relations entreobjets
- a. Association simple
- b. Agrégation
- c. Composition
- d. Problème syntaxique en C++
- a. Liaison non réciproque entre deux objets
- b. Liaison réciproque entre deux objets
- a. Liaison à sens unique
- b. Partage des objets pointés
- c. Liaison réciproque
- a. De l’agrégation à la composition,comment trancher ?
- b. Pointeur d’objet encapsulé en propriété
- c. Objet en propriété
- d. Référence d’objet en propriété
- 1. Définir une classe dérivée
- 2. Appeler explicitement un constructeur de la classede base
- 3. Redéfinition de données ou de fonctions
- 4. Spécifier un membre de la classe de base
- 5. Droits d’accès locaux de la classe héritée
- 6. Droits d’accès globaux de la classehéritée
- 7. Héritage multiple
- 8. Héritage multiple avec une base virtuelle
- 9. Distinction entre héritage et association
- 1. Accès pointeurs par défaut aux fonctionsredéfinies
- 2. Accès pointeur aux fonctions virtuelles redéfinies
- 3. Intérêt des accès pointeursaux fonctions virtuelles
- 4. Classes abstraites, fonctions virtuelles pures
- 5. Interface
Récursivité
- Fonctions récursives
- 1. Qu’est-ce que la récursivité ?
- 2. Une fonction récursive basique
- 3. Pile d’appels et débordement
- 4. Retourner une valeur
- 5. Représentation et analyse du fonctionnement
- a. Analyse descendante
- b. Analyse ascendante
- 6. Choisir entre itératif ou récursif
- 1. Calculs
- a. Afficher les chiffres d’un entier
- b. Produit factoriel
- c. Suite de Fibonacci
- d. Changement de base arithmétique d’un nombre
- e. Puissance
- f. PGCD, algorithme d’Euclide
- a. Tracé d’une règle graduée: "diviser pour résoudre"
- b. Tracé de cercles
- c. Tracé de carrés
- d. Tracé d’un arbre
- a. Trouver un chemin dans un labyrinthe
- b. Création d’un labyrinthe
Listes en C
- Listes chaînées dynamiques
- 1. Qu’est-ce qu’une liste chaînée ?
- a. Une chaîne constituée de maillons
- b. Trois types de listes chaînées
- c. Les actions sur une liste chaînée
- d. Listes chaînées contre tableaux
- 1. Qu’est-ce qu’une liste chaînée ?
- 2. Implémenter une liste simple
- a. Structure de données d’un maillon
- b. Début et fin de la liste
- c. Initialiser un maillon
- d. Ajouter un maillon au début d’une liste
- e. Insérer un maillon dans une liste
- f. Parcourir la liste
- g. Supprimer un maillon au début de la liste
- h. Supprimer un élément sur critère
- i. Détruire la liste
- j. Sauvegarder la liste
- 3. Implémenter une liste simple circulaire
- a. Structure de données d’une liste circulaire
- b. Liste vide
- c. Début et fin de la liste
- d. Initialiser un maillon
- e. Ajouter un maillon
- f. Parcourir la liste
- g. Supprimer un maillon
- h. Détruire la liste
- 4. Implémenter une liste symétrique
- a. Structure de données
- b. Liste vide
- c. Début et fin de la liste
- d. Initialiser un élément
- e. Ajouter un élément au début
- f. Ajouter un élément à lafin
- g. Parcourir et afficher la liste
- h. Supprimer un élément
- i. Détruire la liste
- j. Copier une liste
- 5. Mise en pratique : listes chaînées
- 1. Principes de la pile
- a. Modèle de données pile
- b. Implémentation statique ou dynamique
- c. Primitives de gestion des piles
- d. Applications importantes des piles
- a. Structure de données
- b. Pile vide, pile pleine
- c. Initialisation
- d. Empiler
- e. Lire le sommet
- f. Dépiler
- g. Vider, détruire
- h. Affichage
- i. Test dans le main()
- a. Structure de données
- b. Initialisation
- c. Pile vide, pile pleine
- d. Empiler
- e. Lire le sommet
- f. Dépiler
- g. Vider, détruire
- h. Affichage
- i. Test dans le main()
- 1. Principes de la file
- a. Modèle de données file
- b. Implémentation statique ou dynamique
- c. Primitives de gestion des files
- d. Applications importantes des files
- a. Structure de données
- b. File vide, file pleine
- c. Initialisation
- d. Enfiler
- e. Lire la tête, lire la queue
- f. Défiler
- g. Vider, détruire
- h. Affichage
- i. Test dans le main()
- a. Structure de données
- b. File vide, file pleine
- c. Initialisation
- d. Enfiler
- e. Lire la tête, lire la queue
- f. Défiler
- g. Vider, détruire
- h. Affichage
- i. Test dans le main()
- 1. Généralités sur les arbres
- a. Principe
- b. Exemples d’utilisation des arbres
- c. Nomenclature des arbres
- a. Arbre binaire
- b. Arbre n-aire
- c. Transformer un arbre n-aire en arbre binaire
- a. Arbre n-aire
- b. Arbre binaire
- c. Structures de données statiques ou dynamiques
- 1. Créer un arbre binaire
- a. Créer un arbre à partir d’un schémadescriptif
- b. Créer un arbre à partir des donnéesaléatoires d’un tableau
- c. Créer un arbre en insérant des élémentsordonnés
- a. Parcours en profondeur
- b. Parcours en largeur, par niveau
- a. Afficher un arbre avec indentation
- b. Dessiner l’arbre sans les liens
- a. Connaître la taille
- b. Connaître la hauteur
- c. Savoir si un nœud est une feuille
- d. Compter le nombre des feuilles de l’arbre
- e. Lister toutes les feuilles
- f. Faire la somme des valeurs des nœuds
- g. Comparer des valeurs des nœuds de l’arbre
- h. Ramener un nœud de l’arbre à partird’une valeur
- a. Conversion d’un arbre statique en dynamique
- b. Conversion d’un arbre dynamique en statique
- a. Sauvegarder un arbre dynamique
- b. Charger (load) un arbre dynamique
- a. Structure de données
- b. Lecture d’un nœud à partir de sonnuméro d’enregistrement
- c. Adaptation des fonctions pour les arbres binaires dynamiques ou statiques
- 1. Définition
- 2. Structure de données
- 3. Insérer un élément dansl’arbre selon sa clé
- a. Comparer deux clés
- b. Insérer un élément à labonne place
- a. Trois cas
- b. Fonction de recherche du nœud max
- c. Fonction de suppression
Listes en C++ (conteneurs)
- Principes des conteneurs
- 1. Trois catégories de conteneurs
- a. Conteneurs séquentiels
- b. Conteneurs associatifs
- c. Les « presque conteneurs »
- 1. Trois catégories de conteneurs
- 2. Récapitulation des bibliothèquesconteneurs
- 3. Opérations sur les conteneurs
- a. Templates, constructeurs, destructeurs
- b. Accès aux éléments
- c. Itérateurs
- d. Pointeurs
- e. Affectation
- f. Opérations de liste, pile et file
- g. Gestion des tailles et capacités
- h. Fonctions de comparaison
- 1. La classe array
- a. Template, constructeurs, destructeurs
- b. Accès éléments, itérateurs
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons
- a. Template, constructeurs, destructeurs
- b. Accès aux éléments, itérateurs
- c. Opérations de liste
- d. Opérations de pile et file
- e. Taille et capacité
- f. Comparaisons entre vecteurs
- g. Vecteur spécialisé de booléens
- a. Template, constructeurs, destructeurs
- b. Accès aux éléments, itérateurs
- c. Opérations de liste (pile et file compris)
- d. Comparaisons entre listes
- e. Taille et capacité
- a. Template, constructeurs, destructeurs
- b. Accès aux éléments, itérateurs
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons entre files
- 1. La classe stack
- a. Templates, constructeurs
- b. Méthodes
- c. Comparaisons
- a. Template, constructeurs
- b. Méthodes
- c. Comparaisons
- a. Template, constructeurs
- b. Méthodes
- c. Fonctions-objets de comparaison
- 1. La classe map
- a. Templates, constructeurs
- b. Itérateurs, accès aux éléments
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons
- a. Templates, constructeurs
- b. Itérateurs, accès aux éléments
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons
- a. Template, constructeurs
- b. Itérateurs, accès aux éléments
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons
- a. Template, constructeurs
- b. Itérateurs, accès aux éléments
- c. Opérations de liste
- d. Taille et capacité
- e. Comparaisons
- a. Template, constructeurs
- b. Méthodes
- 1. La classe string
- a. Template
- b. Constructeurs
- c. Accès, itérateurs
- d. Opérations sur chaînes de caractères
- e. Taille et capacités
- f. Comparaisons
- a. Template, constructeurs
- b. Méthodes
- c. Opérateurs bits à bits, comparaison
Annexe
- Priorité et associativité des opérateurs
Clair, bien structuré et une bonne mise en page. Rien à redire sur le prix.
AnonymeFrédéric DROUILLON
Frédéric DROUILLON est enseignant et créateur dans le domaine de l'informatique et des arts numériques. Il envisage la programmation et ses langages comme un moyen d'expression et de formulation d'idées, une véritable écriture, qui fait naître de la recherche et inspire de la créativité. L'objectif de son enseignement en langage C est de permettre au lecteur d'acquérir un savoir-faire fondamental en programmation informatique pour ensuite circuler le plus librement possible dans les différentes techniques et langages de programmation.



