Linguaggi 2 e laboratorio
|
|
|
- Marino Mari
- 10 anni fa
- Visualizzazioni
Transcript
1 Linguaggi 2 e laboratorio Docente: Leonardo Badia Contatti: [email protected] Pagina web del corso: insegnamenti/linguaggi-2-laboratorio
2 Argomenti del corso: Java Java è un linguaggio di programmazione a oggetti, di grande diffusione e versatilità Consente di realizzare interfacce grafiche e applicazioni multimediali per i browser web. Viene supportato da tutte le piattaforme, grazie alla presenza della macchina virtuale Java (Java Virtual Machine), ed è quindi estremamente portabile.
3
4 Materiale didattico R. Bruni, A. Corradini, V. Gervasi, Programmazione in Java, ed. Apogeo, 2009 K. Arnold, J. Gosling, D. Holmes, JAVA. Manuale ufficiale, Addison-Wesley, C.S. Horstmann, Concetti di informatica e fondamenti di Java 2, Apogeo, J. Cohoon, J. Davidson, Java guida alla programmazione, McGraw-Hill, G. Pizzighini, M. Ferrari, Dai fondamenti agli oggetti corso di programmazione JAVA, Addison-Wesley, L. Cabibbo, Fondamenti di informatica, oggetti e Java, McGraw-Hill, 2004.
5 Modalità d esame L esame standard comprende 3 fasi, da sostenersi in questo preciso ordine: Compito scritto (sostenibile anche suddiviso in due parti c.d. compitini ) Progetto di programmazione (da svolgere in proprio, tipicamente in gruppi, e che viene discusso all inizio dell esame orale) Esame orale vero e proprio
6 Java Java è un linguaggio di programmazione sviluppato da Sun Microsystems nel Nel gennaio 2010, Sun è stata rilevata, e con essa Java, da Oracle, diventando Oracle America, Inc. È un linguaggio imperativo di tipo strutturato e orientato agli oggetti. Deriva molta della sua sintassi da C e C++, pur essendo più semplice. Funziona su piattaforme molto differenti tra loro, secondo il motto write once, run anywhere (WORA): scrivi una volta, esegui ovunque.
7 Proprietà di Java Rispetto ad altri linguaggi orientati agli oggetti, Java possiede i seguenti vantaggi: i programmi sono più facili da leggere il codice è più portabile (WORA) il codice è robusto e con meno errori esistono ampie collezioni di librerie (chiamate package) che forniscono svariate funzionalità Tutto questo rende Java estremamente potente nonostante la sua relativa semplicità
8 Programmazione a oggetti Programmare serve generalmente a risolvere un problema o far eseguire un compito al calcolatore. Fasi della programmazione: Analisi del problema e sua comprensione Sviluppo di un algoritmo per risolverlo Traduzione dell algoritmo in un programma scritto mediante un opportuno linguaggio
9 Programmazione a oggetti In un linguaggio orientato agli oggetti come Java, la programmazione consiste nel definire oggetti che interagiscono tra di loro. Questo è opposto a quanto accade nei linguaggi di tipo procedurale dove ci si focalizza sulla definizione di procedure (routine) che si invocano a vicenda.
10 Programmazione a oggetti In Java implementare un algoritmo risolutivo corrisponde alla definizione di una o più tipologie di oggetti che interagiscono tra loro. Progettare gli oggetti, anziché elencare le procedure da compiere. Un progetto di tipologia di oggetto è detto classe. Programmare in Java significa quindi definire una o più classi.
11 Programmazione a oggetti La programmazione Java si sviluppa in: EDITING del programma, tipicamente partendo da più file, ciascuno contenente la descrizione di una classe. ciò favorisce la portabilità (in senso WORA). COMPILAZIONE del programma che ne consente l ESECUZIONE da parte del calcolatore
12 Editing L editing è la produzione del programma (una o più classi) secondo la sintassi del linguaggio ottenuta anche con un semplice editor di testo. Esistono tuttavia ambienti di sviluppo dove i successivi passaggi (compilazione, esecuzione) avvengono in modo integrato Tuttavia tale programma non è direttamente eseguibile dall elaboratore. Questo avviene poiché il linguaggio astrae dalla piattaforma.
13 Compilazione La compilazione traduce il codice del programma dal linguaggio di programmazione al linguaggio macchina della piattaforma. Il codice originario (sorgente) è scritto in maniera comprensibile per gli utenti umani, il codice compilato (eseguibile) è invece utilizzabile dall elaboratore, e può riferire aspetti specifici della piattaforma sconosciuti o troppo complessi per l utente umano.
14 Compilazione utente Linguaggio di alto livello compilazione Linguaggio macchina (assembler) computer parte specifica della piattaforma La parte portabile della programmazione è quella precedente alla compilazione.
15 Compilazione Windows utente Linguaggio di alto livello compilatore per Linux Linux Mac
16 Java Virtual Machine Questo meccanismo di compilazione consente di ottenere un codice sorgente portabile; tuttavia, il codice compilato non lo è (dipende dalla piattaforma). Per essere interamente WORA, Java utilizza un approccio di compilazione misto, con un ulteriore livello di processazione del codice. Tale livello, detto di INTERPRETAZIONE, ha lo scopo di rendere la compilazione indipendente dalla piattaforma.
17 Java Virtual Machine In generale Editing Compilazione Esecuzione Per Java Editing Compilazione Interpretazione Esecuzione
18 Java Virtual Machine Il fatto che il codice compilato (e il compilatore stesso) siano dipendenti dalla piattaforma impedisce la portabilità del programma compilato su ogni macchina. Ciò contrasta con l obiettivo primario di Java, e giustifica la necessità di inserire un ulteriore livello nel processo di traduzione del codice.
19 Java Virtual Machine Nella fase intermedia (tra compilazione e interpretazione) si avrà un formato diverso sia da Java che dall assembler, detto bytecode. Quindi: il sorgente viene compilato ottenendo il bytecode il programma espresso come bytecode può essere eseguito da un opportuno interprete chiamato Java Virtual Machine (JVM)
20 Java Virtual Machine utente Linguaggio di alto livello compilazione Linguaggio macchina (assembler) computer parte specifica della piattaforma utente Java compilazione bytecode Linguaggio macchina (assembler) computer parte specifica della piattaforma
21 Java Virtual Machine Una JVM è un interprete in grado di tradurre il bytecode, e quindi eseguire i programmi Java. Questi possono essere di tipo applicazione: intesi come programma a sé stante applet: se vanno eseguiti dalla JVM di un browser all interno di una pagina web servet: se vanno eseguiti dalla JVM di un server web così da generare pagine dinamiche Applicazioni, applet, servlet differiscono per aspetti di sintassi e di ambiente d esecuzione.
22 Java Virtual Machine La JVM è a sua volta un programma scritto in un linguaggio dipendente dalla piattaforma. Quindi il codice compilato è sì portabile, ma a patto che sulle diverse piattaforme sia installata una JVM. Tuttavia, questo garantisce di non dover ricompilare il codice per ogni piattaforma.
23 Java Virtual Machine Vantaggi dell approccio Java il bytecode non è l assembler, ma un linguaggio più espressivo (di più alto livello) e indipendente dalla piattaforma; un programma in formato bytecode può essere eseguito su ogni JVM Java consente di astrarre dalle caratteristiche della piattaforma ed elimina i costrutti dipendenti (formati numerici, stringhe sono sempre uguali) è la JVM a fare il lavoro di traduzione adattandosi alle caratteristiche della piattaforma
24 Applet Gran parte del successo di Java deriva anche dall utilizzo che ne viene fatto sul web, in particolare per la creazione di interfacce grafiche (Graphic User Interface, GUI). Praticamente ogni browser contiene una JVM in grado di eseguire applet Java contenute (sottoforma di bytecode) in pagine remote. Dato che quello che serve per l esecuzione è il bytecode, non c è bisogno di adattare il programma alla piattaforma che lo eseguirà.
25 Gestione della memoria Java semplifica la gestione della memoria con un meccanismo detto garbage collector. Molti linguaggi richiedono allocazioni e deallocazioni esplicite di memoria (malloc, free). Java invece alloca memoria al bisogno (al primo riferimento di un oggetto). Il garbage collector tiene traccia dei riferimenti agli oggetti, liberando la memoria di quelli che non sono più referenziati.
26 Multi-thread Java è un linguaggio multi-threaded. In altri termini, può sfruttare logiche concorrenti. Questo significa che parti diverse del programma possono essere eseguite come se (dal punto di vista di un utente/programmatore umano) fossero processate in parallelo.
27 Ambiente di sviluppo Inizialmente Java Development Kit (JDK): ambiente di sviluppo contenente gli strumenti necessari alla compilazione ed esecuzione, in particolare la JVM. Disponibile per diverse piattaforme hardware/software, rilasciato in maniera aderente allo standard de facto. Sun adotta una filosofia free software (sia nel senso di gratuito, sia nel senso di open source secondo licenza GNU).
28 Ambiente di sviluppo Con le versioni successive, è stata sviluppata una piattaforma più avanzata: Java 2. Java 2 è completamente retro-compatibile ma offre migliori prestazioni di stabilità e gestione della memoria. Inoltre fornisce diverse varianti al JDK, estendendolo a un più generale Software Development Kit (SDK).
29 Ambiente di sviluppo Sun distingue tra SDK/JDK e Java Runtime Environment (JRE). JRE è un sottoinsieme del JDK che serve solo ad eseguire, ma non a sviluppare. È quindi privo del compilatore, di alcuni software di utilità, e della documentazione. Per eseguire applicazioni Java è sufficiente JRE.
30 Ambiente di sviluppo Il JDK viene fornito inoltre in 3 versioni, leggermente dipendenti dalla piattaforma: Java EE (Enterprise Edition) per applicazioni di tipo industriale; Java SE (Standard Edition), versione standard; Java ME (Mobile Edition), con caratteristiche molto ridotte, orientata a dispositivi portatili (per esempio, cellulari o palmari).
31 API Una Application Programming Interface (API) è un software che serve a interfacciare un programma con altro software. Svolge cioè la stessa funzione di un interfaccia utente, solo che l utente in questo caso è un altro programma. In particolare le tre versioni del JDK di Java sono distinte per quanto riguarda il set delle API che viene fornito.
32 API In Java, vengono infatti fornite diverse API con funzioni di libreria. Esse sono già compilate sotto forma di bytecode. Il programmatore che volesse utilizzarle deve specificare quali vuole inserire nel suo programma. Il programma compilato contiene solo il bytecode relativo al sorgente scritto dal programmatore, non quello delle API.
33 API Le API fornite con il JDK contemplano molte funzioni di uso comune: fare riferimento alla documentazione fornita. Le classi di un programma possono quindi essere: Classi di libreria già fornite dal JDK (API) Classi scritte dal programmatore in precedenza che vengono riusate Classi nuove scritte all occorrenza.
34 Dynamic loading and linking Java memorizza ogni classe in un singolo file. All atto dell esecuzione, le classi vengono caricate in memoria. Java supporta la metodologia di dynamic loading and linking, che significa che le classi vengono caricate in memoria solo quando necessarie. In questo modo, ad esempio, solo le API di libreria usate vengono caricate in memoria.
35 Caratteristiche base Java è case-sensitive, come il C. Distingue quindi tra maiuscole e minuscole. ovvero: prova, Prova, PROVA sono tre identificativi differenti. Java inoltre non distingue intrinsecamente spazi e interruzioni di linea. Quindi è possibile un po di libertà (nei limiti del buon gusto per la leggibilità) nell organizzare i programmi.
36 Installazione di Java I file sono reperibili sul web navigando sul sito: che ha rimpiazzato (l ancora funzionante) java.sun.com La versione più recente da installare del JDK (ad oggi) è la release 1.6 update 23. Supponiamo di scaricarla e scompattarne i file di installazione sotto il path C:\Program Files\Java
37 Direttorio di Java C:\ Program Files Java jdk1.6.0_23 bin demo include lib jre README, etc. Ci interessa in particolare la sottodirectory bin, comprendente, tra l altro, il compilatore javac, la JVM java e le API.
38 Programmazione La fase di EDITING richiede un qualsiasi editor. È consigliabile usare un ambiente integrato (Integrated Development Environment, IDE), ad es.: eclipse La fase di COMPILAZIONE richiede di utilizzare il compilatore javac. La fase di INTERPRETAZIONE ed ESECUZIONE usa direttamente la JVM java.
39 Editing Ci sono diversi editor integrati, molti di questi supportano lo sviluppo mediante progetti. Un progetto è un insieme di file (corrispondente quindi a un insieme di classi) pensati per interagire. Uno di essi contiene il punto di partenza main. Risulta possibile quindi operare su un progetto ed eseguirlo tutto direttamente dall IDE.
40 Editing Nella produzione del file di testo contenente il progetto di una classe andrà usata l estensione.java. È buona norma di programmazione chiamare il file con lo stesso nome della classe contenuta in esso. Quindi, un file = una classe, e i nomi coincidono.
41 Compilatore javac funziona con un argomento da linea di comando dato dal nome che si vuole compilare, che deve avere l estensione.java Ad esempio javac Prova.java produce la compilazione del file Prova.java (che contiene la descrizione della classe Prova). Questa compilazione può essere svolta a riga di comando o da IDE.
42 Compilatore Al compilatore possono essere passati inoltre diversi parametri, tra cui: -o (javac -o Prova.java) attiva l ottimizzazione del codice prodotto -g (javac -g Prova.java) attiva il supporto debug -classpath path specifica il percorso dove cercare le funzioni di libreria; può anche essere specificato tramite la variabile di ambiente CLASSPATH
43 Compilatore Se quindi si vuole dire al compilatore che il path di riferimento per le librerie è <PATH1>, si può tanto usare: javac classpath <PATH1> Prova.java quanto: set CLASSPATH = <PATH1> javac Prova.java
44 Esecuzione Il compilatore produce in output un file con lo stesso nome e l estensione.class, nell esempio è Prova.class Solitamente, file sorgente e bytecode sono tenuti nella stessa cartella Questo file è scritto in bytecode e può essere eseguito dalla JVM, invocando (senza indicare l estensione.class): java Prova
45 Package Prima di scrivere una classe da zero, conviene vedere se non esiste già una classe di libreria che fa allo scopo. Java considera già aggiunto ad ogni programma il package java.lang, che è già fornito con l ambiente di sviluppo. In particolare, questo package contiene la classe System, che contiene le funzioni più comuni di I/O (scrittura a video, input, etc.)
46 Caricamento delle classi Se in un programma Java vogliamo utilizzare una classe che non appartiene al package java.lang, dobbiamo dirlo esplicitamente al compilatore, usando la direttiva import <nomedellaclasse>; dove <nomedellaclasse> comprende anche il percorso della directory di appartenenza. Anche qui, o usiamo percorsi assoluti, o ci riferiamo a CLASSPATH.
47 Caricamento delle classi Nell importare una classe di un altro package va usato il carattere. (punto) come separatore: import prog.test.daimportare significa che si vuole importare la classe (da percorso relativo): prog/test/daimportare.class Ai percorsi assoluti di CLASSPATH il programmatore può aggiungere le sue directory di utilità con le sue funzioni di libreria.
48 Caricamento delle classi La JVM carica quindi nell ordine: le classi di base le classi di libreria che si desidera importare le classi definite dal programmatore La variabile di ambiente CLASSPATH deve quindi essere letta: in fase di compilazione, per poter compilare le classi definite dal programmatore in fase di esecuzione, per importare corretamente
Strumenti 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
Panoramica: 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
Ambienti 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
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
Corso 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
Corso 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
Tale 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
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Conclusioni Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima
Tutorial 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 [email protected] La piattaforma Java mette a disposizione una serie
Programmare 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
Fondamenti 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
Le command line di Java
Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli [email protected] Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,
Installazione 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
Informatica. 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
Programmazione 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
Programmazione 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: [email protected] Tutor:??? Informazioni generali
Introduzione 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
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli
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
Approccio stratificato
Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia
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
Java: 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
Installazione del Software. per lo Sviluppo di Applicazioni Java
Installazione del Software per lo Sviluppo di Applicazioni Java Ing. Luca Ferrari [email protected] Tel. 0592056142 Installazione del Software per lo Sviluppo di Applicazioni Java 1 Il Compilatore
Scrivere 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 [email protected] http://www.dii.unisi.it/~rigutini/
Corso di PHP. Prerequisiti. 1 - Introduzione
Corso di PHP 1 - Introduzione 1 Prerequisiti Conoscenza HTML Principi di programmazione web Saper progettare un algoritmo Saper usare un sistema operativo Compilazione, link, esecuzione di programmi Conoscere
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
Architetture Applicative
Alessandro Martinelli [email protected] 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture
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
Prova 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
Dispensa 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.
Il web server Apache Lezione n. 3. Introduzione
Procurarsi ed installare il web server Apache Introduzione In questa lezione cominciamo a fare un po di pratica facendo una serie di operazioni preliminari, necessarie per iniziare a lavorare. In particolar
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
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
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
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Il Software. Il software del PC. Il BIOS
Il Software Il software del PC Il computer ha grandi potenzialità ma non può funzionare senza il software. Il software essenziale per fare funzionare il PC può essere diviso nelle seguenti componenti:
Ingegneria del Software 1: Eclipse
Ingegneria del Software 1: Eclipse Da completare entro Aprile 21, 2015 Srđan Krstić and Marco Scavuzzo 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK).......................................... 3 1.2
Corso 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
Telematica II 17. Esercitazione/Laboratorio 6
Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che
Database. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
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
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
La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)
La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema
Progettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli [email protected] 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
Il 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
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
Introduzione al linguaggio Java
Introduzione al linguaggio Java Alessandro Martinelli [email protected] 28 Settembre 2011 Introduzione al linguaggio Java Generalità del Linguaggio Java e Portabilità Java e Robustezza Java
Fondamenti di Informatica T1 Guida all uso di JDK e Eclipse
Fondamenti di Informatica T1 Guida all uso di JDK e Eclipse Tutor Melissa Licciardello [email protected] Melissa Licciardello Fondamenti di Informatica T1 1 / 27 Perchè venire in LAB? Dalla
Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base
Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore
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
Il 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
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
Appunti di Informatica www.mimmocorrado.it 1
Installare Java Il programma può essere scaricato dal seguente indirizzo: http://www.java.com/it/download/windows_ie.jsp?locale=it&host=www.java.com Per installare la JDK è necessario: 1. scaricare il
connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI
Documenti su Internet LINGUAGGI DI MARKUP Internet permette (tra l altro) di accedere a documenti remoti In generale, i documenti acceduti via Internet sono multimediali, cioè che possono essere riprodotti
Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL
STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione
Istruzioni per l installazione
MQSeries Everyplace Istruzioni per l installazione GC13-2909-00 MQSeries Everyplace Istruzioni per l installazione GC13-2909-00 Prima edizione (giugno 2000) Questa edizione si riferisce a MQSeries Everyplace
Introduzione alla Progettazione per Componenti
Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica
Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)
Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può
Sistemi 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
MECCANISMI 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
Java? 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
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
Il 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
Sistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
Guida 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
Il database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
Software 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
MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
PROTOTIPAZIONE 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
2 - 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
EXPLOit Content Management Data Base per documenti SGML/XML
EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per
RMI Remote Method Invocation
RMI Remote Method Invocation [Pagina intenzionalmente vuota] (1 12 2004) slide 4:1/18 (p.106) Un applicazione RMI è un applicazione distribuita ad oggetti. Applicazione RMI tipica, strutturata in: server:
Corso 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
Generazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
Introduzione 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
Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)
Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014) Il software per gli esami ICON può essere eseguito su qualunque computer dotato di Java Virtual Machine aggiornata.
Tecniche 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 [email protected] Android Introduzione [email protected]
Software di base. Corso di Fondamenti di Informatica
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti
Introduzione alla Virtualizzazione
Introduzione alla Virtualizzazione Dott. Luca Tasquier E-mail: [email protected] Virtualizzazione - 1 La virtualizzazione è una tecnologia software che sta cambiando il metodo d utilizzo delle risorse
Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo
Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al
Gestione della memoria centrale
Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti
4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0
Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice
Sistemi Operativi. 5 Gestione della memoria
Gestione della memoria Compiti del gestore della memoria: Tenere traccia di quali parti della memoria sono libere e quali occupate. Allocare memoria ai processi che ne hanno bisogno. Deallocare la memoria
LA SOLUZIONE. EVOLUTION, con la E LA TECNOLOGIA TRASPARENTE IL SOFTWARE INVISIBILE INVISIBILE ANCHE NEL PREZZO R.O.I. IMMEDIATO OFFERTA IN PROVA
LE NUOVE ESIGENZE PROLIFERAZIONE DI DOCUMENTI ELETTRONICI / PRATICHE / FASCICOLI ELETTR. DAL WEB DOCUMENTI ATTIVI DOCUMENTI PASSIVI DOCUMENTI OFFICE,FAX,E-MAIL DOCUMENTI PESANTI PROCESSI PESANTI LE NUOVE
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.
Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell
E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools
Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati
Il 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,
Struttura di un programma Java
Struttura di un programma Java Un programma in Java è un insieme di dichiarazioni di classi. Una classe non può contenere direttamente delle istruzioni, ma può contenere la dichiarazione di metodi, che
Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate
MODULO BASE Quanto segue deve essere rispettato se si vuole che le immagini presentate nei vari moduli corrispondano, con buona probabilità, a quanto apparirà nello schermo del proprio computer nel momento
sito 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
Un primo programma Java. Introduzione alla programmazione in Java. Programmi e mondo reale. Programmare ad oggetti. I programmi come modelli
4 Un primo programma Java Introduzione alla programmazione in Java class Program1 { System.out.println("Benvenuti al corso"); 1 5 Programmi e mondo reale Programmare ad oggetti Il codice di un programma
Software. Definizione, tipologie, progettazione
Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti
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
RISOLUTORE AUTOMATICO PER SUDOKU
RISOLUTORE AUTOMATICO PER SUDOKU Progetto Prolog - Pierluigi Tresoldi 609618 INDICE 1.STORIA DEL SUDOKU 2.REGOLE DEL GIOCO 3.PROGRAMMAZIONE CON VINCOLI 4.COMANDI DEL PROGRAMMA 5.ESEMPI 1. STORIA DEL SUDOKU
Protezione. 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
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
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
Introduzione alla programmazione in Java
Introduzione alla programmazione in Java 1 Programmare ad oggetti La programmazione come attività di creazione di modelli. I concetti di classe, oggetto e scambio di messaggi. Un primo esempio di programma
Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.
Macchine virtuali Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia (www.wikipedia.com) e da un tutorial di Pierlauro Sciarelli su comefare.com 1. Cosa sono In informatica il termine
