Metodologie di programmazione in Fortran 90

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodologie di programmazione in Fortran 90"

Transcript

1 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 1 / 18

2 Cosa vedremo in questa lezione 1 Verifica della correttezza dei programmi 2 Metodologie di progettazione di programmi 3 Esempio di applicazione della metodologia Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 2 / 18

3 Errori di programmazione Verifica della correttezza dei programmi Scrivere un programma non banale senza commettere errori è praticamente impossibile Gli errori sono chiamati bug E la loro correzione debugging Diverse tipologie di errori: Errori sintattici Errori di run-time Errori logici Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 3 / 18

4 Verifica della correttezza dei programmi Correttezza di un programma Sintassi: insieme di regole grammaticali Correttezza sintattica: Il programma è scritto correttamente rispetto alle regole sintattiche del Fortran 90? Esempi di programmi Fortran 90 sintatticamente scorretti, ovvero con errori sintattici: PROGAM al posto di PROGRAM END PROGRAM al posto di END PROGRAM ciao Il compilatore controlla solamente la correttezza sintattica Semantica: significato (delle istruzioni, del programma) Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 4 / 18

5 Verifica della correttezza dei programmi Correttezza di un programma Sintassi: insieme di regole grammaticali Semantica: significato (delle istruzioni, del programma) Correttezza semantica: Il programma fa quanto previsto dalle specifiche? Il compilatore non è in grado di controllare la correttezza semantica, che è a carico del programmatore! Errori semantici in un programma generano errori logici e di run-time Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 4 / 18

6 Verifica della correttezza dei programmi Differenza fra sintassi e semantica ESEMPIO: Differenza fra sintassi e semantica (in italiano): In italiano una regola grammaticale afferma che una frase può essere composta nel seguente modo: <soggetto> <verbo> <complemento oggetto> Due frasi grammaticalmente (sintatticamente) corrette: 1. la scimmia mangia la banana 2. la banana mangia la scimmia La frase 1 ha un significato chiaro, la 2 no! CONCLUSIONE: Possiamo scrivere programmi Fortran 90 sintatticamente corretti, ma semanticamente SCORRETTI, ovvero che NON FANNO CIÒ CHE DOVREBBERO FARE! Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 5 / 18

7 Debugging Verifica della correttezza dei programmi La metodologia completa per la correzione (o debugging) dei programmi non viene trattata in questo corso. Queste sono alcune regole da seguire: 1. Isolare la parte di codice responsabile dell errore. Di quale parte del codice sono assolutamente sicuro che sia corretta? 2. Metodo delle stampe: Inserire nel programma, al termine di ogni passo importante, istruzioni di stampa delle variabili manipolate. Serve per capire in quali condizioni si verifica l errore. Esempio: resto_ore = MOD(ore,2) WRITE(*,*) RESTO_ORE =, resto_ore... resto_minuti = MOD((minuti + resto_ore*60),2) WRITE(*,*) RESTO_MINUTI =, resto_minuti Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 6 / 18

8 Debugging (cont.) Verifica della correttezza dei programmi 3. SE le informazioni ottenute sono SUFFICIENTI la capire la causa dell errore: ALLORA correggere l errore ALTRIMENTI tornare al punto 2, cambiando/aggiungendo stampe OPPURE ritornare al punto 1, considerando un altra parte del programma Alcuni suggerimenti Attenzione a Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 7 / 18

9 Verifica della correttezza dei programmi Debugging (cont.) 3. SE le informazioni ottenute sono SUFFICIENTI la capire la causa dell errore: ALLORA correggere l errore ALTRIMENTI tornare al punto 2, cambiando/aggiungendo stampe OPPURE ritornare al punto 1, considerando un altra parte del programma Alcuni suggerimenti Non utilizzare istruzioni eccessivamente lunghe Controllare le parentesi e i tipi dato delle variabili Verificare che tutte le variabili siano state inizializzate in modo corretto Attenzione a Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 7 / 18

10 Verifica della correttezza dei programmi Debugging (cont.) 3. SE le informazioni ottenute sono SUFFICIENTI la capire la causa dell errore: ALLORA correggere l errore ALTRIMENTI tornare al punto 2, cambiando/aggiungendo stampe OPPURE ritornare al punto 1, considerando un altra parte del programma Alcuni suggerimenti Attenzione a Non correggere parti del programma già corrette! Non introdurre nuovi errori durante la correzione! Evidenziare con un commento le modifiche apportate! Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 7 / 18

11 Progettazione di un programma Metodologie di progettazione di programmi Cosa abbiamo: Specifica, in linguaggio naturale, del problema. Chiarisce cosa debba fare il programma. Cosa dobbiamo produrre: Un programma in Fortran 90, corretto rispetto alle specifiche. Vogliamo due tipi di correttezza: sintattica e semantica. Metodo da usare: Ne esistono vari, noi ci concentreremo su una molto semplice ed efficace: Metodologia Top-Down Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 8 / 18

12 Metodologie di progettazione di programmi Algoritmo L algoritmo (da Al-Khuwarizmi, matematico Arabo del IX secolo) è una sequenza di regole: non ambigue eseguibili la cui esecuzione deve terminare, ovvero non può proseguire indefinitamente. Tutti i programmi sono descrivibili mediante un algoritmo Le maggiori difficoltà nel risolvere un problema mediante un programma non è nello scrivere codice ma nel determinare l algoritmo giusto L algoritmo è indipendente dal linguaggio di programmazione Una volta determinato un algoritmo questo può essere implementato in qualsiasi linguaggio di programmazione Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 9 / 18

13 Metodologie di progettazione di programmi Metodologia Top-Down Principio di base: Divide et Impera Risolvere problemi piccoli è spesso più semplice che risolvere problemi molto grandi! Suddividere iterativamente il problema in tanti sotto-problemi Il processo di progettazione dei programmi 1. Definizione del problema 2. Definizione dei dati di input e di output 3. Progettazione dell ALGORITMO Utilizzando la metodologia top-down 4. Codifica dell algoritmo in un linguaggio di programmazione 5. Test del programma Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 10 / 18

14 Fasi principali nella progettazione Metodologie di progettazione di programmi Scomposizione e raffinamento iterativo del problema Possono essere applicate molte volte prima di ottenere un buon livello di dettaglio Scomposizione: si determinano grossolanamente i vari sotto-problemi Raffinamento: si definiscono con precisione, per ogni sotto-problema, le regole dell algoritmo di risoluzione Scrittura di un algoritmo, utilizzando: Linguaggio intermedio fra il linguaggio naturale e il linguaggio di programmazione (pseudocodifica). Diagrammi di flusso Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 11 / 18

15 Metodologie di progettazione di programmi Pseudocodice e diagrammi di flusso Pseudocodice Ibrido linguaggio di programmazione - linguaggio naturale Strumento molto flessibile ed efficace Non sono necessari programmi specifici La codifica può essere scritta nel codice stesso! Facile traduzione in istruzioni del linguaggio di programmazione Diagrammi di flusso Rappresentazione grafica delle istruzioni Vantaggio principale: notazione intuitiva Svantaggio principale: tendono a degenerare ( spaghetti programming ) Sconsigliati come strumento progettuale OK per la presentazione di algoritmi da non modificare Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 12 / 18

16 Metodologie di progettazione di programmi Codifica e test del programma Codifica algoritmo in Fortran 90: Editing, ovvero scrittura del file contenente il codice Compilazione, ovvero generazione del codice oggetto (Istruzioni comprensibili per il calcolatore) Compilazione, ovvero generazione di un programm a eseguibile sul calcolatore Alcune suggerimenti: Commentare le dichiarazioni di variabili Migliorare la leggibilità del codice (commenti, indentazione, etc) Riportare nel codice i punti dell algoritmo (tracciabilita ) Nel caso di errori di compilazione, solo il primo è sicuramente significativo Se questa fase ha avuto successo, si è ottenuto un programma corretto sintatticamente Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 13 / 18

17 Metodologie di progettazione di programmi Verifica della correttezza di un programma Test del programma (La metodologia completa non viene trattata in questo corso). Alcune semplici regole da seguire: Un solo test non basta! L insieme dei test deve fare eseguire tutte le istruzioni del programma almeno una volta! Atteggiamento mentale: lo scopo del test è trovare gli errori! un test ha successo se viene scoperto almeno un errore! Controllare ogni singolo modulo indipendentemente Semplice metodologia di verifica: 1. Scelta dei dati di test 2. Calcolo (con altri metodi!, spesso a mano) delle soluzioni esatte su di essi 3. Esecuzione del programma sui dati scelti 4. Confronto con le soluzioni esatte Se questa fase ha avuto successo, si è sulla buona strada per la correttezza semantica Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 14 / 18

18 Esempio di applicazione della metodologia Esempio: metà di una quantità di tempo Specifica del problema in linguaggio naturale Scrivere un programma che: 1. Legga tre interi o, m, s che rappresentano una quantità di tempo q inferiore ad un giorno, espressa in ore, minuti e secondi 2. Stampi una quantità di tempo pari alla metà di q, nello stesso formato ed arrotondata per difetto. Si assuma che i dati in input rispettino le condizioni 0 o 23 e 0 m, s 59. L output fornito dal programma deve rispettare le stesse condizioni. Definizione dei dati di input e output Progetto dell algoritmo: primo livello di scomposizione Progetto dell algoritmo: raffinamento del punto 2 Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 15 / 18

19 Esempio di applicazione della metodologia Esempio: metà di una quantità di tempo Specifica del problema in linguaggio naturale Definizione dei dati di input e output Input: tre interi o, m, s che rappresentano una quantità di tempo q inferiore ad un giorno, espressa in ore, minuti e secondi (0 o 23 e 0 m, s 59). Output: quantità di tempo pari alla metà di q, nello stesso formato ed arrotondata per difetto. Progetto dell algoritmo: primo livello di scomposizione Progetto dell algoritmo: raffinamento del punto 2 Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 15 / 18

20 Esempio di applicazione della metodologia Esempio: metà di una quantità di tempo Specifica del problema in linguaggio naturale Definizione dei dati di input e output Progetto dell algoritmo: primo livello di scomposizione 1. Acquisizione input 2. Elaborazione della metà del tempo 3. Stampa output Algoritmo universale : non molto significativo! Progetto dell algoritmo: raffinamento del punto 2 Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 15 / 18

21 Esempio di applicazione della metodologia Esempio: metà di una quantità di tempo Specifica del problema in linguaggio naturale Definizione dei dati di input e output Progetto dell algoritmo: primo livello di scomposizione Progetto dell algoritmo: raffinamento del punto o2 = o diviso 2 (senza resto) 2.2. resto ore = resto di (o diviso 2) 2.3. m2 = (m + resto ore*60) diviso 2 (senza resto) 2.4. resto minuti = resto di (m + resto ore*60) diviso s2 = (s + resto minuti*60) diviso 2 (senza resto) Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 15 / 18

22 Codifica del programma Esempio di applicazione della metodologia 1! F i l e : meta tem. f 9 0 2! Time stamp : 01/12/ : 0 7 : 3 2 c a d o l i 3! Scopo : c a l c o l o meta q u a n t i t a d i tempo 4 5 PROGRAM m e t a d e l t e m p o 6! Questo programma : 7! legge t r e i n t e r i o,m, s che rappresentano una quantita di tempo q 8! i n f e r i o r e ad un g i o r n o, e s p r e s s a i n ore, m i n u t i e s e c o n d i, 9! stampa una q u a n t i t a d i tempo p a r i a l l a meta d i q, n e l l o s t e s s o 10! formato ed a r r o t o n d a t a p e r d i f e t t o. 11! S i assume che i d a t i i n i n p u t r i s p e t t i n o l e c o n d i z i o n i 12! 0 <= o <= 23 e 0 <= m, s <= 59 13! Anche l o u tput v i e n e f o r n i t o r i s p e t t a n d o t a l i c o n d i z i o n i. 14! ESEMPIO 1 : 15! INPUT : o = 2, m = 20, s = 40 16! OUTPUT: o2 = 1, m2 = 10, s2 = 20 17! ESEMPIO 2 : 18! INPUT : o = 15, m = 55, s = 50 19! OUTPUT: o2 = 7, m2 = 57, s2 = ! SEZIONE DICHIARATIVA 22 IMPLICIT NONE 23 INTEGER : : o, m, s! d a t i d i i n p u t 24 INTEGER : : o2, m2, s2! p e r i l r i s u l t a t o f i n a l e 25 INTEGER : : r e s t o o r e, r e s t o m i n u t i! p e r i r i s u l t a t i i n t e r m e d i Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 16 / 18

23 Codifica del programma (cont.) Esempio di applicazione della metodologia 27! SEZIONE ESECUTIVA 28! ALGORITMO : 29! 1. a c q u i s i z i o n e i n p u t 30! 2. e l a b o r a z i o n e d e l l a meta d e l tempo 31! 3. stampa o u tput 32! RAFFINAMENTO DEL PUNTO 2 : 33! o2 = o d i v i s o 2 ( s e n z a r e s t o ) 34! r e s t o o r e = r e s t o d i o d i v i s o 2 35! m2 = (m + r e s t o o r e 60) d i v i s o 2 ( s e n z a r e s t o ) 36! r e s t o m i n u t i = r e s t o d i (m + r e s t o o r e 60) d i v i s o 2 37! s2 = ( s + r e s t o m i n u t i 60) d i v i s o 2 ( s e n z a r e s t o ) 38 39! WRITE(, ) I n s e r i s c i t r e i n t e r i che r a p p r e s e n t a n o ore, m i n u t i e s e c o n d i : 41 READ (, ) o, m, s 42 43! o2 = o/2! r e s t o o r e = MOD( o, 2 )! m2 = (m + r e s t o o r e 60) / 2! r e s t o m i n u t i = MOD( (m + r e s t o o r e 60),2)! s2 = ( s + r e s t o m i n u t i 60) / 2! ! WRITE(, ) La meta d e l l a q u a n t i t a d i tempo p a r i a 52 WRITE(, ) o, ore,, m, m i n u t i e, s, s e c o n d i v a l e : 53 WRITE(, ) o2, ore,, m2, m i n u t i e, s2, s e c o n d i STOP 56 END PROGRAM m e t a d e l t e m p o Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 17 / 18

24 Verifica della correttezza Esempio di applicazione della metodologia Casi da verificare: 1. senza resti 2. con resto ore, ma senza resto minuti 3. con entrambi i resti Insieme di dati di test: a) o = 2, m = 20, s = 40 b) o = 3, m = 20, s = 40 c) o = 15, m = 55, s = 50 Calcolo (a mano!) dell output atteso a) o = 1, m = 10, s = 20 b) o = 1, m = 40, s = 20 c) o = 7, m = 57, s = 55 Se l output del programma coincide con quello calcolato a mano in questi tre casi, siamo ragionevolmente sicuri della sua correttezza semantica. Altrimenti, dobbiamo correggere il programma, oppure l algoritmo! Fortran 90: Metodologie di programmazione DIS - Dipartimento di informatica e sistemistica 18 / 18

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

Dettagli

Algoritmi. Maurizio Palesi. Maurizio Palesi 1

Algoritmi. Maurizio Palesi. Maurizio Palesi 1 Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

Operazioni di input e output in Fortran 90

Operazioni 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

Dettagli

Programmazione in Java (I modulo) Lezione 3: Prime nozioni

Programmazione in Java (I modulo) Lezione 3: Prime nozioni Programmazione in Java (I modulo) Lezione 3: Prime nozioni La volta scorsa Abbiamo avuto un primo assaggio! Abbiamo visto come usare l editor per scrivere un programma Java. Abbiamo analizzato riga per

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

Dettagli

Algoritmi, dati e programmi

Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite

Dettagli

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico Processo di risoluzione di un problema ingegneristico 1. Capire l essenza del problema. 2. Raccogliere le informazioni disponibili. Alcune potrebbero essere disponibili in un secondo momento. 3. Determinare

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

PROMEMORIA: Come creare, compilare ed eseguire programmi in Fortran 95

PROMEMORIA: Come creare, compilare ed eseguire programmi in Fortran 95 Corso di Laurea in Matematica - Laboratorio di Programmazione gr.2 a.a. 2014/15 SECONDA esercitazione in laboratorio --- Creazione e modifica di files ASCII per mezzo del programma gedit. --- Uso del compilatore

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Esercizi su. Funzioni

Esercizi su. Funzioni Esercizi su Funzioni ๒ Varie Tracce extra Sul sito del corso ๓ Esercizi funz_max.cc funz_fattoriale.cc ๔ Documentazione Il codice va documentato (commentato) Leggibilità Riduzione degli errori Manutenibilità

Dettagli

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Lezione 8. La macchina universale

Lezione 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

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come 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 Problema Strategia

Dettagli

Introduzione alla Programmazione

Introduzione alla Programmazione Programmazione 1: Introduzione alla Programmazione Michele Nappi, Ph.D Dipartimento di Matematica e Informatica Università degli Studi di Salerno mnappi@unisa.it www.dmi.unisa.it/people/nappi it/people/nappi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

Software e Algoritmi. Lezione n. 3

Software e Algoritmi. Lezione n. 3 Software e Algoritmi Lezione n. 3 Software definizione informatica Istruzioni che eseguite da un computer svolgono una funzione prestabilita con prestazioni prestabilite - (programma di alto livello ed

Dettagli

Laboratorio Matematico Informatico 2

Laboratorio Matematico Informatico 2 Laboratorio Matematico Informatico 2 (Matematica specialistica) A.A. 2006/07 Pierluigi Amodio Dipartimento di Matematica Università di Bari Laboratorio Matematico Informatico 2 p. 1/1 Informazioni Orario

Dettagli

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE Il problema Un computer è usato per risolvere dei problemi Prenotazione di un viaggio Compilazione e stampa di un certificato in un ufficio comunale Preparazione

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base: LA STRUTTURA DI RIPETIZIONE La ripetizione POST-condizionale La ripetizione PRE-condizionale INTRODUZIONE (1/3) Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Algoritmi, Linguaggi e Programmi

Algoritmi, Linguaggi e Programmi Algoritmi, Linguaggi e Programmi Algoritmi Definizione di algoritmo e caratteristiche di un algoritmo Nel linguaggio comune, da qualche decina d anni, è entrata a far parte la parola programma ; il significato

Dettagli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali a Visual Basic Lezione 1 Concetti base e istruzioni condizionali Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Un esempio:

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

Informatica B. Breve introduzione all ambiente di programmazione. Politecnico di Milano IV Facoltà di Ingegneria 2003

Informatica B. Breve introduzione all ambiente di programmazione. Politecnico di Milano IV Facoltà di Ingegneria 2003 Informatica B Breve introduzione all ambiente di programmazione Politecnico di Milano IV Facoltà di Ingegneria 2003 Dal sorgente all eseguibile File Sorgente.C Compilatore File Oggetto.OBJ Librerie.lib

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

È prassi comune dividere l attività di progettazione di software in due:

È prassi comune dividere l attività di progettazione di software in due: Ingegneriia dell software: Generalliità Introduzione La soluzione di un generico problema mediante un sistema di elaborazione consiste nel passaggio dalla, descrizione dei problema di partenza al programma

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI 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 di

Dettagli

Funzionalità di un Algoritmo

Funzionalità di un Algoritmo ALGORITMI Cosa è un algoritmo Un algoritmo è una sequenza di azioni che consente di pervenire alla soluzione di un problema mediante una sequenza finita di operazioni, completamente e univocamente determinate.

Dettagli

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B

LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B LABORATORIO DI PROGRAMMAZIONE 2012 2013 EDIZIONE 1, TURNO B 23.XI.2012 VINCENZO MARRA Indice Esercizio 1 1 Menu 1 Tempo: 35 min. 2 Commento 1 2 Esercizio 2 2 Ordinamento e ricerca binaria con la classe

Dettagli

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Fondamenti di Informatica Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Finalità: Fornire gli elementi di base dei concetti che sono di fondamento all'informatica Informazioni Pratiche ORARIO:

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Verifica e Validazione del Simulatore

Verifica e Validazione del Simulatore Verifica e del Simulatore I 4 passi principali del processo simulativo Formulare ed analizzare il problema Sviluppare il Modello del Sistema Raccolta e/o Stima dati per caratterizzare l uso del Modello

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Analizzatore lessicale o scanner

Analizzatore lessicale o scanner Analizzatore lessicale o scanner Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner, attraverso un esame carattere per carattere dell'ingresso,

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Dispensa 3. 1.1 YACC: generalità

Dispensa 3. 1.1 YACC: generalità Dispensa 3 1.1 YACC: generalità Il tool Yacc (acronimo per Yet Another Compiler Compiler) è uno strumento software che a partire da una specifica grammaticale context free di un linguaggio scritta in un

Dettagli

1 Breve introduzione ad AMPL

1 Breve introduzione ad AMPL 1 Breve introduzione ad AMPL Il primo passo per risolvere un problema reale attraverso strumenti matematici consiste nel passare dalla descrizione a parole del problema al modello matematico dello stesso.

Dettagli

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Informatica appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Definizioni Informatica: scienza per lʼelaborazione automatica dellʼinformazione Informatica = Informazione + Automatica Informazione:

Dettagli

La programmazione. Sviluppo del software

La programmazione. Sviluppo del software La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

Introduzione al corso

Introduzione al corso Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Ing. Agnese Pinto 1 di 21 Informazioni utili Ing. Agnese Pinto: Contatti: Laboratorio di Sistemi Informativi (SisInfLab)

Dettagli

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2) Definiamo innanzitutto una relazione d ordine tra le funzioni. Siano φ e ψ funzioni

Dettagli

Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H

Liceo Scientifico  C. CATTANEO  PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H Liceo Scientifico " C. CATTANEO " PIANO DI LAVORO DI INFORMATICA CLASSE 3 LSA SEZ. H Sommario PIANO DI LAVORO DI INFORMATICA... 1 INDICAZIONI GENERALI... 2 PREREQUISITI... 2 CONOSCENZE, COMPETENZE E CAPACITA...

Dettagli

PROGRAMMAZIONE INFORMATICA PRIMO BIENNIO. Opzione Scienze Applicate

PROGRAMMAZIONE INFORMATICA PRIMO BIENNIO. Opzione Scienze Applicate PROGRAMMAZIONE INFORMATICA PRIMO BIENNIO Opzione Scienze Applicate Anno scolastico 2015-2016 Programmazione di Informatica pag. 2 / 8 INFORMATICA - PRIMO BIENNIO OBIETTIVI SPECIFICI DI APPRENDIMENTO DELL

Dettagli

Semantica operazionale dei linguaggi di Programmazione

Semantica operazionale dei linguaggi di Programmazione Semantica operazionale dei linguaggi di Programmazione Oggetti sintattici e oggetti semantici Rosario Culmone, Luca Tesei Lucidi tratti dalla dispensa Elementi di Semantica Operazionale R. Barbuti, P.

Dettagli

Laboratorio di Informatica Lezione 2

Laboratorio di Informatica Lezione 2 Laboratorio di Informatica Lezione 2 Cristian Consonni 30 settembre 2015 Cristian Consonni Laboratorio di Informatica, Lezione 2 1 / 42 Outline 1 Commenti e Stampa a schermo 2 Strutture di controllo 3

Dettagli

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio

Verifica parte IIA. Test (o analisi dinamica) Mancanza di continuità. Esempio Test (o analisi dinamica) Verifica parte IIA Rif. Ghezzi et al. 6.3-6.3.3 Consiste nell osservare il comportamento del sistema in un certo numero di condizioni significative Non può (in generale) essere

Dettagli

Algoritmi e diagrammi di flusso

Algoritmi e diagrammi di flusso Algoritmi e diagrammi di flusso Un algoritmo può essere descritto come una sequenza finita ed ordinata di operazioni che descrivono la soluzione di un problema. Per sequenza finita si intende che un algoritmo

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani

Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani www.sapienzafinanziaria.com Corso Sapienza Trading Automatico la formazione finanziaria è il miglior investimento per il tuo domani Lezione n. 1 Edizione marzo 2015 Traduzione di un'idea in codice www.sapienzafinanziaria.com

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007

Correttezza. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 10. A. Miola Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 10 Correttezza A. Miola Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Correttezza 1 Contenuti Introduzione alla correttezza

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Matematica in laboratorio

Matematica in laboratorio Unità 1 Attività guidate Attività 1 Foglio elettronico Divisibilità tra numeri naturali Costruisci un foglio di lavoro per determinare se a è divisibile per b, essendo a e b due numeri naturali, con a

Dettagli

Progettazione del Software A.A.2008/09

Progettazione del Software A.A.2008/09 Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

Ciclo di vita del software

Ciclo di vita del software Ciclo di vita del software Da Wikipedia, l'enciclopedia libera. L'espressione ciclo di vita del software si riferisce al modo in cui una metodologia di sviluppo o un modello di processo scompongono l'attività

Dettagli

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Introduzione all Informatica 1 Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria Programma del corso Programma di

Dettagli

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico Strumenti Processo parte VII Leggere Cap. 9 Ghezzi et al. Strumenti software che assistono gli ingegneri del software in tutte le fasi del progetto; in particolare progettazione codifica test Evoluzione

Dettagli

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 22 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 22 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Prima di cominciare: Erasmus! Scadenza: 5 luglio 2012 Durata: min 3 max 12 mesi Dal 1 giugno 2012

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

LICEO SCIENTIFICO "F. LUSSANA" OPZ. SCIENZE APPLICATE

LICEO SCIENTIFICO F. LUSSANA OPZ. SCIENZE APPLICATE ORE SETTIMANALI: 2 LICEO SCIENTIFICO "F. LUSSANA" OPZ. SCIENZE APPLICATE INFORMATICA PRIMO BIENNIO MONTE ORE ANNUALE PREVISTO: 66 (2x33 settimane) 1. OBIETTIVI E CONTENUTI DISCIPLINARI PRIORITARI Lo studio

Dettagli

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Organizzazione aziendale Lezione 16 BPMN Ing. Marco Greco m.greco@unicas.it Tel.0776.299.3641 Stanza 1S-28 Nozioni di base Un sistema è una collezione di entità (es. persone o macchine) che interagiscono

Dettagli

Obiettivo Principale: Spiegare come la stessa cosa possa essere realizzata in molti modi diversi e come, a volte, ci siano modi migliori di altri.

Obiettivo Principale: Spiegare come la stessa cosa possa essere realizzata in molti modi diversi e come, a volte, ci siano modi migliori di altri. 6 LEZIONE: Algoritmi Tempo della lezione: 45-60 Minuti. Tempo di preparazione: 10-25 Minuti (a seconda che tu abbia dei Tangram disponibili o debba tagliarli a mano) Obiettivo Principale: Spiegare come

Dettagli

PIANO DI LAVORO DEL PROFESSORE

PIANO DI LAVORO DEL PROFESSORE ISTITUTO DI ISTRUZIONE SUPERIORE STATALE IRIS VERSARI - Cesano Maderno (MB) PIANO DI LAVORO DEL PROFESSORE Indirizzo: LICEO SCIENTIFICO x LICEO SCIENTIFICO Scienze Applicate LICEO TECNICO ISTITUTO TECNICO

Dettagli