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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Linguaggi macchina I linguaggi macchina forniscono solo le operazioni che l'elaboratore può eseguire: Operazioni molto elementari Diverse per ogni processore Scritte in linguaggio binario Sono più orientati alla macchina che ai problemi da trattare 2

3 Linguaggi assemblativi Una prima evoluzione sono i linguaggi assemblativi che sostituiscono i codici binari con codici simbolici START: MOV AX, BX CMP AX, 12h JZ EQUAL INT 21h RET EQUAL: MOV BL, 82h I linguaggi macchina e i linguaggi assemblativi sono detti linguaggi a basso livello 3

4 Linguaggi ad alto livello I cosiddetti linguaggi ad alto livello sono stati introdotti per facilitare la scrittura dei programmi Sono linguaggi simbolici e in continua evoluzione Sono definiti da un insieme di regole formali, le regole grammaticali o sintassi Questi linguaggi di programmazione permettono: La descrizione del problema in modo intuitivo, dimenticandosi che verranno eseguiti da un calcolatore Una astrazione rispetto al calcolatore su cui verrà eseguito il programma Ma devono essere tradotti in linguaggio macchina 4

5 Storia dei linguaggi Inizi Sistema OOP Internet Assembly Linguaggio macchina ALGOL COBOL LISP BASIC FORTRAN Prolog Simula C Pascal Smalltalk C++ ADA.NET PHP Javascript Java

6 Sintassi e semantica Le regole di sintassi definiscono come si devono comporre i simboli e le parole per formare delle istruzioni corrette La semantica di un istruzione definisce il significato della stessa Un programma sintatticamente corretto non è necessariamente semanticamente corretto I programmi fanno quello che prescriviamo che facciano e non quello che vorremmo che facessero 6

7 Sintassi e semantica Programma sintatticamente corretto Soddisfa le regole sintattiche Cioè, è una sequenza di parole o simboli appartenenti alle giuste categorie sintattiche Programma semanticamente corretto Soddisfa le regole semantiche Dice se il programma ha senso, se sarà possibile eseguirlo Ad esempio, la frase Il cane gioca in borsa è sintatticamente corretta, ma non semanticamente 7

8 Semantica Correttezza semantica (typing) Quali tipi di dato possono essere elaborati? Quali operatori applicabili ad ogni dato? Quali regole per definire nuovi operatori? Effetto dell esecuzione (semantica operazionale) Quale è il singolo effetto di ogni azione elementare? Quale è l effetto dell aggregazione delle azioni? Cioè quale è l effetto dell esecuzione di un certo programma? 8

9 Paradgmi di programmazione Forniscono la filosofia con cui si scrivono i programmi e stabiliscono: La metodologia con cui si scrivono i programmi Il concetto di computazione I linguaggi devono consentire ma soprattutto spingere all adozione di un particolare paradigma: Imperativo Logico Funzionale Orientato agli oggetti 9

10 Imperativi Fortran Cobol C Pascal Visual Basic Funzionali Lisp ML Linguaggi di programmazione Logici Prolog Orientati agli Oggetti C++ Java C# Smalltalk Eiffel 10

11 Esempi di programma Calcolo fattoriale Il fattoriale del numero intero positivo n è il prodotto dei primi n numeri interi positivi Il fattoriale viene rappresentato con la forma n! Gestione liste Una lista è una delle strutture dati consistente in una sequenza di nodi che contengono Campi di dati arbitrari Uno o due riferimenti che puntano al nodo successivo e/o precedente Operazioni possibili sulle liste sono aggiunta, rimozione, ordinamento ecc. di nodi 11

12 Linguaggi imperativi Un linguaggio imperativo è legato all architettura della macchina di Von Neumann, ma ad un livello di astrazione vicino a quello dei diagrammi di flusso La principale attività del processore è assegnare valori a celle di memoria Le operazioni che effettuano le istruzioni di un linguaggio imperativo si basano sul concetto di variabile Astrazione del concetto di locazione di memoria 12

13 Linguaggi imperativi I linguaggi imperativi adottano uno stile prescrittivo Il programma imperativo prescrive le operazioni che il processore deve compiere L esecuzione delle istruzioni è nell'ordine in cui appaiono nel programma L ordine può essere alterato dalle strutture di controllo realizzate dal processore con le istruzioni di salto 13

14 Programma imperativo La struttura del programma consiste principalmente in due parti: Una parte di dichiarazione in cui si dichiarano tutte le variabili del programma ed il loro tipo Una parte di istruzioni che realizzano l'algoritmo risolutivo del problema I tipi di istruzioni corrispondono proprio ai tipi di istruzioni possedute dai processori Istruzioni di lettura e scrittura Istruzione di assegnamento Istruzioni aritmetiche e logiche Istruzioni di controllo 14

15 main( ) { printf( %d, fattoriale(n)); } int fattoriale(int n) { int fatt = 1; for (int i = 1; i <= n; i++) { fatt = fatt * i; } return fatt; } cc fattoriale.c fattoriale 3 6 Fattoriale 15

16 Gestione liste struct lista { int val; lista *next; } main( ) { } int aggiungi(int n, lista l) { } cc gestiscilista.c gestiscilista Scegli l operazione: int rimuovi(int indice, lista l) { } 16

17 Pregi e difetti + Ottima efficienza + Adatti a programmi numerici e gestionali - Scarsa naturalezza, leggibilità e flessibilità - Difficile programmazione incrementale - Non adatti per la manipolazione simbolica - Le funzioni e le variabili non sono funzioni e variabili matematiche - Poco adatti per applicare metodi formali di correttezza e di verifica di programmi - Difficile manipolazione dinamica di programmi 17

18 Linguaggi funzionali In un linguaggio funzionale un programma è visto come una funzione matematica Una funzione è una regola di corrispondenza che associa ad ogni elemento del suo dominio un unico elemento nel codominio Una definizione di funzione specifica il dominio, il codominio e la regola di associazione Dopo la definizione una funzione può essere applicata ad un elemento del dominio per restituire l'elemento associato nel codominio 18

19 Linguaggi funzionali La sola operazione del modello funzionale è l applicazione di funzioni ad operandi Il ruolo della macchina funzionale (interprete) è valutare il programma e produrre un valore Il valore di una funzione è determinato solo dai suoi argomenti Non ci sono effetti collaterali (funzionale puro) L'essenza della programmazione funzionale è combinare funzioni Basato sull utilizzo della ricorsione Le variabili sono variabili matematiche che denotano un valore fisso nel tempo e non valori mutabili Non c è nessun assegnamento 19

20 Fattoriale (defun fattoriale(n) ) (if (= n 0) ) 1 (* n (fattoriale (- n 1))) (fattoriale 3) 6 20

21 Gestione liste (car (list 1 2 3)) 1 (cdr (list 1 2 3)) (2 3) (cons 4 (list 1 2 3)) ( ) 21

22 Pregi e difetti + Adatti per la manipolazione simbolica e per i problemi naturalmente ricorsivi + Le funzioni e le variabili sono funzioni e variabili matematiche + Adatti per applicare metodi formali di correttezza e di verifica di programmi + Facile manipolazione dinamica di programmi + Adatti per applicazioni di Intelligenza Artificiale e programmazione esplorativa + Buona naturalezza - Bassa efficienza - Non adatti per la manipolazione numerica - Difficile programmazione procedurale - Scarsa leggibilità e flessibilità - Non facilitano la programmazione incrementale 22

23 Linguaggi logici In un linguaggio logico un programma è composto da una base di conoscenza contenente: Una descrizione del problema basata su formule logiche (fatti, predicati, ) Un insieme di regole per manipolare la descrizione del problema Con un linguaggio logico programmare significa: Descrivere il problema con delle formule del linguaggio Interrogare il sistema (motore inferenziale) per effettuare delle inferenze 23

24 Linguaggi logici L esecuzione di un programma corrisponde all applicazione delle regole alla descrizione del problema L esecuzione è attivata da una interrogazione dell utente Lo scopo dell esecuzione è Verificare se la descrizione del problema soddisfa l interrogazione Recuperare i valori della descrizione del problema che soddisfano l interrogazione Rispetto alle normali computazioni, il calcolo logico ha le caratteristiche del cosiddetto non-determinismo: Può terminare con insuccesso Può concludersi con più di un caso di successo 24

25 Fattoriale fattoriale(0, 1) :-!. fattoriale(n, X) :- N > 0, M is N - 1, fattoriale(m, Y), X is Y * N. fattoriale(3, X) X = 6 25

26 Gestione liste aggungi([], X, X). aggiungi([[x1 X2], Y, [X1 Z]) :- aggiungi(x2, Y, Z). aggiungi([1], [1, 2], W) W = [1, 1, 2] 26

27 Pregi e difetti + Adatti per la manipolazione simbolica e per i problemi naturalmente ricorsivi + Adatti per applicare metodi formali di correttezza e di verifica di programmi + Facile manipolazione dinamica di programmi + Adatti per applicazioni di Intelligenza Artificiale + Buona naturalezza - Bassa efficienza - Non adatti per la manipolazione numerica - Scarsa leggibilità e flessibilità - Difficile programmazione procedurale - Non facilitano la programmazione incrementale 27

28 Linguaggi orientati agli oggetti I linguaggi orientati agli oggetti si sono evoluti a partire dal concetto di astrazione di dato introdotto in alcuni linguaggi imperativi Con un linguaggio orientato agli oggetti si cerca di rappresentare un problema descrivendo ogni entità partecipante con un oggetto nella forma e nel comportamento La definizione di un oggetto è basata su tecniche di Incapsulamento dei dati Ereditarietà Astrazione Polimorfismo 28

29 Linguaggi orientati agli oggetti Incapsulamento dei dati I dettagli di definizione degli oggetti sono nascosti Solo le operazioni (metodi) permesse su di loro sono visibili Ereditarietà Gli oggetti sono definiti in una gerarchia Ereditano dall immediato parente dati e metodi Aggiungono dati e metodi e specializzano quelli ereditati Astrazione Il meccanismo con cui si specifica le caratteristiche peculiari di un oggetto che lo differenzia da altri Polimorfismo Possibilità di eseguire funzioni con lo stesso nome su tipi di dati differenti 29

30 Linguaggi orientati agli oggetti In un linguaggio di programmazione orientato agli oggetti (OOP) un programma consiste: Definizione di un insieme di classi Creazione di un insieme di istanze di queste classi ed esecuzione dei loro metodi Una classe definisce un tipo di oggetto come insieme di: Variabili (campi) Funzioni (metodi) 30

31 class Fattoriale { int valore; int fattoriale(int n) { int fatt = 1; for (int i = 1; i <= n; i++) fatt = fatt * i; return fatt; } void main(string[] args) { System.out.println(fattoriale(n)); } } Fattoriale javac fattoriale.java java fattoriale

32 class Lista { } int val; Lista next; Lista aggiungi(int val) { } Lista rimuovi(int indice) { } Gestione liste javac GestisciListe.java java GestisciListe import Lista; Class GestisciListe { Vector<Lista> liste; void main(string[] args) { } } 32

33 Pregi e difetti + Ottima flessibilità e programmazione incrementale + Ottimo riuso del software + Buona efficienza + Adatti per programmi numerici e gestionali + Abbastanza adatti per la manipolazione simbolica + Discreta naturalezza e leggibilità e flessibilità - Poco adatti per applicare metodi formali di correttezza e di verifica di programmi - Difficile manipolazione dinamica di programmi 33

34 Paradigmi di programmazione Imperativo Programma = Algoritmo + Dati Logico Programma = Logica + Controllo Funzionale Programma = Funzione Orientato agli Oggetti Programma = Oggetti 34

35 Perchè più paradigmi e linguaggi? Efficienza Rapida prototipazione Facile comprensione del linguaggio (leggibilità) Modificabilità e riusabilità Programmazione in largo Qualità del programma 35

36 Programmazione multi paradigma Rispetto alla varietà dei problemi e delle applicazioni concrete ogni paradigma presenta propri vantaggi e svantaggi Per risolvere il problema si cerca di aggiungere a un linguaggio, appartenente ad un particolare paradigma di programmazione, caratteristiche proprie di un altro paradigma A volte lo stesso scopo viene raggiunto aggiungendo particolari librerie Un'altra soluzione, spesso adottata, è quella di interfacciarsi con altri linguaggi 36

37 Ciclo di vita del software Lo sviluppo del software è un attività dinamica soggetta a continue variazioni e modifiche Si parla di manutenzione del software per indicare l attività che prevede la correzione ed il miglioramento di un programma e della sua documentazione Il software, per questo motivo, è soggetto ad una evoluzione nota con il nome di ciclo di vita che può essere riassunta nello schema seguente 37

38 Ciclo di vita del software Fase 1 Analisi dei requisiti Intervista con il cliente per la messa a punto delle specifiche. Descrizione dell input e dell output mediante variabili semplici e strutturate Fase 2 Progetto Stesura dell algoritmo, rappresentato mediante pseudo codice, e controllo della sua funzionalità Fase 3 Implementazione Codifica dell algoritmo in un linguaggio di programmazione dipendente dal tipo di problema 38

39 Ciclo di vita del software Fase 4 Collaudo e validazione Procedura di prova e verifica del programma realizzato attraverso l esecuzione con dati campione e l utilizzo di utenti Fase 5 Redazione della documentazione Procedura di stesura del manuale d uso Fase 6 Rilascio del prodotto Diffusione del software prodotto e della sua documentazione per la relativa commercializzazione Fase 7 Manutenzione Attività di correzione e modifica necessarie per un migliore utilizzo o funzionamento 39

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

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

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

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

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

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

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

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

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

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

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Fondamenti di Informatica -Obiettivi L obiettivo del corso e' lo studio delle metodologie di base della programmazione dei calcolatori e della loro applicazione

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

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

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

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 DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI BASSO LIVELLO Linguaggio macchina Uno per ogni processore o famiglia di processori Linguaggio assembler Versione simbolica di quello macchina. LINGUAGGI DI ALTO

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

1. I FONDAMENTI DELLA PROGRAMMAZIONE AD OGGETTI

1. I FONDAMENTI DELLA PROGRAMMAZIONE AD OGGETTI IL LINGUAGGIO JAVA Dispense per il corso di laboratorio di sistemi I.T.I.S. ABACUS A.S. 2008/2009 Autore: Roberto Amadini Testo di riferimento: La programmazione ad oggetti C++ Java (Lorenzi, Moriggia,

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

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

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

Introduzione ai linguaggi di programmazione

Introduzione ai linguaggi di programmazione Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Introduzione ai linguaggi di programmazione Giorgio

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

Introduzione alla Programmazione ad. Oggetti (OOP)

Introduzione alla Programmazione ad. Oggetti (OOP) Introduzione alla Programmazione ad Oggetti (OOP) Prof. Emanuele Papotto Introduzione alla Programmazione ad Oggetti Cosa Faremo: I linguaggi OOP Definizione di : classe, oggetto, attributi, metodi Cenni

Dettagli

1. Linguaggi di Programmazione Introduzione

1. Linguaggi di Programmazione Introduzione 1. Linguaggi di Programmazione Introduzione 1.1 La programmazione Il motivo fondamentale che da sempre spinge l uomo alla progettazione e alla creazione di macchine di qualsiasi tipo è quello di facilitare

Dettagli

Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza. Dispense del Corso di Intelligenza Artificiale

Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza. Dispense del Corso di Intelligenza Artificiale Laurea in Ingegneria Informatica Facoltà di Ingegneria Università di Roma La Sapienza Dispense del Corso di Intelligenza Artificiale Anno Accademico 2003/04 Linguaggi per l Intelligenza Artificiale Daniele

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

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

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

!#$%&&'()#*%+%+!#$',,'()#*%+ -)%*&'&'+'$.)+-$$%&&) !#$%&&'(%)'*+%,#-%#.'%&'#/0)-+#12+3,)4+56#7+#.')8'9 !"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se

Dettagli

PROGRAMMAZIONE II Corso B Introduzione al corso

PROGRAMMAZIONE II Corso B Introduzione al corso AA 2014-2015 PROGRAMMAZIONE II Corso B Introduzione al corso Andrea Corradini o Email: andrea@di.unipi.it o Web: www.di.unipi.it/~andrea 1 INFORMAZIONI GENERALI Pagina web del corso: http://www.di.unipi.it/~andrea/didattica/pr2-b-14/

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A.

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A. Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Introduzione Michele Tomaiuolo Ingegneria del software L ingegneria

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

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 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

Dettagli

Elementi di Informatica

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

Dettagli

1. FINALITA DELLA DISCIPLINA

1. FINALITA DELLA DISCIPLINA Ministero dell Istruzione dell Università e della Ricerca LICEO SCIENTIFICO STATALE Donato Bramante Via Trieste, 70-20013 MAGENTA (MI) - MIUR: MIPS25000Q Tel.: +39 02 97290563/4/5 Fax: 02 97220275 Sito:

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

Algoritmi, Linguaggi e Programmi

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

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

Introduzione alla Programmazione ad Oggetti in C++ Introduzione alla Programmazione ad Oggetti in C++ Lezione 1 Cosa è la Programmazione Orientata agli Oggetti Metodologia per costruire prodotti software di grosse dimensioni che siano affidabili e facilmente

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

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) 12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,

Dettagli

Tipi di Dato Ricorsivi

Tipi di Dato Ricorsivi Tipi di Dato Ricorsivi Luca Abeni September 2, 2015 1 Tipi di Dato Vari linguaggi di programmazione permettono all utente di definire nuovi tipi di dato definendo per ogni nuovo tipo l insieme dei suoi

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

Laboratorio di Programmazione Strutturata

Laboratorio di Programmazione Strutturata Laboratorio di Programmazione Strutturata Facoltà di Scienze e Tecnologie per i Media Anno 2008/2009 Dati Generali Docente del corso : Dott. Tulimiero Davide Materiale del corso : Corso completo di programmazione

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

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

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

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

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

Object Oriented Programming

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

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2014/2015 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott. Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 30/11/07 Sommario Concetti fondamentali

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

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario.

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario. Programmazione e laboratorio: introduzione al corso Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione per

Dettagli

Anno Accademico 1999/2000

Anno Accademico 1999/2000 progettare sistemi software di grandi dimensioni richiede adeguati supporti crisi del software : i costi di gestione diventano preponderanti su quelli di produzione il software dovrebbe essere protetto,

Dettagli

Linguaggio Java e il paradigma della programmazione ad oggetti

Linguaggio Java e il paradigma della programmazione ad oggetti Linguaggio Java e il paradigma della programmazione ad oggetti Marco La Cascia Aula Magna Ingegneria 26/11/2015 Outline Introduzione ai paradigmi di programmazione Storia di Java Introduzione a Java Componenti

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B2 Significato e proprietà della OOP 1 Prerequisiti Concetto ed elementi della comunicazione Allocazione e deallocazione della memoria Compilazione di un programma Spazio

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

Corso di Informatica. Sistemi Software. Ing Pasquale Rota

Corso di Informatica. Sistemi Software. Ing Pasquale Rota Corso di Informatica Sistemi Software Ing Pasquale Rota Sistemi Software Macchina virtuale Tipi di software Software di sistema o Sistema operativo o Assemblatori e linguaggio assemblativo o Linguaggi

Dettagli

Introduzione a I LINGUAGGI DI PROGRAMMAZIONE

Introduzione a I LINGUAGGI DI PROGRAMMAZIONE Introduzione a I LINGUAGGI DI PROGRAMMAZIONE a cura di Francesco Galgani www.galgani galgani.itit Avvertenza: Con la presente pubblicazione, mi limiterò a introdurre sinteticamente alcuni concetti fondamentali

Dettagli

Proff. Fabio Ciao e Raffaele Bortone

Proff. Fabio Ciao e Raffaele Bortone ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMAZIONE ANNUALE A.S. 2014/2015 Classe IV C Informatica Proff. Fabio Ciao e Raffaele Bortone Libro di testo: Cloud

Dettagli

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Problema e metodologie di progetto Linguaggio C: Introduzione Monica Mordonini Problema e Algoritmo

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

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti Alessio Bechini - Corso di - Il paradigma OO e le relative metodologie di progettazione Metodologie OO Programmazione orientata agli oggetti La programmazione ad oggetti (OOP) è un paradigma di programmazione

Dettagli

Corso di Programmazione ad Oggetti

Corso di Programmazione ad Oggetti Corso di Programmazione ad Oggetti Introduzione alla programmazione ad oggetti a.a. 2008/2009 Claudio De Stefano 1 La programmazione modulare Un programma può essere visto come un insieme di moduli che

Dettagli

Breve introduzione al Calcolo Evoluzionistico

Breve introduzione al Calcolo Evoluzionistico Breve introduzione al Calcolo Evoluzionistico Stefano Cagnoni Dipartimento di Ingegneria dell Informazione, Università di Parma cagnoni@ce.unipr.it 1 Introduzione Il mondo fisico ed i fenomeni naturali

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

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Programmi e programmazione

Programmi e programmazione Programmi e programmazione Lezione n. 4 Dall algoritmo al programma L algoritmo è l idea risolutiva con caratteristiche di rigore (non brevettabile, non tutelabile dal diritto d autore) Si rappresenta

Dettagli

Introduzione al C. Unità 1 - Introduzione

Introduzione al C. Unità 1 - Introduzione Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR - Introduzione D. Bloisi, S. Peluso, A. Pennisi, S. Salza Obiettivi del corso (parte II) Concetti di algoritmo

Dettagli

Programmazione a Oggetti Lezione 10. Ereditarieta

Programmazione a Oggetti Lezione 10. Ereditarieta Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare

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

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

Funzioni e procedure

Funzioni e procedure Funzioni e procedure DOTT. ING. LEONARDO RIGUTINI DIPARTIMENTO INGEGNERIA DELL INFORMAZIONE UNIVERSITÀ DI SIENA VIA ROMA 56 53100 SIENA UFF. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Programmazione. Prima lezione sugli oggetti: agenda

Programmazione. Prima lezione sugli oggetti: agenda Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti (1): Principi generali ( Lezione XXV ) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università

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

Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente.

Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Ricorsione Funzioni ricorsive Una funzione è detta ricorsiva se chiama, direttamente o indirettamente, se stessa. In C tutte le funzioni possono essere usate ricorsivamente. Un esempio di funzione ricorsiva

Dettagli

Elementi di semantica denotazionale ed operazionale

Elementi di semantica denotazionale ed operazionale Elementi di semantica denotazionale ed operazionale 1 Contenuti! sintassi astratta e domini sintattici " un frammento di linguaggio imperativo! semantica denotazionale " domini semantici: valori e stato

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

LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita

LICEO SCIENTIFICO LEONARDO DA VINCI - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Prof Miritello Rita LICEO SCIENTIFICO "LEONARDO DA VINCI" - RC PROGRAMMA DI INFORMATICA A.S. 2014/15 - CLASSE: I Q - Indirizzo Scienze applicate Modulo 1: Introduzione all informatica Fondamenti di teoria della elaborazione

Dettagli

Programmazione Funzionale

Programmazione Funzionale Programmazione Funzionale LP imperativi: apparenza simile modello di progettazione = macchina fisica Famiglia dei LP imperativi = progressivo miglioramento del FORTRAN Obiezione: pesante aderenza dei LP

Dettagli

Introduzione a Classi e Oggetti

Introduzione a Classi e Oggetti Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto

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

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

Elementi di semantica operazionale

Elementi di semantica operazionale Elementi di semantica operazionale 1 Contenuti sintassi astratta e domini sintattici un frammento di linguaggio imperativo semantica operazionale domini semantici: valori e stato relazioni di transizione

Dettagli

La programmazione: tradizionale vs Orientata agli Oggetti (OOP)

La programmazione: tradizionale vs Orientata agli Oggetti (OOP) La programmazione: tradizionale vs Orientata agli Oggetti (OOP) In generale, nella soluzione di un problema si individuano dati e funzionalità (azioni) potendola implementare, a livello più semplice, in

Dettagli

Livelli di astrazione

Livelli di astrazione Realizzare Classi Astrazione Perdita di dettaglio Utile nella descrizione, progettazione, implementazione e utilizzo di sistemi complessi Dettagli trascurabili vengono incapsulati in sottosistemi più semplici

Dettagli

Laboratorio di Programmazione 2

Laboratorio di Programmazione 2 Laboratorio di Programmazione 2 Docente: Luca Forlizzi Orario: lun. 15:00-17:00, mar. 17:00-19:00, gio. 17:00-19:00 Ricevimento: lun. 17:00-18:00, mar. 16:00-17:00 Contatti: ricevimento (Coppito 2, stanza

Dettagli

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

Appunti di Informatica 1. Gianluca Rossi

Appunti di Informatica 1. Gianluca Rossi Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina

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

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 12. Progettazione Dipartimento di Informatica Università di Pisa A.A. 2014/15 progettare prima di produrre Tipico della produzione industriale sul tavolo da disegno si usa la gomma,

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

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

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

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

Colloquio di informatica (5 crediti)

Colloquio di informatica (5 crediti) Università degli studi della Tuscia Dipartimento di Scienze Ecologiche e Biologiche Corso di laurea in Scienze Ambientali A.A. 2013-2014 - II semestre Colloquio di informatica (5 crediti) Prof. Pier Giorgio

Dettagli

Automazione Industriale 4- Ingegneria del Software

Automazione Industriale 4- Ingegneria del Software Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica

Dettagli