APPLICATIONSPROGRAMMATION ★ PASCAL FACE AU BASIC ★

Pascal Face Au BasicApplications Programmation
Dans la bibliothèque des logiciels pour AMSTRAD, il existe un compilateur PASCAL relativement performant.

Nous avons choisi, pour vous montrer l'intérêt d'un tel programme, de résoudre un problème complexe : la transformée rapide de FOURIER. La version PASCAL compilée montre bien les performances de ce langage face à la lenteur du Basic interprété.

Les deux programmes qui suivent sont écrits dans deux langages différents : BASIC et PASCAL et traitent d'un même problème, le tracé du spectre d'un signal après calcul de sa transformée de FOURIER.

Rappelons que la transformée de FOURIER permet d'obtenir une représentation en fréquence d'un signal. Cette représentation est donnée par l'analyseur de spectre qui visualise l'amplitude des composantes d'un signal en fonction de la fréquence, alors que l'oscilloscope visualise l'amplitude du signal en fonction du temps. Lorsque le signal est périodique, le spectre se compose de raies. Il existe différents algorithmes qui permettent de retrouver rapidement les composantes de ce spectre à partir d'une suite d'échantillons d'amplitude d'un signal échantillonné dans le temps. Afin de minimiser le nombre des calculs à effectuer, nous utiliserons un algorithme de transformée de FOURIER rapide utilisant la méthode du dédoublement des échantillons. Mais le but de ces quelques lignes n'est pas de refaire une étude de la transformée de FOURIER rapide, mais d'en donner une application sur CPC 464 en Basic interprété et en Pascal, afin de montrer l'intérêt d'un langage compilé et de montrer la souplesse d'utilisation du Pascal sur AMSTRAD. Dans les deux listings, nous retrouvons pratiquement les mêmes instructions à la différence de syntaxe près. Nous trouvons en plus, au début du listing Pascal, les déclarations de procédures graphiques nécessaires au tracé du spectre et du signal temporel.

On remarquera au passage que l'utilisation de toutes les possibilités graphiques de l'AMSTRAD est aisée en Pascal et qu'il en va de même pour le son ou les interruptions. Ceci est dû à l'existence de variables prédéclarées correspondant aux registres du Z80 et à la procédure USER qui permet comme en Basic l'appel d'un sous-programme en langage machine. Pour les deux listings nous retrouvons les blocs suivants : - Calcul des échantillons d'un signal temporel. Ici, c'est un signal rectangulaire avec un facteur de forme de 1/6 sur deux périodes ; en BASIC, le nombre d'échantillons est entré au clavier sous la forme d'une puissance de deux (ceci est lié à l'algorithme de FFT utilisé). En Pascal, ce nombre est fixé à 256 par la CONSTANTE SIZE ; pour le modifier, il suffit de changer l'affectation de SIZE.

  • Tracé du signal temporel après avoir tracé le cadre.
  • Tri des échantillons en binaire réfléchi (nécessaire avant le calcul de la transformée).
  • Calcul du spectre de puissance.
  • Recherche de la puissance maximale pour calibrer les échelles du tracé du spectre.
  • Tracé du spectre.

Le programme BASIC met 105 secondes pour calculer la FFT sur 256 points alors que le programme PASCAL met 20 secondes. Nous voyons donc que le gain de temps n'est pas négligeable. Il faut cependant savoir que cet exemple n'est pas en faveur du Pascal, car il y a un grand nombre de sinus à calculer et que le temps de calcul d'un sinus est important et pratiquement identique en Pascal et en Basic. Rappelons que le Pascal utilisé est le Pascal Hisoft sur cassette. Ce Pascal est très intéressant par son rapport performance/prix. Notons toutefois pour ceux qui ne l'ont pas utilisé, qu'il ne possède pas la notion de fichiers, et que les WRITE ou les READ se font vers l'écran et depuis le clavier. Il ne connaît donc pas INPUT, OUTPUT. De même, cet exemple ne traite pas les principaux avantages du langage Pascal qui sont la redéfinition de type, les enregistrements et les pointeurs. Nous reviendrons plus en détail sur Pascal dans nos prochains numéros.

CPC n°1 Juillet 85

★ ANNÉE: 1985
★ CONFIG: ???
★ LANGAGE:
★ LiCENCE: COMMERCIALE

★ AMSTRAD CPC ★ DOWNLOAD ★

Files:
» Borland-TURBO  Pascal  v1.0    ENGLISHDATE: 2013-08-04
DL: 403
TYPE: ZIP
SiZE: 64Ko
NOTE: CPM 2.2 bootloader/Extended DSK/40 Cyls
.HFE: Χ

» Borland-TURBO  PASCAL  v3.00A    ENGLISHDATE: 2013-08-04
DL: 731
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: 691
TYPE: ZIP
SiZE: 80Ko
NOTE: CPM bootloader/Extended DSK/40 Cyls
.HFE: Χ

Adverts/Publicités:
» Borland-Fraciel-Turbo  PascalDATE: 2015-07-29
DL: 556
TYPE: image
SiZE: 186Ko
NOTE: w813*h1126

» Borland-Fraciel-Turbo  Pascal  et  ses  Toolbox    FRENCHDATE: 2023-08-05
DL: 25
TYPE: image
SiZE: 649Ko
NOTE: w2320*h1676
 
» Turbo  Pascal-Turbo  3.0  Schneider  CPC  464    GERMANDATE: 2018-10-02
DL: 129
TYPE: image
SiZE: 339Ko
NOTE: Uploaded by hERMOL ; w1103*h1559

» Turbo  Pascal-Turbo  3.0  Schneider  CPC    GERMANDATE: 2015-01-08
DL: 274
TYPE: image
SiZE: 334Ko
NOTE: w788*h1098

Media/Support:
» Turbo  Pascal  Fraciel    (Release  DISC)    ENGLISHDATE: 2017-07-23
DL: 244
TYPE: image
SiZE: 46Ko
NOTE: Uploaded by hERMOL ; w680*h438

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
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 169 millisecondes et consultée 4322 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.