1 / 18

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++. Elementi di Base Parte 6 Il FORTRAN. versione 2.1. Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina). Elementi di Base: Conclusioni >> Sommario. Sommario. Un Altro Esempio: Il FORTRAN 77

orsin
Download Presentation

Programmazione Procedurale in Linguaggio C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  18. Termini della Licenza Termini della Licenza • This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/1.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. • Questo lavoro viene concesso in uso secondo i termini della licenza “Attribution-ShareAlike” di Creative Commons. Per ottenere una copia della licenza, è possibile visitare http://creativecommons.org/licenses/by-sa/1.0/ oppure inviare una lettera all’indirizzo Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. G. Mecca - Programmazione Procedurale in Linguaggio C++

More Related