Algorithmique : techniques fondamentales de programmation exemples en PHP (nombreux exercices corrigés)

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...

Description complète

Détails bibliographiques
Auteurs principaux : Rollet Olivier (Auteur), Rohaut Sébastien (Auteur)
Format : Livre
Langue : français
Titre complet : Algorithmique : techniques fondamentales de programmation : exemples en PHP (nombreux exercices corrigés) / [Olivier Rollet, Sébastien Rohaut]
Édition : 2e édition
Publié : Saint-Herblain : Éditions ENI , impr. 2015, cop. 2015
Description matérielle : 1 vol. (484 p.)
Collection : Ressources informatiques (Nantes)
Sujets :
  • Avant-propos
  • Chapitre 1 Introduction à l'algorithmique
  • P. 13
  • 1. Les fondements de l'informatique
  • P. 13
  • 1.1 Architecture de Von Neumann
  • P. 17
  • 1.2 La machine de Turing
  • P. 19
  • 1.3 Représentation interne des instructions et des données
  • P. 24
  • 2. L'algorithmique
  • P. 24
  • 2.1 Programmer, c'est un art
  • P. 26
  • 2.2 Définition : l'algorithme est une recette
  • P. 27
  • 2.3 Pourquoi utiliser un algorithme ?
  • P. 28
  • 2.4 Le formalisme
  • P. 32
  • 2.5 La complexité
  • P. 35
  • 3. Les langages d'implémentation
  • P. 35
  • 3.1 Quel langage ?
  • P. 37
  • 3.2 Classifications des langages
  • P. 41
  • 3.3 La machine virtuelle
  • P. 42
  • 3.4 PHP
  • P. 47
  • 4. Exercices
  • Chapitre 2 Les variables et opérateurs
  • P. 49
  • 1. Les variables
  • P. 49
  • 1.1 Principe
  • P. 52
  • 1.2 Déclaration
  • P. 52
  • 1.3 Types
  • P. 60
  • 1.4 Affectation
  • P. 64
  • 1.5 Saisie et affichage
  • P. 67
  • 1.6 Les constantes
  • P. 68
  • 2. Opérateurs et calculs
  • P. 68
  • 2.1 Les affectations
  • P. 68
  • 2.2 Les opérateurs arithmétiques
  • P. 74
  • 2.3 Les opérateurs booléens
  • P. 77
  • 2.4 Les opérateurs de comparaison
  • P. 80
  • 2.5 Le cas des chaînes de caractères
  • P. 81
  • 3. Pour aller plus loin
  • P. 81
  • 3.1 Les nombres négatifs
  • P. 83
  • 3.2 La représentation des nombres réels
  • P. 87
  • 3.3 Les dates
  • P. 88
  • 3.4 Les caractères
  • P. 90
  • 4. Types et langages
  • P. 90
  • 4.1 Langages typés ou non
  • P. 91
  • 4.2 La gestion de la mémoire
  • P. 92
  • 5. Exercices
  • Chapitre 3 Tests et logique booléenne
  • P. 95
  • 1. Les tests et conditions
  • P. 95
  • 1.1 Principe
  • P. 97
  • 1.2 Que tester ?
  • P. 98
  • 1.3 Tests SI
  • P. 102
  • 1.4 Tests imbriqués
  • P. 106
  • 1.5 Choix multiples
  • P. 109
  • 1.6 Des exemples complets
  • P. 119
  • 2. L'algèbre booléen
  • P. 119
  • 2.1 L'origine des tests
  • P. 121
  • 2.2 Petites erreurs, grosses conséquences
  • P. 122
  • 2.3 George Boole
  • P. 123
  • 2.4 L'algèbre
  • P. 137
  • 2.5 Une dernière précision
  • P. 139
  • 3. Exercices
  • Chapitre 4 Les boucles
  • P. 141
  • 1. Les structures itératives
  • P. 141
  • 1.1 Définition
  • P. 142
  • 1.2 Quelques usages simples
  • P. 143
  • 2. Tant Que
  • P. 143
  • 2.1 Structure générale
  • P. 145
  • 2.2 Boucles infinies et break
  • P. 147
  • 2.3 Des exemples
  • P. 164
  • 3. Répéter ... Jusqu'à
  • P. 164
  • 3.1 Différences fondamentales
  • P. 166
  • 3.2 Quelques exemples adaptés
  • P. 168
  • 4. Pour ... Fin Pour
  • P. 168
  • 4.1 Une structure pour compter...
  • P. 169
  • 4.2 ... mais pas indispensable
  • P. 169
  • 4.3 Quelle structure choisir ?
  • P. 170
  • 4.4 Un piège à éviter
  • P. 171
  • 4.5 Quelques exemples
  • P. 178
  • 5. Exercices
  • Chapitre 5 Les tableaux et structures
  • P. 181
  • 1. Présentation
  • P. 181
  • 1.1 Principe et définitions
  • P. 187
  • 1.2 PHP et les tableaux
  • P. 191
  • 1.3 Représentation en mémoire
  • P. 195
  • 2. Manipulations simples
  • P. 195
  • 2.1 Recherche d'un élément
  • P. 197
  • 2.2 Le plus grand/petit, moyenne
  • P. 198
  • 2.3 Le morpion
  • P. 203
  • 3. Algorithmes avancés
  • P. 203
  • 3.1 Les algorithmes des tris
  • P. 216
  • 3.2 Recherche par dichotomie
  • P. 219
  • 4. Structures et enregistrements
  • P. 219
  • 4.1 Principe
  • P. 220
  • 4.2 Déclaration
  • P. 222
  • 4.3 Utiliser les enregistrements
  • P. 227
  • 4.4 Les tableaux d'enregistrements
  • P. 229
  • 4.5 Et PHP ?
  • P. 231
  • 5. Exercices
  • Chapitre 6 Les sous-programmes
  • P. 235
  • 1. Présentation
  • P. 235
  • 1.1 Principe
  • P. 237
  • 1.2 Déclaration et définition
  • P. 239
  • 1.3 Appel
  • P. 240
  • 1.4 Fonctions et procédures
  • P. 244
  • 1.5 Variables locales et globales
  • P. 247
  • 1.6 Paramètres
  • P. 256
  • 1.7 Sous-programmes prédéfinis
  • P. 261
  • 1.8 Dernier cas : les tableaux
  • P. 263
  • 2. Les sous-programmes récursifs
  • P. 263
  • 2.1 Principe
  • P. 264
  • 2.2 Un premier exemple : la factorielle
  • P. 269
  • 2.3 Un exemple pratique : les tours de Hanoi
  • P. 271
  • 3. Exercices
  • Chapitre 7 Les fichiers
  • P. 273
  • 1. Les différents fichiers
  • P. 273
  • 1.1 Préambule
  • P. 274
  • 1.2 Problématique
  • P. 275
  • 1.3 Définition
  • P. 275
  • 1.4 Les formats
  • P. 281
  • 1.5 Les accès aux fichiers
  • P. 283
  • 2. Les enregistrements
  • P. 283
  • 2.1 Les délimiteurs
  • P. 286
  • 2.2 Largeur fixe
  • P. 287
  • 2.3 Principes d'accès
  • P. 290
  • 3. Fichier texte séquentiel
  • P. 290
  • 3.1 Ouvrir et fermer un fichier
  • P. 291
  • 3.2 Lire et écrire des enregistrements
  • P. 297
  • 3.3 Les enregistrements structurés
  • P. 300
  • 3.4 Exemple en PHP
  • P. 302
  • 4. Exercices
  • Chapitre 8 Notions avancées
  • P. 303
  • 1. Les pointeurs et références
  • P. 303
  • 1.1 Rappels sur la mémoire et les données
  • P. 306
  • 1.2 Le pointeur
  • P. 312
  • 1.3 Notation algorithmique
  • P. 316
  • 1.4 PHP et les références
  • P. 324
  • 2. Les listes chaînées
  • P. 324
  • 2.1 Listes chaînées simples
  • P. 339
  • 2.2 L'implémentation en PHP
  • P. 343
  • 2.3 Autres exemples de listes
  • P. 345
  • 3. Les arbres
  • P. 345
  • 3.1 Principe
  • P. 347
  • 3.2 Définitions
  • P. 349
  • 3.3 Parcours d'un arbre
  • P. 352
  • 3.4 Arbre binaire ordonné
  • P. 356
  • 3.5 Exemples de tri
  • P. 359
  • 4. Exercices
  • Chapitre 9 Une approche de l'objet
  • P. 361
  • 1. Principe de l'objet, une notion évidente
  • P. 361
  • 1.1 Avant de continuer
  • P. 362
  • 1.2 Rappels sur la programmation procédurale
  • P. 363
  • 1.3 L'objet
  • P. 367
  • 1.4 Classe, objets
  • P. 369
  • 1.5 Déclaration et accès
  • P. 371
  • 1.6 Les méthodes
  • P. 372
  • 1.7 Portée des membres
  • P. 374
  • 1.8 Encapsulation des données
  • P. 376
  • 1.9 L'héritage
  • P. 381
  • 1.10 Le polymorphisme
  • P. 385
  • 2. Manipuler les objets
  • P. 385
  • 2.1 Les constructeurs
  • P. 390
  • 2.2 Les destructeurs
  • P. 391
  • 2.3 Les attributs statiques
  • P. 393
  • 2.4 Classes et méthodes abstraites
  • P. 396
  • 2.5 Interfaces
  • P. 398
  • 3. L'objet en PHP
  • P. 398
  • 3.1 Les langages objet
  • P. 399
  • 3.2 Déclaration des classes et objets
  • P. 402
  • 3.3 Héritage
  • P. 404
  • 3.4 Interfaces
  • P. 407
  • 4. Exercices
  • Chapitre 10 Corrigés des exercices
  • P. 413
  • 1. Introduction à l'algorithmique
  • P. 415
  • 2. Les variables et opérateurs
  • P. 420
  • 3. Tests et logique booléenne
  • P. 427
  • 4. Les boucles
  • P. 436
  • 5. Les tableaux et structures
  • P. 442
  • 6. Les sous-programmes
  • P. 446
  • 7. Les fichiers
  • P. 448
  • 8. Notions avancées
  • P. 451
  • 9. Une approche de l'objet
  • P. 475
  • Index