La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

G. Mecca – Università della Basilicata – Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.1.

Presentazioni simili


Presentazione sul tema: "G. Mecca – Università della Basilicata – Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.1."— Transcript della presentazione:

1 G. Mecca – Università della Basilicata – Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

2 2 G. Mecca - Programmazione Procedurale in Linguaggio C++ Sommario m Un Altro Esempio: Il FORTRAN 77 Struttura del Programma Tipi di Base Dichiarazioni Assegnazioni Istruzioni di Lettura e Stampa Elementi di Base: Conclusioni >> Sommario

3 3 G. Mecca - Programmazione Procedurale in Linguaggio C++ Un Altro Esempio: Il FORTRAN m Gli stessi concetti sono alla base di tutti i linguaggi di programmazione procedurale m Esempio: il FORTRAN 77 linguaggio di più antica concezione conserva alcune caratteristiche legate allinformatica degli anni 50 recentemente: FORTRAN 90 m Attenzione le differenze sono principalmente sintattiche Elementi di Base: Conclusioni >> FORTRAN

4 4 G. Mecca - Programmazione Procedurale in Linguaggio C++ Elementi di Base: Conclusioni >> FORTRAN C------Calcolo della superficie del cerchio program primo program primoC------Dichiarazioni real pigreco real pigreco parameter (pigreco=3.14) parameter (pigreco=3.14) integer raggio integer raggio real cerchio, circonf real cerchio, circonfC------Operazioni write(*,*) 'Immetti la lungh. del raggio' write(*,*) 'Immetti la lungh. del raggio' write(*,*) '(deve essere un numero intero)' write(*,*) '(deve essere un numero intero)' read(*,*) raggio read(*,*) raggio cerchio = raggio*raggio*pigreco cerchio = raggio*raggio*pigreco circonf = 2*pigreco*raggio circonf = 2*pigreco*raggio write(*,*) 'La circonferenza misura', circonf write(*,*) 'La circonferenza misura', circonf write(*,*) 'Il cerchio ha superficie', cerchio write(*,*) 'Il cerchio ha superficie', cerchio stop stop end end Un Semplice Programma in FORTRAN 77

5 5 G. Mecca - Programmazione Procedurale in Linguaggio C++ Struttura del Programma m Principali differenze program comincia con la parola chiave program stopend finisce con stop ed end non ci sono direttive di inclusione non si usa il punto e virgola le stringhe si scrivono tra apici singoli particolare disposizione del codice Elementi di Base: Conclusioni >> FORTRAN

6 6 G. Mecca - Programmazione Procedurale in Linguaggio C++ Struttura del Programma m In generale il FORTRAN 77 è decisamente più rigido degli altri linguaggi nella disposizione del codice m Esempio tutte le istruzioni di dichiarazione devono comparire prima delle operazioni non è possibile mischiarle in C++, viceversa, è possibile farlo (dichiarazioni in mezzo alle operazioni) Elementi di Base: Conclusioni >> FORTRAN

7 7 G. Mecca - Programmazione Procedurale in Linguaggio C++ Struttura del Programma m Altro esempio scrittura delle istruzioni sulle righe dello schermo m In particolare è possibile specificare una sola istruzione su ogni riga (errori sintattici) non è possibile utilizzare liberamente le colonne della riga uso riservato delle colonne da 1 a 6 Elementi di Base: Conclusioni >> FORTRAN

8 8 G. Mecca - Programmazione Procedurale in Linguaggio C++ Struttura del Programma m Utilizzo delle colonne colonne da 1 a 5: riservate alle etichette colonna 6: serve per spezzare le istruzioni colonne da 7 a 72: istruzioni colonne da 73 in poi: ignorate commenti: C in colonna 1 m E necessario rispettare i vincoli errori sintattici Elementi di Base: Conclusioni >> FORTRAN

9 9 G. Mecca - Programmazione Procedurale in Linguaggio C++ Struttura del Programma Elementi di Base: Conclusioni >> FORTRAN colonne destinate alle etichette colonna 6 per spezzare le istruzioni colonne destinate alle istruzioni colonne ignorate C Questa e una riga di commento program primo integer i do 500 i=1, continue write (*,*) Istruzione * molto lunga stop end

10 10 G. Mecca - Programmazione Procedurale in Linguaggio C++ Tipi di Base del FORTRAN 77 m Numeri tipo INTEGER (int): 16 bit in complemento a 2 tipo REAL (float): 32 bit in virgola mobile tipo DOUBLE PRECISION (double): 64 bit in v.m. m Caratteri tipo CHARACTER (char): 8 bit in codice ASCII tipo CHARACTER*n per le stringhe: n*8 bit ASCII m Booleani.true..false. tipo LOGICAL (bool): 1 bit; valori.true..false. Elementi di Base: Conclusioni >> FORTRAN

11 11 G. Mecca - Programmazione Procedurale in Linguaggio C++ Dichiarazioni in FORTRAN 77 m Costanti si dichiarano in due passi primo passo: tipo della costante parameter ( = ) secondo passo: valore della costante si utilizza parameter ( = ) m Variabili si dichiarano esattamente come in C++ Elementi di Base: Conclusioni >> FORTRAN

12 12 G. Mecca - Programmazione Procedurale in Linguaggio C++ Assegnazioni in FORTRAN 77 m Assegnazioni semantica uguale a quella del C++ leggere differenze sintattiche m Esempio: operatori == != > = = <= && || ! && || !.eq..ne..gt..lt..ge..le. FORTRAN:.eq..ne..gt..lt..ge..le..and..or..not..eqv..neqv..and..or..not..eqv..neqv. ((anno.eq.1).and.(matricola.gt.15000)) es: ((anno.eq.1).and.(matricola.gt.15000)) Elementi di Base: Conclusioni >> FORTRAN

13 13 G. Mecca - Programmazione Procedurale in Linguaggio C++ Istruzioni di Lettura e Stampa in F77 m Istruzioni di stampa write(*,*),,... write(*,*),,... stampa sul flusso standard di uscita (schermo) le stringhe costanti vanno tra apici singoli Immetti la lungh. del raggio es: Immetti la lungh. del raggio m ATTENZIONE agli apostrofi nelle stringhe devono essere raddoppiati Ecco il valore dellanno Ecco il valore dellanno Elementi di Base: Conclusioni >> FORTRAN

14 14 G. Mecca - Programmazione Procedurale in Linguaggio C++ Istruzioni di Lettura e Stampa in F77 m Istruzioni di lettura read (*,*) read (*,*) legge dal flusso standard di ingresso (tastiera) eseguono un input formattato (con qualche piccola differenza) es: per istruzioni di lettura diversa i dati vanno forniti su righe diverse Elementi di Base: Conclusioni >> FORTRAN cerchiof.for >>

15 15 G. Mecca - Programmazione Procedurale in Linguaggio C++ Riassumendo m Un Altro Esempio: Il FORTRAN 77 Struttura del Programma Tipi di Base Dichiarazioni Assegnazioni Istruzioni di Lettura e Stampa Grandi differenze nella sintassi Piccole differenze nella semantica Elementi di Base: Conclusioni >> Sommario

16 16 G. Mecca - Programmazione Procedurale in Linguaggio C++ Elementi di Base: Conclusioni >> Ricapitolazione // Calcolo della superficie del cerchio #include #include void main() { // Dichiarazioni // Dichiarazioni const float pigreco=3.14; const float pigreco=3.14; int raggio; int raggio; float cerchio, circonf; float cerchio, circonf; // Operazioni // Operazioni cout << Immetti la lungh. del raggio << endl; cout << Immetti la lungh. del raggio << endl; cout << (deve essere un numero intero) << endl; cout << (deve essere un numero intero) << endl; cin >> raggio; cin >> raggio; cerchio = raggio*raggio*pigreco; cerchio = raggio*raggio*pigreco; circonf = 2*pigreco*raggio; circonf = 2*pigreco*raggio; cout << La circonferenza misura: << circonf << endl; cout << La circonferenza misura: << circonf << endl; cout << Il cerchio ha superficie: << cerchio << endl; cout << Il cerchio ha superficie: << cerchio << endl;} Un Semplice Programma

17 17 G. Mecca - Programmazione Procedurale in Linguaggio C++ Elementi di Base: Conclusioni >> FORTRAN C------Calcolo della superficie del cerchio program primo program primoC------Dichiarazioni real pigreco real pigreco parameter (pigreco=3.14) parameter (pigreco=3.14) integer raggio integer raggio real cerchio, circonf real cerchio, circonfC------Operazioni write(*,*) 'Immetti la lungh. del raggio' write(*,*) 'Immetti la lungh. del raggio' write(*,*) '(deve essere un numero intero)' write(*,*) '(deve essere un numero intero)' read(*,*) raggio read(*,*) raggio cerchio = raggio * raggio * pigreco cerchio = raggio * raggio * pigreco circonf = 2 * pigreco * raggio circonf = 2 * pigreco * raggio write(*,*) 'La circonferenza misura', circonf write(*,*) 'La circonferenza misura', circonf write(*,*) 'Il cerchio ha superficie', cerchio write(*,*) 'Il cerchio ha superficie', cerchio stop stop end end Un Semplice Programma in FORTRAN 77

18 18 G. Mecca - Programmazione Procedurale in Linguaggio C++ Termini della Licenza m This work is licensed under the Creative Commons Attribution- ShareAlike License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. Termini della Licenza m Questo lavoro viene concesso in uso secondo i termini della licenza Attribution-ShareAlike di Creative Commons. Per ottenere una copia della licenza, è possibile visitare oppure inviare una lettera allindirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Scaricare ppt "G. Mecca – Università della Basilicata – Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.1."

Presentazioni simili


Annunci Google