Istruzioni condizionali di diramazione in Fortran 90
|
|
- Ilario Giusti
- 6 anni fa
- Visualizzazioni
Transcript
1 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 di informatica e sistemistica 1 / 17
2 Cosa vedremo in questa lezione 1 Istruzioni di diramazione (o di salto) 2 Costrutto IF-THEN-ELSE 3 Espressioni logiche Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 2 / 17
3 Istruzioni condizionali Istruzioni di diramazione (o di salto) Per implementare algoritmi complessi abbiamo bisogno di istruzioni più complesse! Programmazione strutturata: principi (Jacopini e Böhm) Completezza: istruzioni di sequenza, alternativa e iterazione Singolo punto di ingresso e di uscita Componibilità delle strutture di controllo Problema 1: scrivere programma (file MAX.F90) che: Legga due numeri interi Stampi il valore massimo fra i due letti Esempio: lettura: -3, 2. Stampa 2., Lettura: 2, -3. Stampa 2. Problema 2: scrivere programma (file PARI.F90) che: Legga un numero intero Stampi il messaggio PARI oppure DISPARI, a seconda del caso Non è possibile con gli strumenti visti finora Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 3 / 17
4 Programma MAX Istruzioni di diramazione (o di salto) 1! F i l e : max. f 9 0 2! Time stamp : 01/12/ : 1 3 : 0 3 c a d o l i 3! Scopo : primo esempio d i i s t r u z i o n e c o n d i z i o n a l e ( IF THEN ELSE ) 4 5 PROGRAM max 6! Questo programma l e g g e due numeri i n t e r i e stampa i l massimo v a l o r e i n s e r i t o 7 8! SEZIONE DICHIARATIVA 9 IMPLICIT NONE 10 INTEGER : : primo, secondo, massimo 11 12! SEZIONE ESECUTIVA 13 WRITE (, ) I n s e r i s c i due numeri i n t e r i, p o i s c h i a c c i a i l t a s t o RETURN 14 READ (, ) primo, secondo 15 IF ( primo > secondo ) THEN 16 massimo = primo 17 ELSE 18 massimo = secondo 19 END IF 20 WRITE (, ) I l massimo v a l o r e i n s e r i t o e :, massimo STOP 23 END PROGRAM max Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 4 / 17
5 Programma PARI Istruzioni di diramazione (o di salto) 1! F i l e : p a r i. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 2 c a d o l i 3! Scopo : a l t r o esempio d i i s t r u z i o n e c o n d i z i o n a l e ( IF THEN ELSE ) 4 5 PROGRAM p a r i 6! Questo programma legge un numero i n t e r o e stampa un messaggio 7 8! SEZIONE DICHIARATIVA 9 IMPLICIT NONE 10 INTEGER : : numero 11 12! SEZIONE ESECUTIVA 13 WRITE (, ) I n s e r i s c i un numero i n t e r o, p o i s c h i a c c i a i l t a s t o RETURN: 14 READ (, ) numero 15 IF (MOD( numero, 2 ) == 0) THEN 16 WRITE (, ) numero, e PARI 17 ELSE 18 WRITE (, ) numero, e DISPARI 19 END IF STOP 22 END PROGRAM p a r i Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 5 / 17
6 Diagramma di flusso Istruzioni di diramazione (o di salto) Prima di passare ad analizzare i costrutti di diramazione introduciamo la notazione grafica dei diagrammi di flusso Diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 6 / 17
7 Diagramma di flusso Istruzioni di diramazione (o di salto) Prima di passare ad analizzare i costrutti di diramazione introduciamo la notazione grafica dei diagrammi di flusso Diagramma di flusso Esempio (Programma calcola metà tempo): Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 6 / 17
8 Costrutto IF-THEN-ELSE Costrutto IF-THEN-ELSE Sintassi (forma generale) del costrutto IF-THEN-ELSE: IF (espressione logica 1) THEN sequenza di istruzioni 1 ELSE IF (espressione logica 2) THEN sequenza di istruzioni 2 ELSE sequenza di istruzioni 3 END IF L indentazione aumenta la leggibilità del codice Note: THEN va sulla stessa riga di IF END IF è obbligatorio ELSE IF non è obbligatorio, ma ce ne può essere più di uno. il ramo ELSE non è obbligatorio, sequenza di istruzioni può essere anche un istruzione condizionale espressione logica ha tipo LOGICAL(.TRUE.,.FALSE.). Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 7 / 17
9 Costrutto IF-THEN-ELSE (cont.) Costrutto IF-THEN-ELSE Esempi di costrutti condizionali validi:! i s t r u z i o n e d i d i r a m a z i o n e s e n z a e l s e e e l s e i f IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) END IF! i s t r u z i o n e d i d i r a m a z i o n e con e l s e e s e n z a e l s e i f IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) ELSE ( i s t r u z i o n i ) END IF! i s t r u z i o n e d i d i r a m a z i o n e s e n z a e l s e e un e l s e i f IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) ELSE IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) END IF! i s t r u z i o n e d i d i r a m a z i o n e con e l s e e con 2 e l s e i f IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) ELSE IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) ELSE IF ( c o n d i z i o n e ) THEN ( i s t r u z i o n i ) ELSE ( i s t r u z i o n i ) END IF Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 8 / 17
10 Pseudocodice e diagramma di flusso Costrutto IF-THEN-ELSE Pseudocodice Esistono molti modi diversi per rappresentare il costrutto IF-THEN-ELSE. Noi useremo: SE condizione è vera ALLORA regole dell algoritmo ALTRIMENTI SE condizione è vera ALLORA regole dell algoritmo ALTRIMENTI regole dell algoritmo Diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 9 / 17
11 Pseudocodice e diagramma di flusso Costrutto IF-THEN-ELSE Pseudocodice Diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 9 / 17
12 Espressioni logiche Espressioni logiche (o booleane) Forma: a 1 op a 2, a 1 e a 2 possono essere espressioni aritmetiche, variabili, costanti (anche di caratteri) Non è possibile confrontare espressioni di tipo CHARACTER con espressioni di altro tipo Nel caso di confronto tra interi e reali gli interi vengono convertiti implicitamente in reali Il risultato delle operazioni di confronto relazionale è sempre un valore di tipo LOGICAL (.TRUE. o.false.) Nella valutazione delle espressioni, gli operatori relazionali vengono valutati da sinistra verso destra e comunque dopo tutti gli operatori aritmetici Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 10 / 17
13 Espressioni logiche Espressioni logiche (cont.) Alcuni esempi di espressioni logiche: Operatori relazionali (sono sei): Espressione logica Valore 5 > 2.TRUE. 5 < 2.FALSE. 5 == TRUE == TRUE. 5 > 2.0.TRUE. Operatore Significato == Uguale > Maggiore < Minore /= Diverso >= Maggiore o uguale <= Minore o uguale Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 11 / 17
14 Espressioni logiche Esempio: equazioni di primo grado Scrivere un programma che, presi in ingresso i coefficienti a e b dell equazione ax + b = o determini la soluzione della stessa e la stampi a video Dati in ingresso: coefficienti reali a e b dell equazione Algoritmo con pseudocodice Algoritmo con diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 12 / 17
15 Espressioni logiche Esempio: equazioni di primo grado Scrivere un programma che, presi in ingresso i coefficienti a e b dell equazione ax + b = o determini la soluzione della stessa e la stampi a video Dati in ingresso: coefficienti reali a e b dell equazione Algoritmo con pseudocodice 1. Leggi il valore di a 2. Leggi il valore di b 3. SE a è uguale a zero ALLORA 3.1 SE b è uguale a zero ALLORA stampa a video equazione indeterminata ALTRIMENTI stampa a video equazione senza soluzioni ALTRIMENTI stampa a video -b/a Algoritmo con diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 12 / 17
16 Espressioni logiche Esempio: equazioni di primo grado Scrivere un programma che, presi in ingresso i coefficienti a e b dell equazione ax + b = o determini la soluzione della stessa e la stampi a video Dati in ingresso: coefficienti reali a e b dell equazione Algoritmo con pseudocodice Algoritmo con diagramma di flusso Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 12 / 17
17 Espressioni logiche Equazioni di primo grado: codice 1! F i l e : eq1grado. f 9 0 2! Time stamp : 02/01/ : 1 6 : 5 7 c a d o l i 3! Scopo : a p p l i c a z i o n e i s t r u z i o n i c o n d i z i o n a l i 4 5 PROGRAM e q u a z i o n e p r i m o g r a d o 6! Questo programma l e g g e due v a l o r i r e a l i che r a p p r e s e n t a n o i c o e f f i c i e n t i a, b 7! di un equazione di primo grado e ne stampa l a soluzione, se e s i s t e 8 9! SEZIONE DICHIARATIVA 10 IMPLICIT NONE 11 REAL : : a, b 12 13! SEZIONE ESECUTIVA 14 WRITE(, ) Questo programma r i s o l v e e q u a z i o n i d i primo grado d e l l a forma : 15 WRITE(, ) ax + b = 0 16 WRITE(, ) I n s e r i s c i v a l o r e c o e f f i c i e n t e a : 17 READ(, ) a 18 WRITE(, ) I n s e r i s c i v a l o r e c o e f f i c i e n t e b : 19 READ(, ) b 20 IF ( a == 0. ) THEN 21 IF ( b == 0. ) THEN 22 WRITE(, ) Equazione indeterminata 23 ELSE 24 WRITE(, ) Equazione p r i v a d i s o l u z i o n i 25 END IF 26 ELSE 27 WRITE(, ) La s o l u z i o n e e :, b/a 28 END IF STOP 31 END PROGRAM e q u a z i o n e p r i m o g r a d o Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 13 / 17
18 Espressioni logiche Considerazioni sull operatore == L operatore == significa che la rappresentazione di due numeri è uguale A causa dell approssimazione intrinsecamente presente, questo confronto non è affidabile per i reali Esempio: anche se arccos( 2/2) = arcsin( 2/2), il compilatore Fortran 90 produce: IF (ACOS(SQRT(2.)/2) == ASIN(SQRT(2.)/2)) THEN WARNING -- Floating-point comparisons for equality may produce inconsistent results. L espressione logica vale.false. (non viene eseguito il ramo THEN). Il compilatore genera un warning ( avvertimento ): il programma è sintatticamente corretto, ma potrebbe nascondere un errore semantico Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 14 / 17
19 Espressioni logiche Considerazioni sull operatore == (cont.) Per questo motivo, una condizione algebrica del tipo: b 2 4ac = 0 dovrebbe sempre essere tradotta in una del tipo: b 2 4ac ε, con ε fissato in maniera opportuna. In Fortran 90 questa condizione va tradotta in: 1! t o l l e r a n z a (VA SCELTA CON CRITERIO ) 2 REAL, PARAMETER : : e p s i l o n = 1E IF ( abs ( b b 4. a c ) <= e p s i l o n ) THEN 5... Esercizio: scrivere programma per la soluzione di equazioni di secondo grado. Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 15 / 17
20 Espressioni logiche Equazioni di secondo grado: codice 1! F i l e : eq2grado. f 9 0 2! Time stamp : 02/01/ : 1 6 : 5 7 c a d o l i 3! Scopo : a p p l i c a z i o n e i s t r u z i o n i c o n d i z i o n a l i 4 5 PROGRAM e q u a z i o n e s e c o n d o g r a d o 6! Questo programma l e g g e t r e v a l o r i r e a l i che r a p p r e s e n t a n o i c o e f f i c i e n t i a, b 7! e c d i un e q u a z i o n e d i secondo grado e ne stampa l e s o l u z i o n i r e a l i o 8! c o m p l e s s e e c o n i u g a t e, s e e s i s t o n o 9 10! SEZIONE DICHIARATIVA 11 IMPLICIT NONE 12 REAL, PARAMETER : : e p s i l o n = 1E 10! t o l l e r a n z a (VA SCELTA CON CRITERIO ) 13 REAL : : a, b, c! i c o e f f i c i e n t i i n i n p u t 14 REAL : : d i s c r i m i n a n t e! da c a l c o l a r e 15 REAL : : p a r t e r e a l e, parte immag! s i g n i f i c a t i v e s e l e s o l. sono c o m p l e s s e 16 17! SEZIONE ESECUTIVA 18 WRITE(, ) Questo programma r i s o l v e e q u a z i o n i d i secondo grado d e l l a forma : 19 WRITE(, ) axˆ2 + bx + c = 0 20 WRITE(, ) I n s e r i s c i v a l o r e c o e f f i c i e n t e a : 21 READ(, ) a 22 WRITE(, ) I n s e r i s c i v a l o r e c o e f f i c i e n t e b : 23 READ(, ) b 24 WRITE(, ) I n s e r i s c i v a l o r e c o e f f i c i e n t e c : 25 READ(, ) c Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 16 / 17
21 Espressioni logiche Equazioni di secondo grado: codice (cont.) 26 IF ( a == 0. ) THEN! l equazione e d i primo grado 27 IF ( b == 0. ) THEN 28 IF ( c == 0. ) THEN 29 WRITE(, ) Equazione indeterminata 30 ELSE 31 WRITE(, ) Equazione p r i v a d i s o l u z i o n i 32 END IF 33 ELSE 34 WRITE(, ) L equazione e di primo grado e l a sua & 35 &u n i c a s o l u z i o n e ( r e a l e ) e :, c / b 36 END IF 37 ELSE! l equazione e d i secondo grado 38 d i s c r i m i n a n t e = b b 4. a c 39 IF ( d i s c r i m i n a n t e < e p s i l o n ) THEN! s o l u z i o n i c o m p l e s s e e c o n i u g a t e 40 p a r t e r e a l e = b / ( 2. a ) 41 parte immag = s q r t ( abs ( d i s c r i m i n a n t e ) ) / ( 2. a ) 42 WRITE(, ) Equazione con due s o l u z i o n i c o m p l e s s e e c o n i u g a t e : 43 WRITE(, ) p a r t e r e a l e, +i, parte immag, e, & 44 & p a r t e r e a l e, i, parte immag 45 ELSE IF ( abs ( d i s c r i m i n a n t e ) <= e p s i l o n ) THEN! s o l u z i o n i r e a l i c o i n c i d e n t i 46 WRITE(, ) Equazione con due s o l u z i o n i r e a l i c o i n c i d e n t i :, & 47 & b / ( 2. a ) 48 ELSE! s o l u z i o n i r e a l i d i s t i n t e 49 WRITE(, ) Equazione con due s o l u z i o n i r e a l i d i s t i n t e :, & 50 & ( b + s q r t ( d i s c r i m i n a n t e ) ) / ( 2. a ), e, & 51 & ( b s q r t ( d i s c r i m i n a n t e ) ) / ( 2. a ) 52 END IF 53 END IF STOP 56 END PROGRAM e q u a z i o n e s e c o n d o g r a d o Fortran 90: Istruzioni di diramazione DIS - Dipartimento di informatica e sistemistica 17 / 17
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
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
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
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
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
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliI 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
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliUnità 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
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliSviluppare un programma in FORTRAN
Sviluppare un programma in FORTRAN Scrivere il file sorgente Editor di testo (emacs, vi, notepad, etc) Compilare Compilatore (ifort, gfortran, etc) Eseguire il programma Riga di comando, doppio click,
DettagliRappresentazione 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
DettagliEspressioni. Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica!
Espressioni Espressione = meccanismo fondamentale per esprimere computazioni in un LP importante comprenderne la semantica! Valutazione automatica di expr aritmetiche = obiettivo primario dei primi LP
DettagliI tipi di dato del Fortran
I tipi di dato del Fortran In Fortran sono disponibili 5 tipi di dato (tipi primitivi o predefiniti): INTEGER REAL COMPLEX CHARACTER LOGICAL tipi numerici tipi non numerici Non considereremo il tipo COMPLEX
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
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...
DettagliLaboratorio di Python
, Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono
DettagliSviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:
Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliLezione 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
DettagliDiagramma 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
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
DettagliAlgoritmi e Strutture Dati
Algoritmi e Strutture Dati Università di Camerino Corso di Laurea in Informatica (12 CFU) I periodo didattico Emanuela Merelli email:emanuela.merelli@unicam.it Argomenti della lezione Elementi di un linguaggio
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIL TEOREMA DI BOEHM-JACOPINI
IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio
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
DettagliTipo carattere. Campo di variabilità. Intervallo finito. Tipo. Dimensione (byte) char
Tipo carattere Finora abbiamo lavorato con valori numerici. I numeri costituiscono molta parte del lavoro dei computer, ma non tutta. I computer sono macchine per il trattamento dell informazione e l informazione
DettagliVettori 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
DettagliFormalismi 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
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
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliLaboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011. Prof. Raffaele Nicolussi
Laboratorio di Informatica Ingegneria Clinica Lezione 7/11/2011 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via del Policlinico, 147-00161 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliLaboratorio di Python
Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio
DettagliBreve guida al linguaggio FORTRAN 77
Breve guida al linguaggio FORTRAN 77 Variabili (valori di default) Iniziali con lettere da I a N Iniziali con lettere da A a H oppure da O a Z variabili intere, 4 byte in precisione singola variabili reali,
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
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
DettagliCompitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A
Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare
DettagliCosa si intende con stato
Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando
DettagliOperazioni di input e output in Fortran 90
Operazioni di input e output in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: file e formattazione DIS - Dipartimento di informatica
DettagliLezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura
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
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliI.I.S. Federico II di Svevia - Melfi
I.I.S. Federico II di Svevia - Melfi Liceo Scientifico - Opzione Scienze Applicate Progettazione didattica a.s. 2016/2017 INFORMATICA Docente: Michele FICARAZZI Classe 2AA PREMESSA SULLA CLASSE: La classe
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
DettagliFortran. Introduzione.
Fortran Introduzione http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Esistono molti linguaggi di programmazione usati in vari
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
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,
DettagliEvoluzione 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
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliProgrammazione strutturata
Programmazione strutturata C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O
DettagliDall algoritmo al programma
Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione
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
DettagliLinguaggio C - le strutture di controllo: sequenza, selezione, iterazione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione
DettagliUniversità di Roma La Sapienza, Facoltà di Ingegneria. Corso di Laurea in Ingegneria Aerospaziale. Corso di INFORMATICA A.A.
Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Laurea in Ingegneria Aerospaziale Corso di INFORMATICA A.A. 2005/06 LUCIDI DEL CORSO del Prof. Marco Cadoli LUCIDI - PARTE 1 1. Introduzione
DettagliIstruzioni 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...
DettagliCognome e Nome : Corso e Anno di Immatricolazione: Modalità di Laboratorio (Progetto/Prova) :
PROGRAMMAZIONE (Corsi B e C) Pre-appello di Gennaio 2004 (A.A. 2003/2004) PROGRAMMAZIONE (B e C) S. Straordinaria - Appello di Gennaio (A.A. 2002/2003) 22 Gennaio 2004 ore 11 Aula II di Facoltà (Durata:
DettagliProgrammazione con il linguaggio LibreOffice Basic
Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software
DettagliLaboratorio di Programmazione Laurea in Bioinformatica
Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliGocce di Java. Gocce di Java. Selezione e ripetizione. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Variabili ed espressioni Booleane Variabile booleana: può assumere valore true o false Espressione Booleana: valore di ritorno true o
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
DettagliLinguaggio C: Espressioni
Linguaggio C: Espressioni Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Ringraziamenti prof. Mirko Viroli, Università
DettagliSommario. Linguaggi per la rappresentazione di algoritmi. Linguaggi formali. Sintassi e semantica: esempio. Linguaggio naturale: sintassi
Sommario Linguaggi per la rappresentazione di algoritmi Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura A.A. 2009/2010! Linguaggi formali per la rappresentazione
DettagliIstruzioni 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
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLe strutture di controllo
INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliFortran per Ingegneri
Fortran per Ingegneri Lezione 6 A.A. 2013/2014 Ing. Davide Vanzo davide.vanzo@unitn.it Ing. Simone Zen simone.zen@unitn.it ufficio: Laboratorio didattico di modellistica ambientale (2 piano) Tel interno:
DettagliPASCAL standard. Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth.
PASCAL standard Il linguaggio PASCAL nasce come evoluzione del linguaggio ALGOL60 (ALGOrithmic Language) nel 1968 ad opera di N. Wirth. Nb: primi linguaggi furono: Fortran, Algol, Ada, Cobol (cfr testo)
Dettagli5 - 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
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliCorso 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
DettagliIl Concetto di Algoritmo Corso di Informatica Laurea in Fisica
Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2010-11 Esempio: risolviamo le equazioni di secondo grado ax 2 + bx + c = 0 La formula risolutiva è: x= b±
DettagliCorso 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
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliLogica booleana, Costrutto IF
Logica booleana, Costrutto IF Informatica@SEFA 207/208 - Lezione 4 Massimo Lauria http://massimolauria.net/courses/infosefa207/ Mercoledì, 4 Ottobre 207 La logica booleana 2
Dettagliunità 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
DettagliLinguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl
Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare
DettagliAlgoritmi e basi del C Struttura di un programma
Algoritmi e basi del C Struttura di un programma Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 17 Marzo 2015 Compitini Compitini di INFO: 24 Aprile 2015 4.15pm @ C.G.1 (Ed. 9) 21
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliDiagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop
Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi
DettagliEspressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test
Espressioni logiche Espressioni Logiche e Istruzione di Test Fondamenti di Informatica 1 Massimo Di Nanni Gennaio, 2001 Espressioni logiche nelle Istruzioni di Test e di Iterazione Calcolo del massimo
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi
Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm
DettagliAlgoritmi e basi del C
Algoritmi e basi del C Marco D. Santambrogio marco.santambrogio@polimi.it Ver. aggiornata al 3 O/obre 2013 Installation Party Dove: L.06 Quando: Sabato 12 Ottobre 9.00am - 12.00pm 2 WAT Il docente ha messo
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
DettagliPer gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
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
DettagliELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL
Liceo Scientifico e Classico S. Trinchese ELEMENTI DI PROGRAMMAZIONE E TURBO PASCAL seminario per la classe IV BS Prof Antonio Cazzato Perché programmare? La programmazione ha una notevole valenza didattica
DettagliSTRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
DettagliZeri di una funzione. Funzioni continue - Proprietà. certo intervallo dell'asse x. da: a ξ. cui f(x)=0. precisione desiderata (iterazione( iterazione)
Zeri di una funzione Ricerca delle (eventuali) radici reali di una funzione che si supporrà definita e continua in un certo intervallo dell'asse x La ricerca delle radici approssimate e' composta da: 1)
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
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
DettagliIndice. Ordine di valutazione. Espressioni in C++ Le espressioni in C++ (CAP 4) Alberto Garfagnini e Marco Mazzocco A.A. 2014/ * 20 / 2
Le espressioni in C++ (CAP 4) Indice Le espressioni in C++ : precedenze e associatività degli operatori Alberto Garfagnini e Marco Mazzocco Università degli studi di Padova A.A. 2014/2015 gli operatori
DettagliALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
Dettagli5. Codifica degli Algoritmi in C
40 5. Codifica degli Algoritmi in C La traduzione di algoritmi in linguaggi di programmazione rende posbile l esecuzione di programmi da parte del calcolatore. In questo corso codificheremo gli algoritmi
DettagliLez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
Dettagli