Parfait
Anonyme- Livres & vidéos
- Langage C - Maîtriser la programmation procédurale (avec exercices pratiques) (3e édition)
Langage C Maîtriser la programmation procédurale (avec exercices pratiques) (3e édition)
Les points forts du livre :
- Une couverture exhaustive des fondamentaux du langage C, avec une progression didactique
- Un travail approfondi sur les structures de données dynamiques et la récursivité
- Une dimension pratique et ludique avec l’introduction à Allegro 5
- Niveau Initié à Confirmé
- Nombre de pages 908 pages
- Parution août 2025
- Niveau Initié à Confirmé
- Parution août 2025
Ce livre s’adresse aux développeurs débutants qui souhaitent maîtriser la conception algorithmique en s’appuyant 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 modularité et la généricité du langage C vont permettre au lecteur d’acquérir un savoir-faire fondamental en programmation informatique.
Au-delà du fonctionnement du langage, l’auteur fournit ce qu’il faut de précision et de pratique pour que le lecteur se l’approprie et le maîtrise ; chaque section théorique est suivie d’une section « Mise en pratique » dédiée, composée d’exercices diversifiés et une section « Expérimentation » propose des études de cas.
Les dix premiers chapitres concernent l’apprentissage du langage C et les premières armes en algorithmique : variables et opérations, concepts de sauts, de branchements, de boucles et de fonctions, structures, tableaux, unions et bien entendu les pointeurs. La suite du livre apporte des approfondissements avec l’étude des listes en C. Les listes chaînées dynamiques, mais également les piles et les files ainsi que les arbres, essentiellement les arbres binaires, sont expliqués. Pour ce faire, un chapitre expose la récursivité, élément incontournable pour l’implémentation des arbres. Pour finir, un chapitre consacré à la bibliothèque multimédia Allegro 5 fournit une introduction au graphisme et à la programmation de jeu vidéo.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-05082-4
- EAN : 9782409050824
- Ref. ENI : RI3PROPC
Caractéristiques
- HTML
- ISBN : 978-2-409-05083-1
- EAN : 9782409050831
- Ref. ENI : LNRI3PROPC
Téléchargements
Introduction
- Objectif : apprendre à programmer avec le C
- Contenu
- Librairies graphiques
- Public visé
- Organisation du livre
- 1. Chapitres
- 2. Des questions pour faciliter apprentissage et synthèse
- 3. Solutions des exercices
- 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
- 4. La programmation comme écriture
Installer un environnement
- Qu'est-ce que programmer ?
- Le positionnement par rapport à l'ordinateur
- Les logiciels de la programmation
- 1. Le compilateur
- 2. L’IDE : environnement de développement
- Travailler avec Visual Studio (conseillé)
- 1. Installer Visual Studio
- 2. Créer un projet sous Visual Studio
- 3. Premier programme sous Visual Studio
- a. Ajouter une page de code au projet vide
- b. La fonction main() : entrée du programme
- c. Afficher du texte avec la fonction printf()
- d. Compiler le programme
- 4. Lancer le programme
- a. Lancer le programme sans débogage depuisVisual Studio (pratique)
- b. Lancer le programme depuis l’exécutable surle disque dur
- c. Lancer le programme en mode débogage
- d. Lancer le programme depuis une invite de commandes
- 5. Conserver la fenêtre console ouverte
- a. Insérer un point d’arrêt en modedébogage
- b. Ajouter une instruction
- 6. Créer un modèle de projet
- 7. Plusieurs projets dans un même espace detravail
- 1. Installer Code::Blocks
- 2. Créer un projet sous Code::Blocks
- 3. Compiler et lancer un programme sous Code::Blocks
- 1. Des données et des instructions
- 2. Des librairies de fonctions
Variables simples
- Introduction
- Qu'est-ce qu’une variable en informatique ?
- Définir des variables dans un programme
- 1. Les types de variables élémentairesen C
- 2. Déclarer ses variables dans un programme
- 3. Contraintes pour le choix des noms
- Mise en pratique : définir des variables dans un programme
- Manipulations de base sur les variables
- 1. Affecter une valeur à une variable
- 2. Les suffixes L, LL et f
- 3. Des valeurs de type caractère (codage ASCII)
- 4. printf() pour afficher des valeurs
- 5. Afficher des caractères accentuésdans la console Windows
- 6. Obtenir et afficher la taille en mémoired’une variable
- 7. Obtenir et afficher l’adresse mémoire d’unevariable
- 8. Récupérer une valeur entréepar l’utilisateur
- a. La fonction scanf()
- b. Plusieurs entrées dans un seul appel de scanf
- 9. scanf ou scanf_s ?
- a. La fonction scanf_s()
- b. scanf() et scanf_s() sous Visual Studio
- 10. Précisions pour les emplois de scanf et scanf_s
- a. Contrôler la saisie avec la valeur de retourde scanf et scanf_s
- b. Les pièges de scanf et scanf_s
- 1. Définition, mot-clé const
- 2. Macro-constantes #define
- 3. Suite de constantes enum
- 1. Codage et mesure de l’information
- 2. Plages de valeurs en décimal
- 3. Troncature
- 4. Codage des nombres négatifs
Les opérations
- Introduction
- La notion d'expression
- Opérations arithmétiques
- 1. Les opérateurs +, -, *, /, %
- 2. Les affectations combinées
- 3. Opérateurs d’incrémentationet de décrémentation
- 4. Opérations entre types différents,opérateur de conversion (cast)
- 5. Priorités entre opérateurs
- Mise en pratique : opérations arithmétiques, cast
- Obtenir des valeurs aléatoires
- 1. Principe du pseudo-aléatoire
- 2. La fonction rand()
- 3. La fonction srand()
- 4. Valeurs aléatoires dans des fourchettes
- Mise en pratique : opérations et nombres aléatoires
- Opérations bit à bit
- 1. ET : opérateur &
- 2. OU exclusif : opérateur ^
- 3. OU inclusif : opérateur |
- 4. Complément : opérateur ~
- 5. Décalages gauche et droite : opérateurs>> et <<
- 6. Priorités des opérateurs bit à bit
- Mise en pratique : opérations bit à bit
- Expérimentation : opérations arithmétiques, valeurs aléatoires
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 etde comparaison
- 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éesavec 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. Principe
- 2. Exemple de fonction sans retour et sans paramètre
- 3. Déclaration et visibilité d’unefonction
- 4. Exemples de fonction avec paramètres
- a. Déplacer le curseur en écriturede la fenêtre console
- b. Changer le couleur des caractères
- c. À propos de la couleur en console
- d. Position et couleur d’une lettre affichéedans la console
- e. Tracer une ligne horizontale
- f. Le programme complet
- a. Retourner un nombre aléatoire entre 0 et1
- b. Retourner le résultat d’un lancer de deuxdés à six faces
- c. Programme complet
- a. Conversion en chiffres romains
- a. Précision sur le passage par valeur
- b. Passage par référence
- 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. Création de circuits aléatoires
- b. Création de trajets non bouclés
- c. Ascenseur de la tour infernale
- d. 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 #define et enum
- a. Utiliser un #define (directive macroprocesseur)
- 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
- f. Pas de tableau statique en valeur de retour
- 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
Les unions
- Principe de l'union
- Unions discriminées
- Union de structures et simulation d’héritage (concept programmation objet)
- Tableau d'unions
Concevoir et réaliser un programme
- Déterminer le sujet et définir des objectifs
- 1. Principe de l’automate cellulaire
- 2. Fonctionnement envisagé
- Trouver une structure de données valable
- Identifier les fonctions principales
- Créer un nouveau projet
- Choisir le niveau des variables fondamentales
- Écrire les fonctions
- 1. Fonction d’initialisation
- 2. Fonction d’affichage
- 3. Fonction de calcul
- 4. Fonction de comptage des voisins
- 5. Fonction de recopie
- 6. Montage dans le main()
- Intégrer une librairie personnelle
- Répartir son code sur plusieurs fichiers C
- 1. Code réparti en quatre fichiers C
- 2. Problème de redéfinition
- Mise en pratique : structuration d'un programme
- 1. Simulation d’un feu de forêt
- 2. Tristus et rigolus
- 3. Simulation d’une attaque de microbes dans le sang
- 4. Bancs de poissons, mouvements de populations
- 5. Élection présidentielle
- 6. Chenille
- 7. Système de vie artificielle, colonies defourmis
- 8. Boutons et pages
- 9. Panneaux de bois et entrepôts
- 10. Nenuphs et clans
- 11. Neige 1
- 12. Neige 2
- 13. Neige 3
- 14. Casse-briques simple
- 15. Casse-briques guru
- 16. Space Invaders simple
- 17. Space Invaders more
- 18. Space Invaders guru
- 19. Pac-Man débutant
- 20. Pac-Man intermediate
- 21. Pac-Man guru
- 22. Jeu de miroirs
- 23. 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. Quatre 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 en même temps qu’une structure
- 2. Allouer un tableau avec un pointeur
- 3. Allouer une matrice avec un pointeur de pointeur
- 4. Allouer un tableau dynamique de pointeurs
- a. Tableau dynamique de pointeurs de structures
- b. Allocation dynamique d’un tableau de pointeurs surdes unions
- 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. Association de structures de types différents
- 2. Association de deux structures de même type
Introduction aux fichiers
- Fichiers (type FILE*)
- Notions de base
- 1. Le type FILE*
- 2. Ouverture et fermeture d’un fichier
- 3. Spécifier un chemin d’accès
- Fichiers binaires
- 1. Écriture et lecture en mode binaire
- 2. Détecter la fin d’un fichier binaire
- 3. Déplacements dans un fichier
- Écriture et lecture en mode texte
- 1. Détecter la fin d’un fichier : EOF et feof()
- 2. Lecture/écriture de caractères
- 3. Lecture/écriture de chaînes
- 4. Lecture/écriture formatées
- Sauvegarde d'éléments dynamiques
- 1. Sauvegarder et récupérer un tableaudynamique
- 2. Récupérer des données viades pointeurs
- Expérimentation : récapitulation sauvegardes binaires
- Mise en pratique : fichiers
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. Plus grand commun dénominateur (PGCD), algorithmed’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. Parcourir la liste
- f. Insérer un maillon dans une 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
- k. Test dans le main()
- 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
- i. Test dans le main()
- 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. Supprimer un élément selon un critère
- j. Détruire la liste
- k. Copier une liste
- l. Test dans le main()
- 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
- 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 et écriture d’un nœud à partirde son numéro d’enregistrement
- c. Adaptation des fonctions pour les arbres binairesdynamiques 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
Graphisme et jeux sous Allegro 5
- Introduction
- 1. Installer la bibliothèque
- a. Package NuGet sous Visual Studio
- b. À propos de Code::Blocks
- 1. Installer la bibliothèque
- 2. Paramétrages indispensables
- a. Choisir un type de bibliothèque
- b. Sélectionner des modules
- c. Vérifier l’installation : premier programme
- 3. Créer une fenêtre
- 4. Obtenir le clavier
- a. Capture simple
- b. Correction des répétitions
- 5. Obtenir la souris
- a. Capture simple
- b. Correction des répétitions
- 6. Création d’un modèle de projet
- 7. Précisions à propos de la fenêtreconsole
- a. Projet sans console Windows
- b. Console multiplateforme native Allegro 5
- 1. Taille et position
- 2. Attribut de redimensionnement
- 3. Obtenir le plein écran
- 4. Contrôle des résolutions de l’écran
- a. Résolutions supportées
- b. Obtenir la plus grande résolution
- 1. Couleur, transparence
- 2. Installation du module de dessin
- 3. Lignes, triangles, rectangles, cercles
- 4. Autres fonctions de tracés
- a. Arcs
- b. Courbe de Bézier (spline)
- c. Ruban
- 1. Bitmap en mémoire
- a. Créer une bitmap
- b. Dessiner dans une bitmap
- a. Charger une image
- b. Afficher une image
- c. Sélectionner une image pour la modifier
- d. Obtenir les propriétés de l’image
- e. Sauvegarder une image
- f. Expérimentation de sauvegarde d’une image
- a. Accéder aux pixels
- b. Expérimenter le verrouillage al_get_pixel(),al_put_pixel()
- 1. Mettre en place une boucle d’événements
- a. Création d’une file d’événements
- b. Sélection des types d’événements à prendreen compte
- c. Capture des événements
- d. Identification de l’événement
- e. Autres possibilités de capture d’événements
- f. Récupérer le clavier et la souris dansune boucle d’événements
- 1. Introduction
- 2. Un personnage marchant sur place
- 3. Un personnage piloté par le clavier
- 4. Gestion de la couleur du masque
- 5. Contrôle de la vitesse de l’animation
- 6. Récupération d’une séried’images sur un fichier unique
- 7. Plusieurs séquences simultanées
- a. Plusieurs balles qui rebondissent
- b. Plusieurs personnages qui se déplacent
- 1. Introduction
- 2. Le vaisseau
- a. Mouvements du vaisseau
- b. Structure de données du vaisseau
- c. Initialisation
- d. Affichage
- e. Déplacements
- a. Structure de données du missile
- b. Initialisation
- c. Affichage
- d. Mouvement
- e. Lancement
- f. Mise à jour du code, action
- a. Structure de données de l’ennemi
- b. Initialisation
- c. Affichage
- d. Mouvement
- e. Apparition
- f. Mise à jour du code, action
- a. Point dans un rectangle
- b. Point dans un triangle
- c. Intersection de rectangles
- d. Recherche d’une couleur sur un fond
- a. Détection de collisions missiles-ennemis
- b. Détection de collisions entre vaisseau etennemis
Annexe
- Priorité et associativité des opérateurs
un manuel complet
Jean-Michel AFré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.



