wikipaom2015:lez07
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
wikipaom2015:lez07 [2015/04/28 07:04] – 85457 | wikipaom2015:lez07 [2015/07/24 15:54] (versione attuale) – 202447 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | [[http:// | ||
+ | ====== DICHIARAZIONE DI VARIABILI IN FORTRAN 77 ====== | ||
+ | |||
+ | Ogni variabile deve essere definita in una dichiarazione per indicarne la sua tipologia. | ||
+ | Tra le variabili più comuni troviamo: | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | Se una variabile non viene dichiarata esplicitamente, | ||
+ | |||
+ | La dichiarazione delle variabili non é obbligatoria, | ||
+ | Per questo motivo nella stesura del programma si consiglia l'uso del comando '' | ||
+ | Il comando '' | ||
+ | |||
+ | |||
+ | ==== DICHIARAZIONI DI COSTANTI ==== | ||
+ | |||
+ | Per quanto riguarda le costanti é preferibile definirle una sola volta all' | ||
+ | |||
+ | Con il comando '' | ||
+ | |||
+ | |||
+ | ==== Dichiarazione di costanti complesse ==== | ||
+ | |||
+ | Per definire una variabile complessa si utilizza la notazione: | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | === Dichiarazione di costanti in Singola e Doppia precisione === | ||
+ | |||
+ | Per le costanti che richiedono una precisione maggiore é possibile utilizzare il comando per doppia precisione che tiene conto di un maggior numero di cifre significative. | ||
+ | |||
+ | Per definire una costante in doppia precisione si utilizza il comando '' | ||
+ | |||
+ | Per valutare una variabile reale in doppia precisione, invece si utilizza il comando: '' | ||
+ | |||
+ | Se vogliamo valutare una operazione in doppia precisione possiamo utilizzare due metodologia diverse: '' | ||
+ | |||
+ | |||
+ | ===== OPERAZIONI TRA VARIABILI ===== | ||
+ | |||
+ | Tutte le operazioni fra 2 interi danno come risultato un numero intero | ||
+ | |||
+ | 3/2 --> | ||
+ | |||
+ | |||
+ | 3.0/2.0 --> 1.5 | ||
+ | |||
+ | |||
+ | 3./2. --> 1.5 | ||
+ | |||
+ | |||
+ | 3/2. --> 1.5 | ||
+ | |||
+ | |||
+ | ===== ESPRESSIONI LOGICHE ===== | ||
+ | |||
+ | Le espressioni logiche possono avere solamente il valore '' | ||
+ | |||
+ | Una espressione logica può essere valutata eseguendo un confronto fra delle espressioni aritmetiche utilizzando i seguenti operatori relazionali: | ||
+ | |||
+ | .LT. < | ||
+ | |||
+ | |||
+ | .LE. =< | ||
+ | |||
+ | |||
+ | .GT. > | ||
+ | |||
+ | |||
+ | .GE. >= | ||
+ | |||
+ | |||
+ | .EQ. = | ||
+ | |||
+ | |||
+ | .NE. /= | ||
+ | |||
+ | |||
+ | Due numeri reali sono considerati uguali se sono più vicini di una certa quantitá, per questo è necessario definire una tolleranza per eseguire un corretto controllo di uguaglianza, | ||
+ | '' | ||
+ | |||
+ | |||
+ | ==== OPERATORI LOGICI ==== | ||
+ | |||
+ | Gli operatori logici sono: | ||
+ | |||
+ | |||
+ | .AND. ---> rende vera la condizione soltanto nel caso in cui entrambe le condizioni siano vere. | ||
+ | |||
+ | |||
+ | .OR. ---> basta che una delle 2 condizioni sia vera. | ||
+ | |||
+ | |||
+ | .XOR. ---> quando solo una delle due condizioni é vera, ma non tutte e due. | ||
+ | |||
+ | |||
+ | .NOT. ---> rende falsa una condizione, quindi prende per vera una condizione che é falsa. | ||
+ | |||
+ | |||
+ | Nell' | ||
+ | |||
+ | Consideriamo il seguente esempio: | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | '' | ||
+ | |||
+ | In questo caso, l' | ||
+ | |||
+ | In questa caso quindi " | ||
+ | |||
+ | |||
+ | ===== COMANDO //IF// ===== | ||
+ | |||
+ | La più comune istruzione utilizzata per imporre delle condizioni é l' | ||
+ | |||
+ | Il suo uso più frequente é l'IF logico | ||
+ | |||
+ | '' | ||
+ | |||
+ | Se dobbiamo effettuare più istruzioni all' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | Se invece dobbiamo considerare più espressioni logiche é possibile utilizzare il costrutto | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | per il solo '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== CICLO DO ===== | ||
+ | |||
+ | Per ripetere determinate operazioni più volte si può utilizzare un ciclo " | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | le istruzioni contenute dalla riga 7 alla riga 9, vengono ripetute con il comando '' | ||
+ | |||
+ | Se il passo non é specificato, | ||
+ | |||
+ | |||
+ | |||
+ | ==== CICLO WHILE ==== | ||
+ | |||
+ | Con il ciclo '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | ==== CICLO UNTIL ==== | ||
+ | |||
+ | Se utilizzo questa espressione logica, l' | ||
+ | L' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | '' | ||
+ | |||
+ | |||
+ | |||
+ | ===== ARRAY ===== | ||
+ | |||
+ | Gli array sono una sequenza di elementi immagazzinati consecutivamente in memoria. Gli array possono essere monodimensionali, | ||
+ | |||
+ | |||
+ | __Esempio di array monodimensionale__ | ||
+ | |||
+ | '' | ||
+ | Per richiamare un solo elemento del vettore, basta scrivere '' | ||
+ | Se si vuole specificare un preciso range di indici degli elementi del vettore, | ||
+ | é possibile utilizzare la scrittura '' | ||
+ | un vettore di 20 elementi in cui il primo é '' | ||
+ | |||
+ | |||
+ | __Esempio di array bidimensionale__ | ||
+ | |||
+ | '' | ||
+ | Per richiamare un elemento della matrice si utilizza un metodo simile a quello | ||
+ | degli array monodimensionali: | ||
+ | |||
+ | ==== Stoccaggio degli elementi ==== | ||
+ | |||
+ | É possibile stoccare una matrice che é bidimensionale nella memoria di un vettore che é monodimensionale. Esistono due modalità di stoccaggio: per righe o per colonne. Con lo stoccaggio per colonne, ogni colonna é lunga quanto sono il numero di righe. Per poter leggere gli elementi della matrice devo sempre tener conto del numero di righe se stocco per colonne, cioè devo sapere quanti blocchi devo saltare per andare a leggere il nostro elemento della matrice. Tutte le variabili sono definite come delle posizioni di memoria. | ||
+ | | ||
+ | ~~DISCUSSION|Note di redazione~~ |
wikipaom2015/lez07.txt · Ultima modifica: 2015/07/24 15:54 da 202447