giovedì 3 dicembre 2009

MACRO ANALISI
Gruppo Informatica
Gestione Palestra
Macro analisi
Lugani, Anselmi e Bazzucchi
In questa gestione, si dovranno organizzare le attività dei corsi, memorizzando i clienti e gli insegnati di una palestra.
Per ogni corso verranno memorizzati il codice del corso (id), il tipo di corso, l’ orario di inizio, l’ orario di fine, la stanza in cui viene svolto, il numero massimo dei partecipanti, il numero minimo dei partecipanti, tipo di abbonamento, supplemento.
Per ogni cliente verranno memorizzati il nome, il cognome, l’ indirizzo, la località, il codice fiscale, la data di nascita, il tipo di abbonamento fatto, il costo dell’ abbonamento fatto, il sesso.
Per ogni insegnate verranno memorizzati il nome, il cognome, l’ indirizzo, la località, il codice fiscale, la data di nascita, le abilitazioni, lo stipendio, il sesso.
Le relazioni sono : tra cliente e corso è “frequenta” di tipo molti a molti e la partecipazione è totale da parte del corso e parziale dalla parte dei clienti, tra corso e insegnante è “svolto” di tipo molti a molti e la partecipazione è totale sempre dalla parte dei corsi mentre è parziale dalla parte degli insegnanti .

giovedì 12 novembre 2009

martedì 20 ottobre 2009

Esercizio svolto con DIA il 15-10-2009

appunti presi in classe il giorno 20-10-2009

ELEMENTI DEL DISEGNO CONCETTUALE
° entità: istanze di una entità
° attributi
° relazioni
° chiave primaria
° chiave parziale
° molteplicità (cardinalità) 1-1; 1-molti; molti a molti
° partecipazione totale o parziale
° entità debole - entità forte
° relazione identificativa
° "relazione di ereditarietà"
--------------------------------------------------------------
metodologia di progetto dello schema progettuale
Analisi testuale del documento della macroanalisi del cliente.
1) entità dominante e tutti i suoi attributi; ed eventuale relazione riflessiva
2) esame degli attributi per vedere se tra di essi ci sia qualche entità

lunedì 25 maggio 2009

DEVICE DISCOVERED.JAVA
import javax.bluetooth.*;
import javax.util.*;

public class DeviceDiscoverer implements DiscoveryListener {
Probe sonda;
Vector dispositivi=new Vector();
DiscoveryAgent agente;

public DeviceDiscoverer(Prpbe p) {
sonda=p;
try{
LocalDevice ld=LocalDevice.getLocalDevice();
agente=ld.getDiscoveryAgent();
sonda.updateStatus("Trova le periferiche bluetoot");
agente.startInquiry(DiscoveryAgent.giac,this);
} catch (Exception e){
e.printStackTrace();
}
}

public void deviceDiscovered(RemoteDevice remoteDevice,DeviceClass cod){
try {
dispositivi.addElement(remoteDevice);
sonda.updatestatus("Tovato: "+remoteDevice.getFriendlyName(true));
} catch (ExCeption e){
e.printStackTrace();
}
}

public void inquiryComleted(int discType){
String inqStatus=null;
if (discType==DiscoveryListener.INQUIRY.COMPLETED)
inqStatus="\n Inquiry completato";
else if(discType==DiscoveryListener.INQUIRY_TERMINATED)
inqStatus="\n Inquiry terminato";
else if(discType==DiscoveryListener.INQUIRY_ERROR)
inqStatus="\n Errore inquiry";

sonda.updateStatus(inqStatus);
sonda.f.addCommand(sonda.findS);
sonda.updateStaus("\n Premi Cerca servizi per trovare tutti i servizi disponibili");
}

public void servicesDiscovered(int transID, ServiceRecord[],servRecord){}

public void serviceSearchComplete(int transID, int respCode) {}

}
DEVICE DISCOVERED.JAVA
import javax.bluetooth.*;
import javax.util.*;

public class DeviceDiscoverer implements DiscoveryListener {
Probe sonda;
Vector dispositivi=new Vector();
DiscoveryAgent agente;

public DeviceDiscoverer(Prpbe p) {
sonda=p;
try{
LocalDevice ld=LocalDevice.getLocalDevice();
agente=ld.getDiscoveryAgent();
sonda.updateStatus("Trova le periferiche bluetoot");
agente.startInquiry(DiscoveryAgent.giac,this);
} catch (Exception e){
e.printStackTrace();
}
}

public void deviceDiscovered(RemoteDevice remoteDevice,DeviceClass cod){
try {
dispositivi.addElement(remoteDevice);
sonda.updatestatus("Tovato: "+remoteDevice.getFriendlyName(true));
} catch (ExCeption e){
e.printStackTrace();
}
}

public void inquiryComleted(int discType){
String inqStatus=null;
if (discType==DiscoveryListener.INQUIRY.COMPLETED)
inqStatus="\n Inquiry completato";
else if(discType==DiscoveryListener.INQUIRY_TERMINATED)
inqStatus="\n Inquiry terminato";
else if(discType==DiscoveryListener.INQUIRY_ERROR)
inqStatus="\n Errore inquiry";

sonda.updateStatus(inqStatus);
sonda.f.addCommand(sonda.findS);
sonda.updateStaus("\n Premi Cerca servizi per trovare tutti i servizi disponibili");
}

public void servicesDiscovered(int transID, ServiceRecord[],servRecord){}

public void serviceSearchComplete(int transID, int respCode) {}

}

venerdì 22 maggio 2009

PROBE.JAVA 22-05-2009
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.bluetooth.*;

public class Probe extends MIDlet implements CommandListener {
Form f;
DeviceDiscoverer dd;
//ServiceDiscoverer sd;

Command exit;
Command findD;
Command findS;
Command server;

public Probe() {
f=new Form("Sonda Bluetooth");
exit=new Command("Esci",Command.EXIT,0);/*PRIORITà PIù BASSA APPARE QUESTO PER APRIRE IL MENù*/
findD=new Command("Cerca Dispositivi", Command.OK,0);
findS=new Command("Cerca Servizi", Command.OK,0);
server=new Command("Server",Command.OK,0);

f.addCommand(exit);
f.addCommand(findD);
f.addCommand(findS);
f.addCommand(server);
f.setCommandListener(this);
}
/* punto di partenza dell'applicativo per far apparire la form e il primo oggetto: Start App*/
public void startApp() {
Display.getDisplay(this).setCurrent(f);
}


public void pauseApp() {}
public void destroyApp(boolean undconditional){}
public void commandAction(Command c,Displayable s) {
if(c.getLabel().equals("Esci")) {
notifyDestroyed();
}
}

}

martedì 28 aprile 2009

SIMPLE CHAT CLIENT 28-04-2009
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;


public class SimpleChatClient
{
JTextArea incoming;
JTextField outgoing;
BufferedReader reader;
PrintWriter writer;
Socket sock;

public void go() {
JFrame frame = new JFrame("Ludicrously Simple Chat Client");
JPanel mainPanel = new JPanel();
incoming = new JTextArea(15, 50);
incoming.setLineWrap(true);
incoming.setWrapStyleWord(true);
incoming.setEditable(false);
JScrollPane qScroller = new JScrollPane(incoming);
qScroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
qScroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
outgoing = new JTextField(20);
JButton sendButton = new JButton("Send");
sendButton.addActionListener(new SendButtonListener());
mainPanel.add(qScroller);
mainPanel.add(outgoing);
mainPanel.add(sendButton);
frame.getContentPane().add(BorderLayout.CENTER, mainPanel);
setUpNetworking();

Thread readerThread = new Thread(new IncomingReader());
readerThread.start();

frame.setSize(650, 500);
frame.setVisible(true);

}

private void setUpNetworking() {
try {
sock = new Socket("192.168.3.25", 5000);
InputStreamReader streamReader = new InputStreamReader(sock.getInputStream());
reader = new BufferedReader(streamReader);
writer = new PrintWriter(sock.getOutputStream());
System.out.println("networking established");
}
catch(IOException ex)
{
ex.printStackTrace();
}
}

public class SendButtonListener implements ActionListener {
public void actionPerformed(ActionEvent ev) {
try {
writer.println(sock.getLocalAddress().getHostAddress()+" : "+outgoing.getText());
writer.flush();

}
catch (Exception ex) {
ex.printStackTrace();
}
outgoing.setText("");
outgoing.requestFocus();
}
}

public static void main(String[] args) {
new SimpleChatClient().go();
}

class IncomingReader implements Runnable {
public void run() {
String message;
try {
while ((message = reader.readLine()) != null) {
System.out.println("client read " + message);
incoming.append(message + "\n");
}
} catch (IOException ex)
{
ex.printStackTrace();
}
}
}
}

lunedì 27 aprile 2009

CLIENTE.JAVA 27-04-2009
import java.io.*;
import java.net.*;
public class Cliente{
String sentence;
String modifiedSentence;
Socket s;
BufferedReader inFromUser;
DataOutputStream outToServer;
BufferedReader inFromServer;
public Cliente (){
try{
s=new Socket("192.168.3.25",60000);
inFromUser=new BufferedReader(new InputStreamReader(System.in));
outToServer=new DataOutputStream(s.getOutputStream());
inFromServer=new BufferedReader(new InputStreamReader(s.getInputStream()));
sentence= inFromUser.readLine();
outToServer.writeBytes(sentence + '\n');
modifiedSentence= inFromServer.readLine();
System.out.println(modifiedSentence);
} catch (IOException ex){
ex.printStackTrace();
}
}
public static void main(String[] args){
Cliente c=new Cliente();
}
}

martedì 17 marzo 2009


Terza esercitazione
TERZO FILE nomi ed eta' (scusate per i dati un po' veloce)
#include
int numeri[10];
int numeri1[10];
int i=0;
char nome[30];
char nomi[10][30];
char nomi1[10][30];
FILE *f1;
void carica (){
printf("digita dieci volte nome e eta' \n");
for (i=0;i<10;i++){
scanf("%s %d",nomi[i],&numeri[i]);
}
}
void scrivi(){
f1=fopen("filenumeri.txt","w");
for (i=0;i<10;i++){
fprintf(f1,"%s %d\n",nomi[i],numeri[i]);
}
fclose(f1);
}
void leggi(){
f1=fopen("filenumeri.txt","r");
for(i=0;i<10;i++){
fscanf(f1,"%s %d",nomi1[i],&numeri1[i]);
}
fclose(f1);
}
void stampa(){
for (i=0;i<10;i++){
printf("%s %d\n",nomi1[i], numeri[i]);
}
}
main(){
carica();
scrivi();
leggi();
stampa();
}

2° Esercitazione in classe
SECONDO FILE
#include
int numeri[10];
int numeri1[10];
int i=0;
char nome[30];
char nomi[10][30];
char nomi1[10][30];
FILE *f1;
void carica (){
printf("digita dieci nomi\n");
for (i=0;i<10;i++){
scanf("%s",nomi[i]);
}
}
void scrivi(){
f1=fopen("filenumeri.txt","w");
for (i=0;i<10;i++){
fprintf(f1,"%s\n",nomi[i]);
}
fclose(f1);
}
void leggi(){
f1=fopen("filenumeri.txt","r");
for(i=0;i<10;i++){
fscanf(f1,"%s",nomi1[i]);
}
fclose(f1);
}
void stampa(){
for (i=0;i<10;i++){
printf("%s\n",nomi1[i]);
}
}
main(){
carica();
scrivi();
leggi();
stampa();
}
Esercitazione in classe
PRIMO FILE
#include
int numeri[10];
int numeri1[10];
int i=0;
FILE *f1;
void caricaNumeri(){
printf("digita dieci numeri interi\n");
for (i=0;i<10;i++){
scanf("%d",&numeri[i]);
}
}
void scriviNumeri(){
f1=fopen("filenumeri.txt","w");
for (i=0;i<10;i++){
fprintf(f1,"%d\n",&numeri[i]);
}
fclose(f1);
}
void leggi(){
f1=fopen("filenumeri.txt","r");
for(i=0;i<10;i++){
fscanf(f1,"%d",&numeri1[i]);
}
fclose(f1);
}
void stampa(){
for (i=0;i<10;i++){
printf("%d\n",numeri1[i]);
}
}
main(){
caricaNumeri();
scriviNumeri();
leggi();
stampa();
}

lunedì 9 marzo 2009


IMMAGINE RELATIVA AL GIOCO SULLE PROVINCE
GIOCO SULLE PROVINCE ITALIANE


import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import java.awt.event.*;
public class Provincia2 {
int punti=0;
JFrame provincia1=new JFrame("GiocoProvince");
String[] regioni=new String[100];
int[] numeroProvince=new int[100];
Scanner in;
JLabel l1=new JLabel("Regione");
JLabel l2=new JLabel("Province");
JLabel l3=new JLabel("Risultato");
JLabel l4=new JLabel("Risposta_Corretta");
JLabel l5=new JLabel("Punteggio_Finale");
JTextField t1=new JTextField();
JPanel bottoni=new JPanel();
Pannello p=new Pannello();
JTextField t2=new JTextField();
JButton b1=new JButton("Avanti");
JTextField t3=new JTextField();
JButton b2=new JButton("Invio");
JTextField t4=new JTextField();
JTextField t5=new JTextField();
int risposta=0;
int i=0;
public void caricaRegioniNumeroProvince() throws IOException{
String letta;
in=new Scanner(new FileReader("province.txt"));
int letti=1;
int i=0;
int j=0;
while ( in.hasNext()){
letta=in.next();
if (letti%2!=0) {
regioni[i]=letta;
i++;
}else {
numeroProvince[j]=Integer.parseInt(letta);
j++;
}
letti++;
}
}
public void azzeraArray(){
for (int i=0; iregioni[i]=null;
}
for (int i=0; inumeroProvince[i]=0;
}
}
public void creaForm1(){
provincia1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
provincia1.setSize(800,200);
p.setLayout(new GridLayout(2,5));
bottoni.setLayout(new GridLayout(1,2));
bottoni.add(b1);
bottoni.add(b2);
p.add(l1);
p.add(l2);
p.add(l3);
p.add(l4);
p.add(l5);
p.add(t1);
p.add(t2);
p.add(t3);
p.add(t4);
p.add(t5);
provincia1.add(p,BorderLayout.NORTH);
provincia1.add(bottoni,BorderLayout.SOUTH);
b1.addActionListener(new Avanti());
provincia1.setVisible(true);
b2.addActionListener(new Invio());
}
public class Pannello extends JPanel{
public void paintComponent(Graphics g){
}
}
public class Avanti implements ActionListener{
public void actionPerformed(ActionEvent event){
t1.setText(regioni[i]);
t2.setText("");
t3.setText("");
t4.setText("");
t5.setText("");
i++;
if ((i>=regioni.length)(regioni[i]==null)){
i=0;
String pf=Integer.toString(punti);
t5.setText(pf);
}
}
}
public static void main(String[] args) {
Provincia2 g=new Provincia2();
g.creaForm1();
g.azzeraArray();
try {
g.caricaRegioniNumeroProvince();
}
catch (IOException e){
System.out.println(e);
System.out.printf("Correggi il problema e riprova\n");
}
catch (NoSuchElementException e){
System.out.println(e);
System.out.printf("end of file raggiunto\n");
}
}
public class Invio implements ActionListener{
public void actionPerformed(ActionEvent event){
risposta=Integer.parseInt(t2.getText());
if (risposta==numeroProvince[i-1]){
t3.setText("bravo hai preso 2 punti");
punti+=2;
} else {
t3.setText("risposta errata");
String np=Integer.toString(numeroProvince[i-1]);
t4.setText(np);
}
}
}
}

venerdì 6 febbraio 2009

CALCOLATRICE
Calcolatrice 1
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Calcolatrice1{
JLabel l1=new JLabel("primo numero");
JLabel l2=new JLabel("secondo numero");
JTextField t1=new JTextField();
JTextField t2=new JTextField();
JButton b1=new JButton("+");
JButton b2=new JButton("-");
JButton b3=new JButton("*");
JButton b4=new JButton("/");
JTextField risultato=new JTextField();
public void creaForm1(){
JFrame calcolatrice2=new JFrame("Calcolatrice");
calcolatrice2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
calcolatrice2.setSize(300,300);
calcolatrice2.setLayout(new GridLayout(5,5));
calcolatrice2.add(l1);
calcolatrice2.add(t1);
calcolatrice2.add(l2);
calcolatrice2.add(t2);
calcolatrice2.add(b1);
calcolatrice2.add(b2);
calcolatrice2.add(b3);
calcolatrice2.add(b4);
calcolatrice2.add(risultato);
b1.addActionListener(new OperazionePiu());
calcolatrice2.setVisible(true);
b2.addActionListener(new OperazioneMeno());
calcolatrice2.setVisible(true);
b3.addActionListener(new OperazionePer());
calcolatrice2.setVisible(true);
b4.addActionListener(new OperazioneDiviso());
calcolatrice2.setVisible(true);
}
public class OperazionePiu implements ActionListener{
public void actionPerformed(ActionEvent event){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int somma=a+b;
String r=Integer.toString(somma);
risultato.setText(r);
}
}
public class OperazioneMeno implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int sottrazione=a-b;
String r=Integer.toString(sottrazione);
risultato.setText(r);
}
}
public class OperazionePer implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int moltiplicazione=a*b;
String r=Integer.toString(moltiplicazione);
risultato.setText(r);
}
}
public class OperazioneDiviso implements ActionListener{
public void actionPerformed(ActionEvent e){
String testo1=t1.getText();
String testo2=t2.getText();
int a=Integer.parseInt(testo1);
int b=Integer.parseInt(testo2);
int divisione=a/b;
String r=Integer.toString(divisione);
risultato.setText(r);
}
}
}
Calcolatrice 2
import javax.swing.*;
public class Calcolatrice2 {
public void creaForma1() {
JFrame calcolatrice2=new JFrame("finestra IVL");
finestra1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
finestra1.setSize(640,480);
finestra1.setVisible(true);
}
}
+

Testa Calcolatrice
public class TestaCalcolatrice {
public static void main (String []args){
Calcolatrice1 f=new Calcolatrice1();
f.creaForm1();
}
}
Alcuni esempi di operazioni aritmetiche.

martedì 13 gennaio 2009

Continuo dell'esercizio di Martedì 13/01/2009
Aggiungendo al Programma già svolto:

g.fillRect(clickx,clicky,10,10)

si avrà segnalato con un puntino dove è stato cliccato il mouse:

Esercizio svolto in classe Martedì 13/01/2009

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestaMouseInput {
private JFrame f=new JFrame ("Testa input mouse");
private Pannello p=new Pannello();
private Point sPoint=new Point ();
private Point ePoint=new Point ();
public TracciaLinea(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.add(p);
f.addMouseListener(new Linea());
f.addMouseMotionListener(new Linea1());
f.setVisible(true);
}
public class Pannello extends JPanel{
public void paintComponent(Graphics g){
g.drawLine(sPoint.x,sPoint.y,ePoint.x,ePoint.y);
}
}
public static void main(String[] args){
TracciaLinea t=new TracciaLinea();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
sPoint.x=e.getX()-9;
sPoint.y=e.getY()-34;
}
public void mouseReleased(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
public class Linea1 implements MouseMotionListener{
public void mouseDragged(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
public void mouseMoved(MouseEvent e){}
}
}


Al clic del mouse il programma darà le cordinate del punto cliccato.

lunedì 12 gennaio 2009

Esercizio svolto in classe venerdì 10/01/2009
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TracciaLinea {
private JFrame f=new JFrame ("tracciamento linee rette");
private Pannello p=new Pannello();
private Point sPoint=new Point ();
private Point ePoint=new Point ();
public TracciaLinea(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
f.add(p);
f.addMouseListener(new Linea());
f.addMouseMotionListener(new Linea1());
f.setVisible(true);
}
public class Pannello extends JPanel{
public void paintComponent(Graphics g){
g.drawLine(sPoint.x,sPoint.y,ePoint.x,ePoint.y);
}
}
public static void main(String[] args){
TracciaLinea t=new TracciaLinea();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
sPoint.x=e.getX()-9;
sPoint.y=e.getY()-34;
}
public void mouseReleased(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
public class Linea1 implements MouseMotionListener{
public void mouseDragged(MouseEvent e){
ePoint.x=e.getX()-9;
ePoint.y=e.getY()-34;
f.repaint();
}
public void mouseMoved(MouseEvent e){}
}
}