Informatica I. Ingegneria Medica. Prof. Diego Salamon
|
|
- Mariangela Poggi
- 8 anni fa
- Visualizzazioni
Transcript
1 Informatica I Ingegneria Medica Prof. Diego Salamon
2 Introduzione ai linguaggi Un elaboratore è un insieme di risorse tra loro coordinate. Perché utilizzare un elaboratore? Dato di Fatto : Esiste un problema Voglio automatizzare il metodo risolutivo La struttura del metodo risolutivo è strettamente legata al modo con cui le informazione a disposizioni sono organizzate. Se vogliamo automatizzare la soluzione dobbiamo rappresentare le informazioni e il metodo risolutivo in un linguaggio comprensibile dallo strumento di calcolo.
3 Introduzione ai linguaggi Il nostro obiettivo è progettare metodi risolutivi (Algoritmi) e descriverli in un linguaggio comprensibile dall elaboratore (linguaggio di programmazione) Problema Algoritmo Programma
4 Introduzione agli algoritmi La rappresentazione dell algoritmo che risolve il problema può essere fatto in diversi modi o linguaggi. FlowChart (Diagramma di Flusso) Notazione UML Un Linguaggio di programmazione processo decisione terminatore documento FlowChart UML Use Cases Diagram Linguaggio di Programmazione
5 Introduzione ai linguaggi Il livello di astrazione del linguaggio deve essere tale da permettere a chi lo usa un agevole implementazione dell algoritmo senza che si debba occupare di problemi legati al livello sottostante. Ogni linguaggio deve essere preciso e non ambiguo. Due componenti fondamentali: Sintassi: regole che devono essere rispettate nella costruzione delle frasi Semantica: il significato associato alla singola frase
6 Il Linguaggio : la sintassi Def Δ : Dato un insieme definito e non vuoto V si definisce universo linguistico su V e si indica con V* l insieme delle sequenze finite di lunghezza arbitraria di elementi di V. L insieme V è in genere detto Alfabeto Gli elementi di V sono detto simboli Gli elementi di V* sono dette stringhe o frasi
7 Il Linguaggio la sintassi Def Δ : un linguaggio L su un alfabeto V è un sottoinsieme di V* Sebbene V sia finito, V* non lo è; esso è numerabile e i sottoinsieme di V* sono non numerabili Nel considerare i linguaggi di programmazione non siamo interessati a tutti i sottoinsiemi di V* ma solo quelli numerabili in maniera finita.
8 Il Linguaggio : la sintassi Def Δ : una grammatica o sintassi G è definita da: V, un alfabeto di simboli terminali N, un alfabeto di simboli non terminali S є N detto assioma o simbolo iniziale t.c. V N=Ø P, un insieme finito di regole sintattiche del tipo X a dove X є N e a є (N U V)* Gli alfabeti terminale e non terminale sono disgiunti
9 Il Linguaggio: la sintassi Def Δ : data una grammatica G e due stringhe β, γ є(n U V)* si dice che γ deriva direttamente da β in G e si scrive β γse le stringhe si possono decomporre in β= η A δ, γ= η αδcon A є N; α, η, δ є(n U V)* ed esiste la regola sintattica A αєp Def Δ :Data una grammatica G e due stringhe β, γ є(n U V)* si dice che γ deriva direttamente da β se esiste un n>=0 t.c. β 0 n β n e β 0 = β, β n = γ Def Δ : Data una grammatica G dicesi linguaggio generato da G e si indica con Lg l insieme delle frasi di V* derivabili a partire dall assioma S. Def Δ : un linguaggio di programmazione L su un alfabeto V è un sottoinsieme di V* per cui esiste una grammatica G, tale che L=Lg
10 Il Linguaggio La semantica Per definire la sintassi di un programma abbiamo visto un solo modo Per definire la semantica di un linguaggio esistono almeno due modi: Metodo operazionale Metodo denotazionale Funzionale Relazionale o assiomatico
11 Il Linguaggio : la semantica Metodo operazionale: Una semantica operazionale viene definita quando definiamo una macchina astratta (modello astratto di calcolatore, macchina virtuale)e definiamo come l esecuzione delle varie istruzioni del linguaggio viene condotta su tale macchina. La configurazione istantanea della macchina astratta viene descritta mediante uno stato ; la semantica di ciascun costrutto del linguaggio consiste nella descrizione di una transizione di stato, cioè come la macchina passa da uno stato ad uno successivo per effetto dell esecuzione del costrutto stesso. Il Significato del programma è definito dal comportamento della macchina astratta per effetto dell esecuzione del programma cioè dalla sequenza di stati che la macchina astratta assume. Ovviamente la sequenza di stati si dirà finita se l esecuzione del programma termina.
12 Il Linguaggio : la semantica Metodo operazionale Esempio di semantica di un istruzione condizionale: IF (condizione) azione1 ELSE azione2 La semantica dell istruzione condizionale a partire da uno stato s consiste nella transizione M: la transizione determinata da azione1 a partire dallo stato s oppure la transizione determinata da azione2 a partire dallo stato s, a seconda che il valore di condizione, valutato in s, sia vero o falso rispettivamente
13 Il Linguaggio : la semantica Metodo operazionale Con questo approccio alla semantica dei linguaggi di programmazione, il significato di un programma P su un input dato, consiste nella sequenza(finita o infinita)di transizioni determinata sulla macchina astratta M dalla esecuzione delle varie istruzioni che compongono P a partire dallo stato iniziale s
14 Il Linguaggio : la semantica Metodo Denotazionale In questo caso adottare il metodo denotazionale per la definizione di una semantica dei linguaggi di programmazione significa fornire un metodo rigoroso per associare ad ogni programma del linguaggio l oggetto matematico ad esso denotato. Come detto esistono due metodi per la definizione della semantica denotazionale Metodo funzionale Metodo relazionale
15 Il Linguaggio : la semantica Metodo Denotazionale Funzionale Ad ogni programma viene associata la funzione da esso calcolata In tale definizione la semantica risulta essere un insieme di equazioni funzionali. La semantica del linguaggio è la funzione risultato dell applicazione di tali equazioni al programma stesso,
16 Il Linguaggio : la semantica Metodo Denotazionale Relazionale Ad ogni programma viene associata la relazione da esso calcolata In questo caso esiste una relazione tra i dati di ingresso e quelli di uscita; tale relazione viene espressa tramite due predicati: se il primo precondizione è vero sui dati di ingresso e se il programma termina su questi dati allora il secondo predicato (postcondizione) è vero sui dati di uscita. Con questo metodo definire la semantica denotazionale consiste nel definire come le precondizione e le postcondizioni siano correlate per ciascuna istruzione del linguaggio e dove la precondizione descrive la memoria prima dell esecuzione della precondizione e la postcondizione descrive la memoria dopo l esecuzione.
17 Il linguaggio Java
18 Il Linguaggio Java Cosa non è Java: NON è un linguaggio per animare il Web NON è una versione ridotta del C++ NON è Javascript Cosa è Java Un linguaggio di programmazione Object Oriented Orientato alla programmazione di applicazioni network-centric
19 Genealogia
20 Linguaggio Java: Storia 1991: viene sviluppato dal Green Group (SUN) Nome originale: OAK Obiettivo originale: sviluppo sw per elettronica di consumo 1995: SUN annuncia formalmente Java Il target cambia dagli elettrodomestici al Web 1997: più di 600 applicazioni commerciali basate su Jav 1999: SUN annuncia 3 edizioni di Java J2SE: Java 2 Standard Edition (nucleo base) J2EE: Java 2 Enterprise Edition (applicazioni enterprise) J2ME: Java 2 Micro Edition (smart card, palmari, cellulari )
21 Linguaggio Java: Storia 2000-oggi: Si afferma come tecnologia leader per lo sviluppo di applicazioni Enterprise I più grandi vendor producono piattaforme per applicazioni enterprise compatibili J2EE Società ed Enti Pubblici adottano Java per lo sviluppo di sistemi informativi di grandi dimensioni 2000-Oggi: Si afferma come tecnologia leader per il pervasive computing I più grandi vendor di cellulari e palmari adottano la tecnologia J2ME Il futuro Elaborazione: Grid computing (OGSI,OGSA) Comunicazione: Interoperabilità, Connettività
22 Java: Principali campi di applicazione J2EE J2ME J2SE Web-based applications: Content Management, Document Management, Customer Relationship Management (CRM), Sales Force Management (SFM), Service Request Management (SRM) Enterprise applications: sistemi gestionali, Enterp Resource Planning (ERP), Supply Chain Management (SCM) EAI: Enterprise Application Integration (Web Serv XML) Pervasive computing: cellulari, dispositivi portatili navigatori satellitari, wireless, smart card GUI: Graphical User Interface
23 Java: Principali campi di applicazione Applicazioni Real-Time: sistemi di controllo, applicazioni scientifiche (meteorologia, analisi dati da satelliti ) Applicazioni Cpu-Bound: image processing, DSP (digital signal processing), ray tracing, multimedia players, encoders, decoders Sistemi Operativi Sistemi Critici: controllo del traffico aereo, sistemi di controllo di centrali, biotecnologie
24 Sviluppare in Java J2EE EJB Servlet J2ME Mobile Media Java Card XML Wireless J2SE CLDC SDK J2SE JRE JRE: Java Runtime Environment per eseguire applicazioni Java SDK: Software Development Kit per sviluppare applicazioni Java contiene il JRE
25 Java: SDK e JRE
26 Java: Caratteristiche Semplice Sicuro Portabile Object Oriented Robusto Indipendente dall architettura Interpretato Con prestazioni elevate Distribuito Economico Multithreaded
27 Java:semplice Bassa curva di apprendimento Concepito per incrementare la produttività Sintassi simile a C e C++ Elimina i costrutti più "pericolosi" di C e C++ aritmetica dei puntatori preprocessore (#define) (de)allocazione esplicita della memoria
28 Object Oriented e Multithreaded Nasce come linguaggio Object Oriented puro Ogni cosa è un oggetto tranne i tipi semplici (es. interi), considerati come non-oggetti a prestazioni elevate Pragmatico: il modello a oggetti è semplice ed estendibile Multithreaded Fornisce un modello per la programmazione concorrente Rimane Orientato agli oggetti
29 Java: Robusto Rilevamento errori e typechecking a tempo di compilazione e di esecuzione Mascheramento dei puntatori all'utente Controllo automatico degli indici degli array Gestione delle eccezioni da parte dell'utente Gestione della memoria GC (Garbage Collector): libera automaticamente la memoria inutilizzata Allocazione automatica
30 Java : Distribuito e Portabile Fornisce funzioni per: L accesso alla rete (TCP/IP) Invocazione di metodi remoti (RMI) Web Services Il compilatore produce codice di tipo byte-code interpretato da una virtual-machine e indipendente dall architettura HW Lo stesso codice gira su piattaforme Unix, Microsoft e Macintosh ed altro
31 Java: Interpretato Interfacce Classi astratte Classi Codice Sorgente Compilazione file.java La JVM nasconde le caratteristiche peculiari dell hardware e del sistema operativo ByteCode file.class Esecuzione JAVA VIRTUAL MACHINE Windows Unix/Linux MacOS Lo stesso codice oggetto può essere eseguito su tutte le piattaforme per le quali venga fornita la JVM
32 Il processo di compilazione Dal codice sorgente al programma in esecuzione
33 Java : sicuro Il sistema run-time Java emula una macchina virtuale che interpreta il bytecode Possibilità di impedire l esecuzione di istruzioni pericolose Introduzione delle Applet per rendere sicuri programmi scaricati da Internet
34 Java : economico Software e documentazione on-line: java.sun.com Snippets Applet, Servlet
35 Tool di Sviluppo e il primo programma
36 La struttura di un programma Java Un programma Java è costituito da una o più classi Ogni classe risiede in un file che ha lo stesso nome della classe ed estensione.java Deve esistere almeno una classe che ha il nome del programma ed un metodo speciale chiamato main. Questo è il primo metodo che viene eseguito quando si esegue il programma.
37 La struttura di un programma Java Programma Classe1 Classe2 Classe3 Programma Classe principale con metodo main
38 Il programma HelloWorld File: HelloWorld.java public class HelloWorld{ public static void main (String args[]){ System.out.println( Hello ); } }
39 JAVA - Tool di sviluppo SDK + editor (notepad,..) IDE: Integrated Development Environment BlueJ: didattico, freeware, Eclipse: nato da un progetto OpenSource di IBM, freeware netbean: fornito con JDK, freeware IBM Rational XDE: IBM, commerciale JBuilder: Borland, commerciale Modellatori/Generatori di Codice (Rational XDE, Advantage Joe,..)
40 Installazione SDK Scaricare l ultima versione del SDK da: Eseguire il programma di installazione:
41 Configurazione SDK Inserire nel PATH: <jsdk directory>/bin
42 Sviluppo con SDK Utilizzo di notepad
43 Compilazione con SDK Compilazione La compilazione crea il file.class Compilazione del file.java
44 Esecuzione con SDK Esecuzione
45 Sintesi Per compilare ed eseguire il programma HelloWorld.java : C:\Sorgenti\HelloWorld\javac HelloWorld.java C:\Sorgenti\HelloWorld \java HelloWorld Hello C:\Sorgenti\HelloWorld
46 Configurazione BlueJ Selezionare la Java Virtual Machine Start -> Programmi -> BlueJ -> SelectVM
47 Creazione di un progetto con BlueJ Creazione del Progetto: New Project
48 Creazione di una classe con BlueJ Creazione di una classe: New Class
49 Creazione di una classe con BlueJ Creazione di una classe: New Class
50 Compilazione con BlueJ Compilazione di una classe: Compile
51 Esecuzione con BlueJ Esecuzione di HelloWorld: void main(args)
52 Installazione Eclipse Scaricare e unzippare l ultima versione di Eclipse da: Eseguire eclipse.exe Impostare il workspace
53 Creazione di un progetto con Eclipse Creare un nuovo progetto di tipo Java Project Inserire il nome del progetto (HelloWorld) e proseguire nel wizard (next, next,...)
54 Creazione di una classe con Eclipse File -> New -> Class
55 Creazione di una classe con Eclipse Specificare il nome della classe e impostare il check box per la creazione del metodo main
Programmazione ad Oggetti. Java Parte I
Programmazione ad Oggetti Java Parte I Overview Caratteristiche generali 1 Caratteristiche generali Un moderno linguaggio orientato agli oggetti Pensato per lo sviluppo di applicazioni che devono essere
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di
DettagliPanoramica: che cosa è necessario
Scheda 02 L installazione dell SDK G IOVANNI PULITI Panoramica: che cosa è necessario Per poter lavorare con applicazioni Java o crearne di nuove, il programmatore deve disporre di un ambiente di sviluppo
DettagliInformatica. Prof. A. Longheu. Introduzione a Java
Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su
DettagliCOS È 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
DettagliIntroduzione alla programmazione Java. Dott. Ing. M. Banci, PhD
Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione
DettagliProva Finale a.a. 2011/2012. Laboratorio 1: Introduzione a Java e Eclipse
Prova Finale a.a. 2011/2012 Laboratorio 1: Introduzione a Java e Eclipse 1 Java 6 Standard Edition Linguaggio Java (... (javac, Tool di sviluppo Librerie per l'interfaccia grafica Librerie di base Macchina
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico
Dettagli2 - Introduzione al linguaggio Java
2 - Introduzione al linguaggio Java Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo
DettagliScrivere un programma in Java
Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
DettagliTale attività non è descritta in questa dispensa
Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliLinguaggi 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
DettagliSTRINGHE di un ALFABETO. Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto. Alfabeto della lingua inglese I={a,b,c,..
STRINGHE di un ALFABETO Consideriamo un alfabeto di simboli V V è un insieme finito e non vuoto Alfabeto binario A={0,1} Alfabeto della lingua inglese I={a,b,c,..z} Stringhe o parole Gli elementi di V
DettagliSommario. 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
DettagliJava? Sì, grazie. Scopo del corso
Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti
DettagliStrumenti per la programmazione
Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un
DettagliSoftware. 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
Dettaglisito web sito Internet
Siti Web Cos è un sito web Un sito web o sito Internet è un insieme di pagine web correlate, ovvero una struttura ipertestuale di documenti che risiede, tramite hosting, su un web server e accessibile
DettagliAmbienti di Sviluppo
Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test; Applicazioni che permettono di editare / disegnare il
DettagliLe command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
DettagliProgrammare in Java. Olga Scotti
Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale
DettagliProgrammazione in Java Parte I: Fondamenti
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice
DettagliInformazione e dato. Gabriella Trucco
Informazione e dato Gabriella Trucco Cos è l informatica? Informatica? Trattamento automatico delle informazioni INFORMATICA Informazione Informazione: Qualcosa che quando viene fornito dissipa un dubbio,
DettagliSistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliMECCANISMI E POLITICHE DI PROTEZIONE 13.1
MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati
DettagliProgrammazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso
Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali
DettagliCorso Eclipse. Prerequisiti. 1 Introduzione
Corso Eclipse 1 Introduzione 1 Prerequisiti Uso elementare del pc Esecuzione ricerche su Internet Esecuzione download Conoscenza elementare della programmazione 2 1 Cos è Eclipse Eclipse è un IDE (Integrated
DettagliNascita di Java. Che cos e Java? Caratteristiche di Java. Java: linguaggio a oggetti
Nascita di Java L uscita di Java, verso la metà degli anni novanta, fu accolta con molto entusiasmo dalla comunità dei programmatori e dei provider di servizi internet perché permetteva agli utenti del
DettagliINTRODUZIONE 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.
DettagliJava. Traditional portability (ideal)
1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs
DettagliLezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
DettagliFondamenti di programmazione in Java. Lezione III
Fondamenti di programmazione in Java Lezione III Scopo della lezione Descrivere gli strumenti che utilizzeremo nel resto del corso per sviluppare programmi in java UltraEdit Java SDK Imparare a scrivere
DettagliLinguaggio C Compilazione, linking e preprocessor
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Compilazione, linking e preprocessor 2001 Pier Luca Montessoro
DettagliTutorial per l installazione del J2SE 6 e configurazione del sistema operativo
Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo Ing. Giovanni Ponti DEIS Università della Calabria gponti@deis.unical.it La piattaforma Java mette a disposizione una serie
DettagliModellazione dei dati in UML
Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):
DettagliFondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi
Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni
DettagliIntroduzione a Dev-C++
Introduzione a Dev-C++ Università degli Studi di Brescia Docente: Massimiliano Giacomin Elementi di Informatica e Programmazione Università di Brescia 1 Note: Dev-C++ richiede Windows 95/98/NT/2000/XP
DettagliIl Sistema Operativo (1)
E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale
DettagliPROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE
PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007
DettagliSoftware di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche
Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica
DettagliCorso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008)
Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dell ambiente di sviluppo, compilazione ed esecuzione 1 Introduzione Java è un linguaggio
DettagliIl calcolatore oggi : UN SISTEMA DI ELABORAZIONE
Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,
DettagliUniversità 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
DettagliLinguaggi 2 e laboratorio
Linguaggi 2 e laboratorio Docente: Leonardo Badia Contatti: leonardo.badia@gmail.com Pagina web del corso: www.unife.it/scienze/informatica/ insegnamenti/linguaggi-2-laboratorio Argomenti del corso: Java
DettagliIl Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10
Il Software e Il Sistema Operativo Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10 Cosa Impareremo Programmi e Processi Struttura del Sistema Operativo Sviluppo di Programmi I files e la loro
DettagliCorso di Informatica
Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo
DettagliDispensa di Informatica I.1
IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliGuida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50
Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra
DettagliElementi 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
DettagliIntroduzione ai tipi di dato astratti: applicazione alle liste
Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione
DettagliLinguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi
Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori
DettagliInformatica per le discipline umanistiche 2 lezione 14
Informatica per le discipline umanistiche 2 lezione 14 Torniamo ai concetti base dellʼinformatica. Abbiamo sinora affrontato diversi problemi: avere unʼidentità online, cercare pagine Web, commentare il
DettagliI 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
DettagliCorso 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
DettagliSistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03
Sistemi di Elaborazione delle Informazioni Corso di Laurea per "Tecnico Ortopedico" a.a. 2002-03 03 Prof. Luigi Borrelli Facoltà di Medicina e Chirurgia Università degli Studi di Napoli - Federico II a.a.
DettagliIl software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi
Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi
DettagliSOFTWARE. È 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
DettagliInstallazione del JDK 6
Sommario Installazione del JDK 6 Anton Soppelsa Dipartimento di Ingegneria Elettrica http://www.die.unipd.it 15 Ottobre 2007 Sommario Sommario 1 Editor di testo Perché serve un editor di testo Editor per
Dettagli12 - 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,
DettagliEclipse. Avviare un progetto e compilare un semplice programma
Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice
DettagliFondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base
Fondamenti di Informatica Allievi Automatici A.A. 2014-15 Nozioni di Base Perché studiare informatica? Perché l informatica è uno dei maggiori settori industriali, e ha importanza strategica Perché, oltre
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliFONDAMENTI 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
DettagliLinguaggi 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
DettagliIl linguaggio di programmazione JAVA
Introduzione a JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliObject 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
DettagliCodifica: 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
DettagliLinguaggi 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
DettagliJava: Compilazione e Traduzione. Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA. C: Editing, compilazione, esecuzione
Fondamenti di Informatica L-B Esercitazione n 3 Introduzione a JAVA A.A. 2007/08 Tutor: Barbara Pettazzoni barbara.pettazzoni@studio.unibo.it Java: Compilazione e Traduzione Editing, compilazione, esecuzione
Dettagli3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di
DettagliAllegato 1 CIG 58703795FF PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO
PROCEDURA DI AFFIDAMENTO PER LA FORNITURA DI UNA PIATTAFORMA PER SERVICE MASHUP AND DELIVERY CAPITOLATO TECNICO SOMMARIO 1 Oggetto della Fornitura... 3 2 Composizione della Fornitura... 3 2.1 Piattaforma
DettagliProcesso 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
DettagliINFORMATICA 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
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliPiano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.
Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione Percorso Formativo C1 Modulo 2 Computer hardware 1 OBIETTIVI Identificare, descrivere, installare
DettagliScopo 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
DettagliINFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno
INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Introduzione alla Programmazione Bibliografia 14 apr 2010 Dia 2 Curtin, (vecchie
DettagliIntroduzione ad Eclipse
Introduzione ad Eclipse Corso di Metodi Avanzati di Programmazione 2014-2015 Docente: Dr. Annalisa Appice Tutor di Laboratorio: dott. Roberto Corizzo Ambiente Eclipse Sommario Java: ambiente Eclipse L
DettagliApproccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
DettagliLa prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD
La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e
DettagliSistemi Web! per il turismo! - lezione 3 -
Sistemi Web per il turismo - lezione 3 - I computer sono in grado di eseguire molte operazioni, e di risolvere un gran numero di problemi. E arrivato il momento di delineare esplicitamente il campo di
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliArchitetture software. Virtualizzazione
Sistemi Distribuiti Architetture software 1 Virtualizzazione 2 1 Virtualizzazione (motivazioni) Sullo stesso elaboratore possono essere eseguiti indipendentemente d t e simultaneamente t sistemi i operativi
DettagliIntroduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni
Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono
DettagliCosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento
Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa s'intende per Information Hiding? Impedire l'accesso a dettagli implementativi
DettagliElementi di UML (7): Diagrammi dei componenti e di deployment
Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio
DettagliStrumenti di modellazione. Gabriella Trucco
Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliProgrammi. 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
DettagliLinguaggi 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
DettagliArchitettura di un sistema operativo
Architettura di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Struttura di un S.O. Sistemi monolitici Sistemi a struttura semplice Sistemi a livelli Virtual Machine Sistemi
Dettaglicon ANTLR tesi di laurea Anno Accademico 2007-2008 Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr. 534001505
tesi di laurea con ANTLR Anno Accademico 2007-2008 Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr. 534001505 Obiettivo Analisi statica di codice sorgente, realizzato in javascript,
DettagliObiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A. 2008-2009. Facoltà di Ingegneria Sede di Latina
Università di Roma La Sapienza A.A. 2008-2009 Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria Informatica ed Ingegneria dell Informazione Corso di PROGETTAZIONE DEL SOFTWARE Esercitazione sulla
DettagliTecniche di progettazione e sviluppo di applicazioni mobile
Slide del corso FSE Tecniche di progettazione e sviluppo di applicazioni mobile svolto presso AREA Science Park Padriciano - Trieste - Italy diegozabot@yahoo.it Android Introduzione diegozabot@yahoo.it
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliProtezione. Protezione. Protezione. Obiettivi della protezione
Protezione Protezione La protezione riguarda i meccanismi per il controllo dell accesso alle risorse in un sistema di calcolo da parte degli utenti e dei processi. Meccanismi di imposizione fissati in
DettagliTITLE Sistemi Operativi 1
TITLE Sistemi Operativi 1 Cos'è un sistema operativo Definizione: Un sistema operativo è un programma che controlla l'esecuzione di programmi applicativi e agisce come interfaccia tra le applicazioni e
Dettagli