FORTRAN: LE STRUTTURE DI CONTROLLO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "FORTRAN: LE STRUTTURE DI CONTROLLO"

Transcript

1 UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE ELEMENTI DI PROGRAMMAZIONE FORTRAN: LE STRUTTURE DI CONTROLLO Prof. Andrea Prevete - a.a. 2015/16

2 IF-THEN La più semplice struttura di controllo è lo statement IF- THEN. Un espressione logica è valutata per consentire, se.true., l esecuzione di un definito blocco di istruzioni. LEXPR? THEN (TRUE!) BLOCK

3 IF-THEN Ecco la sintassi Fortran: IF (lexpr) THEN block END IF Oppure, se block è una singola istruzione, in formato single-line: IF (lexpr) istr Segue un segmento di programma che, letti due interi x ed y, immagazzina in una terza variabile il valore maggiore: INTEGER :: x, y, m READ(*,*) x, y m=x IF (y>m) THEN m=y END IF WRITE(*,*) m

4 IF-THEN-ELSE ELSE (FALSE!) LEXPR? THEN (TRUE!) BLOCK2 BLOCK1 Un immediata estensione della struttura di controllo IF- THEN è la IF-THEN-ELSE. Il valore di verità dell espressione valutata seleziona, per l esecuzione, uno fra due, alternativi, blocchi di istruzioni.

5 IF-THEN-ELSE Ecco il codice Fortran: IF (lexpr) THEN block1 ELSE block2 END IF Segue la versione IF-THEN-ELSE del precedente segmento di programma: INTEGER :: x, y, m READ(*,*) x, y IF (x > y) THEN m=x ELSE m=y END IF WRITE(*,*) m

6 ELSE-IF La forma più generale di costrutto IF disponibile in Fortran è la seguente: IF (lexpr1) THEN block-i ELSE IF (lexpr2) THEN block-1 ELSE IF (lexprn) THEN block-n ELSE block-e END IF Utilizzando questa forma di controllo si ha la possibilità di selezionare uno fra più blocchi di istruzioni da eseguire utilizzando una catena di espressioni logiche che restringono via via la scelta.

7 CHARACTER(10) :: Today, Oggi READ(*,*) Today IF (Today == Monday ) THEN Oggi= Lunedi ELSEIF (Today == Tuesday ) THEN Oggi= Martedi ELSEIF (Today == Wednesday ) THEN Oggi= Mercoledi ELSEIF (Today == Thursday ) THEN Oggi= Giovedi ELSEIF (Today == Friday ) THEN Oggi= Venedi ELSEIF (Today == Saturday ) THEN Oggi= Sabato ELSEIF (Today == Sunday ) THEN Oggi= Domenica ELSE Oggi= Errore! ENDIF WRITE(*,*) Oggi ELSE-IF

8 SELECT-CASE Nei casi in cui la selezione fra più alternative è indirizzabile dai potenziali valori o insieme/range di valori che può assumere un espressione intera/carattere/logica, il costrutto d elezione reso disponibile dal Fortran è il SELECT-CASE: SELECT CASE (expr) CASE (selector-1) block-1 CASE (selector-n) block-n CASE DEFAULT block END SELECT E importante ricordare che i vari selettori rappresentano valori o gruppi/range di valori che devono mutuamente escludersi!

9 SELECT-CASE Riscriviamo, ad esempio, il codice Fortran per tradurre in italiano il nome inglese di un giorno della settimana. E evidente la maggiore compattezza e leggibilità del risultato ottenuto! CHARACTER(10) :: Today, Oggi READ(*,*) Today SELECT CASE (Today) CASE ( Monday ) Oggi= Lunedi CASE ( Tuesday ) Oggi= Martedi CASE ( Wednesday ) Oggi= Mercoledi CASE ( Thursday ) Oggi= Giovedi CASE ( Friday ) Oggi= Venedi CASE ( Saturday ) Oggi= Sabato CASE ( Sunday ) Oggi= Domenica CASE DEFAULT Oggi= Errore! END SELECT WRITE(*,*) Oggi

10 SELECT-CASE UN ALTRA SEMPLICE APPLICAZIONE PROGRAM calcolatrice IMPLICIT NONE!! INTEGER :: i,j,k CHARACTER :: Operatore DO WRITE(*,*) Inserisci due interi: READ(*,*) i,j WRITE(*,*) Quale operazione?: READ(*,*) Operatore SELECT CASE (Operatore) CASE ('+') K=I+J WRITE(*,*) La somma è:, K CASE ('-') K=I-J WRITE(*,*) La differenza è:, K CASE ('/, : ) K=I/J WRITE(*,*) Il quoziente è:, K CASE ('*, x, X ) K=I*J WRITE(*,*) Il prodotto è., K CASE DEFAULT WRITE(*,*) Operatore non valido! END SELECT END PROGRAM calcolatrice

11 UN APPLICAZIONE PIU COMPLESSA PROGRAM equaz2grado IMPLICIT NONE REAL :: a, b, c, d! coefficienti! dell equazione e discriminante COMPLEX :: x1, x2! radici! complesse dell equazione! lettura dei coefficienti WRITE(*,*) "Coefficiente a: " READ(*,*) a WRITE(*,*) "Coefficiente b: " READ(*,*) b WRITE(*,*) "Coefficiente c: " READ(*,*) c! calcolo del discriminante d = b**2-4.*a*c IF (d > 0.) THEN PRINT*, "Radici reali e distinte" x1 = (-b-sqrt(d))/(2.*a) x2 = (-b+sqrt(d))/(2.*a) ELSE IF (d == 0.) THEN PRINT*, "Radici reali e coincidenti" x1 = -b/(2.*a) x2 = x1 ELSE PRINT*, "Radici complesse coniugate" x1 = CMPLX(-b,-SQRT(-d))/(2.*a) x2 = CONJG(x1) END IF WRITE(*,*) x1, x2 END PROGRAM equaz2grado Perché non possiamo usare SELECT CASE per scegliere fra le tre possibili soluzioni?

12 CICLO CON CONTROLLO EX-ANTE Sintassi Fortran: DO WHILE (lexpr) block Oppure: DO IF (.NOT. lexpr) EXIT block

13 CICLO CON CONTROLLO EX-ANTE PROGRAM costruisci_frase IMPLICIT NONE CHARACTER :: char CHARACTER(200)::str INTEGER :: i=0 WRITE(*,*) Immetti un carattere (. per fine frase, # per spazio) : READ (*,*) char DO WHILE(char /=. ) i=i+1 IF (char == '#') char=' ' str(i:i) = char WRITE(*,*) Immetti un carattere (. per fine frase, # per spazio) : READ (*,*) char WRITE(*,*) La frase immessa è:, str(1:i) END PROGRAM

14 CICLO CON CONTROLLO EX-POST Sintassi Fortran: DO block IF (.NOT. lexpr) EXIT

15 CICLO CON CONTROLLO EX-POST PROGRAM temperatura! Conversione temperatura fra diverse scale IMPLICIT NONE REAL :: T_c! temperatura in gradi Celsius REAL :: T_k! temperatura in Kelvin REAL :: T_f! temperatura in gradi Fahrenheit REAL :: T_r! temperatura in gradi Reaumur REAL :: dt! incremento nella temperatura REAL, PARAMETER :: Tmin_c=0.0! temperatura di congelamento dell acqua REAL, PARAMETER :: Tmax_c=100.! temperatura di ebollizione dell acqua REAL, PARAMETER :: cost=1.8! fattore 9/5 della convers. Cels->Fahr WRITE(*,*) "Incremento nella T: "; READ(*,*) dt WRITE(*,*) " Celsius Kelvin Fahrenheit Reaumur " WRITE(*,*) " ========== ========== =========== ========== " T_c = Tmin_c DO T_f = cost*t_c T_k = T_c T_r = 0.8*T_c WRITE(*,*) T_c, T_k, T_f, T_r T_c = T_c+dT IF (.NOT. (T_c <= Tmax_c)) EXIT! i END PROGRAM temperatura

16 CICLO CON CONDIZIONE DI USCITA In realtà il ciclo DO del Fortran è un costrutto estremamente versatile che consente di implementare molte logiche di controllo. Per esempio, un ciclo con condizione di uscita in itinere, come quello in figura. Sintassi Fortran: DO block1 IF (lexpr) EXIT block2

17 CICLO CON CONDIZIONE DI USCITA Riconsideriamo il codice visto per il ciclo con controllo ex-ante, apprezzandone la maggiore compattezza! PROGRAM costruisci_frase IMPLICIT NONE CHARACTER :: char CHARACTER(200)::str INTEGER :: i=0 DO WRITE(*,*) Immetti un carattere(. per fine frase, # per spazio): READ (*,*) char i=i+1 IF (char ==. ) EXIT! Condizione di uscita IF (char == '#') char=' ' str(i:i) = char WRITE(*,*) La frase immessa è:, str(1:i) END PROGRAM

18 CICLO CON CONTATORE Sintassi Fortran: DO i = inizio, fine [,passo] block ATTENZIONE: - i è una variabile contatore di tipo INTEGER - inizio, fine ed opzionalmente passo (1 per default) sono espressioni di tipo INTEGER - Le variabili utilizzate per inizio, fine e passo non possono essere esplicitamente modificate dal blocco di istruzioni interne al ciclo. - NON si dovrebbe far fede sul valore assunto dalla variabile contatore a fine ciclo e, quindi, utilizzarla esplicitamente nel codice post-ciclo!

19 CICLO CON CONTATORE PROGRAM SOMMA_DI_CUBI! Stampa tutti i numeri a tre cifre! pari alla somma dei cubi delle loro cifre IMPLICIT NONE INTEGER H, T, U DO H = 1, 9! Ciclo 1 livello DO T = 0, 9! Ciclo 2 livello DO U = 0, 9! Ciclo 3 livello IF (100*H + 10*T + U == H**3 + T**3 + U**3) THEN WRITE(*, "(3I1) ) H, T, U ENDIF END SOMMA_DI_CUBI

20 LO STATEMENT CYCLE PROGRAM DISPARI! Conta il numero di naturali dispari immessi.! Un numero negativo arresta la conta.! Un numero pari forza una nuova iterazione. IMPLICIT NONE INTEGER :: numero, n_dispari=0 DO WRITE(*,*) Immetti numero: " READ( *, *) numero IF (numero < 0) THEN EXIT IF (MODULO(numero, 2) == 0) CYCLE n_dispari = n_dispari + 1 WRITE(*.*) IL NUMERO DI DISPARI E :", n_dispari END PROGRAM DISPARI

Strutture di controllo e cicli

Strutture di controllo e cicli AA 2012-2013 IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale IF logico L IF logico rappresenta il tipo piú semplice di istruzione condizionale Sintassi IF ( e s p r e

Dettagli

Istruzioni condizionali di diramazione in Fortran 90

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

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Costrutti condizionali e iterativi

Costrutti 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

Dettagli

Costrutti condizionali e iterativi

Costrutti condizionali e iterativi Costrutti condizionali e iterativi Introduction to modern Fortran Paolo Ramieri, CINECA Maggio 2017 Strutture di controllo Le strutture di controllo permettono di alterare la sequenza di esecuzione delle

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

Sviluppare un programma in FORTRAN

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,

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Controllo >> Sommario Sommario Ricapitolazione Alcune

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

Array 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. 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

Dettagli

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

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo ambientale/index.html

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Dati Parte 4 Conclusioni G. Mecca M. Samela Università della Basilicata Strutture di Dati: Conclusioni >> Sommario Sommario Ricapitolazione Alcune

Dettagli

Breve Manuale di Riferimento sulla Sintassi Linguaggi C++ e FORTRAN

Breve 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...

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2015/2016 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2015/2016 Ambiente di test PHP online per avere un interprete PHP Php Online PHP Tester

Dettagli

Modularizzazione del software

Modularizzazione 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

Dettagli

DOCUMENTAZIONE A SUPPORTO DELLA PREPARAZIONE PER LA PROVA SCRITTA

DOCUMENTAZIONE A SUPPORTO DELLA PREPARAZIONE PER LA PROVA SCRITTA SECONDA UNIVERSITA DEGLI STUDI DI NAPOLI CORSI DI LAUREA IN INGEGNERIA AEROSPAZIALE E MECCANICA ELEMENTI DI PROGRAMMAZIONE a.a. 2009/10 Prof Andrea Prevete andrea@prevete.it DOCUMENTAZIONE A SUPPORTO DELLA

Dettagli

Appelli degli anni precedenti Domande di teoria

Appelli degli anni precedenti Domande di teoria Appelli degli anni precedenti di teoria 10 settembre 2003 1) Indicare i compiti principali di un sistema operativo 2) Spiegare come e' strutturata e come funziona la memoria di un computer 3)Rappresentare

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Istruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Istruzioni di Ciclo. Unità 4. 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

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello dell 11 Febbraio 2008 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello dell 11 Febbraio 2008 ( ) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello dell 11 Febbraio 2008 (15.00 18.00) Esercizio 1 (punti 15) Scrivere in linguaggio fortran un algoritmo capace di eseguire le seguenti

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Elda Rossi, CINECA Marzo 2015 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile mediante indici numerici.

Dettagli

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

Algoritmi, 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

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova I/O in Ftran Paolo Bison Fondamenti di Infmatica A.A. 2006/07 Università di Padova I/O in Ftran, Paolo Bison, FI06, 2007-02-16 p.1 Print e Read sintassi R911 print-stmt is PRINT fmat [, output-item-list

Dettagli

Corso di Fondamenti di Informatica Classi di istruzioni 2

Corso di Fondamenti di Informatica Classi di istruzioni 2 Corso di Informatica Classi di istruzioni 2 Anno Accademico 2010/2011 Francesco Tortorella Strutture di controllo Caratteristica essenziale degli algoritmi è la possibilità di decidere le operazioni da

Dettagli

Vettori e Matrici (array)

Vettori e Matrici (array) Vettori e Matrici (array) Introduction to Fortran 90 Massimiliano Guarrasi, CINECA m.guarrasi@cineca.it Ottobre 2014 Array - Introduzione Gli array sono serie di variabili dello stesso tipo, ciascuna accessibile

Dettagli

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

Programma 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 Elementi del linguaggio e primi programmi

Dettagli

Gli ARRAY in FORTRAN 90

Gli ARRAY in FORTRAN 90 ELEMENTI DI PROGRAMMAZIONE Gli ARRAY in FORTRAN 90 Andrea Prevete, UNINA2 INGEGNERIA MECCANICA/AEROSPAZIALE, a.a. 2012/13 Un ARRAY è un AGGREGATO di più DATI dello stesso TIPO (interi, reali, etc), ognuno

Dettagli

Almerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY)

Almerico Murli - Le variabili strutturate (array) VARIABILI STRUTTURATE (ARRAY) VARIABILI STRUTTURATE (ARRAY) 1 successione (di numeri reali): i ℵ a R i vettore (di numeri reali): i I a i R con I ℵ sottoinsieme finito ogni componente del vettore e univocamente determinata dall indice

Dettagli

5 - Istruzioni condizionali

5 - Istruzioni condizionali 5 - Istruzioni condizionali Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Prof. Marco Masseroli LAB 4: MATLAB/OCTAVE ESERCIZI

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione 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

Dettagli

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( )

COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici. Appello Straordinario del 05 Marzo 2007 ( ) COMPITO DI FONDAMENTI DI INFORMATICA Allievi Ingegneri Meccanici Appello Straordinario del 05 Marzo 2007 (09.30 12.30) Esercizio 1 (punti 15) Due file di testo (PAROLE1.TXT e PAROLE2.TXT) contengono un

Dettagli

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro

Dettagli

INTRODUZIONE AL C++ CLASSIFICAZIONE

INTRODUZIONE AL C++ CLASSIFICAZIONE INTRODUZIONE AL C++ 1 CLASSIFICAZIONE LINGUAGGI CHE OPERANO SU DATI OMOGENEI: FORTRAN77, LINGUAGGIO C, LINGUAGGIO C++, PASCAL: operano solo su DATI OMOGENEI (integer, float, double), senza classi e puntatori;

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

r fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi

r fattore di ripetizione w ampiezza di campo m numero minimo cifre da visualizzare d numero cifre decimali Print e Read I/O in Fortran sintassi I/O in Ftran Print e Read Paolo Bison Fondamenti di Infmatica A.A. 2006/07 Università di Padova R911 print-stmt is PRINT fmat [, output-item-list ] R909 read-stmt is READ ( io-control-spec-list ) [ input-item-list

Dettagli

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso

Unità Didattica 2 Linguaggio C. Espressioni, Operatori e Strutture linguistiche per il controllo del flusso Unità Didattica 2 Linguaggio C Espressioni, Operatori e Strutture linguistiche per il controllo del flusso 1 Espressioni e assegnazioni Le espressioni sono definite dalla grammatica: espressione = variabile

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

STRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010

STRUTTURE DI CONTROLLO IN C. 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

Dettagli

Breve storia del FORTRAN

Breve storia del FORTRAN Fondamenti di Informatica Linguaggi di programmazione ad alto livello: C e Fortran90 1 Breve storia del FORTRAN Il FORTRAN (= FORmula TRANslator) nacque nel 1957. Nel 1980 venne rilasciato il FORTRAN77

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

Dettagli

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo

Dettagli

Pascal: esempi di programmazione

Pascal: esempi di programmazione Pascal: esempi di programmazione Problemi elementari di programmazione.................. 2252 a2» 2013.11.11 --- Copyright Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net Somma tra

Dettagli

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean

La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Laboratorio di Programmazione A.A. 2000\2001 La sezione di dichiarazione delle costanti 1.2 I tipi elementari Classificazione dei tipi Il tipo integer Il tipo boolean Editazione a cura di: de Pinto E.

Dettagli

Switch. Unità 3. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

Switch. Unità 3. 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

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015

Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni. Andrea Marchetti IIT-CNR AA 2014/2015 Laboratorio Progettazione Web Il linguaggio PHP Le Istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.it AA 2014/2015 Ambiente di test Cercare PHP online per avere un interprete PHP Assegnamento

Dettagli

INFORMATICA. Strutture condizionali

INFORMATICA. Strutture condizionali INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

Dettagli

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo

Informatica A (per gestionali) A.A. 2004/2005. Esercizi C. Strutture di controllo Informatica A (per gestionali) A.A. 2004/2005 Esercizi C Strutture di controllo 1 Indice 1 Strutture di controllo...3 1.1 Multiplo...3 1.2 Massimo Comun Divisore...3 1.3 Valutazione triangolo...4 1.4 Calcolatrice...5

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions

Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions Dipartimento di Matematica Laboratorio di Calcolo Numerico Laboratorio 4: Grafici di convergenza e functions Damiano Pasetto E-mail: pasetto@math.unipd.it Dispense: http://dispense.dmsa.unipd.it/putti/calcolo

Dettagli

e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21

e L equazione associata a questa disequazione non è risolvibile in maniera analitica, con metodi numerici 2 si trova n 1754, 21 Il file distribuzioni.f90 è strutturato in tre parti. Il primo modulo è necessario per richiedere la precisione desiderata per i real di lavoro module precisione integer,parameter::kr=selected_real_kind(18)

Dettagli

C espressioni condizionali

C espressioni condizionali C espressioni condizionali Esiste un particolare operatore, detto operatore condizionale, che rappresenta un istruzione if else. estremamente compattata?: Supponiamo di voler inserire nella variabile intera

Dettagli

Caratteristiche generali del linguaggio Visual Basic

Caratteristiche generali del linguaggio Visual Basic Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web Il linguaggio PHP le istruzioni. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web Il linguaggio PHP le istruzioni Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2013/2014 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione

Dettagli

Variabili strutturate

Variabili strutturate Esempio Ordinamento crescente di numeri: 25 7 I passo: 25 7 25 7 7 25 7 25 Variabili strutturate in due scambi 25 è stato portato al suo posto Gli array II passo: 7 25 7 25 7 25 in uno scambio 7 è stato

Dettagli

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012

Laboratorio Progettazione Web Il linguaggio PHP Lezione 6. Andrea Marchetti IIT-CNR 2011/2012 Laboratorio Progettazione Web Il linguaggio PHP Lezione 6 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Assegnamento L assegnamento ad una variabile è il classico variabile = valore;

Dettagli

Corso di Fondamenti di Informatica Università degli Studi di Cassino

Corso di Fondamenti di Informatica Università degli Studi di Cassino Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la

Dettagli

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica

PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI. Informatica PASCAL LA SELEZIONE: IF TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL. 1, HOEPLI Informatica La selezione semplice: if..then La selezione semplice: if..then L istruzione di selezione semplice

Dettagli

Informatica 2 modulo C Massimo Callisto De Donato

Informatica 2 modulo C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Informatica 2 modulo C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Homepage del corso Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Controllo di flusso Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano

Dettagli

STRUTTURE DI CONTROLLO DEL C++

STRUTTURE DI CONTROLLO DEL C++ STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto

Dettagli

Esercitazioni di Elementi di Informatica

Esercitazioni di Elementi di Informatica Esercitazioni di Elementi di Informatica Docente: Prof. Angelo Chianese angelo.chianese@unina.it Tutor: Ing. Antonio Picariello antonio.picariello@unina.it Interpreti e Compilatori Interprete Es. Qbasic

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

Elementi di Calcolo Scientifico per l Ingegneria A.A

Elementi di Calcolo Scientifico per l Ingegneria A.A Elementi di Calcolo Scientifico per l Ingegneria A.A. 2017-2018 Ottobre 2017 (2 16) Indice 1 2 3 4 Rappresentazione dei numeri reali nel calcolatore l insieme dei numeri reali, R, contiene un numero infinito

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

Dettagli

Laboratorio di Informatica I

Laboratorio di Informatica I Struttura della lezione Lezione 3: Istruzioni ed operatori booleani. Vittorio Scarano Corso di Laurea in Informatica Università di Salerno Soluzioni agli esercizi Istruzioni (statement) semplici e di controllo

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Strutture di Controllo Parte 2 Istruzioni Condizionali G. Mecca M. Samela Università della Basilicata Istruzioni Condizionali >> Sommario Sommario Introduzione

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

For e do. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER

For e do. Unità 4. 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

Dettagli

I tipi di dato del Fortran

I 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

Dettagli

I cicli. Iterazioni Calcolo della media Istruzioni break e continue

I cicli. Iterazioni Calcolo della media Istruzioni break e continue I cicli Iterazioni Calcolo della media Istruzioni break e continue Ciclo while p Vero A while() ; Falso Esegue una istruzione mentre una condizione è verificata Programmazione

Dettagli

Istruzioni per il controllo di ciclo - ciclo a condizione generica

Istruzioni per il controllo di ciclo - ciclo a condizione generica Istruzioni per il controllo di ciclo - ciclo a condizione generica Permette di ripetere l esecuzione di un blocco di istruzioni finchè non viene verificata una condizione logica. Sintassi istruzione_1...

Dettagli

VBA Principali Comandi

VBA Principali Comandi VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,

Dettagli

Excel & VBA. Excel e Visual Basic for Application

Excel & VBA. Excel e Visual Basic for Application Excel & VBA Excel e Visual Basic for Application Automazione Excel con VBA incorpora la tecnologia dell automazione (OLE automation) Excel dialoga con VBA attraverso un insieme di comandi detto libreria

Dettagli

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while)

Laboratorio. Due. 1) Switch 2) Costrutti Iterazione (For, While, do while) Laboratorio Due 1) Switch 2) Costrutti Iterazione (For, While, do while) GLI ARGOMENTI DI OGGI Istruzione switch I costrutti di iterazione (For, while, do while) Le funzioni (e ricorsione) Terza Esercitazione

Dettagli

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni

Informatica (CIV) Esercitazione su FORTRAN. Andrea Romanoni Informatica (CIV) Esercitazione su FORTRAN Andrea Romanoni andrea.romanoni@polimi.it Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 3 dicembre 2013 Esercizio istogrammi

Dettagli

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Istruzioni semplici e strutturate

Istruzioni semplici e strutturate Consorzio NETTUNO Corso di Fondamenti di Informatica I secondo giorno di stage Istruzioni semplici e strutturate Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

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

VBA è 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?

Dettagli

Dichiarazione di variabili

Dichiarazione di variabili Dichiarazione di variabili ESEMPIO: somma di due numeri

Dettagli

If Statement. Il costrutto condizionale if ha la seguente sintassi:

If Statement. Il costrutto condizionale if ha la seguente sintassi: Costrutti Control Flow Con control flow (o strutture di controllo) si intende l insieme dei costrutti che servono a gestire il flusso di esecuzione di un programma, cioè a specificare quando e come eseguire

Dettagli

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio.

Matlab : le basi. Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio. Matlab : le basi Vediamo ora un esercizio di calcolo: Il volume di una sfera è dato da V=4*π*r 3 /3 dove r è il raggio. Usare Matlab per calcolare il raggio di una sfera che ha un volume maggiore del 30%

Dettagli