martedì 20 ottobre 2009

Entity Relationships Es. da 7 a 21 pag. 179

Ciao a tutti....
Questi esercizi sono stati proposti per riuscire a comprendere in maniera ottimale la cardinalità che ci può essere tra le relazioni delle entità e il modo in cui esse possono partecipare.
Una breve spiegazione....
La cardinalità tra le Entità può essere:
1 a 1(1 - 1), 1 a Molti(1 - M) oppure Molti a Molti(N - M).
Mentre la partecipazione può essere Parziale, se l'entità partecipa in modo relativo alla relazione con l'altra entità, mentre può essere Totale, se partecipa in modo univoco nella relazione tra le entità.
Vediamo gli esercizi per capire meglio:



Prendiamo come esempio l'esercizio numero 7. In questo schema si può dire che un Docente DEVE, relazione con partecipazione Totale (Individuata dalla doppia linea di collegamento), insegnare una sola materia (In riferimento al numero 1 sopra al rombo).
Mentre una materia PUO' essere insegnata da Molti docenti.
La relazione è 1 a Molti, si può individuare dall'1 e la M messi uno sopra e l'altro sotto al rombo.








lunedì 19 ottobre 2009

Entity Relationships (es. 1-6 pag.179)

Salve a tutti, ed ecco che è iniziato un nuovo anno scolastico (speriamo l'ultimo) e quindi altri esercizi verranno pubblicati costantemente in questo Blog.....sotto la sorveglianza del mitico Prof.Natalizi!!!
Questi esercizi sono basati su un nuovo metodo per la progettazione concettuale di dati chiamata, Entity/Relationship, ovvrosulla relazione tra le entità.
Un'entità è un cosa concreta o astratta a cui si possono riferire almeno 2 Attributi.
In questi attributi potrebbe essere necesario trovarne uno che identifichi in maniera univoca l'entità e questa verrà chiamata con il nome di Chiave Primaria o Primary Key(PK)!
Dopo aver fatto questa breve premessa eseguo gli esercizi assegnati:

Es. 1

Es. 2
In questo esercizio ho dovuto trvae più chiavi primarie deboli per formarne una vera e propria che identificasse in maniera univoca il CITTADINO CONTRIBUENTE.





Es. 3

Es. 5


Es. 6




lunedì 18 maggio 2009

CUBES GAME

Ecco a voi il nuovo gioco del gruppo composto da:
Di Bari
Favilli
Caldari e
Baldassarri, si chiama Cubes Game!!!
Ora vi mostrerò le varie schermate create dai componenti di ciascun gruppo, il codice invece verrà messo successivamente perchè ancora in fase di sviluppo!!!


Questo è come dovrebbe presentarsi inizialmente, ovvero il logo del gioco!





Questa invece è la scelta dei giocatori, il client o il server!





Infine ecco come si presenterà il gioco!!! durante la partita tra i due giocatori!(ancora da perfezionare e migliorare)


mercoledì 11 febbraio 2009

La mia Calcolatrice

Salve a tutti, è da un pò che non pubblico qualcosa di interessante, bene oggi proporrò un'esempio di calcolatrice personalizzata che ognuno poi potrà arricchirla ulteriormente con più istruzioni:


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice{
private JFrame f=new JFrame("Calcolatrice");
private Pannello p=new Pannello();
private JButton addizione;
private JButton sottrazione;
private JButton moltiplicazione;
private JButton divisione;
private JButton radiceQuad;
private JButton uno;
private JButton due;
private JButton tre;
private JButton quattro;
private JButton cinque;
private JButton sei;
private JButton sette;
private JButton otto;
private JButton nove;
private JButton zero;
private JLabel nome;
private JLabel nomeDue=new JLabel("digita il secondo numero");
private JLabel r=new JLabel();
private JLabel r1=new JLabel("risultato operazione");
private Pannello numeri;
private PannelloComandi operazioni;
private JTextField inCom;
private JTextField in1;
private JTextField in2;


public Calcolatrice(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.setLayout(new GridLayout(4,2));
numeri=new Pannello();
operazioni=new PannelloComandi();
nome=new JLabel("digita il primo numero");
inCom=new JTextField();
in1=new JTextField();
in2=new JTextField();


f.add(operazioni);
f.add(numeri);
f.add(in1);
f.add(nome);
f.add(in2);
f.add(nomeDue);
f.add(r1);
f.add(r);
addizione.addActionListener(new somma());
sottrazione.addActionListener(new sottrazione());
moltiplicazione.addActionListener(new moltiplicazione());
divisione.addActionListener(new divisione());
radiceQuad.addActionListener(new radiceQuad());
f.setVisible(true);
}
public class Pannello extends JPanel{
public Pannello(){

uno=new JButton("1");
this.add(uno);
due=new JButton("2");
this.add(due);
tre=new JButton("3");
this.add(tre);
quattro=new JButton("4");
this.add(quattro);
cinque=new JButton("5");
this.add(cinque);
sei=new JButton("6");
this.add(sei);
sette=new JButton("7");
this.add(sette);
otto=new JButton("8");
this.add(otto);
nove=new JButton("9");
this.add(nove);
zero=new JButton("0");
this.add(zero);

}
}
public class PannelloComandi extends JPanel{
public PannelloComandi(){

addizione=new JButton("+");
this.add(addizione);
sottrazione=new JButton("-");
this.add(sottrazione);
moltiplicazione=new JButton("X");
this.add(moltiplicazione);
divisione=new JButton(":");
this.add(divisione);
radiceQuad=new JButton("Rad");
this.add(radiceQuad);
}
}
public class somma implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double s=x1+x2;
String risultato=Double.toString(s);
r.setText(risultato);
}
}
public class sottrazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double sot=x1-x2;
String risultato=Double.toString(sot);
r.setText(risultato);
}
}
public class moltiplicazione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double m=x1*x2;
String risultato=Double.toString(m);
r.setText(risultato);
}
}
public class divisione implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
String t2=in2.getText();
double x1=Double.parseDouble(t1);
double x2=Double.parseDouble(t2);
double d=x1/x2;
String risultato=Double.toString(d);
r.setText(risultato);
}
}
public class radiceQuad implements ActionListener{

public void actionPerformed(ActionEvent e){

String t1=in1.getText();
double x1=Double.parseDouble(t1);
double rad=Math.sqrt(x1);
String risultato=Double.toString(rad);
r.setText(risultato);
}
}

public static void main(String[] args){
Calcolatrice c=new Calcolatrice();
}

}

Ecco la mia calcolatrice personale:

venerdì 23 gennaio 2009

Correzzione Verifica 19/01/2009

La verifica chiedeva le seguenti istruzioni:
Creare una finestra(pannello) dove doveva essere creato un rettangolo di dimensioni a scelta.
Fare il programma in modo da poter disegnare tramite il mouse una linea o segmento; quando l linea interseca da lato a lato opposto il rettangolo, quest'ultimo doveva cambiare colore in modo casuale.

Ecco la corretta esecuzione del programma:


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class TracciaRettangolo1 {

private JFrame f= new JFrame("Traccia linea rettangolo1");
private Pannello p=new Pannello();
private Point sPoint=new Point();
private Point ePoint=new Point();
int x0=100;
int y0=150;
int w=100;
int h=150;
private boolean intersecato=false;

public TracciaRettangolo1(){

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(450,450);
f.add(p);
f.setVisible(true);
f.addMouseListener(new Linea());
f.addMouseMotionListener(new Linea1());
}

public class Pannello extends JPanel{
public void paintComponent(Graphics g){
if (intersecato==false) {
g.setColor(Color.red);
}
else {
g.setColor(getColor());
}
g.fillRect(x0,y0,w,h);
g.drawLine(sPoint.x,sPoint.y,ePoint.x,ePoint.y);
}
}

public Color getColor(){

int rosso=(int) (Math.random()*255);
int verde=(int) (Math.random()*255);
int blu=(int) (Math.random()*255);
Color colore=new Color(rosso,verde,blu);
return colore;
}

public void interseca() {

intersecato=false;
if ((sPoint.xx0+w)&&(sPoint.y>y0)&&(sPoint.yy0)&&(ePoint.yinizio linea
public void mouseReleased(MouseEvent e) {

ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
interseca();
f.repaint();
}

}

public class Linea1 implements MouseMotionListener{

public void mouseMoved(MouseEvent e) {}
public void mouseDragged(MouseEvent e) {
intersecato=false;
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
}
public static void main(String[] args){
TracciaRettangolo1 t=new TracciaRettangolo1();
}

}


Ecco come dovrebbe essere al momento della compilazione:








Poi quando la retta interseca il rettangolo, questo cambia colore:





giovedì 15 gennaio 2009

Coordinate Punto in una Finestra

Questo programmino fatto in classe serve a determinare le coordiate, X e Y, di dove si stà cliccando in quel momento con il mouse nella finestra creata.


import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;



public class TestaInputMouse{


private JFrame f=new JFrame("coordinate punto cliccato");
private Pannello p=new Pannello();
private Point clickx=new Point();
private Point clicky=new Point();


public TestaInputMouse(){


f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(600,600);
f.add(p);
f.addMouseListener(new Coordinate());
f.addMouseMotionListener(new Coordinate1());
f.setVisible(true);
}


public class Pannello extends JPanel{


public void paintComponent(Graphics g){


String tizio="mouse cliccato"+clickx+","+clicky;
g.drawString(tizio,10,20);
f.repaint();
}


}
public static void main(String[] args){
TestaInputMouse t=new TestaInputMouse();
}


public class Coordinate implements MouseListener{
public void mousePressed(MouseEvent e){
clickx.x=e.getX();
}


public void mouseReleased(MouseEvent e){
clicky.y=e.getY();
f.repaint();
}


public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}


public class Coordinate1 implements MouseMotionListener{
public void mouseDragged(MouseEvent e){
clickx.x=e.getX();
clicky.y=e.getY();
f.repaint();
}


public void mouseMoved(MouseEvent e){}
}



}




Ecco come dovrebbe essere una volta compilato!!!




In questa immagine si può vedere che il punto in cui si stà cliccando con il mouse!
Invece,come si può meglio notare nell'immagine seguente, le coordinate di tale punto sono riportate in alto a sinistra della nostra finestra!
Queste sono le coordinate del punto cliccato viste più in dettaglio: