Très bon livre. Sachant déjà programmer, ce livre ma appris beaucoup de choses sur le fonctionnement interne d un pc (cpu et ram) et ce livre et très bien écrit malgré une ou deux fautes de frappe, mais rien n est parfait.
Frédéric B- Livres et vidéos
- Algorithmique - Techniques fondamentales de programmation - Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique (2e édition)
Algorithmique - Techniques fondamentales de programmation Exemples en Python (nombreux exercices corrigés) - BTS, DUT informatique (2e édition)
1 avis
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,...
Consulter des extraits du livre en ligne
Aperçu du livre papier
- Niveau Initié à Confirmé
- Nombre de pages 510 pages
- Parution février 2018
- Niveau Initié à Confirmé
- Parution février 2018
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 compréhensions de listes 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 : un chapitre sur les objets ouvre les portes de la programmation dans des langages évolués et puissants comme le C, le C++ et surtout Python.
À la fin de chaque chapitre, l'auteur propose de nombreux exercices corrigés permettant de consolider ses acquis.
Tous les algorithmes de ce livre sont réécrits en Python et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Avant-propos – 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
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 : un chapitre sur les objets ouvre les portes de la programmation dans des langages évolués et puissants comme le C, le C++ et surtout Python.
À la fin de chaque chapitre, l'auteur propose de nombreux exercices corrigés permettant de consolider ses acquis.
Tous les algorithmes de ce livre sont réécrits en Python et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr.
Les chapitres du livre :
Avant-propos – 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
Téléchargements
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.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
- 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.4.1 Les avantages
- 3.4.2 Un premier programme Python
Les variables et opérateurs
- 1. La variable
- 1.1 Principe
- 1.2 Déclaration
- 1.3 Les types
- 1.3.1 Les nombres
- 1.3.2 Autres types numériques
- 1.3.3 Les caractères
- 1.3.4 Le type booléen
- 1.4 Affectation
- 1.4.1 Affectation de valeurs
- 1.4.2 Affectation de variables
- 1.5 Saisie et affichage
- 1.5.1 La fonction print()
- 1.5.2 La fonction input()
- 1.6 Les constantes
- 2.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
- 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.1 Langages typés ou non
- 4.2 La gestion de la mémoire
- 5.1 Les listes
- 5.2 Les tuples
- 5.3 Le type set
- 5.4 Les dictionnaires
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.1 L’origine des tests
- 2.2 Petites erreurs, grosses conséquences
- 2.2.1 Ariane 5
- 2.2.2 Mars Climate Orbiter
- 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
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.1 Différences fondamentales
- 3.2 Quelques exemples adaptés
- 3.2.1 La factorielle
- 3.2.2 Les trois boucles
- 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
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.1 Principe et définition
- 1.2 Python et les tableaux
- 1.3 Représentation en mémoire
- 1.3.1 Représentation linéaire
- 1.3.2 Représentation par référence
- 2.1 Recherche d’un élément
- 2.2 Le plus grand/petit, la moyenne
- 2.3 Le morpion
- 3.1 Les algorithmes des tris
- 3.1.1 Le principe
- 3.1.2 Le tri par création
- 3.1.3 Le tri par sélection
- 3.1.4 Le tri à bulles
- 3.1.5 Le tri par insertion
- 3.1.6 Le tri Shell
- 4.1 Principe
- 4.2 Déclaration
- 4.2.1 Type structuré
- 4.2.2 Enregistrement
- 4.3.1 Utiliser les champs
- 4.3.2 Un enregistrement dans une structure
- 4.3.3 Un tableau dans une structure
- 4.4.1 Les tables
- 4.4.2 Une table comme champ
Les sous-programmes
- 1. Présentation
- 1.1 Principe
- 1.2 Déclaration et définition
- 1.2.1 Dans un algorithme
- 1.2.2 En Python
- 1.3 Appel
- 1.4 Fonctions et procédures
- 1.4.1 Les procédures
- 1.4.2 Les fonctions
- 1.5 Variables locales et globales
- 1.5.1 Locales
- 1.5.2 Globales
- 1.5.3 Variables globales et Python
- 1.6 Les paramètres
- 1.6.1 Les procédures
- 1.6.2 Les fonctions
- 1.6.3 Paramètres et Python
- 1.6.4 Petite application fonctionnelle
- 1.7 Sous-programmes prédéfinis
- 1.7.1 Un choix important
- 1.7.2 Quelques exemples
- 1.8 Dernier cas : les tableaux
- 2.1 Principe
- 2.2 Un premier exemple : la factorielle
- 2.3 Un exemple pratique : les tours de Hanoï
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.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.1 Ouvrir et fermer un fichier
- 3.2 Lire et écrire des enregistrements
- 3.2.1 Lecture
- 3.2.2 Écriture
- 4.1 Nouvelles instructions
- 4.2 Exemple
Notions avancées
- 1. Les pointeurs et références
- 1.1 Rappels sur la mémoire et les données
- 1.1.1 Structure de la mémoire
- 1.1.2 Python : des limites qui n’en sont pas
- 1.1.3 Brefs exemples en C
- 1.1 Rappels sur la mémoire et les données
- 1.2 Le pointeur
- 1.2.1 Principe et définition
- 1.2.2 Le C roi des pointeurs
- 1.2.3 Applications
- 1.3 Notation algorithmique
- 1.3.1 Déclarer et utiliser les pointeurs
- 1.3.2 Allocation dynamique
- 1.4 Python et les références
- 1.4.1 Différences entre le C et Python
- 1.4.2 Références sur les objets
- 1.4.3 Les types primitifs
- 1.4.4 Références sur structures
- 1.4.5 Le piège en Python
- 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.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.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.4.1 Principe
- 3.4.2 Recherche d’un élément
- 3.4.3 Ajout d’un élément
- 3.4.4 Suppression d’un nœud
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.1 Les constructeurs
- 2.1.1 Déclaration
- 2.1.2 Appel implicite
- 2.1.3 L’héritage
- 3.1 Les langages objet
- 3.2 Déclaration des classes et objets
- 3.3 Héritage
- 3.4 Interfaces
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

Franck EBEL
Enseignant à l'université de Valenciennes. Lieutenant-colonel de gendarmerie réserviste et spécialiste de la lutte anticybercriminalité. Expert en failles applicatives, il a créé la licence professionnelle CDAISI, la seule en France en sécurité dite offensive. Certifié CEH, OSCP et Wifu, il forme les Ntech de la gendarmerie de la région Nord-Pas de Calais et le CICERT de Côte d'Ivoire. Président de l'association ACISSI, il organise chaque année les RSSIL et le challenge de Hacking « Hacknowledge ». Membre de l'AFPY, association francophone pour Python, il donne des conférences en Europe et en Afrique sur Python, les logiciels libres et la sécurité informatique.
En savoir plusSébastien ROHAUT
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.
En savoir plus