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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

È 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

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

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

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

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

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

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

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

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

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

Introduzione al corso

Introduzione al corso Introduzione al corso Introduzione all Informatica - corso E Docente: Ing. Irina Trubitsyna Obiettivi del corso Concetti di base sull informatica e sulla gestione delle informazioni Struttura e funzionamento

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

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione dell informazione.

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

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

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

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

Revisione e implementazione di algoritmi di elaborazione delle immagini

Revisione e implementazione di algoritmi di elaborazione delle immagini Stagnaro Francesca Mat. 2543707 Relazione Finale di Tirocinio: Revisione e implementazione di algoritmi di elaborazione delle immagini Svolto presso l azienda Numensoft Snc di M. Peri & Soci III Anno di

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

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

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

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

Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica

Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica Università di Roma Tor Vergata L1-1 obiettivo: introduzione a conoscenze di base dell informatica informatica come metodologia di risoluzione di problemi con l ausilio di una macchina definire un metodo

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

LINGUAGGI - COMPILATORI - INTERPRETI

LINGUAGGI - COMPILATORI - INTERPRETI LINGUAGGI - COMPILATORI - INTERPRETI Per poter risolvere un dato problema utilizzando un computer è necessario che questo venga guidato da una serie di istruzioni che specificano, passo dopo passo, la

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

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

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

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

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

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

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

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

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Fondamenti di Informatica Modulo 1 Programma dell'a.a. 2003/2004 Luigi Romano Dipartimento di Informatica

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati schifano@fe.infn.it Laurea di Informatica - Università di Ferrara 2011-2012 [1] Strutture dati Dinamiche: Le liste Una lista è una sequenza di elementi di un certo tipo in cui è possibile aggiungere e/o

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Sintassi e semantica Compilatori, interpreti e il linker Introduzione al C La funzione main del C 2 Definizione 1 Un linguaggio è un insieme di parole

Dettagli

Ingegneria del Software Requisiti e Specifiche

Ingegneria del Software Requisiti e Specifiche Ingegneria del Software Requisiti e Specifiche Obiettivi. Affrontare i primi passi della produzione del software: la definizione dei requisiti ed il progetto architetturale che porta alla definizione delle

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

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

TEORIA E LABORATORIO MODULO 2 - (IS) LA STRUTTURA E I SERVIZI DI INTERNET MODULO 3 - (AL) PROBLEMI E ALGORITMI. LE STRUTTURE DI CONTROLLO.

TEORIA E LABORATORIO MODULO 2 - (IS) LA STRUTTURA E I SERVIZI DI INTERNET MODULO 3 - (AL) PROBLEMI E ALGORITMI. LE STRUTTURE DI CONTROLLO. PROGRAMMA DI INFORMATICA SVOLTO NELL A.S. 2014/2015 CLASSE II A LICEO SCIENTIFICO SCIENZE APPLICATE PROF. DE BENEDETTI MARIANNA LIBRI DI TESTO: Marisa Addomine, Daniele Pons Informatica multimediale -

Dettagli

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Minicorso tematico: Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria ricca@mat.unical.it Presentiamoci

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