Deși se spunea că limbajul FORTRAN are multe constrângeri, lucrul cu șirurile de caractere este posibil, chiar dacă acest limbaj nu are tipul de date char așa cum are limbajul C++. Mă voi referi la cartea referită prin:
Petre DIMI - Programarew în FORTRAN, Editura Didactică și Pedagogică, București, 1971, 298 pag.
La pagina 87 este prezentat descriptorul de format H precedat de un număr întreg n care arată numărul de caractere care se vor imprima. Dacă avem instrucțiunea:
Petre DIMI - Programarew în FORTRAN, Editura Didactică și Pedagogică, București, 1971, 298 pag.
La pagina 87 este prezentat descriptorul de format H precedat de un număr întreg n care arată numărul de caractere care se vor imprima. Dacă avem instrucțiunea:
WRITE(3,12)
12 FORMAT(10HXXXXXXXXXX)
execuția acestei secvențe conduce la imprimarea a 9 caractere:
XXXXXXXXX
Dacă pe o cartelă sunt perforate caracterele:
123456789AB
și scriem secvența:
WRITE(3,12)
12 FORMAT(10HXXXXXXXXXX)
READ(1,12)
WRITE(3,12)
efectul este:
XXXXXXXXX
23456789
Șirurile de caractere nu sunt memorate pentru inițializarea de variabile și deci programatorul nu are posibilitatea să facă el ce vrea cu aceste caractere, din moment ce nu se inițializează variabile.
La pagina 95 este arătată modalitatea prin care programatorul tipărește șiruri de caractere (litere mari, cifre și alte caractere speciale) în secvența de instrucțiuni:
WRITE(3,7)
7 FORMAT( 'I', 'TABLOUL REZULTATELOR')
Va apre scris TABLOUL REZULTATELOR
Primul caracter din format are un rol explicat frumos de Petre DIMO în raport cu convențiile limbajului FORTRAN.
Inițializarea datelor cu valori alfanumerice este exemplificată la pagina 246 prin instrucțiunea:
DATA(A(I),I=1,3)/1.22,1.3,1.4/1HA/
ceea ce duce la inițializările:
A(1)=1.1
A(2)=1.2
A(3)=1.3
X = A (caracterul alfabetic A)
La pagina 260, secvența:
INTEGER BLANC
DATA BLANC /1H /
atribuie caracterul spațiu variabilei BLANC.
Secvența:
READ(1,11) CARTA,CARTB
11 FORMAT(2A4)
inițializează variabilele CARTA și CARTB cu câte 4 caractere alfanumerice perforate pe cartele.
Se deschide în acest fel drumul la a folosi modul de constituire a șirului de baiți consecutivi în masivele unidimensionale și inițializarea cu caracterele de definire ale unui format. Dacă se definește un masiv unidimensional D care se inițializaează folosind ceea ce are descrierea unei cartele FORMAT și se va scrie secvența:
READ(1,10)(D(I), I=1,10)
10 FORMAT(10A4)
READ(1,11)(X(I), I=1,N)
11 FORMAT(D)
se obține inițalizarea masivului unidimensional X cu date de format variabil de la problemă la problemă.
Limbajul FORTRAN, așa cum a fost prezentat de Petre DIMO în cartea lui, chiar rezolvă orice problemă ar avea un programator cu pretenții.
(01 septembrie 2026)
No comments:
Post a Comment