Programmazione Java (Applicazioni e Applet )

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione Java (Applicazioni e Applet )"

Transcript

1 Programmazione Java (Applicazioni e Applet ) Prof. Flavio Cerini Dopo aver installato il JDK 1.4.1_01 e inserito il percorso della cartella \bin nel PATH si possono provare i seguenti programmi funzionanti. Creare una cartella di nome java. All interno della cartella scrivere con un editor ( Notepad opp Editplus) i programmi sottoelencati ( file.java) Dal prompt del DOS si compila il file java. es C:\java> javac file.java ; si ottiene così un bytecode (file.class) Dal prompt del DOS si interpreta il file.class; es. C:\java\java file.class Il nome del file deve essere uguale a quello della classe 1) public class CiaoMondo public static void main(string[] args) System.out.println("Ciao Mondo!!!"); 2) class primo public static void main(string[] args) System.out.println("Ciao come va il primo programma Java?"); 3) Applet import java.applet.*; public class appletciao extends Applet public void paint(graphics g) g.drawstring("ciao da Applet!!!",20,20); <TITLE> Pagina con Applet Ciao</TITLE>!--Invece di APPLET si può usare OBJECT e si possono evitare le virgolette -- <APPLET CODE ="appletciao.class" WIDTH = 200 HEIGHT = 100!--CODEBASE = "http://nome_server/cartella_contenente_applet" -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto--!--ovviamente la Cartella_Contenente_Applet deve essere nella cartella del Server es. Htdocs -- Autore Flavio Cerini 1

2 4) //importo la classe Graphics import java.awt.graphics; public class linea extends java.applet.applet public void paint(graphics g) //disegno la linea g.drawline(60,100,130,200); <TITLE> Pagina con Applet Linea</TITLE> <APPLET CODE ="linea.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = "http://nome_server/cartella_contenente_applet" -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- 5) import java.awt.graphics; public class triangolo extends java.applet.applet public void paint(graphics g) //disegno la linea g.drawline(60,100,130,200); g.drawline(130,200,200,100); g.drawline(200,100,60,100); <TITLE> Pagina con Applet Triangolo </TITLE> <APPLET CODE ="triangolo.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = "http://nome_server/cartella_contenente_applet" -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- Autore Flavio Cerini 2

3 6) import java.awt.graphics; public class rettangoli extends java.applet.applet public void paint(graphics g) g.drawrect(30,30,80,80); g.fillrect(140,30,80,80); g.drawroundrect(30,140,80,80,10,10); g.fillroundrect(140,140,80,80,30,30); <TITLE> Pagina con Applet Rettangoli </TITLE> <APPLET CODE ="rettangoli.class" WIDTH = 300 HEIGHT = 300!--CODEBASE = "http://nome_server/cartella_contenente_applet" -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- 7) //importo la classe Graphics public class font extends java.applet.applet public void paint(graphics g) Font f=new Font("TimesRoman",Font.BOLD,26); g.setfont(f); g.drawstring("ecco la mia stringa",100,100); <TITLE> Font </TITLE> <APPLET CODE ="font.class" WIDTH = 400 HEIGHT = 200!--CODEBASE = "http://nome_server/cartella_contenente_applet" -- >!--Aggiungere quanto commentato nella riga precedente nel caso l'applet sia su di un Server remoto-- Autore Flavio Cerini 3

4 8) public class colore extends java.applet.applet public void paint(graphics g) setbackground(new Color(150,150,140)); //g.setcolor(color.white); //g.drawstring("scritta in bianco su sfondo grigio",60,60); g.setcolor(color.yellow); g.drawstring("scritta in giallo su sfondo grigio",60,60) <TITLE> COLORE </TITLE> <APPLET CODE ="colore.class" WIDTH = 300 HEIGHT = 200> 9) import java.applet.*; public class bottone extends Applet // creo il bottone con la sua etichetta Button b=new Button("Il mio primo bottone"); public void init() //aggiuno al pannello il bottone prima creato add(b); <TITLE> BOTTONE </TITLE> <APPLET CODE ="bottone.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 4

5 10) import java.applet.*; public class textfield extends Applet // creo un campo di testo di lunghezza 40 caratteri TextField t = new TextField("Inizializzazione",40); String s = new String(); public void init() //aggiuno il TextField al pannello dell'applet add(t); <TITLE> Applet Textfield </TITLE> <APPLET CODE ="textfield.class" WIDTH = 400 HEIGHT = 200> 11) import java.applet.*; public class textarea extends Applet // creo una Textarea di 4 righe e 20 colonne TextArea prima = new TextArea("Contenuto dell'area 1",4, 20); // creo una Textarea di 5 righe e 30 colonne TextArea seconda = new TextArea("Contenuto dell'area 2",5, 30); String s = new String(); public void init() //le aggiungo al pannello dell'applet add(prima); add(seconda); Autore Flavio Cerini 5

6 <TITLE> Applet TextArea </TITLE> <APPLET CODE ="textarea.class" WIDTH = 400 HEIGHT = 200> 12) import java.applet.*; public class checkbox extends Applet Label l = new Label("Che lingue conosci?"); Checkbox c1 = new Checkbox("Inglese"); Checkbox c2 = new Checkbox("Francese"); Checkbox c3 = new Checkbox("Tedesco"); public void init() //aggiuno al pannello dell'applet add(l); add(c1); add(c2); add(c3); <TITLE> Applet Checkbox</TITLE> <APPLET CODE ="checkbox.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 6

7 13) import java.applet.*; public class liste_sc extends Applet String[] sport = "Calcio", "Ginnastica", "Corsa", "Tennis","Nuoto","Basket","Pallavolo","Sci"; String[] preferiti = "Sport", "Documentari", "Serial", "Musica", "Informazione","Varietà", "Film"; // Visualizza quattro voci, permette la selezione multipla List l = new List(4, true); Choice c = new Choice(); Label l1= new Label("Che sport pratichi?"); Label l2= new Label("Che programmi TV preferisci?"); public void init() //Inserisco le voci nel componente List for (int i = 0; i<8; i++) l.additem(sport[i]); //Inserisco le voci del componente Choice for (int i=0 ;i<7 ;i++ ) c.additem(preferiti[i]); add(l1); add(l); add(l2); add(c); <TITLE> Applet Liste a scorrimento</title> <APPLET CODE ="liste_sc.class" WIDTH = 400 HEIGHT = 200> Autore Flavio Cerini 7

8 14) //importo la classe Graphics import java.applet.*; public class bottoni extends Applet public void init() int i=0; // decido il tipo di Layout setlayout(new BorderLayout()); //Uso le costanti North, South, East e West per sistemare i bottoni add("north", new Button ("Bottone num. "+i++)); add("south", new Button ("Bottone num. "+i++)); add("east", new Button ("Bottone num. "+i++)); add("west", new Button ("Bottone num. "+i++)); add("center", new Button ("Bottone num. "+i++)); <TITLE> Applet Bottoni</TITLE> <APPLET CODE ="bottoni.class" WIDTH = 400 HEIGHT = import java.applet.*; public class bottoni extends Applet public void init() int i=0; // decido il tipo di Layout setlayout(new FlowLayout()); //Uso le costanti North, South, East e West per sistemare i bottoni add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); add(new Button ("Bottone num. "+i++)); Autore Flavio Cerini 8

9 <TITLE> Applet Bottoni</TITLE> <APPLET CODE ="bottoni.class" WIDTH = 400 HEIGHT = 200> 16) Programma che legge un file ( sorgente.txt) e lo copia in un altro file ( destinazione.txt ) import java.io.*; public class readfile public static void main(string[] args) throws IOException File input = new File("sorgente.txt"); File output = new File("destinazione.txt"); //apre stream di input e di output FileReader in = new FileReader(input); //stream in input FileWriter out = new FileWriter(output); //stream di output int carattere; //legge il carattere uno alla volta e lo scrive sull'altro stream while ((carattere = in.read())!= -1) out.write(carattere); in.close(); out.close(); 17) import java.io.*; public class streamfile public static void main(string[] args) throws IOException File input = new File("sorgente.txt"); File output = new File("destinazione.txt"); //apre stream di input e di output FileInputStream in = new FileInputStream(input); //stream in input FileOutputStream out = new FileOutputStream(output); //stream di output int carattere; //legge il carattere uno alla volta e lo scrive sull'altro stream while ((carattere = in.read())!= -1) out.write(carattere); in.close(); out.close(); Autore Flavio Cerini 9

10 18) Programma che legge da tastiera e scrive sul monitor import java.io.*; public class read_tast public static void main(string[] arg) throws Exception InputStreamReader Ireader; BufferedReader buffer; String inputline; Ireader=new InputStreamReader(System.in); buffer =new BufferedReader(Ireader); inputline=buffer.readline(); System.out.println(inputLine); 19) Programma che visualizza il risultato di vari operatori class operatori public static void main(string[ ] args) int y = 16; int Y = 8; float a = 4.3f; float c = 1.5f; short x = 12; System.out.println("x=" + x +", y=" + y); System.out.println("x+y=" + (x +y)); System.out.println("x-y=" + (x -y)); System.out.println("x/y=" + (x/y)); System.out.println("x%y=" + (x%y)); System.out.println("a=" + a +", c=" + c); System.out.println("valore di a/c=" + (a/c)); System.out.println("y =" + y +", Y =" + Y); System.out.println("La condizione y>y risulta =" + (y>y)); Autore Flavio Cerini 10

11 20) Programma che mette in evidenza le caratteristiche OOP del linguaggio Java class valore private int varist=0; valore() System.out.println("Sono nel costruttore della classe valore"); public void incrementa() varist++; public void stampa() System.out.println("Il valore della variabile di istanza: " +varist); public class test public static void main(string[ ] args) valore miooggetto=new valore(); miooggetto.incrementa(); miooggetto.stampa(); miooggetto.incrementa(); miooggetto.stampa(); 21) public class sommatoria private int somma=0; sommatoria aggiungi(int elemento) somma+=elemento; return this; void stampa() System.out.println(this.somma); public static void main(string[] args) sommatoria s = new sommatoria(); s.aggiungi(2).aggiungi(6).aggiungi(4).stampa(); Autore Flavio Cerini 11

12 22) Programma Java ad oggetti. Viene definita una classe Automobile e due sottoclassi: Utilitaria e AutoDaCorsa /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi. Si può notare che il metodo setvelocità è invocabile dagli oggetti ferrari e cinquecento ovviamente con valori distinti. Il metodo temperaturaalta delle due classi (utilitaria e autodacorsa) deve essere diverso. Per ottenere il diverso comportamento è stato riscritto il metodo nella definizione delle due sottoclassi. La Segnatura del metodo ( tipo di ritorno e la lista dei parametri compreso tipo e ordine ) è rimasta inalterata, è variato solo il comportamento. La tecnica che consente di modificare il comportamento di un metodo rispetto alla classe base si chiama OVERRIDING ed è uno dei meccanismi più potenti della programmazione ad oggetti (OOP). Diverso è il concetto per il metodo gettenutastrada che viene chiamato anche con diversi parametri. La riscrittura di un metodo della classe base in una clase derivata modificando la segnatura del metodo stesso si chiama OVERLOADING.*/ class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); Autore Flavio Cerini 12

13 class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class auto // classe auto che contiene il metodo main public static void main(string[ ] args) autodacorsa ferrari= new autodacorsa(); utilitaria cinquecento = new utilitaria(); ferrari.setvelocita(200); cinquecento.setvelocita(100); ferrari.gettenutastrada(); cinquecento.gettenutastrada(1); ferrari.getvelocita(); cinquecento.getvelocita(); ferrari.temperaturaalta(123); cinquecento.temperaturaalta(119); 23) Stesso programma precedente con evidenziata caratteristica del Polimorfismo /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi.*/ Autore Flavio Cerini 13

14 class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); Autore Flavio Cerini 14

15 void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class auto_pol // classe auto che contiene il metodo main public static void main(string[] args) polimorfismo ) //Math.random() restituisce un double tra 0 e 1.0 automobile autovettura; // definisco autovettura appartenente alla classe automobile if((math.random()) > 0.50 ) // autovettura diventa una auto da corsa ( Passaggio fondamentale per il autovettura = new autodacorsa(); System.out.println(" Auto da corsa "); else // autovettura diventa una utilitaria autovettura = new utilitaria(); System.out.println(" Utilitaria "); // richiamo ora il metodo sull'oggetto non sapendo a che classe appartenga // notare che il risultato è giusto! autovettura.temperaturaalta(126); // notare che la scelta viene fatta a Run Time 24) Stesso programma con vettore di oggetti /* Programma Java con classe automobile e due sottoclassi autodacorsa ed utilitaria. Le sottoclassi ereditano automaticamente le variabili di istanza e i metodi della superclasseche ereditano dalla principale variabili e metodi.*/ Autore Flavio Cerini 15

16 class automobile // Classe auto generica int velocita=0; // variabili di istanza float tenutastrada=0f; int temperaturamax=100; void setvelocita(int velocita) //metodo imposta velocità this.velocita=velocita; int getvelocita() //metodo velocità System.out.println(this.velocita); return this.velocita; void gettenutastrada() //metodo tenutastrada System.out.println("metodo gettenutastrada di automobile"); void temperaturaalta(int temperatura) //metodo temperatura System.out.println("attenzione temperatura alta"); class autodacorsa extends automobile // Classe auto da corsa ( extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Controllo strumentazione"); System.out.println("Fermata ai box"); void gettenutastrada() // metodo tenutastrada float coeff_asfalto = 0.001f; this.tenutastrada=coeff_asfalto*this.velocita; System.out.println(this.tenutaStrada); class utilitaria extends automobile // Classe utilitaria (extends fa ereditare ) void temperaturaalta(int temperatura) // metodo temperatura System.out.println("Ferma alla prima sosta"); System.out.println("Controllo temperatura acqua radiatore"); Autore Flavio Cerini 16

17 void gettenutastrada(int mantostradale) // metodo tenutastrada float coeff_terra = 0.034f; float coeff_asfalto=0.03f; if (mantostradale ==0) this.tenutastrada=coeff_asfalto*this.velocita; else this.tenutastrada=coeff_terra*this.velocita; System.out.println(this.tenutaStrada); public class vettauto // classe auto che contiene il metodo main public static void main(string[ ] args) else //Math.random() restituisce un double tra 0 e 1.0 //dichiaro il vettore di oggetti automobile automobile[ ] vetture = new automobile[5]; // costruzione del vettore di oggetti eterogenei for(int i=0;i<5;i++) if(math.random()>0.5) vetture[i] = new autodacorsa(); vetture[i] =new utilitaria(); //Invocazione dei metodi sugli oggetti del vettore for(int i=0; i<5; i++) vetture[i].temperaturaalta(200); Autore Flavio Cerini 17

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); } import java.util.*; class coda * Questa classe contiene tutti i metodi per la gestione della coda * @author D'Ambrosio Giovanni Classe 4D I.T.I.S. Grottaminarda * @version 26/02/2010 * VETTORE DINAMICO

Dettagli

Le variabili. Olga Scotti

Le variabili. Olga Scotti Le variabili Olga Scotti Cos è una variabile Le variabili, in un linguaggio di programmazione, sono dei contenitori. Possono essere riempiti con un valore che poi può essere riletto oppure sostituito.

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java

Fondamenti di Informatica. Dichiarazione, creazione e gestione di array in Java Fondamenti di Informatica Dichiarazione, creazione e gestione di array in Java Array in Java - creazione La creazione fa una inizializzazione implicita: num = new int[10]; con valore 0 per int e double,

Dettagli

Programmazione di rete in Java

Programmazione di rete in Java Programmazione di rete in Java Reti di calcolatori Una rete di calcolatori è un sistema che permette la condivisione di dati informativi e risorse (sia hardware sia software) tra diversi calcolatori. Lo

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Classi ed Oggetti in JAVA

Classi ed Oggetti in JAVA Classi ed Oggetti in JAVA Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it www.dii.unisi.it/~rigutini/

Dettagli

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java

! Programmazione strutturata ! TDA. ! Classi, incapsulamento, ! OO. ! Scambio messaggi, eredità, polimorfismo. ! OO in Java Riassunto Rassegna API - 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 17 3 maggio 2015! Programmazione

Dettagli

R.Focardi Laboratorio di Ingegneria del Software 6. 1

R.Focardi Laboratorio di Ingegneria del Software 6. 1 Networking Java permette comunicazioni in rete basate sul concetto di socket, che permette di vedere la comunicazione in termini di flusso (stream), in modo analogo all input-output di file, usando Stream

Dettagli

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella

Finestra.java. static String nomicolonne[] = {ind.,cognome,nome,telefono,e-mail}; //nomi delle colonne della tabella import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;

Dettagli

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case

La fase di realizzazione. La fase di realizzazione (cont.) Traduzione in Java del diagramma degli use case Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione Sede di Latina Corso di Laurea in Ingegneria dell Informazione Consorzio Nettuno La fase di realizzazione si occupa

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Programmazione Java: Variabili membro, Metodi La parola chiave final

Programmazione Java: Variabili membro, Metodi La parola chiave final Programmazione Java: Variabili membro, Metodi La parola chiave final romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap Definire una classe» Variabili membro» Metodi La parola chiave

Dettagli

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity

CORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo.

Il modello client/server consente a due processi di condividere risorse e di cooperare per il raggiungimento di un obiettivo. In una rete di ampie dimensioni, ciascuna sottorete (es. LAN, WAN) è connessa ad altre sottoreti tramite router. Internet è un insieme di reti connesse tra loro. Essenzialmente, in una rete alcune macchine

Dettagli

esercizi Esercizi / problemi

esercizi Esercizi / problemi Sistemi informativi applicati (reti di calcolatori): esercizi 1 Esercizi / problemi 1. Creare un applicazione che calcoli la media aritmetica dei seguenti valori interi: 35, 117, 23 e ne visualizzi il

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

P a s q u a l e t t i V e r o n i c a

P a s q u a l e t t i V e r o n i c a PHP: OOP Pasqualetti Veronica Oggetti Possiamo pensare ad un oggetto come ad un tipo di dato più complesso e personalizzato, non esistente fra i tipi tradizionali di PHP, ma creato da noi. 2 Gli oggetti

Dettagli

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti 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

Dettagli

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

UML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale

Dettagli

Funzioni. Corso di Fondamenti di Informatica

Funzioni. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Funzioni Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e dei

Dettagli

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate.

Comandi filtro: sed. Se non si specificano azioni, sed stampa sullo standard output le linee in input, lasciandole inalterate. Comandi filtro: sed Il nome del comando sed sta per Stream EDitor e la sua funzione è quella di permettere di editare il testo passato da un comando ad un altro in una pipeline. Ciò è molto utile perché

Dettagli

Struttura di un programma Java. Package. Uso dei package

Struttura di un programma Java. Package. Uso dei package Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Struttura di un programma

Dettagli

Pila.h versione 6. class Pila { private: int marker; int * contenuto; public:

Pila.h versione 6. class Pila { private: int marker; int * contenuto; public: 1 Pila.h versione 6 struct Pila { private: int size; int defaultgrowthsize; int marker; int * contenuto; void cresci(int increment); public: Pila(int initialsize) ; Pila(); ~Pila() ; void copy(pila * to)

Dettagli

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.

Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni. Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni

Dettagli

Esercitazione 7. Procedure e Funzioni

Esercitazione 7. Procedure e Funzioni Esercitazione 7 Procedure e Funzioni Esercizio Scrivere un programma che memorizza in un array di elementi di tipo double le temperature relative al mese corrente e ne determina la temperatura massima,

Dettagli

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto

Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Introduzione alla Programmazione ad Oggetti in C++

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

Dettagli

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di

RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di RICORSIONE - schema ricorsivo (o induttivo) si esegue l'azione S, su un insieme di dati D, mediante eventuale esecuzione di esempio CERCA 90 NEL SACCHETTO = estrai num Casi num 90 Effetti CERCA 90 NEL

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute

I name server DNS. DNS: Domain Name System. Esempio di DNS. DNS: Root name server. DNS: queries ripetute DNS: Domain Name System I name DNS Persone: identificatori: CF, nome, Numero di Passaporto Host e router Internet: Indirizzo IP ( bit) - usato per instradare i pacchetti nome, per es., massimotto.diiie.unisa.it

Dettagli

Abstract Data Type (ADT)

Abstract Data Type (ADT) Abstract Data Type Pag. 1/10 Abstract Data Type (ADT) Iniziamo la nostra trattazione presentando una nozione che ci accompagnerà lungo l intero corso di Laboratorio Algoritmi e Strutture Dati: il Tipo

Dettagli

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++

PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ PROGRAMMAZIONE ORIENTATA AGLI OGGETTI in C++ Classi ed oggetti. Classi derivate, ereditarietà e polimorfismo. Template Capitoli 12, 13, 14 Luis Joyannes Aguilar. Fondamenti di Programmazione in C++. Algoritmi,

Dettagli

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)

Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1) Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

Dettagli

Corso di Programmazione ad Oggetti

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

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo

Dettagli

Gestione dinamica di una pila

Gestione dinamica di una pila Gestione dinamica di una pila Una pila o stack è una lista lineare a lunghezza variabile in cui inserimenti (push) ed estrazioni (pop) vengono effettuate ad un solo estremo, detto testa (top) della pila.

Dettagli

Generalizzazione di funzioni e di classi. Macro come funzioni generiche

Generalizzazione di funzioni e di classi. Macro come funzioni generiche Alessio Bechini - Corso di - Generalizzazione di funzioni e di classi Il meccanismo di template Macro come funzioni generiche long longmax(long x, long y) { Possibile soluzione int intmax(int x, int y)

Dettagli

Gestione dei File in C

Gestione dei File in C Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte

Dettagli

Ricerca sequenziale di un elemento in un vettore

Ricerca sequenziale di un elemento in un vettore Ricerca sequenziale di un elemento in un vettore La ricerca sequenziale o lineare è utilizzata per ricercare i dati in un vettore NON ordinato. L algoritmo di ricerca sequenziale utilizza quan non ha alcuna

Dettagli

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti

Scuola Specializzazione Istruzione Superiore. Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Scuola Specializzazione Istruzione Superiore Object Oriented Programming (OOP) Introduzione alla programmazione orientata agli oggetti Michele Batocchi ITC Vittorio Emanuele II Perugia A.S. 2007/2008 Introduzione

Dettagli

Progettazione Orientata agli Oggetti

Progettazione Orientata agli Oggetti Progettazione Orientata agli Oggetti Sviluppo del software Ciclo di vita del software: comprende tutte le attività dall analisi iniziale fino all obsolescenza (sviluppo, aggiornamento, manutenzione) Procedimento

Dettagli

MIPS Instruction Set 2

MIPS Instruction Set 2 Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general

Dettagli

Le Stringhe. Un introduzione operativa. Luigi Palopoli

Le Stringhe. Un introduzione operativa. Luigi Palopoli Le Stringhe p.1/19 Le Stringhe Un introduzione operativa Luigi Palopoli ReTiS Lab - Scuola Superiore S. Anna Viale Rinaldo Piaggio 34 Pontedera - Pisa Tel. 050-883444 Email: palopoli@sssup.it URL: http://feanor.sssup.it/

Dettagli

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero

---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero ---------------------------------------------------------------- Puntatori a funzione. In C è possibile utilizzare dei puntatori a funzioni, ovvero delle variabili a cui possono essere assegnati gli indirizzi

Dettagli

Lezione 9: Strutture e allocazione dinamica della memoria

Lezione 9: Strutture e allocazione dinamica della memoria Lezione 9: Strutture e allocazione dinamica della memoria Laboratorio di Elementi di Architettura e Sistemi Operativi 9 Maggio 2012 Allocazione dinamica della memoria Memoria dinamica È possibile creare

Dettagli

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247

Cos è una stringa (1) Stringhe. Leggere e scrivere stringhe (1) Cos è una stringa (2) DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Cos è una stringa (1) Stringhe DD Cap. 8 pp. 305-341 KP Cap. 6 pp. 241-247 Una stringa è una serie di caratteri trattati come una singola unità. Essa potrà includere lettere, cifre, simboli e caratteri

Dettagli

AA 2006-07 LA RICORSIONE

AA 2006-07 LA RICORSIONE PROGRAMMAZIONE AA 2006-07 LA RICORSIONE AA 2006-07 Prof.ssa A. Lanza - DIB 1/18 LA RICORSIONE Il concetto di ricorsione nasce dalla matematica Una funzione matematica è definita ricorsivamente quando nella

Dettagli

MASSIMO UBERTINI ESERCIZI DI INFORMATICA 3 WWW.UBERTINI.IT

MASSIMO UBERTINI ESERCIZI DI INFORMATICA 3 WWW.UBERTINI.IT MASSIMO UBERTINI ESERCIZI DI INFORMATICA 3 WWW.UBERTINI.IT SEQUENZA SEQUENZA N 1 Dati due numeri interi calcolarne il prodotto. SEQUENZA N 2 Date la base e l altezza di un rettangolo calcolare l area e

Dettagli

Ricorsione. Corso di Fondamenti di Informatica

Ricorsione. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Ricorsione Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti e

Dettagli

Sottoprogrammi: astrazione procedurale

Sottoprogrammi: astrazione procedurale Sottoprogrammi: astrazione procedurale Incapsulamento di un segmento di programma presente = false; j = 0; while ( (j

Dettagli

Un client su arduino invia i dati acquisiti ad un database

Un client su arduino invia i dati acquisiti ad un database Un client su arduino invia i dati acquisiti ad un database PROBLEMA Si vogliono inviare, periodicamente, i dati acquisiti da alcuni sensori ad un database presente su di un server. Arduino con shield Ethernet

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati.

I FORM. L'attributo action contiene l'url del file php a cui devono essere inviati i file per essere elaborati. I FORM Che cosa sono e che caratteristiche hanno Un form contiene molti oggetti che permettono di inserire dati usando la tastiera. Tali dati verranno poi inviati alla pagina php che avrà il compito di

Dettagli

1 EJB e Portal Component Object http://desvino.altervista.org

1 EJB e Portal Component Object http://desvino.altervista.org 1 EJB e Portal Component Object http://desvino.altervista.org In questo tutorial studiamo come sfruttare la tecnologia EJB, Enterprise JavaBean, all interno del SAP Netweaver Portal. In breve, EJB è un

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02

INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 INSTALLAZIONE E UTILIZZO DEL COMPILATORE Code::Blocks 8.02 Download Si può scaricare gratuitamente la versione per il proprio sistema operativo (Windows, MacOS, Linux) dal sito: http://www.codeblocks.org

Dettagli

Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31

Le Liste. Elisa Marengo. Università degli Studi di Torino Dipartimento di Informatica. Elisa Marengo (UNITO) Le Liste 1 / 31 Le Liste Elisa Marengo Università degli Studi di Torino Dipartimento di Informatica Elisa Marengo (UNITO) Le Liste 1 / 31 Cos è una Lista Una lista è una collezione di elementi omogenei che: potrebbero

Dettagli

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t. Il programma MATLAB In queste pagine si introduce in maniera molto breve il programma di simulazione MAT- LAB (una abbreviazione di MATrix LABoratory). Introduzione MATLAB è un programma interattivo di

Dettagli

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

Semplici Algoritmi di Ordinamento

Semplici Algoritmi di Ordinamento Fondamenti di Informatica Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Ordinamento di una sequenza di elementi Esistono molti algoritmi di ordinamento. Tutti ricevono

Dettagli

Modulo 2 - Appendice 3 L'editor vi e cenni su sed

Modulo 2 - Appendice 3 L'editor vi e cenni su sed 1 Modulo 2 - Appendice 3 L'editor vi e cenni su sed Laboratorio di Sistemi Operativi I Anno Accademico 2008-2009 Copyright 2005-2007 Francesco Pedullà, Massimo Verola Copyright 2001-2005 Renzo Davoli,

Dettagli

Dichiarazioni di import: Introduzione

Dichiarazioni di import: Introduzione Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 10 Import di classi e di metodi statici Dichiarazioni di import:

Dettagli

Il linguaggio Java. Concetti base. I packages

Il linguaggio Java. Concetti base. I packages Il linguaggio Java I packages Concetti base Un package è una collezione di classi ed interfacce correlate che fornisce uno spazio dei nomi ed un controllo sugli accessi Un package facilita il reperimento

Dettagli

Cos è un JavaBean. Java. Componenti software

Cos è un JavaBean. Java. Componenti software Java java beans e programmazione visuale G. Prencipe prencipe@di.unipi.it Cos è un JavaBean Un JavaBean (o semplicemente Bean) è un componente software riusabile Analogia con i componenti elettronici I

Dettagli

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it

Chiamate di sistema per la Inter Process Communication (IPC) in POSIX. E.Mumolo, DEEI mumolo@units.it Chiamate di sistema per la Inter Process Communication (IPC) in POSIX E.Mumolo, DEEI mumolo@units.it Pipe Cos'è un pipe? E' un canale di comunicazione che unisce due processi Caratteristiche: La più vecchia

Dettagli

INFORMATIVA FINANZIARIA

INFORMATIVA FINANZIARIA Capitolo 10 INFORMATIVA FINANZIARIA In questa sezione sono riportate le quotazioni e le informazioni relative ai titoli inseriti nella SELEZIONE PERSONALE attiva.tramite la funzione RICERCA TITOLI è possibile

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Introduzione allo Scilab Parte 3: funzioni; vettori.

Introduzione allo Scilab Parte 3: funzioni; vettori. Introduzione allo Scilab Parte 3: funzioni; vettori. Felice Iavernaro Dipartimento di Matematica Università di Bari http://dm.uniba.it/ iavernaro felix@dm.uniba.it 13 Giugno 2007 Felice Iavernaro (Univ.

Dettagli

Il Tutorial per BlueJ

Il Tutorial per BlueJ Il Tutorial per BlueJ Versione 1.4 per BlueJ Versione 1.2.x Michael Kölling Mærsk Institute University of Southern Denmark Tradotto in italiano da Vito Di Viggiano, Orlando Demauro, Gianluca Leo, Gianpaolo

Dettagli

Introduzione al linguaggio C Gli array

Introduzione al linguaggio C Gli array Introduzione al linguaggio C Gli array Vettori nome del vettore (tutti gli elementi hanno lo stesso nome, c) Vettore (Array) Gruppo di posizioni (o locazioni di memoria) consecutive Hanno lo stesso nome

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO... Modulo A Programmiamo in Pascal Unità didattiche 1. Installiamo il Dev-Pascal 2. Il programma e le variabili 3. Input dei dati 4. Utilizziamo gli operatori matematici e commentiamo il codice COSA IMPAREREMO...

Dettagli

Serduino - SERRA CON ARDUINO

Serduino - SERRA CON ARDUINO Serduino - SERRA CON ARDUINO 1 Componenti Facchini Riccardo (responsabile parte hardware) Guglielmetti Andrea (responsabile parte software) Laurenti Lorenzo (progettazione hardware) Rigolli Andrea (reparto

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main

Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Fondamenti di Informatica e Laboratorio T-AB T-16 Progetti su più file. Funzioni come parametro. Parametri del main Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli

Dettagli

How to Develop Accessible Linux Applications

How to Develop Accessible Linux Applications How to Develop Accessible Linux Applications Sharon Snider Copyright 2002 IBM Corporation v1.1, 2002-05-03 Diario delle Revisioni Revisione v1.1 2002-05-03 Revisionato da: sds Convertito in DocBook XML

Dettagli

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project NB: E necessario: adoperare la sintassi più evoluta per le direttive di precompilazione 1, usando come contenitore

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica L uso delle funzioni in C++ Claudio De Stefano - Corso di Fondamenti di Informatica 1 Funzioni Nel C++ è possibile scomporre problemi complessi in moduli più semplici

Dettagli

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3

RICORSIVITA. Vediamo come si programma la soluzione ricorsiva al problema precedente: Poniamo S 1 =1 S 2 =1+2 S 3 =1+2+3 RICORSIVITA 1. Cos è la ricorsività? La ricorsività è un metodo di soluzione dei problemi che consiste nell esprimere la soluzione relativa al caso n in funzione della soluzione relativa al caso n-1. La

Dettagli

Lezione III: Oggetti ASP e interazione tramite form HTML

Lezione III: Oggetti ASP e interazione tramite form HTML Lezione III: Oggetti ASP e interazione tramite form HTML La terza lezione, come le precedenti, ha avuto una durata di due ore, di cui una in aula e l altra in laboratorio, si è tenuta alla presenza della

Dettagli

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza.

Analisi di massima: L utente dovrà inserire un numero limite, e tramite vari calcoli verrà stampato a video la sequenza. Relazione tecnica Fibonacci ANDENA GIANMARCO Traccia: Creare un algoritmo che permetta, dato un valore intero e positivo, di stabilire la sequenza utilizzando la regola di fibonacci dei numeri fino al

Dettagli

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. - lezione 14 - Thread in Java Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 14 - Thread in Java 1 Cos è un

Dettagli

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007

Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Laboratorio di Calcolatori 1 Corso di Laurea in Fisica A.A. 2006/2007 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 08/03/07 Nota Questi lucidi sono tratti

Dettagli

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo

Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo Esercizi svolti durante le ore di Informatica e Sistemi automatici nelle classi del Liceo Scientifico Tecnologico del Liceo Milli di Teramo /*Caricare un vettore di n numeri float, ordinarlo e e stamparlo

Dettagli

Un oggetto per la lettura dalla tastiera

Un oggetto per la lettura dalla tastiera Fondamenti di informatica Oggetti e Java ottobre 2012 1 Un oggetto per la lettura dalla tastiera Le API di Java hanno un oggetto System.in che rappresenta la tastiera del calcolatore, ma che non è semplice

Dettagli

Fondamenti di Informatica T. Linguaggio C: File

Fondamenti di Informatica T. Linguaggio C: File Linguaggio C: File I File Il file e` l'unita` logica di memorizzazione dei dati su memoria di massa, che consente una memorizzazione persistente dei dati, non limitata dalle dimensioni della memoria centrale.

Dettagli

Editor vi. Editor vi

Editor vi. Editor vi Editor vi vi 1 Editor vi Il vi è l editor di testo standard per UNIX, è presente in tutte le versioni base e funziona con qualsiasi terminale a caratteri Permette di visualizzare una schermata alla volta

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Linguaggio C: introduzione Il linguaggio C è un linguaggio general purpose sviluppato nel 1972 da Dennis Ritchie per scrivere il sistema operativo UNIX ed alcune applicazioni per un PDP-11. Il linguaggio

Dettagli

Visibilità dei Membri di una Classe

Visibilità dei Membri di una Classe Visibilità dei Membri di una Classe Lezione 10 Ogni classe definisce un proprio scope racchiude il codice contenuto nella definizione della classe e di tutti i suoi membri ogni metodo della classe definisce

Dettagli

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento.

Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. Excel: le funzioni Le formule possono essere scritte utilizzando un insieme di funzioni predefinite che Excel mette a disposizione, raggruppate per argomento. DEFINIZIONE: Le funzioni sono dei procedimenti

Dettagli

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java]

Laboratorio di Sistemi Fattoriale di un numero Jsp [Java] Desideriamo realizzare una applicazione web che ci consenta di calcolare il fattoriale di un numero. L'esercizio in sé non particolarmente difficile, tuttavia esso ci consentirà di affrontare il problema

Dettagli

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti

Funzioni matlab per la gestione dei file. Informatica B Prof. Morzenti Funzioni matlab per la gestione dei file Informatica B Prof. Morzenti File Contenitori di informazione permanenti Sono memorizzati su memoria di massa Possono continuare a esistere indipendentemente dalla

Dettagli

Problem solving avanzato

Problem solving avanzato Problem solving avanzato Formulazione del problema Struttura dati e algoritmo Il programma 2 26 Politecnico di Torino 1 Dati in input (1/4) Sono dati due file di testo, contenenti le informazioni sulle

Dettagli

Introduzione ad Access

Introduzione ad Access Introduzione ad Access Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli