UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 FORTRAN. Documentazione di riferimento: Ambienti di sviluppo:
|
|
- Letizia Nanni
- 7 anni fa
- Visualizzazioni
Transcript
1 UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE ELEMENTI DI PROGRAMMAZIONE a.a. 2012/13 FORTRAN Documentazione di riferimento: 1. CHAPMAN S.J., Fortran 90/95, McGraw-Hill 2. RAUCCI B., Il Linguaggio Fortran 90/95, web 3. ADAMS J. C., BRAINERD W. S., MARTIN J. T., SMITH B. T., WAGENER J. L., Fortran 90 Handbook, McGraw-Hill (web) 4. WAGENER J. L., Concise Fortran 90/95 Reference, Absoft corporation (web) 5. CHIVERS I. D. and SLEIGHTHOLME J., Introduction to Programming with Fortran, Springer (web) - Force plus GNU Fortran (GFortran) - Force plus G95 Fortran (G95) Ambienti di sviluppo:
2 STRUTTURA DEI PROGRAMMI Un progetto Fortran consiste in generale - di un insieme di unità di programma compilate separatamente. Una delle suddette unità nei progetti più semplici l unica! deve essere il cosiddetto programma principale, cioè una sequenza di istruzioni e linee di commento opzionali aperta e chiusa dalle keyword PROGRAM ed END PROGRAM. PROGRAM nome-programma IMPLICIT NONE [sezione dichiarativa] [sezione esecutiva] [eventuali sottoprogrammi interni] END PROGRAM nome-programma
3 COMMENTI I commenti, opzionali, sono preceduti dal segno!. Tutto il testo che segue il suddetto segno, fino alla fine della linea, non ha rilevanza ai fini dell esecuzione del programma.! Programma esempio! PROGRAM Comment... READ(*,*) x! Leggi il valore di x... x = x + 1! incrementa x di un unità... END PROGRAM Comment
4 ISTRUZIONI LUNGHE Alcune regole di base: 1) Un istruzione per linea! 2) Se un istruzione è troppo lunga è consentito andare daccapo, utilizzando il carattere &. PROGRAM & Daccapo! PROGRAM Daccapo Perimetro = BaseMaggiore + BaseMinore + & Lato1 + Lato2! Perimetro = BaseMaggiore + BaseMinore + Lato1 + Lato2
5 ALFABETO I caratteri riconosciuti da Fortran includono le lettere dell alfabeto, minuscole e maiuscole, le cifre numeriche ed un set di caratteri speciali: space ' " ( ) * + - / : = _! & $ ; < > %?,. ATTENZIONE: Fortran è CASE INSENSITIVE, cioè non fa differenza fra maiuscole e minuscole in un senso che preciseremo meglio in seguito.
6 LITERALS Le costanti letterali o manifeste (o semplicemente literals) rappresentano valori fissi, numerici o alfabetici, utilizzati dal progettista nell ambito di un istruzione. In Fortran è possibile rappresentare esplicitamente numeri interi, numeri reali, numeri complessi, oppure valori logici, oppure ancora stringhe di caratteri.
7 INTERI Nelle istruzioni che seguono a destra del simbolo di assegnazione (=) è presente un literal che rappresenta un intero: X=12345 X=-345 X=+789 X=+0
8 REALI Nelle istruzioni che seguono a destra del simbolo di assegnazione (=) è presente un literal che rappresenta un reale: X=2.45 X=.13 X=13. X=-0.12 X=-.12
9 ANCORA REALI Un literal per un reale può essere rappresentato in forma esponenziale utilizzando i caratteri E oppure e, come negli esempi che seguono: X=12.E3! X=-12.e3! X=3.45E-8! X=-3.45e-8!
10 ANCORA REALI Negli esempi precedenti i simboli e ed E potevano essere sostituiti da d e D, col significato di forzare un interpretazione in doppia precisione del reale. E, infatti, importante ricordare che una costante di tipo REAL viene registrata in memoria in due parti: la mantissa e l esponente. Il numero di bit allocati per la mantissa determina la precisione della costante (ossia il numero di cifre significative), mentre il numero di bit allocati per l esponente determina il range della costante (ossia l intervallo dei valori che possono essere rappresentati).
11 COMPLESSI Un literal per rappresentare un numero complesso è una coppia di parentesi che racchiudono due literal per reali separati da una virgola: X=(1., 0.)! 1+0i X=(1.5, 2.)!1.5+2i
12 STRINGHE Una stringa di caratteri è una sequenza di caratteri qualsiasi delimitata indifferentemente da singoli o doppi apici: X= abc X= John Dow X= #$%^ X= ()() La lunghezza di una stringa corrisponde al numero di caratteri in essa contenuta, compresi gli eventuali caratteri-spazio.
13 ANCORA SULLE STRINGHE Una stringa di lunghezza 0 è una empty string: X= Se una stringa contiene apici singoli (doppi) occorre usare apici doppi (singoli) come delimitatori: X= L avevo detto! X= Gli dissi: va via! Due apici consecutivi sono trattati come uno: L hai visto?! L hai visto?
14 VERO E FALSO Due literal speciali,.false. e.true. Sono utilizzati per rappresentare i valori logici VERO e FALSO. Attenzione ai punti delimitatori, sono richiesti!
15 IDENTIFICATORI Un IDENTIFICATORE di Fortran 90 non può avere più di 31 caratteri Il primo carattere deve essere una lettera, seguita da altre lettere, cifre, il simbolo _. Come già detto Fortran 90 è case insensitive, quindi Nome, NOME, nome.. sono lo stesso identificatore. A differenza di altri linguaggi (C, Java, etc) Fortran 90 non ha parole riservate. Comunque è buona consuetudine non utilizzare keyword del linguaggio (PROGRAM, IF, WHILE, etc) come identificatori, anche per non penalizzare la leggibilità del codice.
16 DICHIARAZIONI Una dichiarazione di Fortran 90 è un espressione del tipo: specificatore-di tipo :: lista di oggetti dove lo specificatore-di tipo è una delle seguenti keyword: INTEGER, REAL, LOGICAL, COMPLEX and CHARACTER mentre la lista di oggetti è una sequenza di identificatori (per variabili, parametri, funzioni) - separati da virgole. Esempio: INTEGER :: x, y, z COMPLEX :: w
17 DICHIARARE STRINGHE Una menzione a parte meritano le dichiarazioni di variabili di tipo carattere. CHARACTER :: c dichiara una variabile che può contenere giusto un carattere. Se voglio dichiarare variabili di tipo stringa di caratteri devo utilizzare lo specificatore LEN, per esempio: CHARACTER(LEN=10) :: s dichiara una variabile stringa di lunghezza 10.
18 PARAMETER Una identificatore con attributo PARAMETER fa riferimento ad un valore fisso, definito subito nella dichiarazione e non più modificabile durante il ciclo di vita di un programma. REAL, PARAMETER :: pigreco = 3.14 Nell esempio pigreco identifica appunto un parametro di tipo intero, fissato già nella dichiarazione al valore 3.14 e non più modificabile.
19 COSTANTI STRINGHE Per le stringhe di caratteri l uso dell attributo PARAMETER è spesso combinato con la specificazione LEN=* che lascia al compilatore contare i caratteri della stringa fissa. Esempi: CHARACTER(LEN=3), PARAMETER :: x = non CHARACTER(LEN=2), PARAMETER :: y = si CHARACTER(LEN=*), PARAMETER :: & z = cosa vuoi che faccia?
20 VARIABILI Le variabili sono la classe di dati più importante di un programma. Hanno un tipo, un nome (identificatore) ed un valore. Il valore è tipicamente impostato nella fase iniziale di un programma già come parte della dichiarazione o con un assegnazione esplicita, oppure immesso dall utente a tempo di esecuzione - per esempio da tastiera. REAL :: x=1.21! È dichiarata la variabile intera x ed inizializzata al! valore 1.21 REAL :: x. x=1.21! assegnazione esplicita
21 READ INTEGER :: i, j READ(*,*) i, j Le linee di programma sopra riportate dichiarano le variabili intere i e j e, quindi, consentono all utente di inizializzarle dal dispositivo standard d input, la tastiera. Complementare alla precedente è l istruzione WRITE(*,*) i, j Il cui effetto sarebbe la riproduzione sul dispositivo standard d output il monitor dei valori delle variabili i e j.
22 READ e WRITE Consideriamo il semplicissimo programma: PROGRAM esempio INTEGER :: i, j, k, l READ (*,*) i, j READ (*,*) k, l WRITE (*,*) i, j, k, l END PROGRAM esempio
23 READ e WRITE (bis) Supponiamo di eseguirlo e di rispondere alla richiesta di input con le linee: 1 2, 3, 4 5, 6, 7, 8 Avremmo poi il seguente output: Perché?
24 ASSEGNARE UN VALORE La più semplice fra le istruzioni esecutive del Fortran è l istruzione di assegnazione, la cui sintassi è la seguente: variabile = espressione con il significato che il risultato di espressione viene immagazzinato nella locazione di memoria assegnata alla variabile. L esecuzione dell istruzione produce, nell ordine: il calcolo di espressione, il cui risultato viene valutato secondo le regole proprie del tipo dell espressione; la conversione di tipo, quando prevista e se il tipo di espressione non coincide con quello di variabile; l immagazzinamento del risultato nella locazione di memoria relativa a variabile.
25 ASSEGNAZIONI ED ESPRESSIONI Una espressione Fortran è una qualunque combinazione di operandi ottenuta tramite operatori e parentesi tonde; l esecuzione delle operazioni indicate dagli operatori dà luogo ad un risultato detto valore dell espressione. Si osservi che anche un singolo operando costituisce un espressione. Dunque l istruzione di assegnazione calcola il valore dell espressione a destra del segno di uguale e assegna tale valore alla variabile specificata a sinistra del segno di uguale. Si noti che il simbolo = non indica uguaglianza secondo il significato comune del termine. Piuttosto un istruzione di assegnazione va interpretata come: registra il valore di espressione nella locazione di memoria di variabile. E solo in tal modo che assumono un senso istruzioni di aggiornamento del tipo seguente: INTEGER :: count=0 count = count+1
26 ESPRESSIONI MATEMATICHE Tutti i calcoli effettuati da un programma Fortran vengono specificati attraverso istruzioni di assegnazione il cui formato generale è il seguente: variabile = espressione_matematica L esecuzione di una istruzione di questo tipo avviene calcolando prima il valore di espressione aritmetica e poi memorizzando poi tale valore nella cella identificata dal nome variabile. Si noti, tuttavia, che se il tipo dell espressione non coincide con quello della variabile a primo membro, allora il valore dell espressione viene convertito al modo seguente: Se il tipo di variabile è INTEGER mentre il tipo di espressione è REAL allora la parte decimale, incluso il punto, viene rimosso dando luogo ad un risultato intero. Se il tipo di variabile è REAL mentre il tipo di espressione è INTEGER allora al valore (intero) del risultato viene aggiunto il punto decimale dando così luogo ad un valore reale.
27 ESPRESSIONI MATEMATICHE(bis) INTEGER :: totale, prezzo, numero numero = 5 prezzo = totale = numero*prezzo WRITE(*,*) numero,prezzo,totale Le precedenti istruzioni dichiarano, dapprima, tre variabili di tipo INTEGER. Quindi, ha luogo la prima istruzione di assegnazione che salva il valore intero 5 nella variabile numero. La seconda istruzione salva il valore approssimato nella variabile prezzo. Tuttavia, dal momento che prezzo è una variabile intera, il valore reale viene dapprima troncato all intero 100 e poi immagazzinato nella variabile. Infine, la terza assegnazione calcola il valore dell espressione 5*100 e ne salva il risultato (500) nella variabile totale. Pertanto l istruzione di scrittura fornirà il seguente risultato:
28 ESPRESSIONI MISTE Tutte le operazioni aritmetiche viste finora erano applicate ad operandi dello stesso tipo ed il tipo del risultato coincideva con quello degli operandi. E tuttavia possibile utilizzare in una stessa espressione operandi di tipo diverso dando luogo a quelle che vengono dette operazioni miste. Le espressioni che contengono una o più operazioni miste si chiamano espressioni miste. Per quanto concerne il tipo del risultato, vale la regola generale secondo cui se il tipo di due operandi non è lo stesso, quello più debole viene automaticamente modificato in quello più forte mediante una operazione, detta di conversione, che permette il passaggio da una rappresentazione interna ad un altra. Questo processo di conversione è subordinato alla seguente gerarchia fra i tipi degli operandi: COMPLEX più forte REAL # INTEGER più debole Un operazione che coinvolga sia operandi interi che reali è un esempio di operazione mista. Quando un compilatore incontra una operazione del genere, converte il valore dell operando intero in valore reale sicché l operazione viene svolta con operandi reali. A titolo di esempio si possono considerare le seguenti espressioni: 3/2 espressione intera risultato: 1 (intero) 3./2. espressione reale risultato: 1.5 (reale) 3./2 espressione mista risultato: 1.5 (reale)
29 ESPRESSIONI MISTE Tuttavia, la conversione automatica viene effettuata soltanto se l operando intero e quello reale compaiono nella stessa operazione. Di conseguenza, una parte dell espressione potrebbe essere valutata come una espressione intera e una parte come espressione reale. Ad esempio, la seguente espressione: 1/2 + 1./4. fornisce il valore 0.25 (che coincide con il valore del secondo argomento della somma) in quanto la prima operazione, avvenendo fra operandi interi, restituisce un valore intero, nella fattispecie il valore 0. Se, invece, la prima operazione fosse stata di natura mista, come ad esempio: 1./2 + 1./4. avrebbe avuto luogo una conversione automatica tale che il valore (reale) della prima operazione sarebbe stato 0.5 e, dunque, il valore dell intera espressione sarebbe stato 0.75, ben diverso da quello fornito dall espressione precedente.
30 PRIORITA OPERATORI
31 FUNZIONI INTRINSECHE IMPORTANTI
32 FUNZIONI DI CONVERSIONE
33 ALTRE FUNZIONI NOTEVOLI
34 FUNZIONI PER IL TIPO CHARACTER ICHAR(C) Restituisce la posizione occupata dalla variabile C, di tipo CHARACTER, nel sistema di codifica utilizzato dall elaboratore, associato al parametro di kind dell argomento. Il risultato, che è di tipo INTEGER, è un valore compreso tra 0 ed n-1, essendo n il numero di caratteri del sistema di codifica adottata dal processore. CHAR(I[,KIND]) Restituisce il carattere che occupa la posizione I nella sequenza di collating del processore, associato al parametro di kind KIND opzionalmente specificato. Gli argomenti I e KIND devono entrambi di tipo intero. In particolare il valore di I deve essere compreso tra 0 ed n- 1, essendo n il numero di caratteri del sistema di codifica adottato dal processore. La funzione CHAR è l inversa di ICHAR.
35 FUNZIONI PER IL TIPO CHARACTER IACHAR(C) Restituisce la posizione occupata dalla variabile C, di tipo CHARACTER, nel sistema di codifica ASCII. Il risultato, che è di tipo INTEGER, è un valore compreso tra 0 ed n-1, essendo n il numero di caratteri del sistema di codifica adottata dal processore. Ad esempio, se i è una variabile di tipo INTEGER, l istruzione: i = IACHAR( W )! restituisce il valore 87. ACHAR(I) Restituisce il carattere corrispondente alla posizione I nella tabella ASCII. Se I è compreso tra 0 e 127, il risultato fornito è effettivamente l I_mo carattere della tabella; se, invece, I è maggiore di 127, il risultato sarà dipendente dal processore. Ad esempio, se a è una variabile di tipo CHARACTER, l istruzione: a = ACHAR(87)! restituisce il valore W.
36 FUNZIONI PER IL TIPO CHARACTER ADJUSTL(STRING) Restituisce la stringa STRING giustificata a sinistra. In altre parole rimuove i bianchi di testa e li sposta in coda. Esempio: CHARACTER(LEN=16) :: str str = ADJUSTL( Fortran 90 )! restituisce: Fortran 90 ADJUSTR(STRING) Restituisce la stringa STRING giustificata a destra. In altre parole rimuove i bianchi di coda e li sposta in testa. Esempio: CHARACTER(LEN=16) :: str str = ADJUSTR( Fortran 90 )! restituisce: Fortran 90
37 FUNZIONI PER IL TIPO CHARACTER INDEX(STRING,SET[,BACK]) Se la variabile logica BACK è assente o vale.false. restituisce la posizione di partenza di SET nella stringa STRING. Se la variabile logica BACK vale.true. allora la funzione restituisce la posizione di partenza dell ultima occorrenza. Il valore ritornato è zero nel caso in cui SET non sia presente in STRING. Esempio: INTEGER :: i... i = INDEX( particolari, ar,back=.true.)! ris: i = 9 i = INDEX( particolari, ar )! ris: i = 2 i = INDEX( particolari, or )! ris: i = 0
38 FUNZIONI PER IL TIPO CHARACTER LEN(STRING) Restituisce la lunghezza della stringa STRING omprensiva degli eventuali spazi bianchi di coda. Esempio: CHARACTER(LEN=11) str INTEGER :: i... i = LEN (str)! restituisce 11 i = LEN( Una frase con 6 spazi bianchi )! restituisce 30 LEN_TRIM(STRING) Restituisce la lunghezza della stringa STRING depurata degli eventuali spazi bianchi di coda. Se STRING è completamente bianca, il valore restituito è zero. Esempio: CHARACTER(LEN=11) str INTEGER :: i... i = LEN ( )! restituisce 0 i = LEN( Una frase con 6 spazi bianchi )! restituisce 24
39 FUNZIONI PER IL TIPO CHARACTER LGE(STRING_A,STRING_B) Restituisce il valore.true. se STRING_A >= STRING_B secondo la sequenza di collating ASCII. Gli argomenti STRING_A e STRING_B devono essere stringhe di caratteri con kind di default. Esempio: LOGICAL :: l... l = LGE( abc, abd )! ris:.false. l = LGE ( ab, aaaaaaab )! ris:.true. LGT(STRING_A,STRING_B) Restituisce il valore.true. se STRING_A > STRING_B secondo la sequenza di collating ASCII. Gli argomenti STRING_A e STRING_B devono essere stringhe di caratteri con kind di default. Esempio: LOGICAL :: l... l = LGT( abc, abc )! ris:.false. l = LGT( abc, aabc )! ris:.true.
40 FUNZIONI PER IL TIPO CHARACTER LLE(STRING_A,STRING_B) Restituisce il valore.true. se STRING_A <= STRING_B secondo la sequenza di collating ASCII. Gli argomenti STRING_A e STRING_B devono essere stringhe di caratteri con kind di default. Esempio: LOGICAL :: l... l = LLE( ABC, ABC )! ris.true. l = LLE( ABC, AABCD )! ris.false. LLT(STRING_A,STRING_B) Restituisce il valore.true. se STRING_A < STRING_B secondo la sequenza di collating ASCII. Gli argomenti STRING_A e STRING_B devono essere stringhe di caratteri con kind di default. Esempio: LOGICAL :: l... l = LLT( abc, abd )! ris:.false. l = LLT( aaxyz, abcde )! ris:.true.
41 FUNZIONI PER IL TIPO CHARACTER REPEAT(STRING,NCOPIES) Restituisce una stringa formata concatenando NCOPIES copie di STRING una dietro l altra. Se STRING è completamente bianca e NCOPIES vale zero, la stringa restituita avrà lunghezza nulla. Esempio: CHARACTER(LEN=6) :: str str = REPEAT( ho,3)! restituisce la stringa hohoho SCAN(STRING,SET[,BACK]) Restituisce la prima ricorrenza di un carattere di SCAN in STRING operando una scansione da sinistra. Se il parametro opzionale BACK è presente e vale.true. la scansione avviene da destra ma il conteggio avviene ancora da sinistra. Se BACK vale.true. la scansione viene effettuata da destra e la funzione restituisce la posizione dell ultima ricorrenza di un carattere di SCAN in STRING. Se nessun carattere di SET si trova anche in STRING, oppure se la lunghezza di SET o di STRING è nulla, la funzione restituisce il valore zero. Gli argomenti SET e STRING sono stringhe di caratteri mentre l argomento opzionale BACK deve essere di tipo LOGICAL. Esempio: INTEGER :: i... i = SCAN ( Fortran, tr )! ris: i = 3 i = SCAN ( Fortran, tr, BACK=.TRUE.)! ris: i = 5 i = SCAN ( Fortran, for )! ris: i = 0
42 FUNZIONI PER IL TIPO CHARACTER TRIM(STRING) Restituisce la stringa STRING depurata dagli eventuali spazi bianchi di coda. Se STRING è completamente bianca, il valore restituito è una stringa nulla. Esempio:! Questa istruzione stampa il valore 31 WRITE(*,*) LEN( Stringa con caratteri bianchi )! Questa istruzione stampa il valore 26 WRITE(*,*) LEN(TRIM( Stringa con caratteri bianchi ))
43 FUNZIONI PER IL TIPO CHARACTER VERIFY(STRING,SET[,BACK]) Restituisce la posizione della prima ricorrenza di un carattere di STRING che non è presente in SET operando la scansione da sinistra. Se la variabile opzionale BACK è presente con valore.true. allora la funzione restituisce la posizione dell ultima ricorrenza di un carattere di STRING che non è presente in SET. Il risultato della funzione è zero se tutti i caratteri di STRING sono presenti in SET. Se tutti i caratteri di STRING sono presenti anche in SET oppure se entrambe le stringhe hanno lunghezza nulla, la funzione restituisce il valore zero. Esempio: INTEGER(4) position... position = VERIFY ( particolari, prtl )! ris: position = 2 position = VERIFY ( particolari, prtli, BACK=.TRUE.)! ris: position = 9 position = VERIFY ( rosso, rso )! ris: position = 0
44 SPECIFICATORI DI RANGE Una specifica di sottostringa seleziona una porzione di una variabile di caratteri e tratta questa variabile come se fosse una variabile stringa indipendente. La porzione di stringa selezionata è chiamata sottostringa. Una sottostringa viene selezionata (estratta) appendendo al nome della variabile stringa uno specificatore di range. Quest ultimo ha la forma: (inizio : fine ) Ad esempio, data la stringa così dichiarata: CHARACTER(LEN=8) :: stringa="abcdefgh" possibili esempi di sottostringa sono: stringa(2:4)! "bcd" stringa(3:7)! "cdefg"
45 CONCATENAZIONE DI STRINGHE L operatore di concatenazione di stringhe combina due o più stringhe (o sottostringhe) a formare un unica stringa più grande. Esso è rappresentato dal simbolo di un doppio slash ( // ). La forma generale di questo operatore è la seguente: stringa_1 //stringa_2 [// stringa_3...] in cui, se le stringhe stringa_1 e stringa_2 hanno lunghezza n_1 ed n_2, rispettivamente, la lunghezza della stringa finale sarà n_1+n_2.
46 CONCATENAZIONE DI STRINGHE L operatore di concatenazione di stringhe combina due o più stringhe (o sottostringhe) a formare un unica stringa più grande. Esso è rappresentato dal simbolo di un doppio slash ( // ). La forma generale di questo operatore è la seguente: stringa_1 //stringa_2 [// stringa_3...] in cui, se le stringhe stringa_1 e stringa_2 hanno lunghezza n_1 ed n_2, rispettivamente, la lunghezza della stringa finale sarà n_1+n_2.
47 RELAZIONE D ORDINE FRA STRINGHE Il processo mediante cui due operatori stringa vengono confrontati si articola nei seguenti passi: - Se i due operandi non hanno la stessa lunghezza, al più corto dei due vengono idealmente aggiunti spazi bianchi in modo da rendere le stringhe di uguale lunghezza. - I due operandi vengono confrontati carattere per carattere a partire dal primo (ossia da quello più a sinistra) fino a quando non vengono riscontrati due caratteri differenti oppure fino al raggiungimento della fine delle stringhe. - Se vengono trovati due caratteri corrispondenti differenti, allora è la relazione tra questi due caratteri che determina la relazione tra i due operandi. In particolare viene considerato minore il carattere che viene prima nella sequenza di collating del processore. Se non viene riscontrata alcuna differenza le due stringhe vengono considerate uguali.
48 RELAZIONE D ORDINE FRA STRINGHE ESEMPI: "Adamo" > "Eva è falsa in quanto in qualunque sequenza di collating la lettera A precede sempre la E, ossia A è minore di E. Allo stesso modo, la relazione: "Eva" < "Evaristo è vera poiché la stringa Eva viene prolungata con cinque caratteri vuoti e la relazione fra le due stringhe si riduce alla relazione: " " < "r e il carattere nullo precede tutti i caratteri alfanumerici. Si noti, tuttavia, che le relazioni: "ADAMO" < "Adamo" "X4" < "XA" "var_1" < "var-1 non sono definite in Fortran ed il valore di ciascuna di esse dipende dalla particolare sequenza di collating implementata dal processore in uso.
49 RELAZIONE D ORDINE FRA STRINGHE Se, per ragioni di portabilità, fosse richiesta la definizione di un ordine per tutti i caratteri allora è necessario fare uso di un altro metodo di confronto. Questo nuovo metodo si basa sull utilizzo di quattro funzioni intrinseche lessicali : LGT, LGE, LLE, LLT, la cui sintassi è: LGT(STRING_A,STRING_B) LGE(STRING_A,STRING_B) LLE(STRING_A,STRING_B) LLT(STRING_A,STRING_B) ed il cui significato è, rispettivamente: STRING_A > STRING_B STRING_A >= STRING_B STRING_A <= STRING_B STRING_A < STRING_B sempre e soltanto secondo l ordinamento ASCII
50 THE END
Sviluppare 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,
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
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
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
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
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
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
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
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
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
DettagliEspressione di chiamata di funzione
Avvertenza Quanto segue NON è un libro, ma è una copia dei lucidi usati a lezione che NON sostituisce i libri di testo adottati e consigliati per l insegnamento di Informatica Generale. Questa copia è
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
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 E COSTANTI
VARIABILI E COSTANTI - Variabili e costanti - 1 PROBLEMA: Calcolo dell area di un triangolo di base b e altezza h. area = b ------------ h 2 ESEMPIO: b = 2,4 h = 1,5 area = 2,4 -------------------- 1,5
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! Il potere espressivo di un linguaggio è! caratterizzato da:! quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente)! quali istruzioni
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,
DettagliPROBLEMI ALGORITMI E PROGRAMMAZIONE
PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL
DettagliIntroduzione al linguaggio Fortran 90
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
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni
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
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
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
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
DettagliBreve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN
Breve Manuale di Riferimento sulla Sintassi Linguaggi e versione aggiornata al 05/02/2004 Sommario Elementi di Base... 2 Dati, Tipi e Dichiarazioni... 2 Tipi di Dato di Base... 2 Tipi di Dato Strutturati...
DettagliFortran per Ingegneri
Fortran per Ingegneri Lezione 4 A.A. 2014/2015 Marco Redolfi marco.redolfi@unitn.it Simone Zen simone.zen@unitn.it Formati e Formattazione Finora abbiamo letto valori da tastiera e scritto sullo schermo
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
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?
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
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
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
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
DettagliAddizionatori: metodo Carry-Lookahead. Costruzione di circuiti combinatori. Standard IEEE754
Addizionatori: metodo Carry-Lookahead Costruzione di circuiti combinatori Standard IEEE754 Addizionatori Il circuito combinatorio che implementa l addizionatore a n bit si basa su 1-bit adder collegati
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliPROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI
PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.
DettagliInput/Output di numeri
Input/Output di numeri I/O di numeri Per utilizzare le funzioni di I/O occorre include il file di intestazione (o file header) stdio.h utilizzando all inizio del sorgente la direttiva #include
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
DettagliEspressioni ed operatori in C
Espressioni ed operatori in C Espressioni Il C è un linguaggio basato su espressioni Una espressione è una notazione che denota un valore mediante un processo di valutazione Una espressione può essere
DettagliESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
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
DettagliIntroduzione alla programmazione in C(++)
Testi Testi Consigliati: Introduzione alla programmazione in C(++) A. Kelley & I. Pohl C didattica e programmazione A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. D. M. M. Ritchie
DettagliArgomenti trattati. Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni
Argomenti trattati Informazione Codifica Tipo di un dato Rappresentazione dei numeri Rappresentazione dei caratteri e di altre informazioni Informazione mi dai il numero di Andrea? 0817651831 Il 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
DettagliUn elaboratore è un manipolatore di simboli (segni) intrinsecamente capace di trattare vari. caratteri char caratteri ASCII unsigned char
IL LINGUAGGIO C Un elaboratore è un manipolatore di simboli (segni) L'architettura tt fisica i di ogni elaboratore è intrinsecamente capace di trattare vari domini i di dati, detti tipi i primitivi iti
DettagliTipi di dato. Le variabili in C. Problema: dato in input un carattere, se esso è una lettera minuscola, trasformarla in maiuscola.
Tipi di dato Le variabili in C KP Cap.3 pp.95-129 Cap.5 pp.190-193 DD Cap. 9 pp.352-355 Abbiamo già parlato delle variabili, ed abbiamo fin ora usato il tipo int, ma abbiamo molte altre possibiltà I tipi
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
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
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 6 Il FORTRAN versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina) G. Mecca Università
DettagliTipi di dati fondamentali. Tipi di dati fondamentali. Utilità dei tipi di dati nelle dichiarazioni. Il tipo di dati char. Codice ASCII.
Tipi di dati fondamentali Tipi di dati fondamentali Linguaggi di Programmazione I Ferdinando Cicalese caratteri: char signed char unsigned char interi short int long interi unsigned short unsigned unsigned
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
DettagliAnalizzatori Lessicali con JLex. Giuseppe Morelli
Analizzatori Lessicali con JLex Giuseppe Morelli Terminologia Tre concetti sono necessari per comprendere la fase di analisi lessicale: TOKEN: rappresenta un oggetto in grado di rappresentare una specifica
DettagliRappresentazione binaria delle variabili (int e char)
Rappresentazione binaria delle variabili (int e char) int e char son i due tipi utilizzati dal linguaggio C per la rappresentazione di valori interi; ai valori delle variabili del primo tipo sono assegnati
DettagliInformazione e sua rappresentazione: codifica
Corso di Calcolatori Elettronici I Informazione e sua rappresentazione: codifica ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Il concetto di informazione Qualunque informazione è definita
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
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
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
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
DettagliVariabili e Istruzioni
Exit Menù Variabili e Istruzioni 1 Le Variabili Una VARIABILE è un oggetto identificato da un NOME e da uno STATO, detto CONTENUTO o VALORE. Possiamo immaginarla come una scatola contenuto Pippo 11 nome
DettagliL intero è o il valore zero o una stringa di cifre che inizia con una cifra diversa sa zero.
ANALISI SINTATTICA Data un linguaggio scrivere una grammatica che lo generi ESERCIZIO 1 Definire una grammatica per il linguaggio L = {ww w appartiene a (a, b)*} ESERCIZIO 2 Dato l alfabeto T=[0,1,2,3,4,5,6,7,8,9,/}
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
DettagliUlteriori comandi sui file
Ulteriori comandi sui file Confronto tra file: 1. > cmp file1 file2 restituisce il primo byte ed il numero di linea in cui file1 e file2 differiscono (se sono uguali, non viene stampato nulla a video).
DettagliAnalizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.
Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,
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
DettagliIl Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliProgrammazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione versione 2.0 Questolavoroè concessoin uso secondoi termini di unalicenzacreative Commons (vedi ultima pagina)
Dettagli3. Le routine evento in Access 2000/2003
LIBRERIA WEB 3. Le routine evento in Access 2000/2003 Le routine evento possono essere associate a un singolo controllo grafico (caselle di testo, pulsanti di comando, ecc.) presente all interno di una
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)
DettagliI.4 Rappresentazione dell informazione
I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione
DettagliI puntatori. Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore
I puntatori Un puntatore è una variabile che contiene l indirizzo di un altra variabile. puntatore...... L operatore & fornisce l indirizzo di un oggetto: p = &c; assegna a p l indirizzo di c, i.e., p
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011
Laboratorio di Informatica Ingegneria Clinica Lezione 14-16/11/2011 Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147 00161 Roma I puntatori Variabili e parametri Parametri formali
DettagliEsercizi Programmazione I
Esercizi Programmazione I 9 Novembre 201 Esercizio 1 Valutare e dare il tipo delle seguenti espressioni condizionali. 1 char a= a, b= b ; // a ha v a l o r e decimale 97 2 i n t i= 1, j= 2 ; 3 double x=
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliLaboratorio di Algoritmi e Strutture Dati
Laboratorio di Algoritmi e Strutture Dati Docente: Camillo Fiorentini 16 ottobre 2007 1 Rappresentazioni di caratteri in C In C un carattere è una costante intera il cui valore è dato dal codice ASCII
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
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
DettagliCostrutti condizionali e iterativi
Costrutti condizionali e iterativi Introduction to Fortran 90 Paolo Ramieri, CINECA Aprile 2014 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle istruzioni
DettagliFunzioni di I/O per numeri. Input e output di valori numerici. Input formattato scanf. Stream preesistenti
Funzioni di I/O per numeri 2 Input e output di valori numerici Ver. 2.4.2 2012 - Claudio Fornaro - Corso di programmazione in C Per utilizzare le funzioni di Input/Output bisogna includere il file di intestazione
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
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
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
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliLinguaggio C. Tipi predefiniti. Università degli Studi di Brescia. Prof. Massimiliano Giacomin. Prof. M. Giacomin
Linguaggio C Tipi predefiniti Università degli Studi di Brescia Prof. Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Il concetto di tipo (reprise) Nome che indica
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
DettagliIL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale
Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input
DettagliLinguaggio C. Tipi predefiniti e operatori. Università degli Studi di Brescia. Docente: Massimiliano Giacomin
Linguaggio C Tipi predefiniti e operatori Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 RICHIAMI char 8 bit Valori interi
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
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
DettagliFondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012
Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 I numeri reali Sommario Conversione dei numeri reali da base 10 a base B Rappresentazione dei numeri reali Virgola fissa Virgola mobile (mantissa
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
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
DettagliPuntatori. Fondamenti di Programmazione
Puntatori Fondamenti di Programmazione Funzioni utili stdio.h c = getchar(); restituisce un carattere letto da tastiera. Equivale a: scanf( %c, &c); putchar(c); scrive un carattere sullo schermo. Equivale
DettagliEspressioni con effetti collaterali
Espressioni con effetti collaterali Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Operatore di assegnamento In C l assegnamento (=)
DettagliUniversità degli Studi di Cassino Corso di Fondamenti di Informatica Tipi strutturati: Stringhe. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Tipi strutturati: Stringhe Anno Accademico 2010/2011 Francesco Tortorella Stringhe di caratteri La stringa è il tipo strutturato con cui vengono rappresentati gruppi di caratteri quali
DettagliLa codifica digitale
La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore
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 Sistemi posizionali 1 10 3 + 4 10 2 + 9 10 1 + 2 10 0 Sistemi posizionali
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
Dettagli