Visualizzazione post con etichetta compiti. Mostra tutti i post
Visualizzazione post con etichetta compiti. Mostra tutti i post

mercoledì 17 febbraio 2010

HTLM

Ecco una parte del codice fatto a scuola in HTLM e CSS:

_________________________________________





Pagina 1:

<htlm>
  <head>
    <title>La Mia Pagina HTLM</title>
    <style>
    body{
      font-size: 12px;
      line-height: 18px;
      background: green;
      background-image:url(halo.jpg);      
      background-repeat: repeat-y;

      }
#pagina{margin-left: 10px; margin-right: 10px; margin-top: 50px; background-color: white;}
  
#header{border: solid 5px red; font-size: 40px; height:700px; padding:5;}
#centro{border: solid 5px yellow; height:200px; padding:20;}
#footer{border: solid 5px blue;}
   #sinistra{float:left;}  
   #destra{float:right;}  
  select{font-size: 40px;}
    </style>
    <body>
    <!-- COMMENTO -->
<div id="pagina">
  
<div id="header">
     <h1>Si inizia a studiare HTLM</h1>
      <a href="pagina2.html">vai a pagina 2</a> 
<p>Oggi abbiamo iniziato il nuovo modulo</p>
                
             <div id="sinistra">
              <image src="halo.jpg" width="900px" height="500px" />
             </div>
             <div id="destra">
              <image src="haloreach.jpg" width="300px" height="500px" />
             </div> 
</div>
    
<div id="centro">
    
        <div id="sinistra">
          <h2>HTLM, pagine:</h2>
          <ol>
            <li>p1</li>
            <li>p2</li>
            <li>p3</li>
            <li>p4</li>
            <li>p5</li>
          </ol>
         </div> 
         
      <div id="destra">  
        <h2>Che X ti piace?</h2>
         <select>
           <option>x1</option>
           <option>x2</option>
           <option>x3</option>
           <option>x4</option>
           <option>x5</option>
         </select>
</div>
     
</div>
    
<div id="footer">
     <h3>con h3</h3>
<p>il fondo della pagg</p>
    
</div>
    
</div>
    </body>
  </head>
</htlm>
_____________________________________________


Pagina 2:



<html>
    <head>
            <title>La mia seconda pagina.....in quest anno!</title>
            <style>
            table{border: thin solid black;border-collapse: collapse;padding:20;}
            td,th{border: thin dotted black;padding:20;}
            th{background-color:#66FFFF}
            </style>
            <body>
            <div id="pagina">
                    <div id="tabellina">
                      <table>
                              <tr> <th>Studenti</th><th>età</th></tr>
                              <tr> <th>Cavalierini</th><th>9 maggio 1991</th></tr>
                              <tr> <th>Ceccarini</th><th>25 maggio 1990</th></tr>
                              <tr> <th>Ceccarini</th><th>7 gennaio 1990</th></tr>
                              <tr> <th>Palazzetti</th><th>26 dicembre 1991</th></tr>
                      </table>
                    </div>
                   <a href="pagina1.html">vai a pagina 1</a> 
            </div>
           </body>
    </head>
</html>


domenica 6 dicembre 2009

SQLite e JAVA

Per semplificare l'interfaccia tra SQLite e Java ho scritto una piccola libreria composta da 3 classi:




-GetSQLDriver
-SQLib
-SQLEasy

Documentazione:

//libreria carica driver SQL
GetSQLDriver:

il metodo load carica il driver SQL
   driver= cartella dove si trova il driver (default="org.sqlite.JDBC")
  
   public static void load(String driver="org.sqlite.JDBC");


//Libreria gestione Database
SQLib:

il costruttore
   name=indicato il data base da caricare
   public SQLlib(String name);


metodo che chiude il database
   public void SQLClose();


metodo per modificare il db con istruzioni SQLite
   ed=comando SQLite
   public void addMod(String ed);


motodo che restituisce un dato dal DB, la natura del dato va specificata in SQLite
  ed=comando SQLite
  ResultSet= lista valori restituiti
  public ResultSet getMod(String ed)




//Libreria gestione Database, semplificata
SQLEasy:

il costruttore
   name=indicato il data base da caricare
   public SQLEasy(String name);


metodo che chiude il database
   public void SQLClose();


metodo per modificare il db con istruzioni SQLite
   ed=comando SQLite
   public void addMod(String ed);


motodo che restituisce un dato dal DB, la natura del dato va specificata in SQLite
  ed=comando SQLite
  ResultSet= lista valori restituiti
  public ResultSet getMod(String ed)

motodo veloce per creare una tabella
    a=nome tabella
    b=attributi tabella (in SQLite)
    public void crateTable(String a,String b);

motodo veloce per inserire i dati in una tabella
    a=nome tabella
    b=valori da inserire nella tabella (in SQLite)
    public void putValues(String a,String b);

motodo veloce per eliminare una tabella
    a=nome tabella
    public void deleteTable(String a);

motodo veloce per eliminare una riga
    a=nome tabella
    b=caratteristiche che ha il records da eliminare (in SQLite)
    public void deleteRecords(String a,String b);

motodo veloce per conoscere i dati di una tabella
    nTabella=nome della tabella
    nColonne[]=array contenente i nomi delle colonne
    records=valore boolean
         -true verrà restituita una array a due dimenzioni
               dove la prima indicherà il records ed la seconda i dati in esso contenuti


         -false verrà restituita una array a due dimenzioni
               dove la prima indicherà la colonna ed la seconda i dati in essa contenuti

    public String[][] getArrayFrom(String nTabella,String[] nColonne,boolean records=true)







Esempio:


//importo le classi per gestire SQLite
import java.sql.*;

class DbTest{
public DbTest (){
  GetSQLDriver.load(); // carico il driver
  SQLEasy test1=new SQLEasy("Test1.db"); // carico db

  //creo la tabella ed immetto i valori in essa
  test1.crateTable(“tab1”,”id int, nome char[250] ”);
  test1.putValues(“tab1”,”0,’ciao0’ ”);
  test1.putValues(“tab1”,”1,’ciao1’ ”);
  test1.putValues(“tab1”,”2,’ciao2’ ”);

 
  String[] t={“id”,”nome”};
   //stampo (tipo righe)
  printArrayRecords(
                                test1.getArrayFrom("uno",h),”Numero | Nome” ," | ","----------");
                                 );

  //cancello la riga 1
  test1.deleteRecords(“tab1”,”id=1”);


   //stampo (tipo colonne)
  printArrayColonne (
                                test1.getArrayFrom("uno",h,false),”Numero | Nome” ," | ","----------");
                                 );

  //cancella la tabella
  public void deleteTable(“tab1”);

  //chiudo il database
  test1.SQLClose()

}

public static void main(String[] args){
new DbTest();
}

 public void printArrayRecords(String[][] array,String x,String sv,String so){
    if(array!=null){
    System.out.println(x);
        for(int j=0;j<array.length;j++){
          for(int i=0;i<array[j].length;i++){ 
            System.out.print(array[j][i]+sv);
           }
          System.out.println("");
          System.out.println(so);
        }  
        }
    }
 
  DbTest
  public void printArrayColonne(String[][] array,String x,String sv,String so){
    if(array!=null){
    System.out.println(x);
        for(int j=0;j<array[0].length;j++){
          for(int i=0;i<array.length;i++){ 
            System.out.print(array[i][j]+sv);
           }
          System.out.println("");
          System.out.println(so);
        }  
        }
    }
}


giovedì 3 dicembre 2009

STRUTTURA DATA BASE

Ecco a lei professore la struttura del database creata da pampanelli andrea e me

mercoledì 25 novembre 2009

COMPITI

Ecco i copiti da lei ass.
perfavore se può controlli il 9... che molto probabilmente è sbagliato...





ESERCIZIO 13 pag233


Materiali (Codice, Descrizione, Fornitore, Prezzo, IndirizzoFornitore, Quantità, PosizioneInMagazzino, Acciaio, NomeAcciaio, ResistenzaAcciaio, NomeFornitore)


Dipendenze

Acciaio -->(NomeAcciaio, ResistenzaAcciaio) //2rN

NomeAcciaio --> ResistenzaAcciaio //3rN

Acciaio --> ResistenzaAcciaio (transitiva) //3rN


Fornitore
--> (IndirizzoFornitore, NomeFornitore) //2rN




Tabelle


Acciaio(Acciaio, NomeAcciaio) //2rN e 3fN

TipoAcciao(NomeAcciaio, ResistenzaAcciaio) //3fN

Fornitore (Fornitore, IndirizzoFornitore, NomeFornitore) //2rN

Materiali(Codice, Descrizione, Prezzo, IndirizzoFornitore,

Quantità, PosizioneInMagazzino, Acciaio, Fornitore) //2rN






ESERCIZIO 12 pag233


Scrivo la tabella di base:

Libro (CodiceDelLibro, NomeAutore, TitoloLibro, NomeEditore, IndirizzoEditore, Prezzo, AnnoEdizione)

Determino la chiave primaria:

Libro (CodiceDelLibro, NomeAutore, TitoloLibro, NomeEditore, IndirizzoEditore, Prezzo, AnnoEdizione)

Normalizzazione:


1fN:

Non vi sono dati ripetuti.

2fN:

Trovo dipendenze:

IndirizzoEditore --> nomeEditore

//siccome l’indirizzo può avere solo un editore, quindi solo quel nome, ed l’indirizzo è un dato univoco, mentre possono esistere editori con nomi uguali

3fN:

non ci sono dipendenze transitive


tabelle finali


Editore(IndirizzoEditore, nomeEditore)

Libro (CodiceDelLibro, NomeAutore, TitoloLibro, Prezzo, Anno Edizione, IndirizzoEditore)





Esercizio 11 pag233


//////////////

Tabella 1:


Esami1(Corso, Matricola, Data, Voto, NomeCorso)


Dipendenze:


(Matricola, Corso) --> Voto

Corso --> NomeCorso


Tabelle:


Corso(Corso, NomeCorso)

Matricola(Matricola, Corso, Voto)

Esami1(Corso, Matricola, Data)

///////////////

Tabella 2:


Esami2(Corso, Matricola, Data, VotoInCifre, VotoInLettere)

Dipendenze:


( Matricola, Corso )-->(VotoInCifre, VotoInLettere)


Proprietà transitiva:


VotoInCifre --> VotoInLettere

VotoInLettere --> VotoInCifre

( Matricola, Corso ) --> VotoInLettere

( Matricola, Corso ) --> VotoInCifre

Per togliere la 3° forma normale, siccome VotoInCifre e VotoInLettere possono essere sia determinanti che determinate, scelgo come determinante VotoInCifre

Tebelle :


Matricola(Matricola, Corso, VotoInCifre)

VotoCifre(VotoInCifre, VotoInLettere)

Esami2(Corso, Matricola, Data)






ESERCIZIO 10 pag233



Anagrafica (Nome, Cognome, Matricola, Nascita, Indirizzo, CodiceDipartimento, NomeDipartimento, IndirizzoDipartimento, Stipendio)


Dipendenze:



CodiceDipartimento --> (NomeDipartimento, IndirizzoDipartimento)


Tabelle:



Dipartimento(codiceDipartimento, NomeDipartimento, IndirizzoDipartimento)

Anagrafica (Matricola , Nome, Cognome, Nascita, Indirizzo, CodiceDipartimento)




ESERCIZIO 9 pag233



Tabella1(NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroTelefonicoStudente, viaStudente, numeroCivicoStudente, cittaResidenzaStudente, cittaDiNascitaStudente, VotoMateria1, VotoMateria2, VotoMateria3, VotoMateria4, VotoMateria5, VotoMateria6, VotoMateria7, VotoMateria8, VotoMateria9)


Tabella:


Tabella1(NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroTelefonicoStudente, viaStudente, numeroCivicoStudente, cittaResidenzaStudente, cittaDiNascitaStudente, VotoMateria1, VotoMateria2, VotoMateria3, VotoMateria4, VotoMateria5, VotoMateria6, VotoMateria7, VotoMateria8, VotoMateria9)

1,2 Normalizazione


Studente(NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroTelefonicoStudente, viaStudente, numeroCivicoStudente, cittaResidenzaStudente, cittaDiNascitaStudente, Materia_id )

Materia(id, VotoMateria1, VotoMateria2, VotoMateria3, VotoMateria4, VotoMateria5, VotoMateria6, VotoMateria7, VotoMateria8, VotoMateria9)

Oppure:


Tabella:

abbiamo 2 entità materia e voti: quindi 2 tabelle

associate Molti a Molti

Studente(NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroTelefonicoStudente, viaStudente, numeroCivicoStudente, cittaResidenzaStudente, cittaDiNascitaStudente)


Materia(nomeMateria,votoMateria)




Associazioni:


Valutato(nomeMateria, NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroCivicoStudente )



Studente(NomeStudente, DataDiNascitaStudente, indirizzoStudente, numeroTelefonicoStudente, viaStudente, numeroCivicoStudente, cittaResidenzaStudente, cittaDiNascitaStudente)



Materia(nomeMateria,votoMateria)

mercoledì 21 ottobre 2009

COMPITI

Ecco l'esercizi datici da lei prof .:

martedì 12 maggio 2009

Cubes Game

Il gioco non è finto; ancora, ma aleno sono riuscito a collegare i due cellulare ed a far muovere i cubetti.


(p.s. c'è un errore, e cioé il Thread addetto ad l'invio dei dati è lo stesso che che aspetta la ricezione , di conseguenza solo quando uno muove il suo cubetto si aggiorna la posizione del cubetto nemico)

ciao notte a tutti xD!!! 

(edit: il problema è stato aggirato mettendo nel loop, sia l'invio dei dati che la ricezione... )




sabato 7 marzo 2009

Progetto Informatica : Quiz Capitali

Programma in esecuzione:



Struttura:

Componenti gruppo:

   Gabriele Di Bari – capo gruppo
   Stefano Ceccarini
   Stefano Biscarini
   Alessandro Favilli
   Michele Baldassarri

Obiettivo del Progetto:

Realizzare un programma, simile ad un quiz e che funzioni nel seguente modo: Nella schermata del gioco dovrà essere presente un’immagine della capitale di cui si dovrà indovinare il nome,seguito dal nome della nazione, poi ancora, uno spazio in cui l’utente inserirà la risposta ed infine eventuali bottoni per iniziare, andare avanti e finire il gioco.

Suddivisione dei compiti:

  • Gabriele Di Bari: Programmatore, leder gruppo, addetto alla suddivisione del lavoro all’interno del gruppo, aiutante per la documentazione.
  • Michele Baldassarri: Documentazione e redattore della relazione.
  • Stefano Ceccarini: Addetto alla creazione del data base, ha suddiviso i compiti per tale realizzazione.

  • Favilli Alessandro: Addetto alla ricerca immagini, ed supporto per la realizzazione del data base.
  • Stefano biscarini: Ricerca immagini per il data base.




Tempo di realizzazione:

  Programmazione: 7 ore (circa).
  Creazione data base: 4 ore (circa).
  Documentazione: 6 ore (circa).

PDF. con codice sorgente

domenica 8 febbraio 2009

Calcolatrice



Dopo una giornata di lavoro, sono riuscito a finire la calcolatrice, sulle 500 righe di codice, Purtroppo non rispetta le specifiche richieste siccome, non avevo capito che doveva essere a 2 Display, in realtà utilizzare un solo Display è risultato molto più complicato del previsto, gestire i dati inseriti dall’utente è molto più difficile e complicato, ma credo proprio di esserci riuscito

Con questa calcolatrice si possono fare, moltiplicazione, divisione, sottrazione, divisione, elevare un numero ad una certa potenza (scelta dall’utente), e la radice quadrata ed il reciproco, il funzionamento è identico alla calcolatrice di windows, e cioè premendo ad esempio
1*2*3 al 2 viene stampato il risultato, idem per le altre operazioni, in oltre con l’uguale premendolo una volta si ha il risultato, ripremendolo si ripete la stessa operazione
Inoltre come richiesto dal professore di laboratorio ho inserito una “tabella” numerica per inserire i dati, ma volendo si può usare anche la tastiera normale. Ed ho tolto la possibilità all’utente di inserire lettere nel campo Text (da me chiamato rArea1).

Bene ora che mi sono letteralmente fuso il cervello, credo che spengerò immediatamente il pc, la saluto prof. Nata.

http://rapidshare.com/files/195648861/Calcolatrice.java.html

mercoledì 21 gennaio 2009

Compito test

Dopo aver provato la versione matematica ho lasciato perdere XD

intanto pubblico la versione funzionante che ho fatto in 10 minuti l'altro ieri XD




























Ecco la versione malforme che non funge... XD

http://rapidshare.com/files/187251270/RecInt.java.html

venerdì 9 gennaio 2009

Tante (3000) Linee



Codice: (premerci sopra per visualizzarlo completamente)

martedì 16 dicembre 2008

ALBERO DI NATALE

LUCI SPENTE:

LUCI ACCESE:


Codice:

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
public class AlberoNatale{
  private JFrame albero;
  private PannelloAlbero a;
  private JButton accende;
  private JButton spegne;
  private JPanel pannelloBottoni=new JPanel(new GridLayout(2,1));
  private int on_off=0;
  private java.util.Timer pallineAccese;
  public AlberoNatale(){
  albero=new JFrame("Albero Natale 2008");
  albero.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  albero.setSize(500,500);
  a=new PannelloAlbero();
  accende=new JButton("accendi le lampadine");
  spegne=new JButton("spegni le lampadine");
  pannelloBottoni.add(accende);
  pannelloBottoni.add(spegne);
  albero.add(a,BorderLayout.CENTER);
  albero.add(pannelloBottoni,BorderLayout.SOUTH);
  accende.addActionListener(new BottoneAccende());
  spegne.addActionListener(new BottoneSpegne());
  albero.setVisible(true);
   
  }
   
  public class PannelloAlbero extends JPanel{
  public void paintComponent(Graphics g){
  Graphics g2d=(Graphics2D) g;
  Image alberoImmagine=new ImageIcon("albero.jpg").getImage();
  g.drawImage(alberoImmagine,0,0,albero.getWidth(),albero.getHeight(),null);
  //prima fila
  g.setColor(getColore());
  g.fillOval(250,350,25,25);
  g.setColor(getColore());
  g.fillOval(250,300,25,25);
  g.setColor(getColore());
  g.fillOval(250,250,25,25);
  g.setColor(getColore());
  g.fillOval(250,200,25,25);
  g.setColor(getColore());
  g.fillOval(250,150,25,25);
  g.setColor(getColore());
  g.fillOval(250,100,25,25);
  g.setColor(getColore());
  g.fillOval(250,60,25,25);
  //seconda fila
  g.setColor(getColore());
  g.fillOval(200,350,25,25);
  g.setColor(getColore());
  g.fillOval(200,300,25,25);
  g.setColor(getColore());
  g.fillOval(200,250,25,25);
  g.setColor(getColore());
  g.fillOval(200,200,25,25);
  g.setColor(getColore());
  g.fillOval(200,150,25,25);
  g.setColor(getColore());
  g.fillOval(200,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(150,350,25,25);
  g.setColor(getColore());
  g.fillOval(150,300,25,25);
  g.setColor(getColore());
  g.fillOval(150,250,25,25);
  g.setColor(getColore());
  g.fillOval(150,200,25,25);
   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(100,350,25,25);
  g.setColor(getColore());
  g.fillOval(100,300,25,25);

  //quinta fila
  g.setColor(getColore());
  g.fillOval(300,350,25,25);
  g.setColor(getColore());
  g.fillOval(300,300,25,25);
  g.setColor(getColore());
  g.fillOval(300,250,25,25);
  g.setColor(getColore());
  g.fillOval(300,200,25,25);
  g.setColor(getColore());
  g.fillOval(300,150,25,25);
  g.setColor(getColore());
  g.fillOval(300,100,25,25);
   
  //tersa fila
  g.setColor(getColore());
  g.fillOval(350,350,25,25);
  g.setColor(getColore());
  g.fillOval(350,300,25,25);
  g.setColor(getColore());
  g.fillOval(350,250,25,25);

   
  //quarta fila
  g.setColor(getColore());
  g.fillOval(400,350,25,25);
  g.setColor(getColore());
  g.fillOval(400,300,25,25);


   

  }
  }
  private Color getColore(){
  if(on_off==1){
  int verde=(int)(Math.random()*225);
  int rosso=(int)(Math.random()*225);
  int blu=(int)(Math.random()*225);
  Color colore=new Color(rosso,blu,verde);
  return colore; 
  }
  else
  {
  Color colore=new Color(0,0,0);
  return colore;  
  }
  }
   
  public class BottoneAccende implements ActionListener{
   
  public void actionPerformed(ActionEvent event){
  if (on_off==0){
  on_off=1;
  pallineAccese=new java.util.Timer();
  pallineAccese.schedule(new TimerTask(){
  public void run(){
  SwingUtilities.invokeLater(
  new Runnable(){
  public void run(){
  albero.repaint();
  } 
  });
  }
  },0,500);
  }
  }

  } 
  public class BottoneSpegne implements ActionListener{
  public void actionPerformed(ActionEvent event){
  on_off=0;
  pallineAccese.cancel();
  albero.repaint();
  }
  }
  public static void main(String[] args){
  AlberoNatale albero=new AlberoNatale();
  }
}
 

venerdì 12 dicembre 2008


/**

 * Write a description of class vitevol here.
 * 
 * @author (Gabriele Di Bari) 
 * @version (v1)
 */

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafica1 implements ActionListener {
  private JFrame frame;
  private Pannello1 p;
  private JButton b1;
   
   
  public Grafica1(){
  frame=new JFrame("prova pannello");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setSize(220,440);
  b1=new JButton("cambia colore casualmente");
  b1.addActionListener(this);
  frame.setLayout(new GridLayout(2,1));
  p=new Pannello1();
  frame.add(p);
  frame.add(b1);
  frame.setVisible(true);

}
  public class Pannello1 extends JPanel {
  public void paintComponent(Graphics g){
  Graphics2D g2D=(Graphics2D) g;
  int verde=(int) (Math.random()*255);
  int rosso=(int) (Math.random()*255);
  int blu=(int) (Math.random()*255);
  //sfondo
  int x=getSize().width;
  int y=getSize().height;
  g2D.setColor(Color.white);
  g2D.fillRect(0,0,x,y);
  //
  Color colore=new Color(rosso,verde,blu);
  g2D.setColor(colore);
  g2D.fillOval(0,0,x,y);
  }
  }
   

  public void actionPerformed(ActionEvent event) {
   
  p.repaint();
   
  }
   
  public static void main(String[] args){
  Grafica1 g1=new Grafica1();
  }

}