1. Livres et vidéos
  2. Algorithmique - Techniques fondamentales de programmation - exemples en C# - (nombreux exercices corrigés) [BTS - DUT informatique]

Algorithmique - Techniques fondamentales de programmation exemples en C# - (nombreux exercices corrigés) [BTS - DUT informatique]

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre sur l'algorithmique s'adresse à toute personne désireuse de maîtriser les bases essentielles de la programmation. Pour apprendre à programmer, il faut d'abord comprendre ce qu'est vraiment un ordinateur, comment il fonctionne et surtout comment il peut faire fonctionner des programmes, comment il manipule et stocke les données et les instructions, quelle est sa logique. Alors, au fur et à mesure, le reste devient évidence : variables, tests, conditions, boucles, tableaux, fonctions, fichiers, jusqu'aux notions avancées comme les pointeurs et les objets.

Le langage algorithmique (ou la syntaxe du pseudo-code des algorithmes) reprend celui couramment utilisé dans les écoles d'informatique et dans les formations comme les BTS, DUT, première année d'ingénierie à qui ce livre est principalement destiné et conseillé. Une fois les notions de base acquises, le lecteur trouvera dans ce livre de quoi évoluer vers des notions plus avancées : deux chapitres, l'un sur les pointeurs et les références, l'autre sur les objets, ouvrent les portes de la programmation dans des langages évolués et puissants comme C, C++, Java et surtout C#.

Cet ouvrage propose à la fin de chaque chapitre de nombreux exercices corrigés permettant de consolider ses acquis.

La plupart des algorithmes de ce livre sont écrits en C# et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Introduction – Introduction à l'algorithmique – Les variables et opérateurs – Tests et logique booléenne – Les boucles – Les tableaux et structures – Les sous-programmes – Les fichiers – Notions avancées – Une approche de l'objet – Corrigés des exercices

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 C#
        • 3.4.1 Les avantages
        • 3.4.2 Un premier programme C#
    • 4. Exercices
  • Les variables et opérateurs
    • 1. Les variables
      • 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.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. Exercices
  • 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
  • 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
  • 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 C# et les tableaux
        • 1.2.1 Tableaux à une dimension
        • 1.2.2 Références de tableaux
        • 1.2.3 Tableaux à n dimensions
      • 1.3 Représentation en mémoire
        • 1.3.1 Représentation linéaire
        • 1.3.2 Représentation par référence
    • 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 de tri
        • 3.1.1 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
    • 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 C# ?
    • 5. Exercices
  • 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 C#
      • 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 Variables locales
        • 1.5.2 Variables globales
        • 1.5.3 Variables globales et C#
      • 1.6 Les paramètres
        • 1.6.1 Les procédures
        • 1.6.2 Les fonctions
        • 1.6.3 Paramètres et C#
        • 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
  • 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 C#
    • 4. Les fichiers binaires
      • 4.1 Nouvelles instructions
      • 4.2 Exemple
    • 5. Exercices
  • 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 C# : 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 C#, les références et les pointeurs
        • 1.4.1 Différences et points communs entre C et C#
        • 1.4.2 Références sur les objets
        • 1.4.3 Les types primitifs
        • 1.4.4 Références sur les structures
        • 1.4.5 Le piège en C#
        • 1.4.6 La valeur null
        • 1.4.7 Structures et passage de paramètre par valeur
    • 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 C#
      • 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
    • 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 noeud
    • 4. Exercices
  • 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 ou attributs
      • 2.4 Classes et méthodes abstraites
      • 2.5 Interfaces
    • 3. L’objet en C#
      • 3.1 Les langages objet
      • 3.2 Déclaration des classes et objets
      • 3.3 Héritage
      • 3.4 Interfaces
    • 4. Exercices
  • Corrigés des exercices
    • 1. Introduction à l'algorithmique
    • 2. Les variables et opérateurs
    • 3. Tests et logique booléenne
    • 4. Les boucles
    • 5. Les tableaux et structures
    • 6. Les sous-programmes
    • 7. Les fichiers
    • 8. Notions avancées
    • 9. Une approche de l'objet
    • Index

Auteurs

Sébastien PUTIEREn savoir plus

Consultant et Formateur depuis plusieurs années, Sébastien PUTIER est aujourd'hui expert technique indépendant au sein de la société Ai3 et apporte son expertise dans la mise en oeuvre de solutions Windows, Web et mobiles avec la plateforme .Net depuis ses premières versions. Il est certifié techniquement (MCPD - MCSD) et pédagogiquement (MCT) par Microsoft.

Sébastien ROHAUTEn savoir plus

Diplômé de l'ESGI, et après plusieurs années passées sur des missions d'ingénierie système, Sébastien ROHAUT a été responsable technique d'une équipe DevOps au sein d'un grand groupe français, puis après avoir obtenu le titre d'ingénieur DPE, est aujourd'hui responsable de la sécurité d'une plateforme Cloud dans ce même groupe. Il a également enseigné pendant près de 11 ans à des classes préparatoires et d'ingénieurs et dispose d'une riche expérience technique et pédagogique pour le plus grand bénéfice des lecteurs de ses livres.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 505 pages
  • Parution janvier 2016
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-7460-9923-4
    • EAN : 9782746099234
    • Ref. ENI : RICSHALG
  • Niveau Initié à Confirmé
  • Parution janvier 2016
    • HTML
    • ISBN : 978-2-409-00085-0
    • EAN : 9782409000850
    • Ref. ENI : LNRICSHALG

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (343 Ko)