• Aide
  • Eurêkoi Eurêkoi

Livre

S'initier à la programmation et à l'orienté objet : avec des exemples en C, C++, C#, Python, Java et PHP

Résumé

Ce guide propose un apprentissage progressif des notions de programmation procédurale communes à tous les langages (types de données, variables, opérateurs, fonctions, etc.), ainsi qu'une présentation des notions propres aux langages orientés objet. Avec des exercices corrigés et de nombreux exemples. ©Electre 2014


  • Éditeur(s)
  • Date
    • 2014
  • Autre(s) forme(s) de titre
  • Notes
    • Index
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (XXI-360 p.) : ill., couv. ill. en coul.; ; 23 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-212-14067-5
  • Indice
    • 681.22(07) Langages. Environnements de développement. Manuels
  • Quatrième de couverture
    • Acquérir rapidement une parfaite maîtrise des techniques de programmation et savoir s'adapter facilement à tout nouveau langage

      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 pseudo-code, 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.

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


  • Tables des matières
      • S'initier à la programmation et à l'orienté objet

      • Avec des exemples en C, C++, C#, Java, Python et PHP

      • Claude Delannoy

      • Eyrolles

      • Chapitre 1 : Ordinateur, programme et langage1
      • 1 - Le rôle de l'ordinateur 1
      • 1.1 La multiplicité des applications1
      • 1.2 Le programme : source de diversité2
      • 1.3 Les données du programme, les résultats2
      • 1.4 Communication ou archivage3
      • 2 - Pour donner une forme à l'information : le codage 3
      • 2.1 L'ordinateur code l'information3
      • 2.2 L'homme code l'information4
      • 2.3 Ce qui différencie l'homme de l'ordinateur4
      • 3 - Fonctionnement de l'ordinateur 5
      • 3.1 À chacun son rôle5
      • 3.2 La mémoire centrale6
      • 3.3 L'unité centrale7
      • 3.4 Les périphériques7
      • 3.4.1 Les périphériques de communication 7
      • 3.4.2 Les périphériques d'archivage 7
      • 4 - Le langage de l'ordinateur 8
      • 4.1 Langage machine ou langage de notre cru8
      • 4.2 En langage assembleur9
      • 4.3 En langage évolué9
      • 5 - Les concepts de base des langages évolués 11
      • 6 - La programmation 12
      • 7 - Notion de système d'exploitation et d'environnement de programmation 13
      • Chapitre 2 : Variables et instruction d'affectation15
      • 1 - La variable 15
      • 1.1 Introduction15
      • 1.2 Choix des noms des variables16
      • 1.3 Attention aux habitudes de l'algèbre16
      • 2 - Type d'une variable 17
      • 2.1 La notion de type est une conséquence du codage en binaire17
      • 2.2 Contraintes imposées par le type17
      • 2.3 Les types que nous utiliserons18
      • 2.4 Déclaration de type18
      • 3 - L'instruction d'affectation 19
      • 3.1 Introduction19
      • 3.2 Notation19
      • 3.3 Rôle20
      • 3.4 Quelques précautions21
      • 3.5 Échanger les valeurs de deux variables22
      • 4 - Les expressions 23
      • 4.1 Expressions de type entier24
      • 4.1.1 Constantes de type entier 24
      • 4.1.2 Expressions de type entier 24
      • 4.1.3 Les erreurs possibles 25
      • 4.2 Expressions de type réel26
      • 4.2.1 Constantes réelles 26
      • 4.2.2 Les expressions réelles 27
      • 4.2.3 Les erreurs possibles 27
      • 4.3 Expressions mixtes28
      • 4.4 Expressions de type caractère30
      • 4.5 Affectation et conversions30
      • 5 - Les variables non définies 31
      • 6 - Initialisation de variables et constantes 32
      • 6.1 Initialisation de variables32
      • 6.2 Constantes32
      • 6.3 Expressions constantes33
      • 7 - Les fonctions prédéfinies 33
      • Noms de variables34
      • Types de base et codage34
      • Déclaration de types35
      • Instruction d'affectation35
      • Opérateurs et expressions36
      • Chapitre 3 : Instructions d'écriture et de lecture39
      • 1 - L'instruction d'écriture 39
      • 1.1 Rôle39
      • 1.2 Présentation des résultats40
      • 1.2.1 Rien ne les identifie 40
      • 1.2.2 Comment seront-ils présentés ? 41
      • 1.2.3 Affichage de libellés 41
      • 1.2.4 Cas des valeurs réelles 42
      • 2 - L'instruction de lecture 43
      • 2.1 Rôle43
      • 2.2 Intérêt de l'instruction de lecture44
      • 2.3 Présentation des données45
      • 2.4 Exemple45
      • 3 - Autres modes de communication avec l'utilisateur 46
      • 3.1 Mode console ou programmation par événements46
      • 3.2 Mode batch47
      • 3.3 Programmation Internet47
      • Exemples langages 48
      • C48
      • C++49
      • C#49
      • Java50
      • Python50
      • PHP50
      • Chapitre 4 : La structure de choix53
      • 1 - Présentation de l'instruction de choix 54
      • 1.1 Exemple introductif54
      • 1.2 Notion de bloc d'instructions54
      • 1.3 Un programme complet56
      • 2 - La condition du choix 56
      • 2.1 Les conditions simples56
      • 2.2 Les conditions complexes58
      • 2.2.1 Présentation 58
      • 2.2.2 Exemple 59
      • 3 - Cas particulier : une partie du choix absente 60
      • 4 - Les choix imbriqués 61
      • 4.1 Exemple61
      • 4.2 En cas d'ambiguïté62
      • 4.3 Choix imbriqués ou succession de choix63
      • 5 - Un nouveau type de base : booléen 65
      • 6 - Nos conventions d'écriture 66
      • Côté langages 66
      • Instruction de choix66
      • Type booléen67
      • Instruction de choix multiple67
      • Exemples langages 68
      • C68
      • C++69
      • Java69
      • C#70
      • PHP70
      • Python71
      • Chapitre 5 : Les structures de répétition73
      • 1 - La répétition jusqu'à 73
      • 1.1 Exemple introductif73
      • 1.2 Nos conventions d'écriture75
      • 1.3 Exemples76
      • 1.3.1 Recherche de la première voyelle d'un mot 76
      • 1.3.2 Doublement de capital 76
      • 1.4 Faire des choix dans une boucle78
      • 2 - La répétition tant que 78
      • 2.1 Exemple introductif79
      • 2.2 Conventions d'écriture79
      • 2.3 Lien entre répétition tant que et répétition jusqu'à80
      • 2.4 Exemple81
      • 3 - Comment réaliser des répétitions inconditionnelles 82
      • 3.1 La notion de compteur de boucle82
      • 3.2 Introduire un compteur dans une répétition83
      • 3.2.1 Exemple 1 83
      • 3.2.2 Exemple 2 84
      • 3.3 Imposer un nombre de tours85
      • 3.3.1 Exemple 1 86
      • 3.3.2 Exemple 2 86
      • 3.3.3 Exemple 3 87
      • 4 - La répétition inconditionnelle 88
      • 4.1. Exemples d'introduction88
      • 4.1.1 Exemple 1 88
      • 4.1.2 Exemple 2 89
      • 4.2 Conventions d'écriture90
      • 4.3 Utiliser le compteur dans une répétition inconditionnelle91
      • 4.4 Éviter d'agir sur le compteur dans la boucle91
      • 4.5 Compteur et boucle pour92
      • 4.6 Un tour pour rien93
      • 4.7 Le compteur en dehors de la boucle94
      • Côté langages 94
      • Les répétitions tant que et jusqu'à94
      • La répétition pour95
      • Exemples langages 96
      • C96
      • C++96
      • C#97
      • Python98
      • PHP98
      • Chapitre 6 : Quelques techniques usuelles101
      • 1 - Le comptage d'une manière générale 101
      • 1.1 Compter le nombre de lettres e d'un texte102
      • 1.2 Compter le pourcentage de lettres e d'un texte102
      • 2 - L'accumulation 104
      • 2.1 Accumulation systématique104
      • 2.1.1 Un premier exemple 104
      • 2.1.2 Un second exemple 105
      • 2.2 Accumulation sélective106
      • 3 - Recherche de maximum 107
      • 4 - Imbrication de répétitions 108
      • 4.1 Exemple de boucle avec compteur dans une boucle conditionnelle108
      • 4.2 Exemple de boucle conditionnelle dans une boucle avec compteur109
      • 4.3 Exemple de boucle inconditionnelle dans une autre boucle inconditionnelle110
      • 4.3.1 Premier exemple 110
      • 4.3.2 Second exemple 110
      • 4.4 Une erreur à ne pas commettre112
      • 5 - L'itération 113
      • Chapitre 7 : Les tableaux115
      • 1 - Notion de tableau à une dimension 116
      • 1.1 Quand la notion de variable ne suffit plus116
      • 1.2 La solution : le tableau116
      • 1 - Utilisation d'un tableau à une dimension 117
      • 2.1 Déclaration117
      • 2.2 Manipulation des éléments d'un tableau118
      • 2.3 Affectation de valeurs à des éléments d'un tableau118
      • 2.4 Lecture des éléments d'un tableau119
      • 2.5 Écriture des éléments d'un tableau120
      • 2.6 Utilisation de variables indicées dans des expressions120
      • 2.7 Initialisation d'un tableau à une dimension122
      • 3 - Quelques techniques classiques appliquées aux tableaux à une dimension 122
      • 3.1 Somme et maximum des éléments d'un tableau122
      • 3.2 Test de présence d'une valeur dans un tableau123
      • 4 - Exemple d'utilisation d'un tableau 124
      • 5 - Tri d'un tableau à une dimension 125
      • 6 - Contraintes sur la dimension d'un tableau 126
      • 7 - Débordement d'indice d'un tableau à une dimension 127
      • 8 - Introduction aux tableaux à deux dimensions 128
      • 9 - Utilisation d'un tableau à deux dimensions 130
      • 9.1 Déclaration130
      • 9.2 Affectation de valeurs130
      • 9.3 Lecture des éléments131
      • 9.4 Écriture des élements132
      • 10 - Quelques techniques classiques appliquées aux tableaux à deux dimensions 134
      • 11 - Gestion de l'emplacement mémoire d'un tableau 134
      • 12 - Notion de tableau associatif 135
      • Côté langages 136
      • C/C++136
      • Java, C#137
      • PHP138
      • Python138
      • Exemples langages 139
      • C++139
      • C140
      • C#141
      • Java142
      • Python143
      • PHP144
      • Chapitre 8 : Les fonctions145
      • 1 - Notion de fonction 146
      • 1.1 Premier exemple146
      • 1.2 Notion de paramètre147
      • 1.3 Paramètres formels ou effectifs149
      • 1.4 Notion de variable locale149
      • 1.5 Notion de résultat150
      • 1.6 Exemple de fonctions à plusieurs paramètres152
      • 1.7 Indépendance entre fonction et programme153
      • 2 - Mode de transmission des paramètres 155
      • 2.1 Introduction155
      • 2.2 Conséquences de la transmission par valeur156
      • 2.3 La transmission par référence156
      • 2.4 Nature des paramètres effectifs158
      • 2.5 Un autre exemple de transmission par référence158
      • 3 - Tableaux en paramètres 159
      • 3.1 Cas des tableaux de taille déterminée159
      • 3.2 Cas des tableaux de taille indéterminée160
      • 3.3 Exemple161
      • 4 - Les fonctions en général 162
      • 4.1 Propriétés des variables locales162
      • 4.1.1 Les variables locales ne sont pas rémanentes 162
      • 4.1.2 Initialisation des variables locales 163
      • 4.1.3 Tableaux locaux 164
      • 4.1.4 Imposer à une variable locale d'être rémanente 164
      • 4.2 Propriétés du résultat165
      • 4.3 Appels imbriqués166
      • 4.4 Variables globales167
      • 4.5 Concordance de type167
      • 4.6 Surdéfinition des fonctions168
      • 5 - Gestion de la mémoire des variables locales : notion de pile 168
      • 6 - Programme principal et fonctions 169
      • 7 - La récursivité 170
      • 8 - Bibliothèques de fonctions 172
      • 9 - Une autre présentation de la notion de fonction 173
      • Côté langages 174
      • Structure d'une fonction174
      • Mode de transmission des paramètres175
      • Programme principal175
      • Séparation entre fonction et programme176
      • Résultat177
      • Variables globales177
      • Exemples langages 177
      • Fonction somme des éléments d'un tableau177
      • Fonction est Voyelle180
      • Fonction tri d'un tableau avec fonction échange182
      • Chapitre 9 : Classes et objets185
      • 1 - Introduction 185
      • 2 - Un premier exemple : une classe Point 186
      • 2.1 Utilisation de notre classe Point187
      • 2.1.1 Le mécanisme déclaration, instanciation 187
      • 2.1.2 Utilisation d'objets de type Point 188
      • 2.2 Définition de la classe Point189
      • 2.3 En définitive190
      • 2.4 Indépendance entre classe et programme190
      • 3 - L'encapsulation et ses conséquences 191
      • 3.1 Méthodes d'accès et d'altération191
      • 3.2 Notions d'interface, de contrat et d'implémentation192
      • 3.3 Dérogations au principe d'encapsulation193
      • 4 - Méthode appelant une autre méthode 194
      • 5 - Les constructeurs 194
      • 5.1 Introduction194
      • 5.2 Exemple d'adaptation de notre classe Point195
      • 5.3 Surdéfinition du constructeur197
      • 5.4 Appel automatique du constructeur197
      • 5.5 Exemple : une classe Carré198
      • 6 - Mode des gestions des objets 201
      • Côté langages 202
      • Définition d'une classe202
      • Utilisation d'une classe203
      • Exemples langages 203
      • Java204
      • C#205
      • PHP205
      • Python206
      • C++207
      • Chapitre 10 : Propriétés des objets et des méthodes211
      • 1 - Affectation et comparaison d'objets 211
      • 1.1 Premier exemple211
      • 1.2 Second exemple213
      • 1.3 Comparaison d'objets214
      • 1.4 Cas des langages gérant les objets par valeur214
      • 2 - Les objets locaux et leur durée de vie 215
      • 3 - Cas des objets transmis en paramètre 216
      • 3.1 Mode de transmission d'un objet en paramètre217
      • 3.2 L'unité d'encapsulation est la classe218
      • 3.3 Exemple220
      • 4 - Objet en résultat 222
      • 5 - Attributs et méthodes de classe 223
      • 5.1 Attributs de classe223
      • 5.1.1 Présentation 223
      • 5.1.2 Exemple 225
      • 5.2 Méthodes de classe225
      • 5.2.1 Généralités 225
      • 5.2.2 Exemple 226
      • 5.2.3 Autres utilisations des attributs et des méthodes de classe 227
      • 6 - Tableaux d'objets 227
      • 7 - Autoréférence 229
      • 7.1 Généralités229
      • 7.2 Exemples d'utilisation de courant229
      • 8 - Classes standards et classe Chaîne 230
      • Côté langages 231
      • Affectation, transmission en paramètre et en résultat231
      • Méthodes et attributs de classe231
      • Autoréférence232
      • Exemples langages 232
      • C#232
      • Java233
      • C++234
      • PHP236
      • Python237
      • Chapitre 11 : Composition des objets239
      • 1 - Premier exemple : une classe Cercle 239
      • 1.1 Droits d'accès240
      • 1.1.1 Comment doter Cercle d'une méthode affiche 240
      • 1.1.2 Doter Cercle d'une méthode déplace 241
      • 1.2 Relations établies à la construction241
      • 1.2.1 Coordonnées en paramètres 242
      • 1.2.2 Objet de type point en paramètre 243
      • 1.3 Cas de la gestion par valeur243
      • 2 - Deuxième exemple : une classe Segment 245
      • 3 - Relations entre objets 248
      • 4 - Copie profonde ou superficielle des objets 249
      • 5 - Une classe « singleton » 250
      • Côté langages 252
      • Java, C#, Python et PHP252
      • C++252
      • Exemples langages 253
      • Java253
      • C++254
      • PHP255
      • Python256
      • Chapitre 12 : L'héritage259
      • 1 - La notion d'héritage 260
      • 2 - Droits d'accès d'une classe dérivée à sa classe de base 262
      • 2.1 Une classe dérivée n'accède pas aux membres privés de la classe de base262
      • 2.2 Une classe dérivée accède aux membres publics263
      • 2.3 Exemple de programme complet264
      • 3 - Héritage et constructeur 266
      • 4 - Comparaison entre héritage et composition 268
      • 5 - Dérivations successives 270
      • 6 - Redéfinition de méthodes 271
      • 6.1 Introduction271
      • 6.2 La notion de redéfinition de méthode271
      • 6.3 La redéfinition d'une manière générale273
      • 6.4 Redéfinition de méthode et dérivations successives274
      • 7 - Héritage et droits d'accès 275
      • Côté langages 276
      • Syntaxe de la dérivation et droits d'accès276
      • Gestion des constructeurs277
      • Redéfinition de méthodes277
      • Exemples langages 278
      • Java278
      • C#278
      • C++279
      • PHP280
      • Python281
      • Chapitre 13 : Le polymorphisme283
      • 1 - Les bases du polymorphisme 283
      • 1.1 Compatibilité par affectation284
      • 1.2 La ligature dynamique285
      • 1.3 En résumé285
      • 1.4 Cas de la gestion par valeur286
      • 1.5 Exemple 1286
      • 1.6 Exemple 2287
      • 2 - Généralisation à plusieurs classes 288
      • 3 - Autre situation où l'on exploite le polymorphisme 289
      • 4 - Limites de l'héritage et du polymorphisme 292
      • 4.1 Les limitations du polymorphisme292
      • 4.2 Valeurs de retour covariantes293
      • Côté langages 295
      • Java, PHP et Python295
      • C#295
      • C++295
      • Exemples langages 296
      • Java296
      • C#297
      • PHP298
      • C++299
      • Python300
      • Chapitre 14 : Classes abstraites, interfaces et héritage multiple303
      • 1 - Classes abstraites et méthodes retardées 303
      • 1.1 Les classes abstraites303
      • 1.2 Méthodes retardées (ou abstraites)304
      • 1.3 Intérêt des classes abstraites et des méthodes retardées305
      • 1.4 Exemple306
      • 2 - Les interfaces 307
      • 2.1 Définition d'une interface308
      • 2.2 Implémentation d'une interface308
      • 2.3 Variables de type interface et polymorphisme309
      • 2.4 Exemple complet310
      • 2.5 Interface et classe dérivée311
      • 3 - L'héritage multiple 311
      • Côté langages 312
      • Classes abstraites et méthodes retardées312
      • Interfaces313
      • Exemples langages 313
      • Classes et méthodes abstraites313
      • Interfaces317
      • Annexe : Correction des exercices321
      • Chapitre 2321
      • Chapitre 3324
      • Chapitre 4326
      • Chapitre 5328
      • Chapitre 6332
      • Chapitre 7335
      • Chapitre 8339
      • Chapitre 9342
      • Chapitre 10347
      • Chapitre 11349
      • Chapitre 12353
      • Index357

  • Origine de la notice:
    • Electre
  • Disponible - 681.22(07) DEL

    Niveau 3 - Informatique