APPLICATIONSPROGRAMMATION ★ TURBO PASCAL V3 ★

Turbo Pascal (Microstrad)TURBO PASCAL POUR AMSTRAD (Amstrad Magazine)TURBO PASCAL - COMPILATEUR DE COMPÉTITION (c) Borland (Cahier de l'Amstrad)
En test: le Turbo Pascal

PASCAL est un langage de programmation mis au point à la fin des années 60 par un professeur Suisse NI KLAUS WIRTH, dans un but pédagogique. Ce langage est utilisé, au départ, dans les universités, car il met en application la méthode de programmation structurée. Vu ses qualités, il sort rapidement du cadre universitaire pour conquérir le monde du traitement de l'information et, à partir des années 80, de nombreuses implantations existent sur pratiquement tous les systèmes informatiques.

La micro-informatique n'échappe pas à ce phénomène. Plusieurs compilateurs PASCAL sont proposés, la plupart basés sur l'utilisation d'un code machine intermédiaire fictif : le P-CODE, c'est-à-dire que lors de la compilation, un fichier en P-CODE est généré et lors de l'exécution ce P-CODE est repris par un interpréteur (propre à chaque machine). Dans ce cas on a affaire à un langage semi-compilé.

Et Philippe Kahn arriva...

Philippe Kahn, professeur de mathématiques à Nice et à Grenoble conçoit un vrai compilateur PASCAL, c'est-à-dire générant directement du code machine. De plus ce compilateur opérant en une seule passe, il permet, outre une vitesse de compilation très rapide (un Turbo dans le PASCAL), d'obtenir une possibilité de mise au point interactive proche d'un langage interprété. Ajoutez à cela deux autres idées de génie : pratiquer un prix exceptionnellement bas pour un langage de programmation et mettre à la disposition des utilisateurs de véritables "boîtes à outils" permettant au programmeur de se consacrer entièrement à l'étude de son problème à résoudre, sans être dans l'obligation de développer des algorithmes utilitaires (tri, recherche en liste, etc.).' Pour appliquer ses idées, Philippe Kahn fonde aux États-Unis la société Borland International (en France, personne n'avait voulu lui permettre de réaliser son projet, trop "risqué" financièrement !...). Le succès est foudroyant et on peut dire qu'actuellement toute machine, présente sur le marché a la possibilité de travailler en Turbo-Pascal.

Notre Amstrad n'y échappe pas, nous trouvons maintenant le système Turbo-Pascal sur toutes les machines de la gamme. Nous disons "système" car sont mis à notre disposition les éléments suivants :

  • le compilateur Turbo-Pascal, version 3.0 ;
  • les extensions graphiques permettant d'utiliser toutes les ressources de la machine ;
  • une boîte à outils générale (TOOL BOX) comprenant accès par clés à un fichier, système de tri et installation d'un terminal ;
  • une boîte à outils graphiques (TURBO GRAPHIX TOOL BOX) ;
  • un système d'auto-formation (TURBO TUTOR).

Pour obtenir tous les avantages de ce langage, il est de loin préférable de l'utiliser avec le CPC 6128 sous CP/M + ce qui permet de développer des modules en mémoire de l'ordre de 30 kilo-octects ; ou encore d'effectuer la compilation sur disque pour obtenir des modules exécutables de 60 Ko ; ou encore d'utiliser les techniques de recouvrements (OVERLAY) ou de chaînage ce qui pousse assez loin les capacités de ce langage.

Le compilateur Turbo

Avec la version 3.0 vous disposez d'une notice de 374 pages, très claire et de lecture facile avec un indexe très pratique. Vous avez également l'extension graphique. La première opération à effectuer est l'adaptation de Turbo Pascal à votre CPC 6128. En effet la disquette livrée est prévue pour CPC 464 ou 664 en CP/M.2. Pour ce faire, placez-vous en CP/M + puis tapez TINST (en ayant placé au préalable la disquette Turbo Pascal dans le lecteur). Un choix de terminaux est proposé : choisissez l'option 20 : Schneider CPC 6128. A la question : "do you want to modify this définition before installation ?" (en clair : désirez-vous modifier votre définition avant installation ?) répondez N. Ensuite vous tapez sur RETURN à la question suivante : "Operating frequency of your microprocessor in MHS (for delay) : 4 change to" (le compilateur tient compte du fait que l'horloge interne du CPC a une fréquence de 4 MHz pour la mise en œuvre du sous-programme de délai). Enfin tapez Q pour revenir au système d'exploitation. Votre Turbo Pascal est prêt à être utilisé sur votre machine. Comme tout compilateur, pour produire un programme exécutable en Turbo Pascal, il est nécessaire d'effectuer les opérations suivantes :

  • écriture d'un fichier source de votre problème c'est-à-dire la liste des instruction PASCAL ;
  • compilation avec détection d'erreurs éventuelles et rectification ;
  • génération d'un fichier objet directement exécutable (en langage machine).

Signalons au passage que là commercialisation d'un programme en Turbo Pascal n'est soumise à aucune redevance et ne nécessite pas la présence de Turbo sur la disquette vendue. Pour mettre en œuvre Turbo Pascal, tapez la commande Turbo. Après un rappel de votre configuration, une question est posée :

Include error messages (Y, N) ?

Si vous tapez Y (oui) les messages erreurs seront affichés en clair, mais vous perdrez 1 446 octects de mémoire. Si vous tapez N (non), les messages erreurs seront des numéros de référence à une liste figurant dans la notice.

Après ce choix, un menu vous est proposé : Logged drive : A Work file : Main file :
Edit Compile Run Save Exécute Dir Quit compiler Option Text : 0 bytes (819B - 819B) Free : 28778 bytes (819C - F206) Vous remarquerez que pour chaque commande une seule lettre est en majuscule et en inverse. Cette lettre sera tapée au clavier pour activer la commande correspondante. L : vous permet de modifier le nom du lecteur de disquettes actif. W : définition du nom du fichier source en cours de travail (Work file). L'extension par défaut est . PAS.

M : définition du fichier principal (Main file) dans le cas d'un ensemble de traitement fractionné par inclusion de fichiers bibliothèque.

E : activation de l'éditeur de texte du style Wordstar pour créer ou rectifier votre fichier source en Pascal (notez en passant que pour sortir de ce mode il faut : appuyer sur la touche CONTROL tout en tapant successivement K et D (ctrl-K-D). C : lance la compilation, c'est-à-dire effectue la traduction du langage source en code objet (ou langage machine).
Suivant les options de compilation adoptées, le langage objet sera soit rangé en mémoire, soit dans un fichier avec extension. COM (directement exécutable) soit dans un fichier CHN (pour un enchaînement).

R : (RUN) lancement de l'exécution du programme compilé en mémoire. Si la source n'a pas été compilée, ou si elle a été modifiée entre temps, la compilation est lancée automatiquement avant de procéder à l'exécution.

S : sauvegarde le fichier de travail courant sur le disque, s'il existe déjà une version de ce fichier, celle-ci est renommée avec extension .BAK.

X : vous permet d'exécuter un programme non créé par Turbo Pascal directement depuis le menu principal puis de revenir ensuite à Turbo.

D : affiche le catalogue (Directory) du disque actif.

Q : quitte Turbo, retour à CP/M+ ou quitte le menu des options de compilation. O : permet de fixer les options de compilation autres que celles fixées par défaut. M : compilation en mémoire (défaut). C : compilation dans un fichier .COM. H : compilation dans un fichier de chaînage.

F : trouve l'emplacement d'une erreur survenue lors de l'exécution d'un fichier .COM dont on ne connaît que l'endroit signalé par le message PC = xxxx. Q : quitte le menu des options de compilation avec retour au menu principal.

Le langage Turbo Pascal

Bien que suivant d'assez près le Pascal standard défini par son créateur Niklaus Wirth, Turbo Pascal comprend un certain nombre d'additions très intéressantes. Parmi celles-ci nous notons :

  • manipulation en mémoire (octet ou bit) ;
  • accès direct à la mémoire ou aux portes entrée - sortie (par l'intermédiaire de deux tableaux pré-définis) ;
  • imposer l'adresse absolue d'une variable ou retrouver l'adresse d'une variable ;
  • accès aux fonctions du système CP/M ;
  • appel de sous-programmes en langage machine ou inclusion de code machine dans une ligne PASCAL ;
  • chaines de caractères dynamiques ;
  • chaînage de programmes avec variables communes.

Les extensions graphiques

Ces extensions sont contenues dans deux modules :

  • le graphique de base (GRAPHIX 3. INC pour 6128).
  • le graphique TORTUE (TURTLE 3. INC).

Dans le module graphique de base, nous disposons de quatre systèmes de coordonnées. Nous y trouvons les procédures et fonctions équivalentes à celles trouvées dans le manuel Basic du CPC 6128. La liste de ces procédures ou fonctions résumées à la suite comporte entre parenthèses le nom correspondant en Basic, s'il existe. BORDER (BORDER), CIRCLE, CLG (CLG), CURSOROFF, CURSORON, DRAW (DRAW), DRAWR (DRAWR), FILLCIRCLE , FILLPATTERN, GET-GRAFMODE, GETMODE, GRAFDE-LAY, GRAFMODE, GRAFMOVE (MOVE), GRAFMOVER (MOVER), GRA-FOUT, GRAFPAPER (PAPER), GRAF-PEN (PEN), GRAPHWINDOW (WINDOW), INITCALL, INK (INK), MODE (MODE), ORIGIN (ORIGIN), PAPER (PAPER), PATTERN, PEN (PEN), PLOT (PLOT), PLOTR (PLOTR), RELEASE (RELEASE), SOUND (SOUND), SOUN-RESET, SPEEKEY (SPEEKEY), TAG (TAG), TAGOFF (TAGOFF), TEST (TEST), TESTR (TEST), WHEREX (POS), WEREY (YPOS), XCVECTOR, YCVEC-TOR, XPOS (XPOS), YPOS (YPOS), XVECTOR, YVECTOR.

Le module Tortue est identique à celui de l'IBM-PC et correspond au concept tortue inventé par S. PAPERT afin de faciliter l'emploi des graphiques sans être obligé de comprendre les coordonnées cartésiennes.

La boîte à outils générale

Cette boîte à outils est un ensemble de programmes utilisables dans l'élaboration de votre application en Turbo Pascal. Vous disposez de trois outils :

  • le système d'accès TURBO ;
  • le système de tri TURBO ;
  • l'installation d'un terminal.

Le système d'accès TURBO permet d'accéder à des enregistrements dans un fichier par l'utilisation de clés. Vous pouvez également accéder aux enregistrements dans un ordre défini.
Ce système comprend quatre fichiers source en TURBO-PASCAL.

  • ACCESS.BOX pour la construction des fichiers index et données et leur gestion.
  • GETKEY.BOX pour les procédures de recherche.
  • ADDKEY.BOX pour les procédures d'insertion de clés dans les fichiers index.
  • DELKEY.BOX pour les suppressions de clé : un exemple de base de données client est fourni en source, il constitue un excellent moyen d'apprendre la manipulation des fichiers avec Turbo Pascal.

Le système de Tri TURBO est composé d'un certain nombre de procédures permettant le tri simple ou multiple d'un maximum de 32767 enregistrements. La gestion de la mémoire virtuelle par Tri TURBO permet de s'affranchir des limites de la mémoire, le disque étant automatiquement utilisé comme extension mémoire.
Ces procédures sont fournies en code source, et sont librement utilisables dans votre application sans réserve de redevance. Des exemples d'application sont fournis (on croit rêver).

Le système général d'installation permet d'adapter votre programme d'application sur différents terminaux.

La boîte à outils graphiques

Là encore, cette boîte à outils graphique comprend une librairie de procédures graphiques et des exemples d'application en code source. Ces outils sont prêts à inclure dans votre programme d'application pour réaliser par exemple :

  • des histogrammes et camemberts,
  • traçage de courbes, avec interpolation ou lissage ;
  • La gestion des fenêtres graphiques ;
  • des animations graphiques rapides.

La disquette livrée avec cette boîte à outils comprend : les fichiers d'installation et de démonstration, les fichiers contenant les quatre vingt quinze procédures et vingt-quatre fonctions, et les programmes des exemples commentés de la notice (qui à elle seule fait, environ 250 pages). Les procédures vous permettent de dessiner : des points, lignes, rectangles (vides ou remplis, des ellipses, cercles). Elle vous offre la possibilité d'écrire du texte mélangé aux graphiques, d'utiliser différents styles de courbes avec interpolation et lissage, de considérer soit les coordonnées du système ou les coordonnées de votre application, de gérer les fenêtres avec clipping et zoom, de réaliser la recopie d'écran sur imprimante, etc. etc., c'est un vrai régal ! Le fait d'être pour ou contre le langage Pascal relève de la discussion sur le sexe des anges, mais ici, il faut reconnaître que Turbo Pascal apporte une autre dimension sur votre CPC sans oublier que la version 3 du CPC 6128 est rigoureusement compatible avec la version diffusée par BORLAND-FRACIEL pour IBM-PC ou AT (au niveau source évidemment).

Avec les rumeurs sur un éventuels 16 bits AMSTRAD, "compatible", il est de bonne politique d'utiliser un système de langage portable ! Enfin, tout le monde y trouvera son compte, du débutant au développeur en passant par le professionnel programmeur occasionnel ou l'enseignant (en quelque sorte de 7 à 77 ans...).

Pierre Squelart , Amstrad Amstrad n°12

★ EDITEURS: FRACIEL/ BORLAND
★ ANNÉE: 1986
★ CONFIG: CP/M + 128K
★ LANGAGE:
★ LiCENCE: COMMERCIALE
★ AUTEUR(S): ???

Cliquez sur l'image pour voir les différents packages (5). 

★ AMSTRAD CPC ★ DOWNLOAD ★

Files:
» Borland-TURBO  PASCAL  v3.00A    ENGLISHDATE: 2013-08-04
DL: 739
TYPE: ZIP
SiZE: 80Ko
NOTE: CPM bootloader/Extended DSK/40 Cyls
.HFE: Χ

» Borland-TURBO  PASCAL  v3.01A  (with  CPM  3)    ENGLISHDATE: 2013-08-04
DL: 700
TYPE: ZIP
SiZE: 80Ko
NOTE: CPM bootloader/Extended DSK/40 Cyls
.HFE: Χ

Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 201 millisecondes et consultée 4688 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.