Metodologie di programmazione in Fortran 90

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

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

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

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

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

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

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

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

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

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

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

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Convertitori numerici in Excel

Convertitori numerici in Excel ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA Convertitori numerici in Excel Prof. G. Ciaschetti Come attività di laboratorio, vogliamo realizzare dei convertitori numerici con Microsoft Excel

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

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

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

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

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

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

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

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

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

Informatica per le discipline umanistiche 2 lezione 14

Informatica per le discipline umanistiche 2 lezione 14 Informatica per le discipline umanistiche 2 lezione 14 Torniamo ai concetti base dellʼinformatica. Abbiamo sinora affrontato diversi problemi: avere unʼidentità online, cercare pagine Web, commentare il

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

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

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

SPC e distribuzione normale con Access

SPC e distribuzione normale con Access SPC e distribuzione normale con Access In questo articolo esamineremo una applicazione Access per il calcolo e la rappresentazione grafica della distribuzione normale, collegata con tabelle di Clienti,

Dettagli

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori. DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come Scopo principale dell informatica è risolvere problemi con i calcolatori. Non tutti i problemi sono risolvibili con i calcolatori. Si può dimostrato

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

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

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

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

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

1. Limite finito di una funzione in un punto

1. Limite finito di una funzione in un punto . Limite finito di una funzione in un punto Consideriamo la funzione: f ( ) = il cui dominio risulta essere R {}, e quindi il valore di f ( ) non è calcolabile in =. Quest affermazione tuttavia non esaurisce

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

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

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

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

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

Sistemi Web! per il turismo! - lezione 3 -

Sistemi Web! per il turismo! - lezione 3 - Sistemi Web per il turismo - lezione 3 - I computer sono in grado di eseguire molte operazioni, e di risolvere un gran numero di problemi. E arrivato il momento di delineare esplicitamente il campo di

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

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

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

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

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

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da Data una funzione reale f di variabile reale x, definita su un sottoinsieme proprio D f di R (con questo voglio dire che il dominio di f è un sottoinsieme di R che non coincide con tutto R), ci si chiede

Dettagli

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

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

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

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

risulta (x) = 1 se x < 0.

risulta (x) = 1 se x < 0. Questo file si pone come obiettivo quello di mostrarvi come lo studio di una funzione reale di una variabile reale, nella cui espressione compare un qualche valore assoluto, possa essere svolto senza necessariamente

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

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

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

Trasformazione dei Processi in Progetti DIB 1

Trasformazione dei Processi in Progetti DIB 1 Trasformazione dei Processi in Progetti DIB 1 Generalità DIB 2 Progetto PROGETTO: esecuzione di un insieme di attività in un tempo e con risorse limitati per raggiungere uno specifico scopo. A causa dell

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

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

Variabili e tipi di dato

Variabili e tipi di dato Variabili e tipi di dato Tutte le variabili devono essere dichiarate, specificandone il tipo La dichiarazione deve precedere l uso Il tipo è un concetto astratto che esprime: L allocazione di spazio per

Dettagli

Esercizi per il corso di Algoritmi e Strutture Dati

Esercizi per il corso di Algoritmi e Strutture Dati 1 Esercizi per il corso di Algoritmi e Strutture Dati Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, né in C++, etc. ). Di tutti gli algoritmi

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

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

2. Limite infinito di una funzione in un punto

2. Limite infinito di una funzione in un punto . Limite infinito di una funzione in un punto Consideriamo la funzione: fx ( ) = ( x ) definita in R {}, e quindi il valore di non è calcolabile in x=, che è comunque un punto di accumulazione per il dominio

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora: G.C.D.( a d, b d ) = 1 Sono state introdotte a lezione due definizioni importanti che ricordiamo: Definizione

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

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

(a cura di Francesca Godioli)

(a cura di Francesca Godioli) lezione n. 12 (a cura di Francesca Godioli) Ad ogni categoria della variabile qualitativa si può assegnare un valore numerico che viene chiamato SCORE. Passare dalla variabile qualitativa X2 a dei valori

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