Appendice B - Othello come applet
|
|
- Dino Bellini
- 6 anni fa
- Visualizzazioni
Transcript
1 Appendice B - Othello come applet Il gioco dell'othello, detto anche Reversi, consiste in una scacchiera di 64 caselle, 8 x 8, su cui all'inizio si trovano quattro pedine, due nere e due bianche, vedi figura B.1. Ognuno dei due avversari è legato a un colore diverso e può mettere sulla scacchiera pedine del proprio colore. Una pedina può essere posta sulla scacchiera solo se racchiude una o più pedine del colore avversario fra se stessa e un altra pedina del proprio colore. Tutte le pedine racchiuse in questo modo diventano del colore della pedina posta sulla scacchiera. Lo scopo del gioco è di riempire la scacchiera con il maggior numero di pedine del proprio colore. Figura B.1 Posizioni di partenza del gioco Othello Viene qui presentato un applet Java che permette di giocare a Othello contro il computer. In questa versione il computer gioca con le pedine nere mentre il giocatore ha le pedine bianche. Il giocatore pone le sue pedine effettuando un click con il mouse sulla casella prescelta. Alla prima mossa, il giocatore può passare il gioco al computer effettuando un click in una posizione non valida. La stessa cosa deve essere fatta nel caso in cui il giocatore non abbia mosse valide. Effettuando un click dopo la fine del gioco, si fa iniziare una nuova partita. Sono disponibili più livelli che possono essere impostati dal documento HTML per mezzo del parametro livello: il livello 1 è per principianti e man mano che si sale di livello, aumenta la bravura del computer e i suoi tempi di elaborazione per generare una mossa. Il livello di default è il 4. I sorgenti contengono in totale circa 500 linee di codice, esclusi i commenti, e le classi compilate occupano circa 10K, per cui possono essere eseguite da un browser Internet anche disponendo solo di una connessione via modem a bassa velocità. Il codice è stato scritto per essere più leggibile che efficiente, ma comunque, con le potenze elaborative attuali, non c è nessun problema fino al livello 4 compreso. I sorgenti del gioco possono essere inseriti in un file di nome Othello.java e sono riportati di seguito. Gioco dell'othello di Marco Bertacca
2 import java.awt.; import java.awt.event.; import java.applet.applet; Questa classe rappresenta la scacchiera del gioco dell'othello. Essa si occupa di accettare le mosse, verificarle e memorizzare la situazione derivante da 1.00 Marco Bertacca class Scacchiera { Larghezza della scacchiera espressa in numero di celle static final int LARGHEZZA = 8; Altezza della scacchiera espressa in numero di celle static final int ALTEZZA = 8; Intero indicante una casella vuota static final int VUOTO = -1; Intero indicante una casella occupata da una pedina bianca static final int BIANCO = 0; Intero indicante una casella occupata da una pedina bianca static final int NERO = 1; Indice dell'elemento dell'array che riporta il punteggio posizionale static final int POSIZIONALE = 0; Indice dell'elemento dell'array che riporta il numero di pedine girate static final int PEDINE = 1; Matrice del punteggio di ogni casella #aggiorna private static final int puntiinterni[][] ={ { 50, 50, 50, 50, 50, 50, 50, 50, { 50, 0, 0, 0, 0, 0, 0, 50, { 50, 0, 20, 10, 10, 20, 0, 50, { 50, 0, 10, 20, 20, 10, 0, 50, { 50, 0, 10, 20, 20, 10, 0, 50, { 50, 0, 20, 10, 10, 20, 0, 50, { 50, 0, 0, 0, 0, 0, 0, 50, { 50, 50, 50, 50, 50, 50, 50, 50 ; Matrice del punteggio di ogni casella #aggiorna
3 private static final int puntiesterni[][] ={ { 800, -20, 20, 20, 20, 20,-20, 800, { -20,-400,-40,-20,-20,-40,-400,-20, { 20, -40, 20, 0, 0, 20, -40, 20, { 20, -20, 0, 0, 0, 0, -20, 20, { 20, -20, 0, 0, 0, 0, -20, 20, { 20, -40, 20, 0, 0, 20, -40, 20, { -20,-400,-40,-20,-20,-40,-400,-20, { 800, -40, 20, 20, 20, 20, -20,800 ; Matrice per individuare velocemente le posizioni intorno a una casella data private static final int intorno[][] = { { -1, -1, { -1, 0, { -1, 1, { 0, -1, { 0, 1, { 1, -1, { 1, 0, { 1, 1 ; Array contenente le pedine della scacchiera private int tavola[][]; Costruisce una scacchiera con le pedine per iniziare una nuova #reset Scacchiera() { reset(); Costruisce una scacchiera copiando lo stato da quella passata come argomento. Scacchiera(Scacchiera s) { int y; tavola = (int[][]) s.tavola.clone(); for (y = 0; y < ALTEZZA; y++) tavola[y] = (int[]) s.tavola[y].clone(); Inizializza la scacchiera alle condizioni iniziali void reset () { int y, x; tavola = new int[altezza][larghezza]; for (y = 0; y < ALTEZZA; y++) for (x = 0; x < LARGHEZZA; x++) tavola[y][x] = VUOTO; tavola[altezza / 2][LARGHEZZA / 2] = BIANCO; tavola[altezza / 2-1][LARGHEZZA / 2-1] = BIANCO; tavola[altezza / 2][LARGHEZZA / 2-1] = NERO; tavola[altezza / 2-1][LARGHEZZA / 2] = NERO; Restituisce la pedina a riga y e colonna x int pedinaa(int y, int x) { if (y >= 0 && y < ALTEZZA && x >= 0 && x < LARGHEZZA)
4 return tavola[y][x]; else return VUOTO; Aggiorna la scacchiera in conseguenza dell'inserimento di una pedina nella posizione indicata da y e x e col colore colore colore della pedina da y riga su cui porre la x colonna su cui porre la punteggio pone in punteggio[posizionale] una valutuzione posizionale della mossa e in punteggio[pedine] il numero di pedine girate void aggiorna(int colore, int y,int x, int punteggio[]) { int ny, nx; int i; boolean gira; int altrocolore = colore == BIANCO? NERO : BIANCO; punteggio[posizionale] = puntiesterni[y][x]; punteggio[pedine] = 0; tavola[y][x] = colore; for (i = 0; i < 8; i++) { ny = y + intorno[i][0]; nx = x + intorno[i][1]; if (ny >= 0 && ny < ALTEZZA && nx >= 0 && nx < LARGHEZZA && tavola[ny][nx] == altrocolore) { gira = false; ny += intorno[i][0]; nx += intorno[i][1]; for ( ; ny >= 0 && ny < ALTEZZA && nx >= 0 && nx < LARGHEZZA; ny += intorno[i][0], nx += intorno[i][1]) { if (tavola[ny][nx] == colore) { gira = true; else if (tavola[ny][nx] == VUOTO) if (gira) { ny = y + intorno[i][0]; nx = x + intorno[i][1]; for ( ; ny >= 0 && ny < ALTEZZA && nx >= 0 && nx < LARGHEZZA; ny += intorno[i][0], nx += intorno[i][1]) { if (tavola[ny][nx] == altrocolore) { tavola[ny][nx] = colore; punteggio[posizionale] += puntiinterni[ny][nx]; punteggio[pedine]++; else Restituisce true se è ammesso porre una pedina nella posizione specificata, false colore colore della pedina da y riga su cui porre la pedina
5 @param x colonna su cui porre la pedina boolean èvalida(int colore, int y,int x) { boolean Return = false; int ny, nx; int i; int altrocolore = colore == BIANCO? NERO : BIANCO; if (y >= 0 && y < ALTEZZA && x >= 0 && x < LARGHEZZA && tavola[y][x] == VUOTO && (colore == BIANCO colore == NERO)) for (i = 0; i < 8 &&!Return; i++) { ny = y + intorno[i][0]; nx = x + intorno[i][1]; if (ny >= 0 && ny < ALTEZZA && nx >= 0 && nx < LARGHEZZA) { if (tavola[ny][nx] == altrocolore) { ny += intorno[i][0]; nx += intorno[i][1]; for ( ; ny >= 0 && ny < ALTEZZA && nx >= 0 && nx < LARGHEZZA; ny += intorno[i][0], nx += intorno[i][1]) { if (tavola[ny][nx] == colore) { Return = true; else if (tavola[ny][nx] == VUOTO) return Return; Se è ammesso porre una pedina nella posizione specificata, la pedina viene posta e viene restituito true, altrimenti viene restituito colore colore della pedina da y riga su cui porre la x colonna su cui porre la pedina boolean mettipedina(int colore, int y, int x) { boolean Return; int punteggio[] = { 0, 0 ; if (Return = èvalida (colore, y, x)) aggiorna (colore, y, x, punteggio); return Return; Restituisce il numero di pedine vuote sulla scacchiera. L'array di due elementi fornito come argomento viene riempito con il numero di pedine bianche e colore array di due elementi il cui elemento colore[bianco] viene riempito col numero di pedine bianche mentre l'elemento colore[nero] viene riempito col numero di pedine il numero di caselle vuote int punti (int colore[]) { int y, x; int Return = colore[bianco] = colore[nero] = 0; for (y = 0; y < ALTEZZA; y++) for (x = 0; x < LARGHEZZA; x++)
6 if (tavola[y][x] == BIANCO) colore[bianco]++; else if (tavola[y][x] == NERO) colore[nero]++; else Return++; return Return; Questa classe rappresenta un giocatore di 1.00 Marco Bertacca class Computer { L'oggetto scacchiera su cui giocare private Scacchiera scacchiera; Il colore associato al giocatore private int colore; Il livello di gioco private int livello; Variabile usata per eseguire il numero di ricorsioni pari al livello di gioco. private int livellotemp; Flag per stabilire quando il gioco è nella fase finale private boolean finale; Contiene il numero di mosse da giocare nella fase finale private int finaleda; Costruisce sc scacchiera su cui co colore assegnato li livello di gioco. Computer (Scacchiera sc, int co, int li) { scacchiera = sc; colore = co; livello = li; if (livello < 4) finaleda = 2 livello + 2; else finaleda = 10; Sollecita una true se la mossa viene eseguita, false se non ci sono mosse possibili
7 boolean muovi () { int x, y; int mx = -1, my = -1; int punteggio[] = { 0, 0 ; int valore, maxvalore = Integer.MIN_VALUE; if (scacchiera.punti(punteggio) < finaleda) finale = true; else finale = false; for (y = 0; y < 8; y++) for (x = 0; x < 8; x++) if (scacchiera.èvalida (colore, y, x)) { livellotemp = 0; valore = valutamossa (colore, y, x, scacchiera); if (valore > maxvalore) { maxvalore = valore; mx = x; my = y; if (mx >= 0) { scacchiera.mettipedina (colore, my, mx); return true; else return false; Esegue una valutazione della mossa. Questo metodo richiama se stesso per un numero di volte pari al numero del livello meno colore colore della pedina da y riga su cui porre la x colonna su cui porre la sc scacchiera su cui valutare la un intero corrispondente alla bontà della mossa private int valutamossa (int colore, int y, int x, Scacchiera sc) { int Return; int nx, ny; int punteggio[] = { 0, 0 ; int punti; int altropuntitmp, altropuntimax; int altrocolore = colore == Scacchiera.BIANCO? Scacchiera.NERO : Scacchiera.BIANCO; Scacchiera sclocale = new Scacchiera(sc); sclocale.aggiorna (colore, y, x, punteggio); if (finale) punti = punteggio[scacchiera.pedine]; else punti = punteggio[scacchiera.pedine] + punteggio[scacchiera.posizionale]; if ((y == 0 y == 7 x == 0 x == 7)) punti += valutabordi(y, x, colore, sclocale); if (++livellotemp < livello finale) { altropuntimax=-10000; for (ny=0; ny < 8; ny++) for (nx = 0; nx < 8; nx++) if (sclocale.èvalida (altrocolore, ny, nx )) { altropuntitmp = valutamossa(altrocolore, ny, nx, sclocale); if ( altropuntitmp > altropuntimax ) altropuntimax = altropuntitmp; punti -= altropuntimax;
8 --livellotemp; return punti; Valuta la bontà di una mossa sul bordo della y riga su cui porre la x colonna su cui porre la colore colore della pedina da sc scacchiera su cui valutare la un intero corrispondente alla bontà della mossa private int valutabordi (int y, int x, int colore, Scacchiera sc) { int Return = 0; int altrocolore = colore == Scacchiera.BIANCO? Scacchiera.NERO : Scacchiera.BIANCO; int pedinasx = Scacchiera.VUOTO; int pedinadx = Scacchiera.VUOTO; if (y == 0 y == 7) { if (x == 0 x == 7) Return = 100; else { pedinasx = sc.pedinaa (y, x - 1); pedinadx = sc.pedinaa (y, x + 1); if (pedinasx == altrocolore && pedinadx == altrocolore) Return = 100; else if (pedinasx==scacchiera.vuoto && pedinadx==scacchiera.vuoto && (x - 2 >= 0 && sc.pedinaa (y, x - 2) == colore x + 2 < 8 && sc.pedinaa (y, x + 2) == colore)) Return = -10; if (pedinasx == Scacchiera.VUOTO) { if (pedinadx == Scacchiera.VUOTO) if (pedinadx == altrocolore) { x++; while (x < 8); if (pedinasx == altrocolore) { if (pedinadx == altrocolore) if (pedinadx == Scacchiera.VUOTO) { x++; while (x < 8); if (pedinadx == Scacchiera.VUOTO) { if (pedinasx == Scacchiera.VUOTO) if (pedinasx == altrocolore) { x--; while (x >= 0);
9 if (pedinadx == altrocolore) { if (pedinasx == altrocolore) if (pedinasx == Scacchiera.VUOTO) { x--; while (x >= 0); else if (x == 0 x == 7) { pedinasx = sc.pedinaa (y - 1, x); pedinadx = sc.pedinaa (y + 1, x); if (pedinasx == altrocolore && pedinadx == altrocolore) Return = 100; else if (pedinasx==scacchiera.vuoto && pedinadx==scacchiera.vuoto && (y - 2 >= 0 && sc.pedinaa (y - 2, x) == colore y + 2 < 8 && sc.pedinaa (y + 2, x) == colore)) Return = -10; if (pedinasx == Scacchiera.VUOTO) { if (pedinadx == Scacchiera.VUOTO) if (pedinadx == altrocolore) { y++; while (y < 8); if (pedinasx == altrocolore) { if (pedinadx == altrocolore) if (pedinadx == Scacchiera.VUOTO) { y++; while (y < 8); if (pedinadx == Scacchiera.VUOTO) { if (pedinasx == Scacchiera.VUOTO) if (pedinasx == altrocolore) { y--; while (y >= 0); if (pedinadx == altrocolore) { if (pedinasx == altrocolore) if (pedinasx == Scacchiera.VUOTO) { y--; while (y >= 0);
10 return Return; Questa classe rappresenta l'interfaccia grafica per giocare a othello. Essa accetta le mosse dall'utente e sollecita le mosse del Marco Bertacca public class Othello extends Applet implements Runnable, MouseListener { Larghezza di una cella della scacchiera in pixel private int larghcella; Altezza di una cella della scacchiera in pixel private int altcella; Larghezza totale private int larghezza; Altezza totale private int altezza; Colore assegnato al giocatore umano private int colore; Colore assegnato al computer private int altrocolore; Flag che indica se il giocatore umano deve passare private boolean passa = false; Flag che indica quando il computer sta elaborando una mossa private boolean muovecomputer = false; Scacchiera di gioco private Scacchiera scac; Il giocatore computer private Computer comp; Livello di gioco private int livello = 4; Stringa per fornire informazioni al giocatore umano private String lineastato;
11 Font usato per visualizzare le informazioni private Font font = new Font("Courier", Font.PLAIN, 12); Altezza del font usato per visualizzare le informazioni private int altezzafont; Effettua l'inizializzazione dell'applet public void init() { int livn; String livs = getparameter ("livello"); if (livs!= null) { livn = new Integer(livs).intValue(); if (livn > 0 && livn < 9) livello = livn; altezzafont = getfontmetrics(font).getheight(); Dimension d = getsize(); larghcella = d.width / 8; altcella = (d.height - altezzafont) / 8; larghezza = larghcella 8; altezza = altcella 8; lineastato = "Othello livello: " + livello; scac = new Scacchiera(); comp = new Computer (scac, Scacchiera.NERO, livello); colore = Scacchiera.BIANCO; altrocolore = Scacchiera.NERO; addmouselistener (this); Disegna la scacchiera e le informazioni per l'utente public void paint (Graphics g) { int i, j; Color oldcolor = g.getcolor(); g.setcolor (new Color (0, 128, 0)); g.fillrect (0, 0, larghezza, altezza); g.setcolor (Color.black); for (i = 0; i < 9; i++) g.drawline (0, i altcella, larghezza, i altcella); for (i = 0; i < 9; i++) g.drawline (i larghcella, 0, i larghcella, altezza); for (i = 0; i < 8; i++) for (j = 0; j < 8; j++) { switch(scac.pedinaa(i, j)) { case Scacchiera.BIANCO: g.setcolor (Color.white); g.filloval (j larghcella + 1, i altcella + 1, larghcella - 1, altcella - 1); case Scacchiera.NERO: g.setcolor (Color.black); g.filloval (j larghcella + 1, i altcella + 1, larghcella - 1, altcella - 1); g.setfont(font); g.setcolor (Color.black); g.drawstring (lineastato, 0, altezza + altezzafont);
12 Valuta se esiste una mossa possibile per una pedina del colore specificato private boolean esistemossa(int col) { int y, x; for (y = 0; y < Scacchiera.ALTEZZA; y++) for (x = 0; x < Scacchiera.LARGHEZZA; x++) if (scac.èvalida (col, y, x)) return true; return false; public void mouseclicked(mouseevent e) { public void mousepressed(mouseevent e) { public void mouseentered(mouseevent e) { public void mouseexited(mouseevent e) { In base alla posizione del mouse, ricava la mossa del giocatore umano. Se il gioco è già finito, fa iniziare una nuova partita. Se siamo alla prima mossa e la mossa del giocatore umano non è valida, passa la mossa al computer. Se la mossa è valida, aggiorna la scacchiera e se a quel punto il gioco è finito, visualizza i risultati, altrimenti attiva un thread per l'elaborazione della mossa del computer. public void mousereleased(mouseevent e) { int x = e.getx(); int y = e.gety(); int punteggio[] = { 0, 0 ; if (!muovecomputer) { if (!esistemossa(colore) &&!esistemossa(altrocolore)) { scac.reset(); lineastato = "Othello livello: " + livello; repaint(); else if (passa scac.mettipedina(colore,y/altcella,x/larghcella)) { if (!esistemossa(colore) &&!esistemossa(altrocolore)) stampapunteggio(); else { muovecomputer = true; Thread t = new Thread(this); t.start (); lineastato = "Sto pensando..."; repaint(); else if (scac.punti (punteggio) == 60) { muovecomputer = true; Thread t = new Thread(this); t.start (); lineastato = "Sto pensando..."; repaint(); Sollecita una mossa del computer. public void run() { comp.muovi(); passa = false; if (!esistemossa(colore)) if (!esistemossa(altrocolore)) stampapunteggio();
13 else { lineastato = "Devi passare: clicka"; passa = true; else lineastato = "Tocca a te"; repaint(); muovecomputer = false; Visualizza il punteggio finale di una partita. void stampapunteggio () { int punteggio[] = { 0, 0 ; scac.punti (punteggio); if (punteggio[scacchiera.bianco] > punteggio[scacchiera.nero]) lineastato = "Hai vinto " + punteggio[scacchiera.bianco] + " a " + punteggio[scacchiera.nero]; else if (punteggio[scacchiera.bianco] < punteggio[scacchiera.nero]) lineastato = "Hai perso " + punteggio[scacchiera.bianco] + " a " + punteggio[scacchiera.nero]; else lineastato = "Hai pareggiato " + punteggio[scacchiera.bianco] + " a " + punteggio[scacchiera.nero]; passa = false; repaint(); Per eseguire l applet si può ricorrere a un testo in formato HTML come il seguente <title>othello</title> <hr> <applet code=othello.class width=161 height=190> <param name=livello value=4> </applet> <hr> Il livello di gioco viene impostato tramite il parametro livello e per default è 4. Il programma è formato da tre sole classi: Othello, che deriva da Applet e si occupa dell interazione con l utente, Computer, che elabora le mosse del computer e infine Scacchiera, che rappresenta appunto la scacchiera del gioco. Si può notare come la valutazione della mossa del computer sia eseguita da un thread indipendente in modo tale da permettere il ridisegno della scacchiera senza dover aspettare il termine dell elaborazione della mossa. Il metodo repaint infatti non causa l immediato ridisegno della finestra, ma segnala solo una necessità, a cui il sistema risponde appena possibile. I tempi di valutazione della mossa sono quasi impercettibili se il livello è basso ma crescono vertiginosamente al crescere del livello. Per capirne il perché, vediamo come fa il computer a generare una mossa. La classe Scacchiera comprende il metodo èvalida che permette di valutare se una mossa è valida o meno, e il metodo aggiorna che, oltre ad accettare una mossa e a modificare la scacchiera di conseguenza, restituisce anche una valutazione sulla sua validità. Questa valutazione è espressa da due numeri, uno dei quali rappresenta semplicemente il numero di pedine convertite mentre l altro corrisponde a una valutazione strategica basata su due matrici, puntiinterni e puntiesterni. Ogni volta che il computer deve muovere, viene invocato il metodo muovi nel quale vengono riconosciute le mosse valide tramite il metodo èvalida e per ognuna di esse viene invocato il metodo valutamossa passandogli come argomento anche l oggetto della classe
14 Scacchiera che rappresenta la scacchiera corrente, vedi figura B.2. Quest ultimo metodo si crea una scacchiera temporanea identica a quella passata come argomento e su di essa applica la mossa in valutazione, ricavando in tal modo un punteggio che ne indica la validità. Se stiamo giocando al livello 1, questo valore viene direttamente restituito al metodo muovi che alla fine premierà la mossa col punteggio maggiore. Giocando al livello 2 invece vengono valutate tutte le mosse che possono derivare dalla mossa in esame e il punteggio più alto viene sottratto a quello della mossa in esame. Giocando a livello n vengono valutati quindi n livelli di mosse e contro mosse, dando luogo a un esplosione combinatoria di valutazioni che rapidamente satura la potenza d elaborazione di un computer. Il procedimento può apparire complicato ma invece diventa di semplice implementazione utilizzando la ricorsione. Figura B.2 E in corso la valutazione delle possibili mosse valide Per migliorare la capacità di gioco del calcolatore, è stato aggiunto il metodo valutabordi per compensare la valutazione delle mosse effettuate sul bordo. Oltre a questo, quando si arriva al finale del gioco, il computer valuta in modo esaustivo tutte le mosse che rimangono basando a questo punto il proprio giudizio solo sul numero di pedine convertite.
Chiamata delle funzioni JavaScript da un applet
Chiamata delle funzioni JavaScript da un applet Il codice Java delle applet può essere eseguito nei browser Web su cui è presente il Java Plug-in, un meccanismo che gestisce le interazioni tra i browser
Dettaglipublic static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;
Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i
DettagliI Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile
I Canvas Tra i vari contenitori Java il Canvas (area di disegno o tela) è una semplice superficie di disegno particolarmente utile per visualizzare immagini o per effettuare altre operazioni grafiche.
DettagliGestione dell interattività: gli eventi
Gestione dell interattività: gli eventi Gli eventi sono una modalità di comunicazione tra l utente (sistema) e il programma in esecuzione. Tipi di eventi: Input da parte dell utente: pressione del(i) bottone(i)
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA5 C2.1 Animazioni 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti Utilizzo di elementi grafici ed eventi Utilizzo classe Canvas 2 1 Introduzione
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
DettagliCorso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione
Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array
DettagliArray di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliProgetto: Dama. 1 - Descrizione. 2 - Regole del gioco. Appello di febbraio 2003
Appello di febbraio 2003 Progetto: Dama Laurea triennale in Comunicazione Digitale Laboratorio di Informatica Generale 1 - Descrizione Il progetto consiste nell implementare un rudimentale programma di
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliEsercitazione n 2. Obiettivi
Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti
DettagliFondamenti di Informatica T-1. Classi e array
Classi e array 2 Classi e metodi statici Una classe è un costrutto linguistico che permette di modellare un'entità di un sistema, definendone le caratteristiche (variabili interne) e le azioni (metodi).
DettagliGrafico della parabola
Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un
DettagliEsercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)
Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici
DettagliAlgoritmi di Ricerca. Esempi di programmi Java
Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare
DettagliPerché il linguaggio C?
Il linguaggio C 7 Perché il linguaggio C? Larga diffusione nel software applicativo Standard di fatto per lo sviluppo di software di sistema Visione a basso livello della memoria Capacità di manipolare
Dettagli! Programmazione strutturata. ! OO: TDA, scambio messaggi, eredità, polimorfismo, OO in Java. ! Rassegna API. ! Documentazione Javadoc delle API
Riassunto Applet (e altro dell AWT ) Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 22 19 maggio
DettagliEsercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni
Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore
DettagliEsercitazione gennaio 2015
Esercitazione 10 19 gennaio 2015 Termine per la consegna dei lavori: martedì 26 gennaio ore 23.59. Istruzioni I lavori dovranno essere salvati in una cartella che deve contenere tutto e solo ciò che volete
DettagliEsempio: Tombola! Vogliamo progettare una applicazione che realizza il gioco della tombola Versione semplificata: un banco, un
Esempio: Tombola! Vogliamo progettare una applicazione che realizza il gioco della tombola Versione semplificata: un banco, un giocatore, ogni giocatore una scheda Ci vengono già fornite le classi necessarie
DettagliProgrammazione web lato client con JavaScript. Marco Camurri 1
Programmazione web lato client con JavaScript Marco Camurri 1 JavaScript E' un LINGUAGGIO DI PROGRAMMAZIONE che consente di inserire codice in una pagina web Sintassi simile a Java (e al C), ma NON E'
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi
DettagliEsempi di programmazione
Esempi di programmazione Applet che disegna cerchi Costruire un'applet disegnoapplet che ad ogni pressione del mouse disegna un cerchio 1 disegnoapplet 1. Deve usare la classe Applet? NO 2. Deve estendere
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
DettagliApplet. Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser.
Applet IngSW0304 p.1 Applet Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser. Una pagina web può contenere un riferimento al codice di un applet che verrà scaricato
DettagliFondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi
Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi
Dettagli24 - Possibili approfondimenti
24 - Possibili approfondimenti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo L6 (JAVA9) 1 Introduzione alle applet 1 Prerequisiti Architettura client/server Elementi di base HTML Programmazione Java Utilizzo package awt di Java 2 1 Introduzione
DettagliCorso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010
Esercizio 1. Si deve modellare con una classe Java il contenuto di un portamonete, con delle opportune semplificazioni. Le monete da considerare sono di soli 4 tagli: 10, 20, 50 e 100 centesimi (cioè 1
DettagliEsercitazione 11. Liste semplici
Esercitazione 11 Liste semplici Liste semplici (o lineari) Una lista semplice (o lineare) è una successione di elementi omogenei che occupano in memoria una posizione qualsiasi. Ciascun elemento contiene
Dettagliinterfacce ed eventi intercettare il mouse ed altri eventi
interfacce ed eventi intercettare il mouse ed altri eventi interfacce: premessa il termine "interfaccia" occorre in Java con due significati, collegati ma distinti 1. interface, parola chiave di Java e
DettagliLaboratorio di Programmazione Lezione 3. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 3 Cristian Del Fabbro Prossima lezione GIOVEDÌ 12 NOVEMBRE ORE 14:00 Array a.k.a. vettore Un array è una collezione ordinata di dati omogenei (cioé sono tutti dello
DettagliProgrammazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario La ricorsione Metodi ricorsivi Esercizi proposti 16/01/2013 2 La ricorsione In Java ogni metodo può chiamare anche se stesso,
DettagliREGOLE DI BASE DEL GIOCO DEGLI SCACCHI
REGOLE DI BASE DEL GIOCO DEGLI SCACCHI Queste sono le regole di base del gioco degli scacchi. Per giocare nei tornei occorre seguire anche altre regole comportamentali ed agonistiche. Il regolamento completo
DettagliEsempio: Ogni colonna può contenere un solo tipo di dati. Colonne e righe sono numerate partendo da zero. L Header non conta nella numerazione:
JTable Cos è una JTable Una JTable è un elemento Swing che rende possibile visualizzare delle informazioni sotto forma di tabella e se necessario ne permette la modifica. Header - Nelle JTabel è possibile
Dettagli3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;
Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
DettagliProgrammazione Orientata agli Oggetti. Polimorfismo: Studio di caso
Programmazione Orientata agli Oggetti Polimorfismo: Studio di caso Riprendiamo il nostro studio di caso Nelle lezioni precedenti abbiamo già individuato (e rimosso) alcuni limiti del codice del nostro
DettagliVBA Principali Comandi
VBA Principali Comandi Sintassi Significato Esempio Dim As Dichiarazione Dim x As Integer di una variabile Dim , , ,.,
DettagliProgrammazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:
Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli
DettagliAlberi. Strutture dati: Alberi. Alberi: Alcuni concetti. Alberi: definizione ricorsiva. Alberi: Una prima realizzazione. Alberi: prima Realizzazione
Alberi Strutture dati: Alberi Strutture gerarchiche di dati Esempi Il file system di un sistema operativo L organigramma di un azienda Alberi generali, alberi n-ari, alberi binari, Ogni nodo ha un unico
DettagliUguaglianza e copia di oggetti
Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La
DettagliDefinizione di metodi in Java
Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un
DettagliCostrutti iterativi. Utilizzo dei costrutti iterativi
Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti
DettagliLinguaggi di Programmazione II Matricole con le due ultime cifre dispari
Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione 1 2 3 4 5 6 totale /5 /10 /10 /30 /25 /20 /100 Non usare altri fogli, usare solo lo spazio sottostante. Fogli differenti da questo
DettagliJavascript. - Corso Web Design - Media Dream Academy. Stefano Gaborin
Javascript - Corso Web Design - Media Dream Academy Stefano Gaborin stefano.gaborin@above.company www.above.company Cos è Javascript? JavaScript è un linguaggio di programmazione interpretato. Utilizzato
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliCon il pulsante Start si introducono palline che rimbalzano in un area di disegno fino a che non è terminato il loro ciclo di vita (1000 movimenti).
Rimbalzi. import java.awt.*; import java.awt.event.*; import java.applet.applet; public class Bounce extends Applet implements ActionListener { private Canvas canvas; private Button b1; private Button
DettagliJava Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Java Applet 1 Application VS Applet Una
DettagliJava, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
DettagliJava Interfaccia Grafica
Java Interfaccia Grafica Testi di consultazione: a) core Java 1.1 (Volume I Fundamentals) Cay S. Horstmann, Gary Cornell, Prentice Hall, 1997. b) Java 1.2 Unleashed, Jamie Jaworski, Sams Publishing, 1998.
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliInternational Olympiad in Informatics 2013
International Olympiad in Informatics 2013 6-13 July 2013 Brisbane, Australia Day 2 tasks game Italian 1.1 Bazza e Shazza iniziano un gioco. Il gioco si svolge su una griglia di celle, con R righe numerate
DettagliQuale e' l'espressione regolare corretta per validare una stringa contentente uno o piu caratteri qualsiasi tra "a" oppure "b" oppure "d"?
Qual e' il modo corretto per creare una classe MiaClasse di tipo Generics, parametrizzata con un tipo in input? [1] class MiaClasse class MiaClasse class MiaClasse(Type Generics) 4. Generics
DettagliProgrammazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
DettagliProgrammazione 1 A.A. 2015/2016
Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,
DettagliJava Virtual Machine. Indipendenza di java dalla macchina ospite. I threads in Java
programmi sorgente: files.java compilatore Indipendenza di java dalla macchina ospite Programmi java Programmi java Programmi java files.class bytecode linker/loader bytecode bytecode Java API files.class
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliClasse Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi:
Classe Vettore (i) Creare una classe che consenta di gestire un vettore di N elementi reali (double), che preveda i seguenti metodi: Vettore(int n): crea un oggetto Vettore contente n elementi, inizializzati
DettagliEsempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito
DettagliEsercizio. Scrivere una classe ListMap<K, V> che implementa la mappa con una lista. Strutture Dati
Esercizio Scrivere una classe ListMap che implementa la mappa con una lista Esercizio Si scriva un metodo public static PositionList preorder(linkedbinarytree T) che preso in
DettagliCapitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73
Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe
Dettaglin n 1 n = > Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita
Il calcolo del fattoriale La funzione fattoriale, molto usata nel calcolo combinatorio, è così definita n! = 1 n( n 1)! se se n n = > 0 0 dove n è un numero intero non negativo Il calcolo del fattoriale
DettagliAlberi Binario in Java
Alberi Binario in Java Realizzare un albero binario di ricerca. L albero binario è di ricerca se esiste una relazione di ordinamento tra i valori dei nodi (valori comparabili). In particolare, dato un
Dettagli4. I moduli in Access 2000/2003
LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate
DettagliFogli Google: nozioni di base sui fogli di lavoro
Fogli Google: nozioni di base sui fogli di lavoro Una volta acquisita familiarità con le procedure di accesso, creazione e modifica dei Documenti Google, leggi queste informazioni per conoscere le nozioni
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
DettagliStudente (Cognome Nome):
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Terzo Scritto 7 Febbraio 2006 Si noti che le soluzioni ai quesiti saranno considerate valide
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliApplication VS Applet
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 20 - Java Applet 1 Application
Dettaglilezione 9 min-heap binario Heap e Alberi posizionali generali
lezione 9 Heap e Alberi posizionali generali min-heap binario Un min-heap è un albero binario quasi completo in cui ogni nodo i diverso dalla radice soddisfa la seguente proprietà: il valore memorizzato
DettagliClassi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array
Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a
DettagliAPPLICAZIONI & APPLET
APPLICAZIONI & APPLET Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet Porta dinamicità alle pagine HTML "statiche" Viene eseguita dal browser,
DettagliINTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE
INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE La Gestione degli Eventi Ogni oggetto grafico è predisposto ad essere sollecitato in qualche modo dall utente (per esempio un pulsante può essere premuto).
DettagliSUDOKU Come si gioca Regole del Gioco Risolvere un Sudoku Consigli
SUDOKU Come si gioca Sudoku consiste in un diagramma di 81 quadretti con dei numeri all interno, disposti in modo simmetrico. L obiettivo del gioco consiste nel riempire il diagramma in modo che in tutte
DettagliCognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 15 Gennaio 2015 Testo Il database di un bar è costituito da due vettori paralleli. Il primo
DettagliManuale di KSquares. Matt Williams Revisore: Eugene Trounev Traduzione della documentazione: Federico Zenith
Matt Williams Revisore: Eugene Trounev Traduzione della documentazione: Federico Zenith 2 Indice 1 Introduzione 5 2 Come si gioca 6 3 Regole del gioco, strategie e suggerimenti 8 3.1 Regole del gioco.......................................
DettagliFondamenti di Informatica T-1. Classi & vettori
Classi & vettori 2 Array Un vettore (array) è un insieme ordinato, di dimensione fissa, di oggetti dello stesso tipo. Esempio: array capace di contenere al più 10 numeri interi int[] arrayinteri = new
DettagliOttava Esercitazione. introduzione ai thread java mutua esclusione
Ottava Esercitazione introduzione ai thread java mutua esclusione Agenda Esempio 1 Concorrenza in Java: creazione ed attivazione di thread concorrenti. Esercizio 2 da svolgere Concorrenza in Java: sincronizzazione
DettagliEccezioni Precisazioni e approfondimenti
Eccezioni Precisazioni e approfondimenti Costruttore: il parametro String definisce il messaggio di errore associato all eccezione Metodi particolarmente significativi getmessage(): ritorna l istanza di
DettagliAPPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2017
APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2016 2017 18.IX.2017 VINCENZO MARRA Indice Premessa 2 Esercizio 1 2 Lettura da file della cartella e dell
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a febbraio 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 22 febbraio 2013 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
Dettagligiochi sulla persistenza
UdA 6 Applicazioni Web in PHP lezione 1 giochi sulla persistenza In questa lezione impareremo... ad applicare i campi nascosti, le sessioni e i cookies per realizzare semplici giochi Primo esempio: il
DettagliGocce di Java. Gocce di Java. Metodi e ricorsione. Pierluigi Crescenzi. Università degli Studi di Firenze
Gocce di Java Pierluigi Crescenzi Università degli Studi di Firenze Ancora sui metodi Interfaccia di un metodo Consente di utilizzarlo senza sapere nulla dell implementazione Consente di implementarlo
Dettagli/** * 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
DettagliGli Array. Dichiarazione di un array
Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato
DettagliEsercitazione 2: Java Thread. Java Thread. Java Thread. Un thread:
Esercitazione 2: Thread Un thread è un singolo flusso sequenziale di controllo all interno di un processo Un thread (o processo leggero) è un unità di esecuzione che condivide codice e dati con altri thread
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do
DettagliSTRUTTURE DATI: OLTRE GLI ARRAY LISTE
STRUTTURE DATI: OLTRE GLI ARRAY le strutture dati progettate per ospitare una collezione di elementi, sono variazioni di array Ma l'array ha dimensione fissa anche in Java determinata a priori, in linguaggi
DettagliInformatica 3 secondo recupero 13 Settembre 2002
Informatica 3 secondo recupero 13 Settembre 2002 Nome (stampatello) Cognome (stampatello) Matr Recupero: Prima prova in itinere Seconda prova in itinere spazio per il docente Punteggi recupero prima prova
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliInterfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato
Interfacce 1 Interfacce Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato costituito dall intestazione senza il corpo della definizione
DettagliTraduzione e adattamento a cura di Gylas per Giochi Rari. Versione 1.1 Novembre
Traduzione e adattamento a cura di Gylas per Giochi Rari Versione 1.1 Novembre 2001 http://www.giochirari.it e-mail: giochirari@giochirari.it NOTA. La presente traduzione non sostituisce in alcun modo
DettagliStrutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05
Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica
DettagliCorso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli.
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 16 Tipi riferimento e stringhe Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Tipi riferimento Stringhe e oggetti String
DettagliAPPLICAZIONI & APPLET
APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e trae forza, dal concetto di applet come piccola (?)
DettagliLPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi
LPR 2005/ 2006 Lezione n.9 Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi JAVA 2D PROGRAMMING Schermo : Matrice rettangolare composta
DettagliTorre di Hanoi. di Davide Bugli e Matteo Roselli rivista da Stefano Cacciaguerra Ph. D. in Informatica
Torre di Hanoi di Davide Bugli e Matteo Roselli rivista da Stefano Cacciaguerra Ph. D. in Informatica Indice Introduzione. pag. 3 Sviluppo del progetto. pag. 4 Script pag. 5 Problematiche affrontate...pag.
DettagliLaboratorio Progettazione Web Le funzioni in PHP. Angelica Lo Duca IIT-CNR 2012/2013
Laboratorio Progettazione Web Le funzioni in PHP Angelica Lo Duca IIT-CNR angelica.loduca@iit.cnr.it 2012/2013 Funzioni Una funzione è una sequenza di istruzioni che implementano una specifica funzionalità
Dettagli