Turbo Pascal

Original: http://staff.um.edu.mt/jskl1/turbo.html


Tours de Hanoï
Erreur d’exécution 200
Programmes Pascal
Installation
La programmation orientée objet
Problèmes avec des graphismes ?
Coin des étudiants
Blaise Pascal
Interpréteur Lisp gratuit

Tours de Hanoï
Le jeu des tours de Hanoï peut être utilisé pour démontrer la puissance de la programmation dynamique. Pour en savoir plus, consultez le document dans ma page donnant le nombre de solutions différentes pour le jeu. Pour vérifier la formule j’ai écrit des programmes en Turbo Pascal 7, qui génèrent des solutions dans un fichier texte, de vérifier si les solutions sont toutes différentes et de simuler pour vérifier si elles sont correctes. Si vous voulez, vous pouvez télécharger ces programmes. Tous doivent être clairement des commentaires dans les fichiers source et le document mentionné ci-dessus.

 


Erreur d’exécution 200

Les applications qui utilisent l’unité CRT peuvent générer ce message d’erreur lors de l’exécution sur des machines très rapides (comme le Pentium II 300 MHz). La cause de cette erreur est une boucle de synchronisation qui se produit dans le cadre de l’initialisation de l’unité CRT. Cette boucle de calendrier compte combien de graduations se produisent dans la boucle et ensuite ce nombre est divisé par 55. Le résultat de cette division est une valeur qui est trop volumineuses pour tenir dans une valeur entière. Le message d’erreur « Division par 0 » est l’erreur de fourre-tout qui s’affiche lorsque ce dépassement se produit.
Borland (appelé INPRISE maintenant) actuellement n’offre pas des correctifs pour résoudre ce problème. Heureusement, il y a des programmeurs qui le font. J’ai téléchargé un écrit par Dennis Passmore et il fonctionne parfaitement. Le patch contient un programme qui modifie les fichiers d’origine TURBO.TPL (et PPT.TPL pour cible protégée) de \BP\BIN. Dans le cas de Turbo Pascal, seulement de TURBO.TPL de \TP\BIN est modifiée. Dennis m’a donné une permission de l’utiliser, donc vous pouvez télécharger les fichiers de Pascal mis à jour deux nouveaux PPT.TPL TURBO &.TPL.
Alors si vous avez le même problème, télécharger les nouveaux fichiers et suivez ces instructions :
  • Créer un répertoire, copiez NEWTPLS.EXE dans ce répertoire et exécuter son expansion.
  • Si vous avez Turbo Pascal faire une copie de sauvegarde de TURBO.TPL (c’est en \TP\BIN) et copie le nouveau TURBO.TPL à \TP\BIN
  • Si vous avez Borland Pascal faire une copie de sauvegarde de TURBO.TPL et PPT.TPL (ils sont en \BP\BIN) et copiez le nouveau TURBO.TPL et PPT.TPL à \BP\BIN

Programmes Pascal

Turbo Pascal n’est pas le premier choix des programmeurs de système, parce que C et C++, vous pouvez écrire des programmes généralement plus rapides et plus courtes. Néanmoins, la différence n’est pas grande (le plus souvent négligeable), donc pour la plupart d’entre nous il n’y a en effet aucun besoin de quitter la programmation Pascal confortable. Compilateur Turbo Pascal est incroyablement rapide (sur mon vieux 486 Dx 33MHz je construire (recompile) et lier un programme composé de lignes environ 12000 en 20 sec). Structure claire des programmes Pascal avec aucun effet secondaire et son accès direct à toutes les ressources de l’ordinateur en font un outil idéal pour tout d’introduction à la programmation à des émissions de système avancé les sections critiques de temps peuvent être exprimées par des instructions de langage d’assemblage en ligne.
Pour le rendre encore plus utile, il est nécessaire d’ajouter le contrôle de la souris, et certains utilisés couramment routines comme allumer/éteindre le curseur de texte, dessin des boîtes en mode texte, conversion des chaînes en majuscules/minuscules, etc..
Si vous disposez de Turbo Pascal 7, vous pouvez télécharger ces fichiers :
exdbase.zip est une application de base de données simple. Apprendre à travailler avec des fichiers typés et gestion des fichiers de base.
showcloc.zip contient une procédure qui affiche l’heure sur l’écran de texte lors de l’exécution d’un programme. C’est un simple multitâche (c’est généralement pas pris en charge dans l’environnement MS-DOS). Le programme montre comment prendre le contrôle de l’interruption de la minuterie et l’utiliser pour mettre à jour de temps à l’écran.
commande de Mouse.zip de souris.
others.zip divers équipements utiles comme un cadre général pour les graphiques de Turbo Pascal, certaines routines générales comme la conversion de chaînes en majuscules/minuscules, récursivité (tours de Hanoi), etc..
exemples de datastru.zip sur les structures de données (A-level Computing).
exemples de Search.zip sur la recherche (A-level Computing).
Sorting.zip Exemples de tri (A-level Computing).
Notez que l’objectif principal lors de l’écriture de tous les programmes était de simplicité et de lisibilité, de pas de vitesse et d’économiser de la mémoire.

 


Installation

Tous les programmes Turbo Pascal que vous téléchargez à partir de cette page sont Zippés répertoires. Pour les développer, vous devez le programme pkunzip.exe. Il est disponible dans la plupart des bibliothèques de shareware essayez par exemple de Garbo. Pour développer, copiez le fichier que vous avez téléchargé (par exemple le mouse.zip de fichier) et pkunzip.exe dans un répertoire. Ensuite, vous avez deux options, comment développer :
pkunzip -d mouse
crée un sous-répertoire (dans cet exemple, souris) dans votre répertoire avec tous les fichiers.
pkunzip mouse
ne crée pas de n’importe quel sous-répertoire, tous les fichiers sont placés dans le répertoire courant. La plupart des répertoires contiennent des fichiers appelés readme.pas avec plus de détails.
N’hésitez pas à me contacter en cas de soucis.


La programmation orientée objet
Au A-level Computing et des syllabus similaires reposent sur la programmation structurée traditionnel. Certains (comme le Baccalauréat International et Advanced Placement Program) contiennent introduction à orienté programmation objet (POO), qui représente une alternative aux méthodes traditionnelles. Ce texte se veut une première introduction simple pour les grands principes de la POO pour les étudiants de niveau informatique et des cours similaires.
Ce sont les caractéristiques plus communément admises de la POO :
1. la dynamique de l’algorithme ou système s’exprime en termes d’objets (acteurs) qui existent en parallèle et qui interagissent entre eux. Chaque objet est représenté par :
attributs (également appelés attribut interne ou valeur)
Méthodes (également appelées actions ou les attributs de la procédure).
Les objets peuvent interagir de ces façons :
accès direct aux attributs
mutuelle de l’appel de méthodes.
Simplement parler : Object = Data + Procedures qui s’appelle l’Encapsulation. Très souvent les données de l’objet ou une partie de celui-ci est masquée et valeurs peuvent être consultés et modifiées uniquement par le biais de méthodes (bien définis). Ce concept est appelé masquage de l’Information.
2. similaires (acteurs) soient regroupés pour les classes de ce qu’on appelle aussi appelés prototypes. Une classe décrit les objets qui ont les mêmes attributs et méthodes. Une déclaration de classe est interprétée comme un modèle. Il est possible de créer un nombre illimité d’objets individuels (acteurs) appelé les instances d’objet. Instances peuvent différer dans les valeurs de leurs attributs. Il est nécessaire de faire une nette différence entre une classe en tant que telle et les instances d’objet générés selon la déclaration de classe. Une classe peut également être interprétée comme une connaissance de certains types d’objets. Une telle connaissance est représentée par une partie des données et les opérations pouvant être exécutées sur les données.
Remarque : En Turbo Pascal (et aussi d’autres langages de programmation orientée objet) classes sont appelés « objets ». Heureusement cela a été corrigé dans Delphi, qui utilise le terme correct “classe” (soit dit en passant ce terme a été tout d’abord utilisé dans ce contexte par le langage Simula il y a 30 ans).
3. les objets peuvent être classés hiérarchiquement par l’héritage qu’on appelle (c’est peut-être le principe le plus important de la POO, soutenir la création de bibliothèques d’objets basée sur la réutilisation du code à des niveaux inférieurs de la hiérarchie). Très souvent la sous-classe de terme est introduite. Sous-classe d’une classe X Y hérite de tous les attributs et les méthodes de la classe X. Sa déclaration peut ajouter n’importe quel nombre de méthodes et attributs supplémentaires. Une sous-classe peut servir une classe parente d’autres sous-classes, etc.. Une sous-classe peut être interprétée comme une connaissance plus détaillée que celle définie par la classe parente. Si la classe parente représente une connaissance générale, qui soient plus spécialisés par des déclarations de sous-classes dans n’importe quel nombre d’étapes. En général, il est possible de déclarer des variables de référence qui peuvent faire référence à une instance de la classe certain et aux instances de toutes ses sous-classes. Il pourrait être souhaitable, que certaines méthodes se comportent ensuite de manière différente selon l’actuelle instance d’objet référencé, qui peut-être changer dynamiquement pendant l’exécution du programme. Ce concept appelé polymorphisme est pris en charge par le mécanisme appelé liaison tardive et les méthodes impliqués sont appelées des méthodes virtuelles, qui peuvent changer à tous les niveaux de la hiérarchie.
Télécharger les deux fichiers suivants qui contiennent des unités avec des objets et exemples d’utilisation de démonstration. Lire les commentaires dans des programmes pour apprendre les principes de la POO. Vous pouvez trouver les deux unités utiles dans vos projets.
oopwint.zip Windows en mode texte.
oopwing.zip Windows dans le graphisme.


Problèmes avec des graphismes ?
Trop souvent, j’ai entendu cette question: “mon programme avec beaux graphismes travaille à l’école, mais pas sur un autre ordinateur. Quel est le problème? “.
Il y a deux cas :
I. tout d’abord nous allons assumer, que l’autre ordinateur a installé Turbo Pascal 7 (la version est importante si vous avez des vieux programmes, recompilez-les en environnement TP7). Il peut tromper trois choses :
1. BGI et/ou CHR corrompus.
2. paramètre mauvais répertoire de la procédure de InitGraph. Notez que Turbo Pascal peut être installé dans différent \TP répertoire (par exemple \TP7) et noter également la différence entre C:\TP et C:TP.
3. pas assez de mémoire pour charger des fichiers BGI et CHR s’assurer que la capacité du tas lors de l’initialisation de graphiques et de chargement d’un fichier de polices rayées sont suffisante.
II. l’autre ordinateur n’a pas de Turbo Pascal. Il y a deux façons de rendre le fichier EXE avec graphiques de travail :
1. transférer le fichier EXE avec le fichier BGI et fichiers de CHR et assurez-vous qu’ils sont dans le répertoire approprié le même qui est utilisé dans InitGraph appeler.
2. convertir le fichier BGI et les fichiers de CHR au format OBJ et les lier à votre programme. Votre fichier EXE travaillera ensuite sur n’importe quel PC avec la carte graphique compatible avec votre fichier BGI (pratiquement tous les PC dans le cas de EGAVGA.Fichier BGI). Vous pouvez télécharger le fichier linkgr.zip qui contient une unité aux procédures que charger et initialiser des graphiques ainsi que tous les fichiers OBJ standards, que vous aurez besoin.
N’hésitez pas à me contacter si ce qui précède toujours n’aide pas.

 

Coin des étudiants
Cet endroit est réservé aux étudiants qui a écrit des programmes intéressants et qui sont prêts à partager leur expérience avec d’autres. Tous les programmes inclus ici sont ware gratuit. Téléchargez-les pour apprendre certains moins trivial programmation de Turbo Pascal. Si vous avez intéressant programme (s) et sont prêts à leur offrir à d’autres, contacter l’auteur de la page. Votre contribution sera très appréciée. Voici donc les étudiants qui ont jusqu’à présent contribué à cette « banque de programmes » :
Mon ami fanfan Tamer a écrit une unité qui illustre l’utilisation de la programmation orientée objet, lors de la résolution des problèmes de gestion d’image bitmap. Fonctions sont les suivantes :
  • Soutien pour les images bitmap compressés/non-compressed windows
  • Support pour 4, 8 et 24 bits windows bitmap
  • Prise en charge pour l’Extraction de Palette de Bitmap
  • Diffusion d’erreur
Limites (pour être retiré bientôt) :
  • Taille de l’image doit être inférieure à 65K
Télécharger le fichier bitmaps.zip qui contient le fichier de source d’unité.
Sven Neumann (KILLROY) est un programmeur brillant particulièrement intéressé par très rapide graphisme et animation (pour cela, qu’il a écrit ses propres unités en langage d’assemblage). Ici vous pouvez télécharger plusieurs programmes qui montrent la belle animation et clavier de contrôle en mode texte (hanoi.pas) et animation des graphismes impressionnants rapide 3D basé sur un accès direct à la mémoire vidéo. (Quelle compilation PAS fichiers interrupteur gamme cochant). N’hésitez pas à communiquer avec Sven pour plus d’informations.
Au cours de laboratoires, j’ai recueilli quelques programmes avec beaux graphismes. Ils sont laissés (certains sans mise en retrait) comme ils ont été écrits. Lors de la compilation, quitter la plage et le contrôle de dépassement. Je ne sais pas (prénoms) des auteurs donc il peut arriver, que vous trouverez votre programme ici. Dans ce cas me contacter, pour ajouter des infos sur l’auteur.

 

Interpréteur Lisp gratuit
Andrew Duncan (maintenant étudiant de l’Université de Malte) a mis au point un Lisp interprète en Turbo Pascal appelé Quicklisp comme son projet de niveau et est prêt à faire de ce freeware. Il croit et il a raison que les plus d’utilisateurs, les bugs plus rapides peuvent être trouvées.
Quicklisp est un simple interpréteur de Lisp qui est idéal pour l’apprentissage du langage Lisp, les bases de l’IA, calcul symbolique et programmation fonctionnelle généralement. Par exemple, il peut être un outil approprié pour les tuteurs de niveau. Ses caractéristiques comprennent :
  • Interface facile à utiliser de GUI
  • Gestion des fichiers
  • Aide en ligne
  • Tutoriels et exemples de programmes
  • Installations simple trace pour le débogage
  • Près de support standard de Lisp
Plein a commenté source en Pascal est inclus qui compilera sur TP7 (mode réel) ou BP7 (DPMI permet à des programmes plus gros). S’il vous plaît envoyer une description de tous les bogues trouvés à adun001@um.edu.mt afin que qu’ils peuvent être fixés dans la prochaine version. Si vous avez des problèmes et/ou questions, bien sûr communiquer avec Duncan.
Vous pouvez téléchargez Quicklisp.

Comments are closed.