home *** CD-ROM | disk | FTP | other *** search
- ===========================================================================
- APPRENTISSAGE du C version ALB_10
- LIMINAIRE
- ===========================================================================
-
- Réglons d'abord les problèmes juridiques!
- --------------------------------------------------------------------------
-
- Ce manuel d'apprentissage du langage C a été déposé.
- Pour ne pas être en infraction avec la loi, vous devez demander une
- licence d'utilisation de cet ensemble de programmes. Pour cette version
- la licence est accordée automatiquement et gratuitement à toute personne
- privée qui par écrit en a fait la demande pour sa formation personnelle.
- Ce manuel ne doit en aucun cas faire l'objet d'une exploitation commerciale
- ou collective sans mon autorisation écrite.
-
- Le texte et les programmes sources qui figurent dans ce manuel ne sont
- conçus que dans un but de formation personnelle et ne se prêtent en aucune
- manière à des utilisations professionnelles ou commerciales.
- Il n'est donné aucune garantie quant à leur fonctionnement une fois
- compilés, assemblés ou interprétés. Je ne pourrais en aucun cas être tenu
- pour responsable des préjudices de quelque nature que ce soit pouvant
- résulter de l'utilisation de ces programmes.
-
- Et passons aux choses sérieuses:
- ---------------------------------------------------------------------------
-
- Chers amis,
-
- Ce manuel d'apprentissage se limite à l'initiation au C. C'est déjà
- beaucoup. L'étape suivante sera la mise en forme d'un manuel de C++.
- Puis viendra un dossier consacré à la programmation Windows de Microsoft.
-
- Ce manuel est destiné à ceux qui sans être informaticiens, ont besoin
- pour réaliser concrètement quelque chose, d'apprendre à lire et écrire
- aux machines informatiques. Ce n'est donc pas une "Somme" de connaissances
- mais un ensemble de recettes pour permettre à chacun de fabriquer les
- programmes simples dont il peut avoir besoin.
-
- C'est un manuel de TRAVAIL. On ne progresse que par un effort personnel.
- La durée d'apprentissage dépend, bien sûr, du temps que vous pouvez lui
- consacrer. Dans les universités américaines l'étude à temps complet du
- C/C++ est programmée sur un semestre. Cela peut donner une indication.
-
- Il est difficile pour la majeure part d'entre nous de faire à la fois
- l'apprentissage d'un langage informatique et de la langue américaine. Ce
- manuel a pour seul mérite d'être écrit en français. Ne m'associez pourtant
- pas dans votre esprit à cette loi imbécile, d'un énarque glorieux, qui se
- croit le "protecteur" d'une langue parce qu'il écrit des réglements.
-
- Toutes vos critiques seront les bienvenues, formelles, techniques et
- surtout pour moi celles d'ordre pédagogiques. Je ne vous ferais pas la
- gueule, vous comprendrez pourquoi en lisant le fichier "lisezmoi".
- Pourriez vous, pour m'aider à améliorer ce manuel, noter au fur et à
- mesure de votre progression, toutes les difficultés ou les erreurs que
- vous rencontrez et bien sûr me les communiquer.
-
- Bien à vous:
- le 5 octobre 1994 Pierre Blanchet Beaulieu
- 21410 ANCEY
- Liminaire ------------------------------------------------------ page 1
-
-
-
-
- Au sujet du C.
- ---------------------------------------------------------------------------
-
- Le C s'est imposé comme le langage universel de la micro-informatique.
- Son atout majeur, en dehors de sa portabilité, est dans la rapidité de ses
- programmes et dans sa capacité à construire des applications fortement
- structurées. L'inconvénient est qu'il ne fait pas de vérifications et que
- c'est à vous à faire les tests que vous jugez indispensables.
-
- C'est un peu comme une Ferrari. On nous donne un outil remarquablement
- puissant mais nous devons prendre nos responsabilités !
-
- Comment travailler avec ce manuel!
- --------------------------------------------------------------------------
-
- Vous trouverez ce fichier dans le répertoire de base du manuel avec le
- programme articulé en chapitres, chacun dans un sous répertoire avec un
- fichier texte qui contient le cours comme par exemple CHAP_02.TXT et les
- fichiers sources des programmes qui lui sont attachés CH02_??.C
- Ils ont été testés avec les compilateurs TCWin et BC de Borland dans une
- configuration qui sera précisée plus loin.
-
- Fichiers OEM ou ANSI ?
- ----------------------
- Il existe deux systèmes de traitement de texte.
- Le plus ancien est celui du DOS qui utilise les caractères ASCII du code
- 437. On l'appelle souvent la version OEM. On peut les lire et les imprimer
- avec l'éditeur du DOS.
- Le malheur veut que Windows utilise la variante ANSI du code ASCII qui
- n'utilise pas la même codification au delà du caractère n°128. De plus, il
- est à peu près certain que le DOS ne va plus vivre bien longtemps.
- Tout cela ne change rien pour les américains qui n'ont pas de caractères
- accentués mais pour nous c'est une autre histoire. Par exemple le "é" ANSI
- sera lu en OEM "Θ" et le "é" OEM sera figuré par un carré noir en ANSI.
-
- Jean-Bernard LUCAS a développé un produit qui s'appele XTXT et qui permet,
- entre autres choses, de convertir les fichiers texte dans l'une ou l'autre
- forme. Son programme est gratuit pour un particulier, vous le trouverez
- chez un bon distributeur de shareware ( n°2536 chez DP TOOL).
- Il existe aussi dans les C de Borland un excellent programme du nom de
- fconvert.exe que vous trouverez dans le sous registre bin.
-
- J'ai choisi pour ma part, et parce que je travaille surtout avec TCWin de
- vous fournir tous les programmes en ANSI sauf ch14_06.c0 qui ne fonctionne
- que sous DOS mais les caractères que j'ai utilisés sont tous transposables
- sans perte. Vous pourrez utiliser sans danger un programme de conversion
- pour les transposer en OEM.
- Les fichiers de texte sont par contre en OEM, mais avec des caractères
- transposables. Si vous les convertissez en ANSI, éliminez au préalable
- les sauts de page car les éditeurs ANSI ont des longueurs de page qui
- sont différentes. La largeur peut également varier.
- Liminaire ------------------------------------------------------ page 2
-
-
-
-
- Nous vous conseillons de vous procurer chez un distributeur de produits en
- shareware le Programmer's File Editor du développeur anglais Alan Phillips.
- Son utilisation est gratuite pour un particulier. Vous le trouverez sous
- la référence 1634 chez DP TOOL Club, BP 745, 59657 Villeneuve d'Ascq .
- Il possède un option "Screen Font" qui permet de lire les fichiers texte
- en OEM ou en ANSI sans conversion explicite. Mais il ne permet pas
- d'imprimer en ANSI des fichiers OEM. C'est aussi un bon outil de travail
- pour un programmeur non professionnel comme vous ou moi.
-
- Quand à l'impression, on trouve de tout, c'est la bouteille à l'encre.
- Mais maintenant les imprimantes lisent les caractères ANSI de Windows.
-
-
- Comment s'organiser ?
- --------------------
- La démarche que je vous propose est de faire d'abord une impression du
- chapitre à étudier, par exemple CHAP_02.TXT, pour le texte du second
- chapitre.
- Vous trouverez dans le texte et au fur et à mesure des développements,
- l'annonce des programmes d'étude en C sous des noms comme CH02_03.C
- ( chapitre 02 programme 03).
- Imprimez ces programmes avec l'éditeur de votre logiciel de C, pour
- pouvoir suivre les commentaires et les explications du fichier texte.
- Puis compilez, liez et exécutez votre programme.
- J'ai essayé de vous faire utiliser les principales notions avant de
- les définir plus sérieusement et de les étudier dans le cours.
- Dès que vous vous sentirez capables de bidouiller 3 lignes de code,
- lancez vous. Expérimentez au maximum!
-
- On ne progresse en général que par l'erreur!
-
-
- Quelles options faut il choisir pour le compilateur ?
- -----------------------------------------------------
- Je peux vous donner celles que j'utilise avec TC++Win. Elles peuvent
- vous inspirer pour un autre compilateur.
- Ce sont des options minimales suffisantes pour des programmes d'étude.
-
- Options/compilateur/génération de code.
- modèle mémoire: Small
- SS=SD: suivant modèle mémoire
- Options: traiter les énum en int
- caractères unsigned
- Options/compilateur/génération de code avancée.
- virgule flottante: émulation
- options: générer les soulignés
- Options/compilateur/génération de code d'E/S.
- appels optimisés Windows, smartcallbacks
- convention d'appel: C
- options de pile: tester les débordements
- structure de pile standard
- Options/compilateur/options du C++.
- extensions cpp seulement
- génération modèle Smart
- tables virtuelles Smart
- Liminaire ------------------------------------------------------ page 3
-
-
-
- Options/compilateur/options d'optimisation.
- variables registre automatique
- optimisation: vitesse
- Options/compilateur/option code source.
- ANSI
- Options/compilateur/messages/affichage.
- sélectionnés
- Mettez le maximum de messages d'erreurs ou de warnings
- Options/compilateur/nom.
- Ne touchez rien
- Options/Make.
- Erreurs
- lancer le lieur
- vérifier les autodépendances
- Options/lieur/configuration.
- fichiers Map non générés
- code EXE (Windows avec TCWin)
- configuration: librairies par défaut
- et liens sensibles aux diff Maj/min
- Options/lieur/librairies.
- tout statique
- Options/gestionnaire de librairies.
- aucune option
- Options/répertoires
- c:\tcwin\include;c:\tcwin\owl\include;c:\tcwin\classlib\include
- c:\tcwin\lib;c:\tcwin\owl\lib;c:\tcwin\classlib\lib
- c:\tcwin\w
-
-
- Utilisation de programmes écrit par des développeurs.
- -----------------------------------------------------
- Vous trouverez dans les exemples des morceaux de programme empruntés
- à des développeurs connus. Certains font partie du domaine public,
- comme par exemple les programmes et les commentaires du SNIPPET'S
- ou les CFAQ que je vous engage à vous procurer auprès d'un éditeur
- de shareware.
- Des développeurs français ont été assez sympa pour m'autoriser à
- utiliser des bouts de leurs programmes. Philippe Pithon, l'auteur
- du Super Prof d'anglais m'a permis d'imiter son logo pour mon icone.
-
- Utilisation de nom de produits protégés par un copyright.
- ----------------------------------------------------------
- BC, BC++, TC, TC++, TCWin sont des produits de Borland International.
- MS-DOS, Windows des produits de Micro-Soft.
- Liminaire ------------------------------------------------------ page 4
-
-
-
- Demande de licence pour un particulier.
- ---------------------------------------
-
- Je sous-signé
-
- adresse:
-
-
-
- vous prie de lui accorder l'autorisation d'utiliser à titre personnel
- et pour les besoins de sa formation la version ALB_10 de votre manuel
- d'apprentissage du C.
-
- Etudes poursuivies et école
- ou profession :
-
-
- compilateurs utilisés :
-
- signature:
-
- commentaires:
- Fin du liminaire ----------------------------------------------- page 5
-
-
-