Fortran in pillole : prima parte



Похожие документы
Sviluppare un programma in FORTRAN

II Esercitazione: S.O. & Fortran 77

EXCEL software Excel .xlxs, La cella intestazione della colonna intestazione di righe l indirizzo della cella testo numeri formule

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO

Lezione 6 Introduzione al C++ Mauro Piccolo

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Programmazione con il linguaggio LibreOffice Basic

Array in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Introduzione alla programmazione in linguaggio C

Annamaria Mazzia. Corso di Metodi Numerici per l Ingegneria dispense e altro materiale su

Appunti di SISTEMI OPERATIVI

INTRODUZIONE AL LINGUAGGIO DI PROGRAMMAZIONE PASCAL. Per iniziare lo studio del linguaggio di programmazione pascal, consideriamo il seguente esempio.

Fortran per Ingegneri

Breve guida al linguaggio FORTRAN 77

Modularizzazione del software

Linguaggi, Traduttori e le Basi della Programmazione

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Primi passi col linguaggio C

LEZIONE 11 IMPARIAMO A PROGRAMMARE: I DATI E LE VARIABILI Laboratorio di Informatica per l Educazione A. A. 2014/2015

Il calcolatore. Architettura di un calcolatore (Hardware)

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Introduzione a Matlab

Caratteristiche di un linguaggio ad alto livello

Dalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo

Fondamenti di Informatica T-1

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Come ragiona il computer. Problemi e algoritmi

La programmazione in linguaggio C

Introduzione alla compilazione ed esecuzione di programmi C con IDE Dev-C++

Qualsiasi programma in C++ segue lo schema:

LA CODIFICA DELL INFORMAZIONE

Elementi di Base. Introduzione a Python.

UD 3.2b: Programmazione in Pascal (1)

A.A Laboratorio n 1 Ing. Gian Enrico Conti. Milano, XX mese 20XX

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Corso sul linguaggio C

Транскрипт:

Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria

Introduzione al Fortran Un libro consigliato per imparare il Fortran: Flavio Sartoretto e Mario Putti Introduzione alla Programmazione per Elaborazioni Numeriche Edizioni Libreria Progetto Padova 2008 Il materiale di queste lezioni verrà messo di volta in volta in rete su http://dispense.dmsa.unipd.it andare poi alla voce Mazzia o Gambolati e poi sul corso di metodi numerici per la laurea specialistica in Ing. Meccanica e Ing. dell Energia A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 2 / 12

Come si scrive e si esegue un programma in FORTRAN? si scrive il programma sorgente in un file (con un editor di testo e gli si dà un nome con l estensione.f se lavoriamo in FORTRAN77 o.f90 se lavoriamo in FORTRAN90... ) il programma deve essere compilato, deve cioè essere tradotto in linguaggio macchina se il nostro programma chiama altri programmi (per esempio programmi di libreria) allora bisogna collegarli tra loro - linkarli si ha in questo modo il programma eseguibile si può eseguire il programma e ottenere i risultati Per semplicità spiegheremo il FORTRAN77 - ma il passaggio dal FORTRAN77 al FORTRAN90 diventa semplice, per chi vuole, se si sa bene il FORTRAN77. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 3 / 12

Il FORTRAN sul proprio computer Per chi ha un sistema operativo Linux sul proprio computer, - Debian, Ubuntu, etc - ci si può installare un compilatore FORTRAN sul proprio computer molto facilmente - per esempio il gfortran. Per chi ha Windows, ci sono compilatori free che si possono scaricare dalla rete, per esempio su cygwin.com c è il compilatore g77. Oppure, da un altro sito si può scaricare il Fortran Force2.0.8. Tutti i dettagli sono messi sul sito delle dispense. Per poter compilare ed eseguire un programma FORTRAN, abbiamo quindi bisogno di un compilatore - sia esso gfortran o g77 o f77 o altro ancora. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 4 / 12

Supposto di aver scritto il programma prova.f - mediante un editor di testo - per rendere eseguibile il programma, lanceremo il comando su una finestra di shell (in ambiente linux o tramite cygwin) o interattivamente con il Force2.0.8. Nel caso in cui i comandi vanno lanciati mediante una finestra di shell, si ha - per esempio: $ g77 -o esegui prova.f Chiamamo esegui il file eseguibile creato durante la compilazione. A questo punto possiamo eseguire il programma con il comando: $ esegui Oppure - a seconda della macchina - $./esegui Vediamo un esempio di programma prova.f A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 5 / 12

Primi comandi In FORTRAN77 tutte le istruzioni vanno scritte tra la 7-ima e la 72-sima colonna. le colonne da 1 a 6 hanno un significato particolare. Per ora ci interessa sapere che sulla colonna 1 si mette una C o! o un altro simbolo se poi si vuole scrivere un commento sulla colonna 6 si mette un carattere qualsiasi (meglio lettere dell alfabeto) se l istruzione che si è scritta sulla riga precedente è troppo lunga e si deve andare a capo. Esempio. Torniamo al programma prova.f A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 6 / 12

Istruzioni program e end Il programma che abbiamo scritto inizia con program prova. Stiamo scrivendo un programma e diamo ad esso un nome. Il programma termina con l istruzione end. Tutti i programmi devono iniziare con l istruzione program e finire con l istruzione end A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 7 / 12

Operare con le variabili Vogliamo scrivere un programma che trasforma un angolo da gradi a radianti. Abbiamo bisogno dell angolo espresso in gradi, primi e secondi e dobbiamo restituire il valore in radianti. A tal fine abbiamo bisogno di 4 variabili, che chiamiamo xgradi, xprimi, xsecondi, xradianti. Ciascuna di queste variabili occuperà un posto - o locazione - di memoria nel calcolatore. A seconda che la variabile sia dichiarata poi intera, reale o complessa, cambia il tipo di locazione di memoria che tale variabile occuperà. Nel nostro caso, dichiariamo come intere le variabili relative all angolo in grado e come reale la xradianti. Siccome vogliamo i risultati in doppia precisione, scriveremo real*8. Vediamo il programma. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 8 / 12

Osservazioni L istruzione implicit none dice che nessuna variabile può essere dichiarata implicitamente. Quindi dobbiamo dichiarare tutte le variabili, altrimenti avremo un messaggio di errore durante la compilazione. É importante dichiarare tutte le variabili per evitare errori - per esempio se una variabile é dichiarata come xold e poi scriviamo x0ld, con l implicit none ci viene segnalato l errore. Senza implicit none non ci viene segnalato l errore ma i risultati che avremo saranno inattendibili perchè non possiamo sapere quale valore sarà stato dato alla variabile x0ld. I valori delle variabili sono date mediante i comandi di write e di read - mediante terminale, da tastiera. Il risultato è stampato sulla finestra di shell. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 9 / 12

Osserviamo che le frasi che vogliamo mostrare sulla finestra di terminale sono scritte tra apici (usare il simbolo dell apostrofo ). Vedremo che sarà molto più utile leggere i dati di input da un file esterno e scrivere i dati di output su un file. Per scrivere π = 3.14159265 utilizziamo la formula 2.0d0*dasin(1.0d0) dove dasin è una funzione intrinseca del FORTRAN che fornisce l arcoseno in doppia precisione. Tutti i numeri interi li abbiamo scritti con l estensione.0d0 quando il risultato deve essere in doppia precisione, in modo da avere risultati più accurati. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 10 / 12

I tipi di dati Le variabili possono essere intere, reali, logiche (il risultato può essere solo vero o falso), complesse, di carattere (stringhe di caratteri). Al momento ci interessa: integer variabile intera real real*8 double precision logical variabile reale in precisione semplice variabile reale in doppia precisione occupa esattamente 8 byte di memoria variabile reale in doppia precisione accuratezza diversa a seconda della macchina usata variabile logica A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 11 / 12

Espressioni aritmetiche elevamento a potenza moltiplicazione / divisione + addizione sottrazione Prima si fanno gli elevamenti a potenza, poi le moltiplicazioni e divisioni, alla fine le addizioni e sottrazioni. Quando due operatori hanno la stessa priorità vengono eseguite le operazioni partendo da sinistra e andando verso destra. Tuttavia, quando le espressioni sono abbastanza complicate e c è il rischio di non capire bene quali operazioni vanno fatte prima e quali dopo, conviene mettere sempre le parentesi. A. Mazzia (DMMMSA) Fortran a.a. 2008/2009 12 / 12