C # est un langage de programmation orienté objet, créé par Microsoft en 2003 et destiné à développer des applications sur la plateforme Microsoft .NET. Il est dérivé du C++ et très proche du Java dont il reprend la syntaxe générale ainsi que les concepts, y ajoutant des notions telles que la surcharge des opérateurs, les indexeurs et les délégués. Il est utilisé notamment pour développer des applications web sur la plateforme ASP.NET.
Organisé autour de concepts et d'études de cas, ce livre se présente pour les programmeurs de niveau intermédiaire et avancé comme une référence quotidienne indispensable à tous leurs développements dans l'environnement C# et .NET.
Ce livre s'adresse aux étudiants et aux développeurs ayant déjà une première expérience de la programmation structurée et qui sont désireux de passer à la Programmation Orientée Objet (POO) avec le langage C# 10, pour développer des applications .NET.
Après un historique de la POO et du langage C#, l'auteur explique pourquoi ce type de programmation est devenu incontournable pour développer dans les environnements graphiques événementiels. Les notions d'objet, de classe et de référence sont présentées suivies par les fondements de la POO que sont l'encapsulation, l'héritage, le polymorphisme et l'abstraction.
Les différentes étapes d'un développement objet avec les principes de modélisation UML sont abordées, suivies par une présentation du .NET 6, de son intérêt, de sa richesse et de son environnement de développement Microsoft Visual Studio 2022 Community.
Le lecteur découvre comment C# 10 reproduit les principes de la POO avec des explications simples, des exemples concrets et des exercices corrigés à télécharger sur le site www.editions-eni.fr. Les types de base du développement .NET et leurs utilisations sont présentés. Les programmes d'essais sont de type console ou graphique, basés sur l'utilisation des Windows Forms et de WPF pour illustrer les communications entre objets. Quand ils seront pertinents, des parallèles seront menés avec les langages de programmation objet C++ et Java.
La programmation multithread et asynchrone, permettant l'exécution simultanée de plusieurs flux d'instructions, sera abordée tout comme la communication entre mondes managés (.NET) et non managés (Win32). L'écriture de tests unitaires objets avec MS Test permettra au lecteur de s'assurer de la stabilité de son code. L'auteur présente ensuite une façon dynamique de programmer par réflexion sur les objets. Le lecteur découvre également comment instrumenter son code pour analyser ses performances, ainsi que l'objet appliqué à la gestion des données avec LINQ, l'utilisation des fichiers XML, ADO.NET (en mode connecté et en mode déconnecté) et d'Entity Framework Core. Enfin, les bases de programmation du WPF (Windows Presentation Foundation), de XAML, du binding et de MVVM terminent cet ouvrage.
À la fin de ce livre, le lecteur disposera de bases solides pour appréhender les puissantes bibliothèques du .NET et réaliser des programmes objet modulaires, fiables et extensibles.
Un guide du C++ dans sa plus récente version (C++20). L'ouvrage offre les connaissances de base (sans prérequis) et un approfondissement sur les sujets plus difficiles.
Le public : étudiants en école d'ingénieur ou à l'université ; toutes les personnes intéressées par la programmation en C++.
L'auteur : Alain Gibaud est Maître de Conférences à l'INSA Hauts-de-France, où il enseigne la programmation. Il a réalisé plusieurs logiciels de C.A.O et de simulation et un environnement de développement (IDE) complet.
Ce livre sur le langage Rust s'adresse en premier lieu aux développeurs connaisseurs du C/C++ voire de langages comme le Python ou le C#, désireux d'apprendre ce langage adapté à la programmation système sécurisée. Les concepts fondamentaux du langage sont étudiés, notamment la gestion de la mémoire impliquant le tas (heap) et la pile (stack) ainsi que celles relatives au multithreading. Les notions centrales en Rust que sont la propriété et l'emprunt font également l'objet de larges développements. Au fil de la lecture vous explorerez également les notions de modules et de caisses (crates), de structures, d'énumérations et de filtrage par motif ainsi que les traits, les closures, et les principales collections utilisées en Rust. Un chapitre est également consacré aux WebAssembly, ainsi qu'un autre aux notions avancées en Rust. Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
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.
Le C++ a été créé en 1979 à partir du langage C. La plupart des logiciels que nous utilisons au quotidien que ce soit Windows, Linux, Word, Excel Photoshop, Chrome, Acrobat Reader...sont écrits en C++ .
Le langage C++ fait donc partie des outils indispensables pour le développeur, et il a profondément évolué au cours des dix dernières années.
Cet aide-mémoire décrit tous les éléments du langage et de la STL (Standard Template Library) et présente toutes les nouveautés du C++ 11, 14, 17 et 20.
Il démarre par l'apprentissage des bases avant de présenter les notions du C++ moderne qui utilisent les conteneurs (Docker), les pointeurs intelligents et la gestion automatique de la mémoire.
Ce livre s'adresse à toute personne désireuse d'entrer dans le monde du développement d'applications .NET grâce au langage C#, ici dans sa toute dernière version en date, la version 10.
Après une introduction rapide sur le fonctionnement de C# 10 et de son framework associé .NET, le lecteur pourra installer l'environnement de développement multi-plateforme, Visual Studio Code, afin de pratiquer les divers exercices présents tout au long du livre.
Le lecteur commence ensuite par étudier la syntaxe de base du langage ainsi que les éléments associés pour écrire des programmes simples rapidement. Il abordera également un concept fondamental et central : la programmation orientée objet, paradigme utilisé dans l'utilisation de nombreux langages de développement.
Pour créer des programmes robustes et performants, le lecteur découvrira les principaux éléments algorithmiques du langage, comme les boucles, les collections ou encore la gestion des erreurs.
Des concepts supplémentaires, comme LINQ, seront étudiés en profondeur à travers des exemples concrets ponctués d'exercices en autonomie.
D'autres notions essentielles telles que l'asynchronisme, le fonctionnement des flux de données, la sérialisation en binaire, XML ou encore JSON seront couvertes afin de compléter le panorama des possibilités du langage.
Pour permettre au lecteur d'étendre sa réflexion pour ses projets futurs, un chapitre propose un tour d'horizon des applications qu'il est possible de développer grâce à C#, comme des applications web, Windows ou mobile, le tout illustré par des exemples. Un ultime chapitre propose un glossaire qui servira d'aide-mémoire aux développeurs.
Ce nouveau livre de la collection « Pour les Nuls pros » va vous donner en quelque 500 pages toutes les connaissances qui vous permettront de maîtriser le langage C afin de l'intégrer dans tous vos développements.
Ici nous considérons le C comme premier langage, c'est-à-dire qu'aucune connaissance d'un autre langage n'est nécessaire pour démarrer.
Nouvelle édition entièrement mise à jour.
Au programme :
Description de la structure du langage C ;
Les déclarations et les types ;
Utilisation des opérateurs ;
Les expressions ;
Boucles et contrôles d'exécution ;
Les pointeurs ;
Traitement des chaînes de caractères ;
Travailler avec le préprocesseur ;
Gestion des entrées/sorties ;
Maîtrisez la programmation VBA et tirez pleinement profit d'Excel. Cet ouvrage détaille les principes de la programmation orientée objet, le langage VBA et Visual Basic Editor, l'environnement de programmation Excel.
Intégrez pleinement vos programmes Excel dans le ruban office. Apprenez à créer un fichier XML pour vos programmes VBA afin de les intégrer dans Excel sous la forme d'un nouvel onglet.
EXCELlez. Le dernier chapitre offre l'occasion de réviser l'ensemble des connaissances acquises lors de votre lecture, en développant un programme complet de génération de feuilles de paie Excel qui édite en parallèle un fichier Word.
Distribuez. Apprenez à créer un programme d'installation avec Inno Setup pour distribuer vos applications Excel de façon professionnelle.
La nouvelle édition de cet ouvrage intègre un nouveau chapitre qui donne les clés de l'exploitation de la base de registre de Windows pour le programmeur VBA. Vous y créerez un programme de gestion de licence/abonnement qui lit et écrit dans la base de registre.
Compléments web Tous les exemples des programmes du livre sont en téléchargement sur notre site Internet https://www.editions-eyrolles.com/dl/0100544.
À qui s'adresse cet ouvrage ?
Aux utilisateurs d'Excel désireux d'améliorer leur productivité ;
Aux développeurs qui souhaitent créer et distribuer des solutions Excel sûres et efficaces ;
Aux personnes qui souhaitent s'initier à la programmation via le tableur de Microsoft ;
Ce livre s'adresse à tout développeur désireux d'apprendre le langage C++, dans le cadre de ses études ou pour consolider son expérience professionnelle.
Le premier chapitre présente les bases de la syntaxe du langage ainsi que l'organisation des programmes. Le chapitre suivant est une transition vers C++, il explique les notions clés pour créer ses premières applications : structures, pointeurs, bibliothèques standards... Le troisième chapitre détaille la programmation orientée objet et les mécanismes spécifiques au langage (héritage, modèles de classes...). Vient ensuite l'étude de la STL (Standard Template Library), présentée à travers ses mécanismes les plus importants : les chaînes, les structures de données et les parcours de collection. Les évolutions du C++ moderne telles que les lambda-expressions, les smart-pointers et l'inférence de type sont également étudiées en préalable à la bibliothèque boost. Un chapitre ouvre C++ sur ses univers, tels que l'environnement managé .NET C++ CLI et les applications Win32.
Comme illustration des capacités de C++ à créer tout type d'applications, l'auteur propose un exemple complet de tableur graphique, un interprète du langage tiny-Lisp ou encore un programme de compression de fichiers.
L'ouvrage se termine par un chapitre consacré à l'optimisation, aux méthodes de conception orientée objet UML et aux design patterns puis par un chapitre appliquant des algorithmes essentiels en C++ traitant de la reconnaissance de motifs, la recherche dans un graphe et de compression de données.
Le code source des exemples du livre est disponible en téléchargement sur www.editions-eni.fr. Les exemples sont réalisés avec Visual Studio Community Edition sous Windows et avec Eclipse sous Linux Ubuntu.
La référence des étudiants et des développeurs professionnels Cet ouvrage de référence a été conçu pour les étudiants de niveau avancé en programmation et pour les développeurs souhaitant approfondir leur connaissance du C ou trouver une réponse précise aux problèmes techniques rencontrés lors du développement d'applications professionnelles.
Exhaustif et précis, l'ouvrage explore le langage C dans ses moindres recoins. Il clarifie les points délicats et les ambiguïtés du langage, analyse le comportement qu'on peut attendre d'un code ne respectant pas la norme ou confronté à une situation d'exception. Tout au long de l'ouvrage, des notes soulignent les principales différences syntaxiques entre le C et le C++ , de manière à établir des passerelles entre les deux langages.
Une annexe présente les spécificités des deux dernières moutures de la norme ISO du langage, connues sous les noms C99 et C11.
Cet ouvrage est destiné aux étudiants débutants en langage C, mais ayant déjà quelques notions de programmation acquises par la pratique, même sommaire, d'un autre langage.
Les notions fondamentales (types de données, opérateurs, instructions de contrôle, fonctions, tableaux...) sont exposées avec un grand soin pédagogique, le lecteur étant conduit progressivement vers la maîtrise de concepts plus avancés comme les pointeurs ou la gestion dynamique de la mémoire.
Chaque notion importante est illustrée d'exemples de programmes complets, accompagnés de résultats d'exécution. De nombreux exercices, dont la solution est fournie en fin d'ouvrage, vous permettront de tester vos connaissances fraîchement acquises et de les approfondir.
Cette cinquième édition inclut les nouveautés des dernières versions de la norme ISO du langage (C99 et C11).
À qui s'adresse ce livre ?
-1. Aux étudiants de DUT, de BTS, de licence ou d'écoles d'ingénieur.
-2. Aux autodidactes ou professionnels de tous horizons souhaitant s'initier à la programmation en C.
-3. Aux enseignants et formateurs à la recherche d'une méthode pédagogique et d'un support de cours structuré pour enseigner le C à des débutants.
Acquérir une parfaite maîtrise du C++ et de la programmation objet.
Les versions C++11, C++14 et C++17 ont apporté au langage C++ plus que de nouvelles fonctionnalités : une nouvelle façon de programmer. Dès lors, une refonte complète du classique Programmer en langage C++ de Claude Delannoy s'imposait. C'est à cette tâche que s'est attelé l'auteur à l'occasion de cette 10e édition de l'ouvrage, en réécrivant les exemples de code et en préconisant de bonnes pratiques de programmation dans l'esprit de ce C++ moderne.
L'ouvrage ainsi remanié commence par une présentation détaillée de la syntaxe de base du langage, s'appuyant dès que possible sur les structures de données de la bibliothèque standard (types string et vector) et sur la déclaration automatique (C++11). Puis il expose les techniques de gestion dynamique basées sur les "pointeurs intelligents" introduits par C++11 et C++14.
L'auteur insiste ensuite sur la bonne compréhension des concepts objet et de la programmation générique à l'aide des "patrons". Un chapitre est consacré à la "sémantique de déplacement" introduite par C+ +11. Plusieurs chapitres sont dédiés aux conteneurs et aux algorithmes de la STL (Standard Template Library). Les nouveautés de C++20 (concepts et contraintes, modules, coroutines...) sont présentées en annexe.
Chaque notion nouvelle et chaque fonction du langage est illustrée de programmes complets écrits en C+ + moderne, dont le code source est fourni sur le site www.editions-eyrolles.com. Un équivalent en C++03 est proposé quand nécessaire pour les lecteurs amenés à exploiter d'anciens programmes.
À qui s'adresse ce livre ?
Aux étudiants de cursus universitaires (DUT, licence, master), ainsi qu'aux élèves des écoles d'ingénieurs.
À tout programmeur ayant déjà une expérience de la programmation (C, C#, Java, Python, PHP...) et souhaitant s'initier au langage C++.
Conçu pour les débutants en programmation, cet ouvrage commence par un apprentissage progressif et rigoureux des notions de programmation procédurale communes à tous les langages (types de données, variables, opérateurs, instructions de contrôle, fonctions, tableaux...), avant d'aborder les notions propres aux langages orientés objet.
L'auteur utilise, pour faciliter l'assimilation des concepts, un pseudo-code complet mais simple d'accès, qui évite de se perdre dans les spécificités de tel ou tel langage. Chaque notion est d'abord présentée à l'aide du pseudocode, avant d'être illustrée d'exemples d'implémentation en langages C, C++, C#, Java, PHP et, nouveauté de cette 2e édition, en langage Python. De nombreux exercices corrigés permettent au lecteur de contrôler ses connaissances à chaque étape de l'apprentissage.
À qui s'adresse ce livre ?
-Aux étudiants en 1ère année de cursus informatique (BTS, DUT, licences, écoles d'ingénieur).
-Aux autodidactes ou professionnels de tous horizons souhaitant s'initier à la programmation.
-A tous ceux qui ont appris un langage "sur le tas" et ressentent le besoin d'approfondir leurs connaissances pour gagner en efficacité et en qualité et s'adapter plus facilement à de nouveaux langages.
-Aux enseignants et formateurs à la recherche d'une méthode pédagogique et d'un support de cours structuré pour enseigner la programmation à des débutants.
Un livre ambitieux et exigeant à destination des personnes désireuses d'apprendre le C++ en partant de zéro.
Son objectif : rendre le lecteur capable de créer correctement des programmes en C++, conformément aux bonnes pratiques actuelles, et le doter de bases solides pour qu'il puisse ensuite poursuivre seul son apprentissage.
Conçu initialement dans le cadre communautaire de la plateforme Zeste de Savoir, il a été relu par différents développeurs experts et s'est construit la réputation d'être "ce qu'on trouve de mieux aujourd'hui en français sur le C++".
Fondé sur les normes C++17 et C++20, il tire parti des simplifications apportées au langage et vous forme résolument à une vision moderne du C++.
Ce livre sur le développement d'applications Windows avec le langage C# (en version 9) et Visual Studio 2019 est destiné aux développeurs qui débutent avec le framework .NET. Il leur permet d'apprendre les bases du langage C# et introduit des concepts plus avancés leur donnant une vue d'ensemble des possibilités offertes par le langage C#, Visual Studio et le framework .NET en général. L'auteur a choisi une approche pas à pas tout en construisant une application fonctionnelle tout au long de l'ouvrage pour illustrer de manière pratique et cohérente les concepts abordés.
L'apprentissage commence par la familiarisation avec l'interface de Visual Studio 2019 ainsi qu'avec le concept de l'architecture .NET. Les détails du langage C#, sa syntaxe et ses fonctionnalités comme les classes, l'héritage, les interfaces, les types génériques ou encore les délégués et les évènements sont ensuite expliqués avant d'aborder la conception d'interfaces utilisateur.
La conception de l'interface utilisateur couvre toutes les phases utiles pour créer des applications Windows à la fois fonctionnelles et ergonomiques, allant de la création de formulaires à la création de contrôles en passant par l'implémentation de gestionnaire d'évènements et la validation des données saisies. Une introduction à la conception d'application WPF est également incluse.
Les outils de Visual Studio qui permettent de réaliser les tests et le débogage des applications sont également détaillés en présentant les techniques de gestion des erreurs mais aussi les concepts permettant de surveiller les applications comme le traçage, l'interaction avec les journaux d'évènements et l'utilisation des compteurs de performance.
L'utilisation de Entity Framework est détaillée au sein d'exemples concrets permettant de comprendre rapidement comment créer des modèles de données et comment les utiliser pour communiquer avec une base de données, tout en apprenant à utiliser le langage de requête LINQ pour interagir avec des données sous différents formats (objets, SQL ou XML). L'alternative au stockage de données d'une application sur le système de fichiers et l'utilisation du concept de la sérialisation sont également détaillées, fournissant ainsi une vision globale des possibilités offertes par le framework .NET concernant la gestion des données.
Des concepts plus avancés sont également abordés afin d'exposer une gamme plus large des possibilités offertes par le langage C# et Visual Studio : l'utilisation des expressions régulières, le développement d'applications multitâches et asynchrones, la globalisation et la localisation d'une application, la sécurité du code, l'implémentation d'applications client/serveur, le dessin avec GDI+ ainsi que la réflexion font partie des sujets introduits.
La dernière partie de l'ouvrage est consacrée à la création d'assemblages ainsi qu'au déploiement des applications. Les outils et techniques mis à disposition par Visual Studio pour créer des installeurs Windows et configurer les applications y sont détaillés.
Le code de l'application exemple traitée dans l'ouvrage est en téléchargement sur le site www.editions-eni.fr.
Ce livre sur Blazor, nouvelle technologie de la famille ASP.NET, s'adresse aux développeurs désireux de développer des applications web dynamiques et interactives en C#, sans avoir à utiliser le langage JavaScript. Pour apprécier au mieux le contenu de ce livre, la connaissance du langage C# est un pré-requis mais connaître ASP.NET n'est pas obligatoire. Des notions de base sont toutefois un plus pour rapidement entrer dans le sujet.
Grâce à un exercice mené en fil rouge qui vous fera réaliser une mini application de gestion de personnel, l'auteur vous mène des bases de Blazor jusqu'à la découverte de notions plus avancées telles que la communication HTTP résiliente, l'interopérabilité avec JavaScript, Blazor Server, la transformation en WebAssembly, et bien plus encore !
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
Que l'on soit photographe, médecin, illustrateur, ingénieur ou chercheur dans le domaine de l'aéronautique, la météorologie, l'astronomie, la sécurité informatique, le médical... ou tout simplement utilisateur de réseaux sociaux, nous traitons des images tout le temps, parfois même sans en prendre conscience. Cet ouvrage propose de découvrir la théorie du traitement numérique des images et l'implémentation d'algorithmes en C++, en utilisant la bibliothèque CImg.
Il s'agit ici de couvrir de manière large le domaine du traitement numérique des images, et de proposer des implémentations pratiques et fonctionnelles de chaque méthode décrite théoriquement.
Acquérir une parfaite maîtrise du C++ et de la programmation objet.
Programmer en langage C++ s'est imposé au fil de ses huit éditions successives comme la référence en langue française sur le C+ +. Il s'adresse aussi bien aux étudiants en programmation qu'aux développeurs professionnels souhaitant se former à ce langage ou en approfondir la maîtrise.
Après une présentation détaillée de la syntaxe de base du langage (types de données, opérateurs, instructions de contrôle, fonctions, tableaux, pointeurs...), l'auteur insiste tout particulièrement sur la bonne compréhension des concepts objet et sur l'acquisition de méthodes de programmation rigoureuses.
L'ouvrage couvre tous les aspects du langage et de sa bibliothèque standard (STL ou Standard Template Library), et traite en profondeur des points les plus délicats auxquels est confronté un programmeur C+ + lors de la création de ses propres classes et de la conception d'applications professionnelles. Un chapitre est dédié aux design patterns en C+ +.
Cette 9e édition présente au fil du texte les nouveautés introduites par C+ +11, C+ + 14 et C+ +17, qui ont transformé le très classique C++ en un langage plus moderne. Une nouvelle annexe de 50 pages explique en profondeur les modifications apportées par ces trois dernières versions de la norme ISO.
Chaque notion nouvelle et chaque fonction du langage est illustrée de programmes complets dont le code source est fourni sur le site www.editions-eyrolles.com. Tout au long de l'ouvrage, des notes soulignent les différences majeures entre le C++ et Java, de manière à établir des passerelles entre les deux langages.
À qui s'adresse ce livre ?
Aux étudiants de cursus universitaires (DUT, licence, master), ainsi qu'aux élèves des écoles d'ingénieurs.
À tout programmeur ayant déjà une expérience de la programmation (C, C#, Java, Python, PHP...) et souhaitant s'initier au langage C++.
178 exercices corrigés pour maîtriser le langage C++.
Conçu pour les étudiants en informatique (DUT, licence, master, écoles d'ingénieur), ce recueil d'exercices corrigés et commentés est le complément idéal de Programmer en langage C++ du même auteur ou de tout autre ouvrage d'initiation au langage C++. L'ouvrage propose 178 exercices pour mieux assimiler la syntaxe de base du langage (types et opérateurs, instructions de contrôle, fonctions, tableaux, pointeurs...) et les concepts objet du C++.
Les exercices vous permettront de vous forger une véritable méthodologie de conception de vos propres classes C++. Vous saurez notamment décider du bien-fondé de la surdéfinition de l'opérateur d'affectation ou du constructeur par recopie, tirer parti de l'héritage (simple ou multiple), créer vos propres bibliothèques de classes, exploiter les possibilités offertes par les patrons de fonctions et de classes, etc.
Cette 4e édition inclut 20 nouveaux exercices portant notamment sur les pointeurs intelligents et sur la nouvelle sémantique de déplacement introduits par les versions C++11 et C++14 de la norme.
Chaque chapitre débute par un rappel de cours suivi de plusieurs exercices de difficulté croissante. Les corrigés sont tous présentés suivant le même canevas : analyse détaillée du problème, solution sous forme de programme avec exemple de résultat d'exécution, justification des choix opérés - car il n'y a jamais de solution unique à un problème donné ! - et, si besoin, commentaires sur les points délicats et suggestions sur les extensions possibles du programme.
Le code source des corrigés est fourni sur le site www.editions-eyrolles.com.
Cet ouvrage s'adresse aux étudiants (licences et IUT), ainsi qu'à tous ceux qui souhaitent acquérir des bases solides en programmation.
L'ouvrage est structuré en quatre parties :
- Les bases du langage C : syntaxe, types de données, entrées sorties (stdio.h), exécution conditionnelle, structuration d'un programme C, structures, itération.
- Les structures séquentielles : tableaux, fichiers texte, adresses, pointeurs et passage par adresse, allocation dynamique, chaînes de caractères, fichiers binaires, tableaux à double entrée.
- Les algorithmes : langage algorithmique et complexité, algorithmes de tri quadratiques, tri rapide (quicksort).
- Les structures de données : listes chaînées, piles, files, récursivité, arbres binaires, graphes, parcours de graphes, liste d'adjacence.
Conçus comme des supports d'apprentissage, les 129 exercices corrigés peuvent être abordés en complément de l'enseignement reçu ou de manière autodidacte.
Le C++ fascine par l'infini des réalisations et des manières de programmer qu'il permet. D'une part il hérite du langage C qui lui procure une base pour tout ce qui concerne l'écriture algorithmique, et d'autre part il est doté de puissants outils de structuration orientés objet. Ce livre sur le langage C++ s'adresse aux personnes qui débutent avec C++ et ayant déjà programmé dans d'autres langages.
Le livre se divise en deux parties. Dans la première, l'auteur traite de notions qui concernent l'écriture algorithmique et ses fondamentaux : variables, opérations, structures de contrôle (if, switch, boucles, fonctions), ensembles de variables (structures et tableaux), pointeurs... En bref, il s'agit du langage C intégré au langage C++. L'auteur expose les correctifs et les élargissements fonctionnels apportés par le C++. Les classes et les objets commencent à apparaître avec la notion de structures. Les améliorations apportées par le C++ sont mises en pratique dans la réalisation de programmes au fur et à mesure de leur introduction.
Dans une deuxième partie se trouve ce qui fait la force du C++ : l'auteur présente ainsi des outils de structuration qui permettent au lecteur de s'orienter franchement vers la programmation et l'architecture objet des programmes. Il y détaille les notions de classes (constructeurs, destructeurs), d'objets, la problématique de relations entre objets, l'héritage, la problématique du polymorphisme avec virtualité, les notions de classe abstraite et d'interface... L'ensemble des fonctionnalités associées à ces différents concepts sont étudiées.
Pour finir, un chapitre compare le C et le C++. Certains outils comme les pointeurs et les paramètres de fonctions peuvent en effet s'interpréter différemment dans des situations créées par l'un ou l'autre des deux langages. Ce chapitre permet ainsi au lecteur de pallier la difficulté de passer d'un langage à l'autre en prenant en compte ces différences d'interprétation.
Tout au long du livre, l'auteur fournit une série d'exercices diversifiés et des exemples de programmes apportant la mise en pratique nécessaire pour s'approprier le langage. Les éléments nécessaires à la réalisation des exercices sont en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
C++ hérité du C : Introduction - Premiers programmes - Variables simples, constantes, affectation - Affichage et saisie console - Opérations - Conversions de types - Structures de contrôle - Fonctions - Portée et durée de vie des variables - Structures - Bibliothèques et espaces de noms - Unions - Tableaux statiques - Chaînes de caractères - Pointeurs - Principales utilisations des pointeurs - Gestion des erreurs - Deux automates cellulaires - La dimension objet du C++ : Classes, objets - Surcharge des opérateurs - Classes et membres static - Classes génériques - Classe d'objets changeants - Associations entre objets - Héritage - Polymorphisme et virtualité - Classe abstraite et interface - Comparati
Ce livre sur l'Intelligence Artificielle s'adresse particulièrement aux développeurs et ne nécessite pas de connaissances mathématiques approfondies. Au fil des chapitres, l'auteur présente les principales techniques d'Intelligence Artificielle et, pour chacune d'elles, les inspirations biologiques, physiques voire mathématiques, puis les différents concepts et principes (sans entrer dans les détails mathématiques), avec des exemples et figures pour chacun de ceux-ci. Les domaines d'application sont illustrés par des applications réelles et actuelles. Chaque chapitre contient un exemple d'implémentation générique, complété par une application pratique, développée en C#. Ces exemples de code étant génériques, ils sont facilement adaptables à de nombreuses applications C#, que ce soit dans des applications .NET classiques, pour ASP.NET, ou encore des applications Windows 8 (et versions supérieures). Les techniques d'Intelligence Artificielle décrites sont :
- Les systèmes experts, permettant d'appliquer des règles pour prendre des décisions ou découvrir de nouvelles connaissances.
- La logique floue, permettant de contrôler des systèmes informatiques ou mécaniques de manière beaucoup plus souple que les programmes traditionnels.
- Les algorithmes de recherche de chemin, dont le A* très utilisé dans les jeux vidéo pour trouver les meilleurs itinéraires.
- Les algorithmes génétiques, utilisant la puissance de l'évolution pour apporter des solutions à des problèmes complexes.
- Les principales métaheuristiques, dont la recherche tabou, trouvant des optimums à des problèmes d'optimisation, avec ou sans contraintes.
- Les systèmes multi-agents, simulant des foules ou permettant des comportements émergents à partir de plusieurs agents très simples.
- Les réseaux de neurones (ou deep learning), capables de découvrir et de reconnaître des modèles, dans des suites historiques, des images ou encore des données.
Pour aider le lecteur à passer de la théorie à la pratique, l'auteur propose en téléchargement sur le site www.editions-eni.fr, sept projets Visual Studio 2017 (un par technique d'Intelligence Artificielle), développés en C#. Chaque projet contient une PCL, pour la partie générique, et une application (en mode console ou WPF selon les chapitres) pour la partie spécifique à l'application proposée.
Le livre se termine par une bibliographie, permettant au lecteur de trouver plus d'informations sur ces différentes techniques, une sitographie listant quelques articles présentant des applications réelles, une annexe et un index.
C++ est l'un des langages de programmation les plus répandus pour le développement logiciel. Il est utilisé sur une grande variété de plates-formes matérielles et de systèmes d'exploitation. Sa première normalisation date de 1998 puis il été complété et amélioré en 2003, en 2011 et plus récemment en 2014.
Scott Meyers est l'un des grands spécialistes de ce langage. Ses deux précédents ouvrages font référence au niveau international pour le langage C++. Ce nouveau titre a été construit en retenant 42 sujets importants dans les ajouts du C++11 et du C++14. Chacun de ces ajouts est expliqué en détail pour que le lecteur puisse en tirer le meilleur parti.