• Aide
  • Eurêkoi Eurêkoi

Livre

Algorithmique : techniques fondamentales de programmation, exemples en PHP : nombreux exercices corrigés : BTS, DUT informatique

Résumé

Présentation des bases essentielles de la programmation et des notions plus avancées, ponctuée d'exercices.


  • Éditeur(s)
  • Date
    • C 2020
  • Notes
    • La couv. porte en plus : "En téléchargement : </> code source des exemples" ; "+ quiz" ; "Version en ligne offerte ! pendant 1 an"
    • La 4e de couv. porte en plus : "Sur www.editions-eni.fr : le code source des solutions des exercices proposés dans le livre"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (494 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02708-6
  • Indice
  • Quatrième de couverture
    • Algorithmique

      Techniques fondamentales de programmation (exemples en PHP)

      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.

      Dans ce livre, 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, classes préparatoires, premières années d'ingénierie à qui ce livre est en partie 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 arbres et les objets, ouvrent les portes de la programmation dans des langages évolués et puissants comme le C, le C++, Java et PHP. De nombreux exercices ponctuent chaque chapitre.

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


  • Tables des matières
      • Algorithmique

      • Techniques fondamentales de programmation

      • 3e édition

      • Édition ENI

      • Avant-propos
      • Chapitre 1
      • Introduction à l'algorithmique
      • 1. Les fondements de l'informatique13
      • 1.1 Architecture de Von Neumann13
      • 1.2 La machine de Turing17
      • 1.3 Représentation interne des instructions et des données19
      • 1.3.1 Le binaire19
      • 1.3.2 Les octets et les mots22
      • 1.3.3 L'hexadécimal23
      • 2. L'algorithmique24
      • 2.1 Programmer, c'est un art24
      • 2.2 Définition : l'algorithme est une recette26
      • 2.3 Pourquoi utiliser un algorithme ?27
      • 2.4 Le formalisme28
      • 2.4.1 La représentation graphique29
      • 2.4.2 L'algorithme sous forme de texte30
      • 2.5 La complexité32
      • 3. Les langages d'implémentation35
      • 3.1 Quel langage ?35
      • 3.2 Classifications des langages37
      • 3.2.1 Haut niveau, bas niveau38
      • 3.2.2 Diverses classifications39
      • 3.2.3 Compilé ou interprété39
      • 3.3 La machine virtuelle41
      • 3.4 PHP42
      • 3.4.1 Les avantages42
      • 3.4.2 Historique42
      • 3.4.3 Informations pratiques43
      • 3.4.4 Pages dynamiques44
      • 3.4.5 Installer le nécessaire45
      • 3.4.6 Un premier programme PHP46
      • 4. Exercices47
      • Chapitre 2
      • Les variables et opérateurs
      • 1. Les variables49
      • 1.1 Principe49
      • 1.2 Déclaration52
      • 1.3 Types52
      • 1.3.1 Les nombres53
      • 1.3.2 Autres types numériques56
      • 1.3.3 Les caractères57
      • 1.3.4 Le type booléen59
      • 1.4 Affectation60
      • 1.4.1 Affectation de valeurs60
      • 1.4.2 Affectation de variables63
      • 1.5 Saisie et affichage64
      • 1.6 Les constantes67
      • 2. Opérateurs et calculs68
      • 2.1 Les affectations68
      • 2.2 Les opérateurs arithmétiques68
      • 2.3 Les opérateurs booléens74
      • 2.4 Les opérateurs de comparaison77
      • 2.4.1 L'égalité77
      • 2.4.2 La différence79
      • 2.4.3 Inférieur, supérieur79
      • 2.5 Le cas des chaînes de caractères80
      • 3. Pour aller plus loin81
      • 3.1 Les nombres négatifs81
      • 3.2 La représentation des nombres réels83
      • 3.3 Les dates87
      • 3.4 Les caractères88
      • 4. Types et langages90
      • 4.1 Langages typés ou non90
      • 4.2 La gestion de la mémoire91
      • 5. Exercices92
      • Chapitre 3
      • Tests et logique booléenne
      • 1. Les tests et conditions95
      • 1.1 Principe95
      • 1.2 Que tester ?97
      • 1.3 Tests SI98
      • 1.3.1 Forme simple98
      • 1.3.2 Forme complexe100
      • 1.4 Tests imbriqués102
      • 1.5 Choix multiples106
      • 1.6 Des exemples complets109
      • 1.6.1 Le lendemain d'une date109
      • 1.6.2 La validité d'une date113
      • 1.6.3 L'heure dans n secondes114
      • 2. L'algèbre booléen119
      • 2.1 L'origine des tests119
      • 2.2 Petites erreurs, grosses conséquences121
      • 2.2.1 Ariane 5121
      • 2.2.2 Mars Climate Orbiter122
      • 2.3 George Boole122
      • 2.4 L'algèbre123
      • 2.4.1 Établir une communication123
      • 2.4.2 La vérité125
      • 2.4.3 La loi ET125
      • 2.4.4 La loi OU126
      • 2.4.5 Le contraire127
      • 2.4.6 Les propriétés127
      • 2.4.7 Quelques fonctions logiques131
      • 2.4.8 Avec plus de deux variables134
      • 2.5 Une dernière précision137
      • 3. Exercices139
      • Chapitre 4
      • Les boucles
      • 1. Les structures itératives141
      • 1.1 Définition141
      • 1.2 Quelques usages simples142
      • 2. Tant Que143
      • 2.1 Structure générale143
      • 2.2 Boucles infinies et break145
      • 2.3 Des exemples147
      • 2.3.1 Une table de multiplication147
      • 2.3.2 Une factorielle148
      • 2.3.3 x à la puissance y149
      • 2.3.4 Toutes les tables de multiplication152
      • 2.3.5 Saisie de notes et calcul de moyennes153
      • 2.3.6 Rendez la monnaie159
      • 2.3.7 Trois boucles163
      • 3. Répéter ... Jusqu'à164
      • 3.1 Différences fondamentales164
      • 3.2 Quelques exemples adaptés166
      • 3.2.1 La factorielle166
      • 3.2.2 Les trois boucles167
      • 4. Pour... Fin Pour168
      • 4.1 Une structure pour compter168
      • 4.2 ... mais pas indispensable169
      • 4.3 Quelle structure choisir ?169
      • 4.4 Un piège à éviter170
      • 4.5 Quelques exemples171
      • 4.5.1 De nouveau trois boucles171
      • 4.5.2 La factorielle172
      • 4.5.3 Racine carrée avec précision173
      • 4.5.4 Calcul du nombre PI176
      • 5. Exercices178
      • Chapitre 5
      • Les tableaux et structures
      • 1. Présentation181
      • 1.1 Principe et définitions181
      • 1.1.1 Simplifier les variables181
      • 1.1.2 Les dimensions183
      • 1.1.3 Les types184
      • 1.1.4 Déclaration184
      • 1.1.5 Utilisation185
      • 1.1.6 Les tableaux dynamiques186
      • 1.2 PHP et les tableaux187
      • 1.3 Représentation en mémoire191
      • 1.3.1 Représentation linéaire191
      • 1.3.2 Représentation par référence193
      • 2. Manipulations simples195
      • 2.1 Recherche d'un élément195
      • 2.2 Le plus grand/petit, moyenne197
      • 2.3 Le morpion198
      • 3. Algorithmes avancés203
      • 3.1 Les algorithmes des tris203
      • 3.1.1 Principe203
      • 3.1.2 Le tri par création204
      • 3.1.3 Le tri par sélection204
      • 3.1.4 Le tri à bulles206
      • 3.1.5 Le tri par insertion210
      • 3.1.6 Le tri Shell213
      • 3.1.7 Le tri Batcher215
      • 3.2 Recherche par dichotomie216
      • 4. Structures et enregistrements219
      • 4.1 Principe219
      • 4.2 Déclaration220
      • 4.2.1 Type structuré220
      • 4.2.2 Enregistrement221
      • 4.3 Utiliser les enregistrements222
      • 4.3.1 Utiliser les champs222
      • 4.3.2 Un enregistrement dans une structure224
      • 4.3.3 Un tableau dans une structure225
      • 4.4 Les tableaux d'enregistrements227
      • 4.4.1 Les tables227
      • 4.4.2 Une table comme champ228
      • 4.5 Et PHP ?229
      • 5. Exercices231
      • Chapitre 6
      • Les sous-programmes
      • 1. Présentation235
      • 1.1 Principe235
      • 1.2 Déclaration et définition237
      • 1.2.1 Dans un algorithme237
      • 1.2.2 En PHP238
      • 1.3 Appel239
      • 1.4 Fonctions et procédures240
      • 1.4.1 Les procédures241
      • 1.4.2 Les fonctions241
      • 1.5 Variables locales et globales244
      • 1.5.1 Les variables locales244
      • 1.5.2 Les variables globales245
      • 1.5.3 Variables globales et PHP246
      • 1.6 Paramètres247
      • 1.6.1 Les procédures247
      • 1.6.2 Les fonctions250
      • 1.6.3 Paramètres et PHP252
      • 1.6.4 Petite application fonctionnelle253
      • 1.7 Sous-programmes prédéfinis256
      • 1.7.1 Un choix important256
      • 1.7.2 Quelques exemples257
      • 1.8 Dernier cas : les tableaux261
      • 2. Les sous-programmes récursifs263
      • 2.1 Principe263
      • 2.2 Un premier exemple : la factorielle264
      • 2.3 Un exemple pratique : les tours de Hanoi269
      • 3. Exercices271
      • Chapitre 7
      • Les fichiers
      • 1. Les différents fichiers273
      • 1.1 Préambule273
      • 1.2 Problématique274
      • 1.3 Définition275
      • 1.4 Les formats275
      • 1.4.1 Types de contenus275
      • 1.4.2 Le fichier binaire277
      • 1.4.3 Le fichier texte278
      • 1.4.4 Quel format utiliser ?280
      • 1.5 Les accès aux fichiers281
      • 1.5.1 Séquentiel281
      • 1.5.2 Accès direct282
      • 1.5.3 Indexé282
      • 1.5.4 Autre ?282
      • 2. Les enregistrements283
      • 2.1 Les délimiteurs283
      • 2.2 Largeur fixe286
      • 2.3 Principes d'accès287
      • 2.3.1 Étapes de base287
      • 2.3.2 Identificateurs de fichiers et canaux288
      • 2.3.3 Les modes d'ouverture289
      • 3. Fichier texte séquentiel290
      • 3.1 Ouvrir et fermer un fichier290
      • 3.2 Lire et écrire des enregistrements291
      • 3.2.1 Lecture291
      • 3.2.2 Écriture293
      • 3.3 Les enregistrements structurés297
      • 3.4 Exemple en PHP300
      • 4. Exercices302
      • Chapitre 8
      • Notions avancées
      • 1. Les pointeurs et références303
      • 1.1 Rappels sur la mémoire et les données303
      • 1.1.1 Structure de la mémoire303
      • 1.1.2 PHP : des limites qui n'en sont pas305
      • 1.1.3 Brefs exemples en C305
      • 1.2 Le pointeur306
      • 1.2.1 Principe et définition306
      • 1.2.2 Le C roi des pointeurs308
      • 1.2.3 Applications309
      • 1.3 Notation algorithmique312
      • 1.3.1 Déclarer et utiliser les pointeurs312
      • 1.3.2 Allocation dynamique314
      • 1.4 PHP et les références316
      • 1.4.1 Différences entre le C et PHP316
      • 1.4.2 Les références317
      • 1.4.3 Références sur structures320
      • 1.4.4 Le piège en PHP321
      • 1.4.5 La valeur null322
      • 2. Les listes chaînées324
      • 2.1 Listes chaînées simples324
      • 2.1.1 Principe324
      • 2.1.2 Création327
      • 2.1.3 Parcours de la liste329
      • 2.1.4 Recherche330
      • 2.1.5 Ajout d'un élément331
      • 2.1.6 Suppression d'un élément335
      • 2.1.7 Supprimer toute la liste338
      • 2.1.8 Parcours récursif338
      • 2.2 L'implémentation en PHP339
      • 2.3 Autres exemples de listes343
      • 2.3.1 Listes circulaires343
      • 2.3.2 Listes d'éléments triés343
      • 2.3.3 Listes doublement chaînées343
      • 2.3.4 Files et piles344
      • 3. Les arbres345
      • 3.1 Principe345
      • 3.2 Définitions347
      • 3.2.1 Base347
      • 3.2.2 Terminologie347
      • 3.2.3 Description horizontale348
      • 3.2.4 Description verticale348
      • 3.2.5 L'arbre binaire348
      • 3.3 Parcours d'un arbre349
      • 3.4 Arbre binaire ordonné352
      • 3.4.1 Principe352
      • 3.4.2 Recherche d'un élément352
      • 3.4.3 Ajout d'un élément354
      • 3.4.4 Suppression d'un noeud355
      • 3.5 Exemples de tri356
      • 3.5.1 Tri par fusion356
      • 3.5.2 Tri rapide357
      • 4. Exercices359
      • Chapitre 9
      • Une approche de l'objet
      • 1. Principe de l'objet, une notion évidente361
      • 1.1 Avant de continuer361
      • 1.2 Rappels sur la programmation procédurale362
      • 1.2.1 Les données362
      • 1.2.2 Les traitements363
      • 1.3 L'objet363
      • 1.3.1 Dans la vie courante363
      • 1.3.2 En informatique364
      • 1.4 Classe, objets367
      • 1.5 Déclaration et accès369
      • 1.6 Les méthodes371
      • 1.7 Portée des membres372
      • 1.8 Encapsulation des données374
      • 1.9 L'héritage376
      • 1.9.1 Principe376
      • 1.9.2 Commerce378
      • 1.9.3 Hiérarchie379
      • 1.9.4 Simple ou multiple380
      • 1.10 Le polymorphisme381
      • 1.10.1 Principe381
      • 1.10.2 Le polymorphisme ad hoc381
      • 1.10.3Le polymorphisme d'héritage382
      • 1.10.4Le polymorphisme paramétrique384
      • 2. Manipuler les objets385
      • 2.1 Les constructeurs385
      • 2.1.1 Déclaration385
      • 2.1.2 Appel implicite386
      • 2.1.3 L'héritage388
      • 2.2 Les destructeurs390
      • 2.3 Les attributs statiques391
      • 2.4 Classes et méthodes abstraites393
      • 2.5 Interfaces396
      • 3. L'objet en PHP398
      • 3.1 Les langages objet398
      • 3.2 Déclaration des classes et objets399
      • 3.3 Héritage402
      • 3.4 Interfaces404
      • 4. Exercices407
      • Chapitre 10
      • Corrigés des exercices
      • 1. Introduction à l'algorithmique413
      • 2. Les variables et opérateurs415
      • 3. Tests et logique booléenne420
      • 4. Les boucles428
      • 5. Les tableaux et structures438
      • 6. Les sous-programmes446
      • 7. Les fichiers451
      • 8. Notions avancées453
      • 9. Une approche de l'objet457
      • Index 485

  • Origine de la notice:
    • BPI
  • Disponible - 681.21(07) ROL

    Niveau 3 - Informatique