Introduzione al linguaggio Fortran 90
|
|
- Raimondo Parente
- 7 anni fa
- Visualizzazioni
Transcript
1 Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 1 / 38
2 Cosa vedremo in questa lezione 1 Linguaggi di programmazione e Fortran 90 2 Programmare in Fortran 90 3 Tipi di dato in Fortran 90 4 Costanti e variabili 5 Espressioni Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 2 / 38
3 Linguaggi di programmazione e Fortran 90 Introduzione Abbiamo visto come il calcolatore lavori su informazioni codificate con sequenze binarie Anche le istruzioni sono sequenze binarie! Esempio: c = a + b Linguaggi di programmazione Linguaggi artificiali dotati di un proprio alfabeto e di regole grammaticali Possibilità di produrre codice macchina Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 3 / 38
4 Linguaggi di programmazione e Fortran 90 Il primo programma Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 4 / 38
5 Linguaggi di programmazione e Fortran 90 Vantaggi dei linguaggi di programmazione Per programmare, possiamo usare linguaggio a livello di astrazione più alto del linguaggio macchina (l unico compreso dalla CPU) Classificazione dei linguaggi di programmazione Linguaggio Livello Uso linguaggio macchina bassissimo in pratica, mai usato assembler basso solo per efficienza elevatissima Fortran 90, C, C++, Java,... alto maggioranza delle applicazioni linguaggio naturale altissimo tecnologia non ancora pronta Possiamo scrivere programmi portabili su differenti calcolatori: calcolatore = HARDWARE (HW) programma = SOFTWARE (SW) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 5 / 38
6 Linguaggi di programmazione e Fortran 90 Commenti sul Fortran Primo linguaggio per cui è stato scritto un compilatore (1954). Da allora, si è molto evoluto: ultime versioni Fortran 90, Fortran 95 Fortran VANTAGGI: Linguaggio molto usato per il calcolo numerico. Esistono molte librerie di programmi già fatti. SVANTAGGI: Per alcuni aspetti, ancora impronta anni 50. POTENZIALI CONCORRENTI per questo corso: C, C++, Java. PERCHÉ Fortran 90? Fortran 77: obsoleto. Fortran 95: migliora il Fortran 90 in aspetti troppo avanzati per questo corso. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 6 / 38
7 Programmare in Fortran 90 Primo programma Fortran 90 1! F i l e : c i a o. f90 2! Time stamp : 01/12/ : 0 7 : 3 8 c a d o l i 3! Scopo : i l l u s t r a r e un s e m p l i c e programma F o r t r a n 4 5 PROGRAM c i a o 6! Questo programma stampa un messaggio s u l l o schermo 7 8 WRITE (, ) CIAO MONDO! 9 10 STOP 11 END PROGRAM c i a o Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 7 / 38
8 Programmare in Fortran 90 Considerazioni sul primo programma Fortran 90 I programmi che vedremo a lezione sono tutti disponibili sulle Dispense Il programma si trova su un file (CIAO.F90) che non contiene altro. Struttura del programma Commenti: opzionali ma utili; servono al progettista, non al computer! Intestazione. Parte istruzioni. Parte conclusiva. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 8 / 38
9 Programmare in Fortran 90 Considerazioni sul programma (cont.) Nome del file (CIAO.F90): sceglierlo in maniera significativa! Parole chiave: PROGRAM, WRITE, STOP, END Riservate e non si possono cambiare. Per convenzione, sempre MAIUSCOLE. Identificatore (ciao): sceglierlo in maniera significativa! Deve iniziare con una lettera. Può contenere (dal secondo carattere in poi), cifre decimali o _. Può essere lungo al massimo 31 caratteri. Caratteri speciali: (, ),,, *,!. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 9 / 38
10 Programmare in Fortran 90 Regole base per la scrittura di programmi Fortran 9 Caratteri ammessi: N. Tipo Valori 26 Lettere maiuscole Dalla A alla Z 26 Lettere minuscole Dalla a alla z 10 Cifre numeriche 0,1,...,9 1 Carattere di sottolineatura 5 Simboli matematici + - * / ** 17 Simboli vari ( ). =, $ :! % & ; < >? } spazio Riga max 132 caratteri Se l istruzione è più lunga si può usare il carattere & Commenti con carattere! Possibilità di inserire label numeriche (Valori da 1 a 99999) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 10 / 38
11 Programmare in Fortran 90 Il Fortran è case-insensitive 1! F i l e : c a s e i n s e. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 8 c a d o l i 3! Scopo : v e r i f i c a r e che i l F o r t r a n e case i n s e n s i t i v e 4 5 PRoGram mio 6 7! SEZIONE DICHIARATIVA 8 IMPLicit None 9 integer : : I 10 11! SEZIONE ESECUTIVA 12 Write (, ) S c r i v i un numero i n t e r o : 13 read (, ) i 14 write (, ) Hai s c r i t t o :, i StOp 17 end program MiO Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 11 / 38
12 Programmare in Fortran 90 Struttura di un programma Fortran 90 Sezione dichiarativa Prima parte del programma Contiene la dichiarazione del nome del programma, costanti, variabili Istruzioni non eseguibili ma direttive al compilatore Sezione esecutiva Contiene il cuore del programma Istruzioni eseguibili Sezione conclusiva Contiene le istruzioni che concludono il programma Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 12 / 38
13 Programmare in Fortran 90 Fasi principali nella scrittura di un programma 1. EDITING: scrittura al calcolatore salvataggio su disco rigido del programma si usa un programma apposito (editor) RISULTATO: file sorgente (CIAO.F90) 2. COMPILAZIONE trasformazione in un linguaggio COMPRENSIBILE dalla CPU si usa un programma apposito (compilatore) RISULTATO: file oggetto (CIAO.OBJ) 3. COLLEGAMENTO trasformazione in un linguaggio eseguibile dalla CPU si usa un programma apposito (collegatore o linker) RISULTATO: file eseguibile (CIAO.EXE) 4. ESECUZIONE/VERIFICA si fa eseguire il programma se l esecuzione è quella attesa, allora abbiamo terminato altrimenti, dobbiamo ritornare alla FASE 1 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 13 / 38
14 Programmare in Fortran 90 Note sugli strumenti usati nel corso Esistono dei prodotti commerciali che contengono un editor, un compilatore, un collegatore ed altri componenti di supporto (ad es. debugger, utile per la correzione dei programmi). Questi prodotti vengono comunemente chiamati interactive development environment (IDE) ed hanno interfacce grafiche sofisticate. Ne esistono anche di gratuiti In questo corso useremo un prodotto freeware che contiene solamente un compilatore ed un collegatore. Per scrivere i programmi Fortran 90 useremo editor come Notepad, Crimson Editor, Notepad++. Per fare eseguire i programmi useremo direttamente il sistema operativo ( prompt dei comandi ). Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 14 / 38
15 Tipi di dato in Fortran 90 Tipi dato intrinseci in Fortran 90 Il Fortran 90 mette a disposizione del programmatore 5 tipi di dati: INTEGER Tipo numerico per gli interi REAL Tipo numerico per i numeri reali COMPLEX Tipo numerico per i numeri complessi (non trattato in questo corso) LOGICAL Tipo per la gestione di valori logici CHARACTER Tipo per la rappresentazione di stringhe di caratteri In questo corso ci limiteremo ai tipi intrinseci; il Fortran 90 consente al programmatore di definire altri tipi dato (detti derivati) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 15 / 38
16 Tipi di dato in Fortran 90 Tipo INTEGER: dettagli Adatto per grandezze contabili (numero di studenti, di corsi, di crediti, giorni del mese, della settimana,... ) Intervallo di definizione: Massimo: = = due miliardi, 147 milioni,... Minimo: = 2 31 Motivo: per la rappresentazione di un intero: vengono utilizzati 4 Byte (= 32 bit) pertanto, ci sono 2 32 valori distinti: 1 per lo zero, metà per i negativi, circa metà per i positivi Potenziale problema durante l esecuzione (run-time): Trabocco (overflow). Esempio: 1 INTEGER : : num1, num2 2!... 3 READ(, ) num1, num2 4 WRITE(, ) num1 + num2! qui, p o t e n z i a l e OVERFLOW In questo corso, ignoreremo i problemi di trabocco. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 16 / 38
17 Tipi di dato in Fortran 90 Tipo REAL: dettagli Adatto per grandezze fisiche (temperatura, pressione, potenza, tempo,... ), caratterizzate da: grande dinamica e precisione limitata (non sono contabili ) Intervallo di definizione: Valore assoluto più grande: circa Valore assoluto più piccolo: circa Cifre significative: circa 7 Motivo: per la rappresentazione di un reale vengono utilizzati 4 Byte (= 32 bit), di cui: 24 per la mantissa e 8 per l esponente Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 17 / 38
18 Tipi di dato in Fortran 90 Dettagli sul tipo REAL (cont.) Il Fortran 90 ammette vari formati per uno stesso numero reale: senza esponente (è il default). Ad es con esponente. Ad es E+3. In tal caso: è la mantissa 3 è l esponente la base è implicitamente 10 Nel caso non ci sia l esponente è obbligatorio il punto Il valore dell esponente deve essere un intero (positivo o negativo) Nota: internamente, il Fortran 90 usa la rappresentazione con esponente. Nota: in alcuni compilatori il numero di byte usati (sia per REAL che per INTEGER) può essere aumentato fino a 8. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 18 / 38
19 Tipi di dato in Fortran 90 Considerazione fondamentale sul tipo REAL In Matematica, valgono relazioni come: arccos( 2/2) arcsin( 2/2) = 0 In Fortran 90 relazioni di questo tipo potrebbero non valere, a causa dell approssimazione intrinsecamente presente. Infatti, l istruzione: WRITE (, ) ACOS(SQRT( 2. ) / 2 ) ASIN (SQRT( 2. ) / 2 ) produce la seguente stampa (errore sull ottava cifra significativa): E 07 Di questi aspetti si occupano altri corsi (ad es., Calcolo numerico). Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 19 / 38
20 Tipi di dato in Fortran 90 Dettagli sul tipo CHARACTER e LOGICAL Tipo CHARACTER Utilizzato per rappresentare sequenze di caratteri (stringhe) La rappresentazione interna si basa sulla codifica mediante un intero (codifica ASCII) Ogni carattere occupa un byte di memoria caratteri che formano una stringa sono memorizzati in locazioni di memoria adiacenti Per definire una stringa è necessario racchiudere i caratteri dentro apici ( ) oppure virgolette ( ) Tipo LOGICAL Utilizzato per rappresentare i valori logici VERO e FALSO Può assumere i valori.true. e.false. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 20 / 38
21 Costanti Costanti e variabili Valore non cambia una volta fissato Costanti senza nome Costanti con nome Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 21 / 38
22 Costanti e variabili Costanti Costanti senza nome Possono essere utilizzate sia nella sezione dichiarativa che in quella esecutiva Tipo determinato implicitamente Scarsa leggibilità e scarso riuso! C o s t a n t i s e n z a nome v a l i d e 0, +28, 8450, 4322! d i t i p o i n t e r o 0., 3.3, 1. 0 E 2, E4! t i p o r e a l e.true.,. FALSE.! t i p o l o g i c o CIAO, c i a o, l imbuto! t i p o c a r a t t e r e! C o s t a n t i s e n z a nome non v a l i d e 430,000,000, ! t i p o i n t e r o 23, 40E 2.9, 1209,0! t i p o r e a l e. T.,. F.,! t i p o l o g i c o pippo, p l u t o! t i p o c a r a t t e r e Costanti con nome Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 21 / 38
23 Costanti e variabili Costanti Costanti senza nome Costanti con nome Possono essere create solo nella sezione dichiarativa Necessario specificare il tipo, il nome e il valore Permettono di migliorare la leggibilità dei programmi. Sintassi: tipo, PARAMETER :: nome = valore [, nome2 = valore2,...] Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 21 / 38
24 Costanti e variabili Secondo programma Fortran 90 1! F i l e : v a r i a b. f 9 0 2! Time stamp : 01/12/ : 1 0 : 2 2 c a d o l i 3! Scopo : i l l u s t r a r e l a d i c h i a r a z i o n e e l uso d i v a r i a b i l i 4 5 PROGRAM v a r i a b i l e 6! Questo programma l e g g e un numero i n t e r o da t a s t i e r a e l o stampa 7! s u l l o schermo 8! SEZIONE DICHIARATIVA 9 IMPLICIT NONE! q u e s t a d i c h i a r a z i o n e e o b b l i g a t o r i a 10 INTEGER : : numero! q u e s t a e l a d i c h i a r a z i o n e d i una v a r i a b i l e 11 12! SEZIONE ESECUTIVA 13 WRITE(, ) I n s e r i s c i un numero i n t e r o, p o i premi INVIO : 14! l e t t u r a d i un v a l o r e i n t e r o da t a s t i e r a 15 READ(, ) numero 16! stampa d i una s t r i n g a e d i un i n t e r o 17 WRITE(, ) Hai i n s e r i t o i l numero, numero STOP 20 END PROGRAM v a r i a b i l e Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 22 / 38
25 Costanti e variabili Variabili Struttura del programma Come CIAO.F90, ma ora c è una sezione dichiarativa Abbiamo dichiarato una VARIABILE DI TIPO INTERO Nozione di variabile Metaforicamente è un foglio di carta in cui si scrive con la matita Può variare durante l esecuzione del programma Al massimo 31 caratteri e non può iniziare con un numero numero -7 IDENTIFICATORE o NOME della variabile VALORE della variabile Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 23 / 38
26 Dichiarazione di variabili Costanti e variabili Sintassi dichiarazione di variabile: 1. Caso INTEGER, REAL, LOGICAL: INTEGER :: nome [= valore] [, nome2 [= valore2],...] REAL :: nome [= valore] [, nome2 [= valore2],...] LOGICAL :: nome [= valore] [, nome2 [= valore2],...] 2. Caso CHARACTER: CHARACTER(len=<dim>) :: nome [= valore] [, nome2 [= valore2],...]] <dim> contiene la dimensione della stringa Può essere indicato direttamente il numero di caratteri Se non viene indicato un valore la stringa conterrà un solo carattere 1! SEZIONE DICHIARATIVA 2 IMPLICIT NONE 3 INTEGER : : i1 = 0, i2 4 REAL : : r1, r2 = 10.2E 2 5 CHARACTER( len =10) : : c1, c2 = pippo 6 CHARACTER( 1 0 ), PARAMETER : : s a l u t o = CIAO! 7 LOGICAL : : l1, l2 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 24 / 38
27 Assegnazione variabili Costanti e variabili 1! F i l e : a s s e g n a z. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 8 c a d o l i 3! Scopo : i l l u s t r a r e l i s t r u z i o n e d i a s s e g n a z i o n e 4 5 PROGRAM a s s e g n a z i o n e 6! Questo programma e f f e t t u a v a r i e o p e r a z i o n i su due v a r i a b i l i i n t e r e 7 8! SEZIONE DICHIARATIVA 9 IMPLICIT NONE 10! q u e s t a e l a d i c h i a r a z i o n e d i due v a r i a b i l i 11 INTEGER : : num1, num ! SEZIONE ESECUTIVA 14 WRITE(, ) I n s e r i s c i due numeri i n t e r i, p o i premi INVIO : 15 READ(, ) num1, num2 16 WRITE(, ) Hai i n s e r i t o i numeri, num1, num num1 = num2 10! a s s e g n a z i o n e a l l a v a r i a b i l e num1 19 WRITE(, ) Le v a r i a b i l i o r a v a l g o n o :, num1, num STOP 22 END PROGRAM a s s e g n a z i o n e Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 25 / 38
28 Costanti e variabili Commento al programma ASSEGNAZ.F90 Struttura del programma: come VARIAB.F90, ma: la sezione dichiarativa contiene dichiarazione di due variabili intere la sezione esecutiva contiene un istruzione di assegnazione Struttura dell istruzione di assegnazione: variabile = espressione In questo caso, espressione è una moltiplicazione Effetto dell istruzione di assegnazione: 1. valuta espressione 2. assegna a variabile il valore ottenuto: modifica variabile non modifica espressione Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 26 / 38
29 Costanti e variabili Esercizio sull assegnazione 1 num1 = num num1 = num num = num2 4 num1 = num1 + num2 Determinare il valore delle variabili num1 e num2 Prima Dopo num1 4 num2-7 num1 num1 num1 num1 num2 num2 num2 num Soluzione Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 27 / 38
30 Esercizio sull assegnazione Costanti e variabili 1 num1 = num num1 = num num = num2 4 num1 = num1 + num2 Determinare il valore delle variabili num1 e num2 Soluzione Prima Dopo num1 4 num1 3 num1 14 num1 X num1-3 num2-7 num2 num2 num2 num X Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 27 / 38
31 Espressioni in Fortran 90 Costanti e variabili 1 Le espressioni hanno un tipo. 2 Le espressioni sono atomiche ( semplici ) oppure non atomiche ( complesse ). 3 Possono essere classificate nel seguente modo: Espressioni Atomiche Non atomiche Costanti Variabili Con nome Senza nome Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 28 / 38
32 Confronto di espressioni Costanti e variabili Tipo Costante Costante Variabile Non con nome senza nome atomica INTEGER gatti 3 i1 i1 + i2 + gatti REAL pi 6.022E+23 r1 r1 + r2 * pi CHARACTER saluto a c1 saluto // c1 // c2 LOGICAL vero.true. l1 l1.and. l2.or. vero Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 29 / 38
33 Costanti e variabili Esempio di uso di costanti e variabili 1! F i l e : e u r o. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 8 c a d o l i 3! Scopo : i l l u s t r a r e l uso d i c o s t a n t i con nome 4 5 PROGRAM e u r o 6! Questo programma l e g g e un numero d i l i r e ( i n t e r o ) da t a s t i e r a, 7! e stampa i l c o r r i s p e t t i v o i n e u r o ( r e a l e ) 8 9! SEZIONE DICHIARATIVA 10 IMPLICIT NONE 11 REAL, PARAMETER : : l i r e p e r e u r o = ! d i c h i a r a z i o n e d i una c o s t a n t e 12! con nome 13 INTEGER : : l i r e! d i c h i a r a z i o n e d i una v a r i a b i l e 14 15! SEZIONE ESECUTIVA 16 WRITE (, ) I n s e r i s c i q u a n t i t a d i l i r e : 17 READ(, ) l i r e 18 WRITE (, ) I l c o r r i s p e t t i v o i n e u r o e :, l i r e / l i r e p e r e u r o 19! NOTA: l a d i v i s i o n e f r a i n t e r i e r e a l i da p e r r i s u l t a t o un r e a l e 20 21! NOTA: l a FORMATTAZIONE verra spiegata piu approfonditamente nel segui to 22 WRITE (,100) I l c o r r i s p e t t i v o i n e u r o e c e n t e s i m i d i e u r o e :, l i r e / l i r e p e r e u r o FORMAT(, A, F10. 2 ) STOP 26 END PROGRAM e u r o Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 30 / 38
34 Costanti e variabili Quarto programma Fortran 90 (EURO.F90) Programma simile a VARIAB.F90, ma abbiamo dichiarato una costante con nome di tipo reale Esempi input = 1000 output = input = output = Nota usando la FORMATtazione dell output, stampa solo i centesimi (approfondimenti su FORMAT fra alcune lezioni) Quando usare le costanti con nome: valore che non cambia nell ambito del nostro programma (ad es., lire per euro) grandezza matematica costante (ad es., π, e, Φ) Vantaggi delle costanti con nome: maggiore leggibilità del programma più facile modificare il programma, se necessario Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 31 / 38
35 Espressioni Operatori su reali e interi Binari infissi (sono cinque) + Addizione - Sottrazione * Moltiplicazione / Divisione ** Elevamento a potenza Unari prefissi (sono due) - (Segno meno) + (Segno più) / fra interi restituisce la parte intera (o quoziente) della divisione fra interi, senza resto. Ad es., 7/2 vale 3. Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 32 / 38
36 Espressioni Considerazioni sulle espressioni Le espressioni sono formate da costanti senza nome, costanti con nome e variabili In Fortran 90 le espressioni devono essere linearizzate e il simbolo * è necessario ovunque ci sia una moltiplicazione. Ad esempio, l espressione: b 2 4ac 2h + 3 si scrive: ( b 2 4 a c ) / ( 2 h + 3) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 33 / 38
37 Espressioni Esempio degli operatori matematici 1! F i l e : c e r c h i o. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 8 c a d o l i 3! Scopo : i l l u s t r a r e l uso d i c o s t a n t i con nome 4 5 PROGRAM a r e a c e r c h i o 6! Questo programma l e g g e i l r a g g i o d i un c e r c h i o ( r e a l e p o s i t i v o ) 7! e stampa i v a l o r i d i c i r c o n f e r e n z a e a r e a 8 9! SEZIONE DICHIARATIVA 10 IMPLICIT NONE 11! d i c h i a r a z i o n e d i una c o s t a n t e con nome 12! d i c h i a r a z i o n e d i una v a r i a b i l e 13 REAL, PARAMETER : : p i = REAL : : r a g g i o 15! SEZIONE ESECUTIVA 16 WRITE (, ) Raggio d e l c e r c h i o? 17 READ (, ) r a g g i o 18 WRITE (, ) C i r c o n f e r e n z a :, 2 p i r a g g i o 19 WRITE (, ) Area :, p i r a g g i o r a g g i o 20 STOP 21 END PROGRAM a r e a c e r c h i o Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 34 / 38
38 Espressioni Quinto programma Fortran 90 (CERCHIO.F90) Struttura del programma: come EURO.F90, ma abbiamo usato vari operatori( +, * ) sui reali Nota: Per calcolare l area, avremmo potuto scrivere anche (usando l operatore ** ): WRITE (, ) Area :, p i r a g g i o 2 Problema di carattere generale: come viene valutata questa espressione? 1. pi * (raggio**2) 2. (pi * raggio)**2 Il Fortran 90 sceglie la 1 (usando le regole di precedenza fra operatori) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 35 / 38
39 Espressioni Regole per la valutazione di un espressione Le parentesi forzano la valutazione di un espressione Esempio: 6+(4*2) 14 Precedenza fra operatori: * e / hanno precedenza su + e - Esempio: * 2 14, cioè viene valutato come 6+(4*2) ** ha precedenza su tutti Esempio: 2 * 3 ** 2 18, cioè viene valutato come 2*(3**2) Ordine di valutazione per operatori con uguale precedenza Per *, /, +, - : da sinistra a destra Esempio: 6 / 3 * 2 4, cioè viene valutato come (6 /3)*2 per ** : da destra a sinistra Esempio: 3**2**3 3**8 6561, cioè viene valutato come 3**(2**3) Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 36 / 38
40 Espressioni Applicazione: rendez-vous di due aerei Un caccia parte all istante t c e un aerocisterna parte (dallo stesso punto) all istante t s (t c > t s ). Entrambi si muovono di moto rettilineo uniforme con velocità v c e v s (v c > v s ), rispettivamente. Per calcolare il tempo t r e la posizione s r del rendez-vous applichiamo l equazione del moto rettilineo uniforme: Il rendez-vous avviene quando vale: da cui: s = v(t t 0 ) v c (t t c ) = v s (t t s ) t r = v st s + v c t c v c v s, s r = v c (t r t c ) Problema: dati v c, v s, t c e t s, calcolare t r e s r (file RENDEZ.F90). Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 37 / 38
41 Soluzione dell esercizio Espressioni 1! F i l e : r e n d e z. f 9 0 2! Time stamp : 01/12/ : 0 2 : 0 3 c a d o l i 3! Scopo : i l l u s t r a r e una s e m p l i c e a p p l i c a z i o n e a e r o n a u t i c a 4 5 PROGRAM r e n d e z v o u s 6! Questo programma c a l c o l a l i s t a n t e d i rendez vous f r a un c a c c i a ed 7! una a e r o c i s t e r n a 8 9! SEZIONE DICHIARATIVA 10 IMPLICIT NONE 11 REAL : : t c, t s, v c, v s! i d a t i i n i n p u t 12 REAL : : t r, s r! i d a t i d e l rendez vous ( da c a l c o l a r e ) 13 14! SEZIONE ESECUTIVA 15 WRITE (, ) I n s e r i r e l i s t a n t e d i p a r t e n z a d e l l a e r o c i s t e r n a ( s e c ) : 16 READ (, ) t s 17 WRITE (, ) I n s e r i r e l i s t a n t e d i p a r t e n z a d e l c a c c i a ( s e c ) : 18 READ (, ) t c 19 WRITE (, ) I n s e r i r e l a v e l o c i t a d e l l a e r o c i s t e r n a (m/ s e c ) : 20 READ (, ) v s 21 WRITE (, ) I n s e r i r e l a v e l o c i t a d e l c a c c i a (m/ s e c ) : 22 READ (, ) v c 23 t r = ( ( v s t s ) + ( v c t c ) ) / ( v c v s ) 24 s r = v c ( t r t c ) 25 WRITE (, ) Dati d e l rendez vous : 26 WRITE (, ) s e c o n d i :, t r, ; m e t r i :, s r STOP 29 END PROGRAM r e n d e z v o u s Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica 38 / 38
Istruzioni condizionali di diramazione in Fortran 90
Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento
DettagliIntroduzione al linguaggio Fortran 90
Introduzione al linguaggio Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: concetti di base DIS - Dipartimento di informatica e sistemistica
DettagliII Esercitazione: S.O. & Fortran 77
II Esercitazione: S.O. & Fortran 77 Francesco Battista Corso di Calcolo Numerico 1 DIMA, Sapienza University of Rome, Italy February 9, 2014 Argomenti trattati 1 Brevi cenni sulle architetture informatiche
DettagliFortran in pillole : prima parte
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
DettagliArray in Fortran 90. Ing. Luca De Santis. Anno accademico 2006/2007. DIS - Dipartimento di informatica e sistemistica
Array in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: array DIS - Dipartimento di informatica e sistemistica 1 / 25 Cosa vedremo
DettagliModularizzazione del software
Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica
DettagliI tipi di dato del Fortran
I tipi di dato del Fortran In Fortran sono disponibili 5 tipi di dato (tipi primitivi o predefiniti): INTEGER REAL COMPLEX CHARACTER LOGICAL tipi numerici tipi non numerici Non considereremo il tipo COMPLEX
DettagliSviluppare un programma in FORTRAN
Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,
DettagliSomma di numeri binari
Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliCaratteristiche di un linguaggio ad alto livello
Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono
DettagliCostanti e Variabili
Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli
DettagliUD 3.2b: Programmazione in Pascal (1)
UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione
DettagliLinguaggio C - sezione dichiarativa: costanti e variabili
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - sezione dichiarativa: costanti e variabili La presente
DettagliVariabili. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliFortran. Introduzione.
Fortran Introduzione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Esistono molti linguaggi di programmazione usati in vari
DettagliIl potere espressivo di un linguaggio è caratterizzato da: PROGRAMMA = DATI + CONTROLLO
LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni dei programmi
DettagliTipi di dato primitivi
Tipi di dato primitivi (oltre int) Tipi di dato primitivi int (già trattati) Valori logici (ricordati) Valori reali Valori carattere Informatica - A.A. 2009/2010 - Tipi di dato 2 1 Valori logici (il caso
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
DettagliLa codifica binaria. Informatica B. Daniele Loiacono
La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica
DettagliDispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dall'Algoritmo al Programma
Istituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS Dall'Algoritmo al Programma Pr.: 002 Ver.:1.0 Autore: prof. Michele Salvemini
DettagliLINGUAGGI DI PROGRAMMAZIONE!
LINGUAGGI DI PROGRAMMAZIONE! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
DettagliDescrizione delle operazioni di calcolo. Espressioni costanti semplici
Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette
DettagliProgrammazione in Java (I modulo)
Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto
DettagliIl Linguaggio C. Caratteristiche. Caratteristiche. Esempio di programma in C. Tipi di dato primitivi in C. Dati
Caratteristiche Il Linguaggio C Linguaggio sequenziale (lineare), imperativo, strutturato a blocchi usabile anche come linguaggio di sistema software di base sistemi operativi compilatori... FI - Algoritmi
DettagliLa "macchina" da calcolo
La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che
DettagliAnalogico vs. Digitale. LEZIONE II La codifica binaria. Analogico vs digitale. Analogico. Digitale
Analogico vs. Digitale LEZIONE II La codifica binaria Analogico Segnale che può assumere infiniti valori con continuità Digitale Segnale che può assumere solo valori discreti Analogico vs digitale Il computer
DettagliIntroduzione a Matlab
INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi
DettagliLa codifica binaria. Fondamenti di Informatica. Daniele Loiacono
La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE
INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni
DettagliRappresentazione dell Informazione
Rappresentazione dell Informazione Rappresentazione delle informazioni in codice binario Caratteri Naturali e Reali positivi Interi Razionali Rappresentazione del testo Una stringa di bit per ogni simbolo
Dettaglimodificato da andynaz Cambiamenti di base Tecniche Informatiche di Base
Cambiamenti di base Tecniche Informatiche di Base TIB 1 Il sistema posizionale decimale L idea del sistema posizionale: ogni cifra ha un peso Esempio: 132 = 100 + 30 + 2 = 1 10 2 + 3 10 1 + 2 10 0 Un numero
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliUnità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi
Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio
DettagliInformatica di Base - 6 c.f.u.
Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 27/28 Docente: ing. Salvatore Sorce Rappresentazione delle informazioni Sistemi di
DettagliVBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.
Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?
DettagliIntroduzione al Linguaggio C
INFORMATICA 1 Lezione 3 (Introduzione al Linguaggio C, Introduzione ai Tipi di dato, Cenni alla codifica binaria) Introduzione al Linguaggio C 1 Passi fondamentali del C Definito nel 1972 (AT&T Bell Labs)
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliUnità aritmetica e logica
Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire
DettagliFoglio Elettronico Lezione 1
- Introduzione - Celle e riferimenti - Formule - Approfondimenti - Funzioni logiche Sommario Introduzione - Foglio elettronico o foglio di calcolo - Cos'è? Strumento per raccogliere dati organizzati in
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliCorso di Fondamenti di Informatica Il sistema dei tipi in C++
Corso di Fondamenti di Informatica Il sistema dei tipi in C++ Anno Accademico Francesco Tortorella Struttura di un programma C++ // Programma semplice in C++ #include int main() { cout
DettagliRappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)
Rappresentazione di Numeri Reali Un numero reale è una grandezza continua Può assumere infiniti valori In una rappresentazione di lunghezza limitata, deve di solito essere approssimato. Esistono due forme
DettagliLa programmazione nel linguaggio C
3 La programmazione nel linguaggio C 3.0 La programmazione nel linguaggio C c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 3.0 0 Introduzione ai programmi
DettagliLA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2
LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
DettagliDESCRIZIONI RIGOROSE c7
DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 9/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Università degli Studi La Sapienza Fondamenti di
DettagliRappresentazione dei Dati
Parte II I computer hanno una memoria finita. Quindi, l insieme dei numeri interi e reali che si possono rappresentare in un computer è necessariamente finito 2 Codifica Binaria Tutti i dati usati dagli
DettagliCome ragiona il computer. Problemi e algoritmi
Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliFortran per Ingegneri
Fortran per Ingegneri Lezione 8 A.A. 2013/2014 Ing. Davide Vanzo davide.vanzo@unitn.it Ing. Simone Zen simone.zen@unitn.it ufficio: Laboratorio didattico di modellistica ambientale (2 piano) Tel interno:
DettagliDalla prima lezione. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI 28/02/2016. Concetto di algoritmo
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 7 VARIABILI E COSTANTI Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
DettagliTipi elementari, costanti. Tipi di dati. VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori. Tipi. intero reale carattere
Tipi elementari, costanti 1 Tipi di dati VALORI: un insieme dei valori del tipo OPERAZIONI: per operare su tali valori Tipi Semplici intero reale carattere Strutturati 2 1 Tipo intero Gli interi servono
DettagliCodifica di informazioni numeriche
Università di Roma La Sapienza Dipartimento di Informatica e Sistemistica Codifica di informazioni numeriche Fondamenti di Informatica - Ingegneria Elettronica Leonardo Querzoni querzoni@dis.uniroma1.it
DettagliAritmetica dei Calcolatori Elettronici
Aritmetica dei Calcolatori Elettronici Prof. Orazio Mirabella L informazione Analogica Segnale analogico: variabile continua assume un numero infinito di valori entro l intervallo di variazione intervallo
DettagliRapida Nota sulla Rappresentazione dei Caratteri
TECNOLOGIA DIGITALE TECNOLOGIA DIGITALE (segue) CPU, memoria centrale e dispositivi sono realizzati con tecnologia elettronica digitale Dati ed operazioni vengono codificati tramite sequenze di bit 8 bit
DettagliI sistemi di numerazione. Informatica - Classe 3ª, Modulo 1
I sistemi di numerazione Informatica - Classe 3ª, Modulo 1 1 La rappresentazione interna delle informazioni ELABORATORE = macchina binaria Informazione esterna Sequenza di bit Spett. Ditta Rossi Via Roma
DettagliTecnologie per il web e lo sviluppo multimediale. Rappresentazione delle informazioni
Tecnologie per il web e lo sviluppo multimediale Rappresentazione delle informazioni Luca Pulina Corso di Laurea in Scienze della Comunicazione Università degli Studi di Sassari A.A. 2015/2016 Luca Pulina
DettagliUn ripasso di aritmetica: Conversione dalla base 10 alla base 2
Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre
DettagliInformatica Generale Andrea Corradini I linguaggi di programmazione
Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi
DettagliAppunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani (liverani@mat.uniroma3.it)
DettagliAppunti di Laboratorio Il Linguaggio Python - Lezione 1
Appunti di Laboratorio Il Linguaggio Python - Lezione 1 Giancarlo de Gasperis, Dario Del Moro, Luca Giovannelli Dipartimento di Fisica, Università di Roma Tor Vergata A.A. 2016/2017 GdG, DDM, LG (Fisica,
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliLa codifica. dell informazione
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
DettagliCorso di Laurea Ingegneria Informatica Laboratorio di Informatica
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente
DettagliElementi di informatica
Elementi di informatica Programmare in C 1 Calcolare l area di un rettangolo /* Calcolo area rettangolo */ int base; int altezza; int area; Conosciamo base = 3; altezza = 7; area = base*altezza; printf("%d",
DettagliCalcolo numerico e programmazione Rappresentazione dei numeri
Calcolo numerico e programmazione Rappresentazione dei numeri Tullio Facchinetti 16 marzo 2012 10:54 http://robot.unipv.it/toolleeo Rappresentazione dei numeri nei calcolatori
DettagliSistemi di Numerazione
Sistemi di Numerazione Corso Università Numeri e Numerali Il numero cinque 5 V _ Π Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi Posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi Posizionali
DettagliSistemi di Numerazione Binaria
Sistemi di Numerazione Binaria BIN.1 Numeri e numerali Numero: entità astratta Numerale : stringa di caratteri che rappresenta un numero in un dato sistema di numerazione Lo stesso numero è rappresentato
DettagliIl computer. Il case e l'unità di elaborazione. Il computer, una macchina aggiornabile.
Liceo Scientifico Vinci PROGRAMMA FINALE A.S. 2016/2017 Materia: INFORMATICA Classe 1Q Prof. Dardanelli Francesco PROGRAMMA SVOLTO NELL ANNO SCOLASTICO IL COMPUTER. Hardware e software. Il computer. Il
DettagliBreve guida al linguaggio FORTRAN 77
Breve guida al linguaggio FORTRAN 77 Variabili (valori di default) Iniziali con lettere da I a N Iniziali con lettere da A a H oppure da O a Z variabili intere, 4 byte in precisione singola variabili reali,
DettagliRappresentazione dei dati in memoria
Rappresentazione dei dati in memoria La memoria Una memoria deve essere un insieme di oggetti a più stati. Questi oggetti devono essere tali che: le dimensioni siano limitate il tempo necessario per registrare
DettagliIl Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
Dettagli1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata
Argomenti della Lezione 1) Matlab e simulazione 2) Esempi di utilizzo 1 Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata Matlab è un sistema di programmazione ad alto livello
DettagliTipi di dati scalari (casting e puntatori) Alessandra Giordani Lunedì 10 maggio 2010
Tipi di dati scalari (casting e puntatori) Alessandra Giordani agiordani@disi.unitn.it Lunedì 10 maggio 2010 http://disi.unitn.it/~agiordani/ I tipi di dati scalari I tipi aritmetici, i tipi enumerativi
DettagliIl sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto.
Sistema C e organizzazione del codice Il sistema C è formato dal linguaggio C, dal preprocessore, dal compilatore, dalle librerie e da altri strumenti di supporto. Un programma C è costituito da un insieme
DettagliEsame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma
Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:
DettagliRappresentazione numeri reali
Rappresentazione numeri reali I numeri reali rappresentabili in un calcolatore sono in realtà numeri razionali che approssimano i numeri reali con un certo grado di precisione Per rappresentare un numero
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliSTORIA E CARATTERISTICHE
IL LINGUAGGIO C STORIA E CARATTERISTICHE STORIA E VERSIONI Sviluppato da Dennis Ritchie ai Bell Labs nel 1972 per realizzare il sistema operativo UNIX K&R C: 1978 (prima versione, K&R dal nome degli autori
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliLa rappresentazione delle Informazioni
La rappresentazione delle Informazioni Nella vita di tutti i giorni siamo abituati ad avere a che fare con vari tipi di informazioni, di natura e forma diversa, così come siamo abituati a diverse rappresentazioni
DettagliTipi di dato. Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi:
Tipi di dato Il concetto di tipo di dato viene introdotto per raggiungere due obiettivi: esprimere in modo sintetico la loro rappresentazione in memoria, e un insieme di operazioni ammissibili permettere
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.
DettagliConversione di base. Conversione decimale binario. Si calcolano i resti delle divisioni per due
Conversione di base Dato N>0 intero convertirlo in base b dividiamo N per b, otteniamo un quoto Q 0 ed un resto R 0 dividiamo Q 0 per b, otteniamo un quoto Q 1 ed un resto R 1 ripetiamo finché Q n < b
DettagliUnità Didattica 1 Linguaggio C. Fondamenti. Struttura di un programma.
Unità Didattica 1 Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C UNIX (1969) - DEC PDP-7 Assembly Language BCPL - un OS facilmente accessibile che fornisce potenti strumenti
DettagliInteri positivi e negativi
Definizioni: numerali e numeri Un numerale è solo una stringa di cifre Un numerale rappresenta un numero solo se si specifica un sistema di numerazione Lo stesso numerale rappresenta diversi numeri in
DettagliCalcolatori Elettronici Parte III: Sistemi di Numerazione Binaria
Anno Accademico 2001/2002 Calcolatori Elettronici Parte III: Sistemi di Numerazione Binaria Prof. Riccardo Torlone Università di Roma Tre Numeri e numerali! Numero: entità astratta! Numerale: stringa di
DettagliTipi di dato. Unità 2. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliStruttura dei programmi C
Programmi C Struttura dei Programmi C Dichiarazione delle variabili Operazioni di Ingresso/Uscita Fondamenti di Informatica 1 Struttura dei programmi C Un programma C deve contenere, nell'ordine: una parte
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliCodifica. Rappresentazione di numeri in memoria
Codifica Rappresentazione di numeri in memoria Rappresentazione polinomiale dei numeri Un numero decimale si rappresenta in notazione polinomiale moltiplicando ciascuna cifra a sinistra della virgola per
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliProgettazione di algoritmi: componenti di base e metodologie di sviluppo. Variabili e costanti. Variabili e costanti A = 2. Algoritmo PASCAL-LIKE
Progettazione di algoritmi: componenti di base e metodologie di sviluppo Variabili e costanti Variabili e costanti PROBLEMA: calcolo dell area A di un triangolo di base b ed altezza h b h A =.4.5 b =.4,
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliFondamenti di Programmazione. Sistemi di rappresentazione
Fondamenti di Programmazione Sistemi di rappresentazione Numeri e numerali Il numero cinque 5 V _ Π 五 Arabo Romano Maya Greco Cinese Il sistema decimale Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2
Dettagli