Introduzione alla programmazione MIDI

Slides:



Advertisements
Presentazioni simili
Programmazione in Java
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità A1 Introduzione a Java.
Recupero debito quarto anno Primo incontro
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Introduzione a JAVA Anno Accademico 2009/2010.
1 Corso di Informatica (Programmazione) Lezione 6 (31 ottobre 2008) Introduzione a Java: primo programma, installazione dellambiente di sviluppo, compilazione.
Introduzione al linguaggio Java
Programmazione in Java
Java Contardi Carlo A.S. 2008/09.
Fondamenti di informatica Oggetti e Java Luca Cabibbo Luca Cabibbo – Fondamenti di informatica: Oggetti e Java Copyright © 2004 – The McGraw-Hill Companies.
© Copyright NTT DATA Italia – All Rights Reserved The information contained in this document is the property of NTT DATA Italia S.p.A. and the addressee.
Programmazione Attività di progettazione ed implementazione di programmi I programmi permettono di realizzare funzioni complesse su un hardware in grado.
Il software Claudia Raibulet
Programmazione dei Calcolatori Elettronici
Programmazione orientata agli Oggetti Introduzione a Java.
Introduzione alle Classi e agli Oggetti in Java 1.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
Generazione di codice dinamico per la realizzazione di catene di servizi componibili Progetto di Reti di Calcolatori LS A.A. 2007/08 Studente: Silvia Cereda.
1 Alberto Pollastro, !#/bin/bash Novara, GalLUG - Gruppo Utenti Linux Galliate - #!/bin/bash Alberto Pollastro.
Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella.
INFORMATICA ALGORITMI, PROGRAMMI, E LINGUAGGI DI PROGRAMMAZIONE.
I linguaggi di programmazione Gruppo iOS 47: Colombini Christian Flora Jonathan Rossi Francesco.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Ereditarietà Uno dei principi della programmazione orientata agli oggetti (OOP) è il riuso Le classi dovrebbero essere progettate come componenti riutilizzabili.
Sistemi e Applicazioni per l’Amministrazione Digitale
Java World Introduzione.
Java: concetti e costrutti base
Introduzione al linguaggio C
Dal problema al processo risolutivo
Generazione di codice dinamico per la realizzazione di catene di servizi componibili Matteo Fazi – matr
Programmazione per la Musica | Adriano Baratè
Script Marco D. Santambrogio –
Dal problema al processo risolutivo
Unità didattica 1: Introduzione al linguaggio Java
Corso di Reti di Calcolatori Programmazione Java
Programmazione a oggetti
Programmazione ad Oggetti per la Fisica
Corso Java Introduzione.
istalliamo l’ambiente di sviluppo - ide
Controllo e microprogrammazione
Classe III A A.s – 2012 Programma di Informatica
Programmare.
Strutture di Controllo
Esercitazioni di C++ 31 dicembre 2018 Claudio Rocchini IGMI.
© 2007 SEI-Società Editrice Internazionale, Apogeo
© 2007 SEI-Società Editrice Internazionale, Apogeo
Definizione di linguaggio di programmazione
APPUNTI SUL LINGUAGGIO C
Programmazione e Laboratorio di Programmazione
Algoritmi e strutture dati APPUNTI SUL LINGUAGGIO C
Fondamenti di Informatica
La struttura dei primi programma in C
Programmazione e Laboratorio di Programmazione
Corso Java – Intoduzione
Java Introduzione.
Lezione Terza Primi passi di programmazione
UML Diagramma statico di una classe
Programmazione e Laboratorio di Programmazione
Scandire …...
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
Programmazione Procedurale
Transcript della presentazione:

Introduzione alla programmazione MIDI Lezione 18a Introduzione alla programmazione MIDI Programmazione MIDI (Prof. Luca A. Ludovico)

Obiettivi Illustrare la progettazione e l’implementazione di semplici software per la gestione del MIDI Consolidare l’apprendimento dei concetti relativi al MIDI tramite applicazioni pratiche Favorire lo sviluppo di capacità di risoluzione algoritmica dei problemi collegati al formato MIDI Approccio pratico con esercitazioni guidate, ripasso della sintassi e livelli di difficoltà incrementali Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Pre-requisiti Conoscenza degli operatori aritmetici, logici e di confronto Conoscenza dei costrutti standard (istruzioni condizionali, iterative, ecc.) Dimestichezza con il paradigma di programmazione a oggetti Capacità di risoluzione algoritmica dei problemi Contenuti della prima parte del corso Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Software richiesto Il software richiesto è disponibile sotto varie piattaforme, è gratuito e preinstallato nei laboratori Ambiente di esecuzione Java (JRE, Java Runtime Environment) Ambiente di sviluppo Java (JDK, Java Development Kit) Editor di codice con supporto a Java: Notepad++ [usato nel corso] Eclipse Crimson Editor … Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Script per la compilazione e il lancio in NotePad++ Installando il plug-in NPPExec, è possibile velocizzare la procedura di compilazione e lancio del bytecode tramite il seguente script: cd "$(CURRENT_DIRECTORY)" C:\Program Files\Java\jdk1.7.0_07\bin\javac.exe "$(FILE_NAME)" C:\Program Files\Java\jdk1.7.0_07\bin \java.exe "$(NAME_PART)" Lo script viene richiamato di default dalla pressione del tasto F6 In alternativa si richiamano i software da riga di comando Percorso variabile Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

JAVA Introduzione al linguaggio di programmazione Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Perché Java? E’ un linguaggio di programmazione moderno e ampiamente utilizzato E’ portabile e indipendente dalla piattaforma «write once, run everywhere» E’ interamente ad oggetti (OOP, Object-Oriented Programming) La sintassi di base (strutture di controllo, operatori, …) è pressoché identica a quella del C++ Contiene il package javax.sound.midi Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Bytecode e indipendenza dalla piattaforma Il bytecode è un linguaggio intermedio tra il linguaggio macchina e il linguaggio di programmazione, che riduce la dipendenza dall'hardware e facilita la creazione degli interpreti del linguaggio stesso In Java il bytecode viene prodotto dalla compilazione di codici sorgenti (o file sorgenti) scritti in linguaggio Java Principio di funzionamento: Codice sorgente compilazione bytecode virtual machine esecuzione Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Bytecode e indipendenza dalla piattaforma Un programma in bytecode è eseguito mediante un secondo programma che ne interpreta le istruzioni. Questo interprete è spesso indicato con l’espressione macchina virtuale. Questa astrazione consente di scrivere programmi portabili: progettati e implementati in modo tale da poter essere eseguiti su diversi tipi di sistemi operativi e di architetture hardware. E’ possibile produrre bytecode Java partendo da altri linguaggi come Scala, Clojure o Groovy. Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Vantaggi sui linguaggi interpretati L’indipendenza dalla piattaforma caratterizza anche i linguaggi interpretati Però un interprete di bytecode risulta molto più veloce di un interprete di un linguaggio di programmazione ad alto livello: è un linguaggio con poche e semplici istruzioni è più vicino al modo di funzionamento dell'hardware (processore e memoria) del computer Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Esempi Codice sorgente Compilazione Esecuzione Interpretazione e compilazione JIT Esecuzione Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Java Virtual Machine La macchina virtuale Java, detta anche Java Virtual Machine o JVM, è il componente della piattaforma Java che esegue i programmi tradotti in bytecode dopo una prima compilazione. Attualmente incorpora un compilatore JIT che produce codice macchina Esistono implementazioni software per tutti i sistemi operativi moderni e implementazioni speciali per particolari ambienti hardware/software come telefoni cellulari ed elettrodomestici Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

JAVA Primi esempi di programmi Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Un primo programma in Java Un programma minimale in Java deve obbligatoriamente contenere: la definizione di classe tramite la parola chiave class seguita da nomeClasse il metodo main o metodo principale, che costituisce l’entry point del programma Nel metodo main vengono definite variabili globali, istanziati oggetti e richiamati metodi statici su variabili e/o metodi dinamici sugli oggetti Per la spiegazione degli oggetti e dei metodi dinamici si rimanda alla lezione 19 sulla programmazione a oggetti Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Hello World Sorgente di un programma minimale che stampa il testo "Hello world" sulla console. opzionale public class HelloWorld { public static void main(String[] args) System.out.println("Hello World"); } Stesso nome del file .java? Non necessariamente, però il file .class compilato prenderà questo nome Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Gli argomenti di main Molti elementi sintattici introdotti nell’esempio precedente non sono comprensibili allo stato attuale della trattazione Ad esempio, la funzione main prende in ingresso un numero variabile di argomenti, che è possibile passare al lancio del programma come stringhe di testo separate da spazi (gli spazi delimitano gli argomenti) Tecnicamente, String[] args indica un array di elementi di classe String chiamato args e dimensionato quando viene lanciato il programma Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI

Gli argomenti di main public class HelloWorldArg { public static void main(String[] args){ if (args.length == 0) System.out.println("Pochi arg"); else if (args.length > 1) System.out.println("Troppi arg"); else System.out.println(args[0]); } Programmazione MIDI (Prof. Luca A. Ludovico) 18a. Introduzione alla programmazione MIDI