giovedì 3 dicembre 2009

Mappa concettuale

MACRO ANALISI
Gruppo Informatica
Gestione Palestra
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 (di tipo multivalore ovvero che può averne più di una), 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 .
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ì 19 novembre 2009

Gruppi 5ale

Riccardo Lugani, Giulio Anselmi, David Bazzucchi - Gestione Palestra

giovedì 28 maggio 2009

Primo programma sul controllo di un cellulare con bluetooth

SVOLTO IN CLASSE


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ì 17 marzo 2009

Esecuzione del programma nel DOS


3° Esercitazione in classe 17 \ 03\ 09 terzofile.c

#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 età \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],numeri1[i]);
}
}
main(){
carica();
scrivi();
leggi();
stampa();
}

Esecuzione nel DOS


2°Esercitazione in classe 17 \ 03\ 09 secondofile.c

#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();}

Esecuzione del programma nel DOS


Esercitazione in classe 17 \ 03\ 09 primofile.c

#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();}

domenica 15 marzo 2009

Fine Programma

La fine del programma in cui è visualizzata l' ultima regione e il punteggio finale,dopo l' ultimo click sul bottone invio.

Inizio Programma

L' immagine iniziale del programma dopo il click sul pulsante avanti per azionare il gioco

Il gioco sulle province italiane

Il gioco completato, in cui manca solo la visualizzazione delle bandiere delle varie regioni


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; i regioni[i]=null;
}
for (int i=0; i numeroProvince[i]=0;
}
}
public void creaForm1(){
provincia1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
provincia1.setSize(800,500);
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ì 27 febbraio 2009


Il programma eseguito nel DOS
\*Il programma finito da applicare su grafica*\


import java.io.*;
import java.util.*;
public class GiocoProvince {
String[] regioni=new String[100];
int[] numeroProvince=new int[100];
Scanner in;
public void azzeraArray(){
for (int i=0; i regioni[i]=null;
}
for (int i=0; i numeroProvince[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 stampaRegioniNumeroProvince(){
for (int i=0; i<100; i++){
System.out.println(regioni[i]);
}
for (int i=0; i<100; i++){
System.out.println(numeroProvince[i]);
}
}
public void gioca(){
int punti=0;
int i=0;
Scanner tastiera=new Scanner(System.in);
int risposta;
while ((regioni[i]!=null) && (i System.out.printf("Quale e' il numero delle province di: %s?\n",regioni[i]);
risposta=tastiera.nextInt();
if (risposta==numeroProvince[i]){
System.out.println("bravo hai preso 2 punti");
punti+=2;
} else {
System.out.println("risposta errata, riprova");
risposta=tastiera.nextInt();
if (risposta==numeroProvince[i]){
System.out.println("adesso vai bene hai preso 1 punto");
punti+=1;
} else {
System.out.println("sei un somaro, la risposta giusta e'"+numeroProvince[i]);
}
}
i++;
}
System.out.println("il punteggio ottenuto è di punti : " +punti);
}



public static void main(String[] args) {
GiocoProvince g=new GiocoProvince();
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");
}
g.stampaRegioniNumeroProvince();
g.gioca();
}
}

giovedì 19 febbraio 2009

Il programma iniziale del nuovo progetto assegnatoci su java :

import java.util.Scanner;
import java.io.*;
public class Scanner1{

public static void main(String[] args) throws IOException{
Scanner in=new Scanner(new FileReader("province.txt"));
String a;
int b;
while (in.hasNext()){
a=in.next();
b=in.nextInt();
System.out.println(a);
System.out.println(b);
}
}
}


\* Si utilizza il file "province.txt" (testo seguente) che interagisce con il programma grazie ai comandi stabiliti \*

Abruzzo 4 Basilicata 2 Calabria 5 Campania 5 "Emilia Romagna" 9 "Friuli Venezia Giulia" 4 Lazio 5 Liguria 4 Lombardia 11 Marche 4 Molise 2 Piemonte 8 Puglia 5 Sardegna 8 Sicilia 8 Toscana 10 " Trentino Alto Adige" 2 Umbria 2 " Valle d'Aosta" 1 Veneto 7

venerdì 6 febbraio 2009


Si ottiene questo nuovo layout cambiando la riga 18,
in " calcolatrice2.setLayout(new GridLayout(5,5));"

giovedì 5 febbraio 2009

Il layout della calcolatrice da perfezionare in seguito


Il terzo ed ultimo pezzo che serve per mandare in esecuzione il programma


public class TestaCalcolatrice {
public static void main (String []args){
Calcolatrice1 f=new Calcolatrice1();
f.creaForm1();
}
}
Il secondo pezzo del programma dove si determinano le operazioni che eseguirà la calcolatrice


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(4,4));
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);
}
}
}
Il primo pezzo del programma per disegnare una calcolatrice

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);
}
}

giovedì 22 gennaio 2009

Questo è il risultato del precedente programma, nel quale c'è un rettangolo rosso fisso
il quale, passandoci sopra in senso orizzontale e solo con il tracciamento di un linea
entro il lato superiore e quello inferiore, cambia di colore (random).
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Interseca1 {
private JFrame f=new JFrame("Interseca retta con rettangolo");
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 Interseca1(){
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setSize(500,500);
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.y intersecato=true;
}
}
public class Linea implements MouseListener{
public void mouseClicked(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
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;
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){
Interseca1 in1=new Interseca1();
}
}

martedì 13 gennaio 2009

Il risultato cambia per l' aggiunta di questo comando
g.fillRect(clickx.clicky,25,25);
Aggiornamento del precedente programma

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestaMouseInput {
private JFrame f=new JFrame("tracciamento linee rette");
private Panello p=new Panello();
private Point sPoint=new Point();
private Point ePoint=new Point();
private int clickx;
private int clicky;
public TestaMouseInput(){
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 Panello extends JPanel{
public void paintComponent(Graphics g){
String xx="mouse cliccato"+clickx+","+clicky;
g.drawString(xx,10,20);
g.fillRect(clickx,clicky,25,25);
}
}
public static void main(String[] args){
TestaMouseInput t=new TestaMouseInput();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
clickx=e.getX()-9;
clicky=e.getY()-34;
f.repaint();
}
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){}
}
}
Ecco il risultato del precedente programma




Il programma svolto il 13\01\09

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TestaMouseInput {
private JFrame f=new JFrame("tracciamento linee rette");
private Panello p=new Panello();
private Point sPoint=new Point();
private Point ePoint=new Point();
private int clickx;
private int clicky;
public TestaMouseInput(){
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 Panello extends JPanel{
public void paintComponent(Graphics g){
String xx="mouse cliccato"+clickx+","+clicky;
g.drawString(xx,10,20);
}
}
public static void main(String[] args){
TestaMouseInput t=new TestaMouseInput();
}
public class Linea implements MouseListener{
public void mousePressed(MouseEvent e){
clickx=e.getX();
clicky=e.getY();
f.repaint();
}
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){}
}
}