• LINGUAGGI DI PROGRAMMAZIONE
∗ Assembler.
intro1_04 1
∗ Link (Incorpora nel programma oggetto tutti i sottoprogrammi
◊ Vantaggi
◊ Svantaggi.
intro1_04 2
♦IL CODICE FORTRAN (FORmula TRANslation)
Ideato negli anni ’50 da John Backus( IBM) fu fra i primi linguaggi di
programmazione.
linguaggio universale.
fortran.
successo.
intro1_04 3
♦IL CODICE BASIC.
♦IL CODICE C.
oggi buona parte dei sistemi operativi, che storicamente erano scritti in
assembler.
intro1_04 4
♦IL CODICE JAVA.
ma dei file class che sono interpretati dalla JVM ( Java Virtual
♦ IL CODICE MATLAB
programmazione.
scritta in Fortran.
intro1_04 5
L’attuale versione di MATLAB è scritta in linguaggio C e dispone di un
matematiche.
Pregi:
Difetti:
Eccessivo costo;
Scarsa trasportabilità;
intro1_04 6
STILE DI PROGRAMMAZIONE
intro1_04 7
SVILUPPO DEI PROGRAMMI
Progettazione algoritmo
Compilazione
FL32 xxxx.FOR
xxxx.OBJ
LINK xxx.OBJ
xxx.EXE
intro1_04 8
FORTRAN
• Un Codice Fortran è
costituito da un programma principale
MASTER e da eventuali sottoprogrammi di tipo SUBROUTINE o di
tipo FUNCTION.
• Tipi di Dati :
DO I=J,k,L
...................... IF( A.LT.B .AND. C.GT.D ) exit
...................... IF(A.GT.B .OR. C.LT.D ) cycle
END DO
DIMENSION A(10),B(10,10),C(10,10,10)
INTEGER D(10),E(100,100)
REAL K(10,10)
DOUBLE PRECISION G(100)
COMMON F(100),H(10),J(10)
COMPLEX B(10),R(10,10)
LOGICAL S(10),T(100)
intro1_04 10
∗ Istruzione EXTERNAL avverte il compilatore che FB e DIFF non
sono nomi di variabili ma di funzioni .
EXTERNAL FB,DIFF
...................................
INT1 = SIMPS (A,B,N,FB)
INT2 = SIMPS (A,B,N,DIFF)
END
• IMPORTANTE
LOGICAL *1 1 byte
INTEGER*2 2 byte
INTEGER,REAL,LOGICAL 4 byte
REAL*8,COMPLEX*8 8 byte
DOUBLE PRECISION 8 byte
REAL*16,COMPLEX*16 16 byte
COMPLEX *32 32 byte
intro1_04 11
• FUNZIONI DI LIBRERIA
EXP,DEXP,CEXP Reale,Doppia,Complessa ea
ALOG,DLOG,CLOG loge(a)
ALOG10,DLOG(10) log10(a)
SIN,DSIN,CSIN sen(a)
COS,DCOS,CCOS cos(a)
TAN,DTAN tan(a)
SINH,DSINH sinh(a)
COSH,DCOSH cosh(a)
TANH,DTANH tanh(a)
SQRT,DSQRT,CSQRT √a
ASIN,DASIN arcsin(a)
ACOS,DACOS arccos(a)
ATAN,DATAN arctan(a)
ATAN2,DATAN2 arctan(a1/a2)
intro1_04 12
AMOD( argomenti reali - funzione reale ) a1-[a1/a2]*a2
MOD ( argomenti interi - funzione intera ) numero argomenti = 2
DMOD( argomenti doppi - funzione doppia ) a1(mod a2)
intro1_04 13
SISTEMI DI NUMERAZIONE.
BINARIA 01
OTTALE...............0 1 2 3.......7
ESADECIMALE 0 1 2 3.......9 A B C D E F
DECIMALE BINARIO
15 1111
BINARIO DECIMALE
1111 1 * 2 + 1 * 2 2 + 1 * 21 + 1 * 2 0 = 15
3
BINARIO OTTALE
1 111 17
BINARIO ESADECIMALE
1111 F
1byte = 8bit
intro1_04 14