mercoledì 31 dicembre 2008

Auguri per il nuovo anno 2009

Auguri, per un ottimo anno 2009,

a tutti gli studenti del blog

mercoledì 24 dicembre 2008

Auguri di Buon Natale 2008

a tutti i miei studenti


giovedì 18 dicembre 2008

Compilatore per vista


Come vedi nella precedente immagine, devi andare nel sito http://www.codeblocks.org/downloads/5
Qui clicchi nel link codeblocks-8.02mingw-setup.exe. Scarichi e installi.

mercoledì 17 dicembre 2008

martedì 16 dicembre 2008

Inserimento di dati di prova nelle tabelle del database Registro Voti

INSERT INTO Docente VALUES(1,'Informatico','A042','didatticaComputer.blogspot.com','computer@mondo.it');

INSERT INTO Docente VALUES(2,'Letterato','A050','didatticaLettere.blogspot.com','lettere@mondo.it');

INSERT INTO Docente VALUES(3,'Matematico','A047','didatticaNumeri.blogspot.com','matematica@mondo.it');

INSERT INTO Docente VALUES(4,'Elettronico','A034','didatticaCircuiti.blogspot.com','elettronica@mondo.it');

INSERT INTO Docente VALUES(5,'Inglese','A346','didatticaLingua.blogspot.com','lingua@mondo.it');


 

INSERT INTO Studente VALUES(    1,'Tizio','VAL','tizio@libero.it');

INSERT INTO Studente VALUES(    2,'Caio','VAL','caio@libero.it');

INSERT INTO Studente VALUES(    3,'Sempronio','VAL','sempronio@libero.it');

INSERT INTO Studente VALUES(    4,'Qui','VAL','qui@mondo.it');

INSERT INTO Studente VALUES(    5,'Qua','VAL','qua@google.it');

INSERT INTO Studente VALUES(    6,'Quo','VAL','quo@libero.it');

INSERT INTO Studente VALUES(    7,'Paperino','IVAL','pape@tin.it');

INSERT INTO Studente VALUES(    8,'Paperone','IVAL','dollaro@tutto.it');

INSERT INTO Studente VALUES(    9,'Bassotti','IVAL','rubo@galera.it');

INSERT INTO Studente VALUES(    10,'MacchiaNera','IIIBE','macchia@libero.it');

INSERT INTO Studente VALUES(    11,'Paperina','IIIBE','papera@libero.it');

INSERT INTO Studente VALUES(    12,'Topolino','IIIBE','topolino@libero.it');


 

INSERT INTO Materia VALUES(1,'Informatica','elaborazione dei dati');

INSERT INTO Materia VALUES(2,'Matematica','elaborazione dei numeri');

INSERT INTO Materia VALUES(3,'Lettere','elaborazione dei testi');

INSERT INTO Materia VALUES(4,'Elettronica','elaborazione dei segnali');

INSERT INTO Materia VALUES(5,'Inglese','elaborazione della lingua straniera');


 

INSERT INTO Modulo VALUES(1,1,'Consolidamento Linguaggio Java','Ripetizione del modulo sui fondamenti del linguaggio java e sui concetti della programmazione ad oggetti','Concetti programmazione oggetti');

INSERT INTO Modulo VALUES(1,2,'Progettazione database,'Introduzione dello schema concettuale e dello schema logico,'Saper disegnare lo schema di un database');

INSERT INTO Modulo VALUES(1,3,'Sql','Studio delle istruzioni del linguaggio Structured Query Language di manipolazione ed interrogazione dei database','Saper costruire un database fisico e saperlo interrogare');


 

INSERT INTO Programmazione VALUES(1,1,1,1,'0908','1008');

INSERT INTO Programmazione VALUES(2,1,1,2,'1008','1108');

INSERT INTO Programmazione VALUES(3,1,1,3,'1108','1208');


 


 

INSERT INTO Voto VALUES(1,'orale',6,'221108','lo schema concettuale',3,1,2,1);

INSERT INTO Voto VALUES(2,'scritto',7,'241108','lo schema concettuale',1,1,2,1);


 


 


 


 


 


 


 


 


 


 


 

domenica 14 dicembre 2008

Esercizio per Natale IV Liceo Tecnico

Esercizio Natalizio per gli studenti della classe IV Liceo Tecnico. Si vuole realizzare un albero di Natale, con delle palline che si accendono e si spengono alternativamente. C'è un bottone di alimentazione; quando è off le palline di Natale sono spente, quando è on si accendono e lampeggiano. Idea per la soluzione. 1) Trovare o disegnare un immagine dell'albero di Natale, metterlo in un pannello ed aggiungerlo ad un frame. 2) disegnare degli ovali con diversi colori ed aggiungerli in maniera opportuna in posizioni fisse ai rami dell'albero. 3) aggiungere per l'alimentazione due bottoni; uno dei due bottoni serve per accendere le palline, l'altro per spegnerle. 4) Accendere può significare fare cambiare alternativamente il colore delle palline; pensateci. 5) implementare in maniera opportuna il metodo actionPerformed().

giovedì 11 dicembre 2008

Esercizi classe IV per domani 12 dicembre 2008

Esercizi per la classe IVA Liceo Tecnico da fare per domani 12 dicembre 2008

Scrivere le istruzioni per eseguire i seguenti metodi:

  1. classe Ippopotamo
    1.     public void mangia()
    2.     public void corre()
    3.     public void verso(String v)
    4.     public Persona calpesta()
    5.     public Ippopotamo cerca()
  2. classe Riscaldamento
    1.     public Temperatura riscalda(Calore c)
    2.     public double calcolaCosto(double litriGasolio)
  3. classe Studente
    1.     public String getNome()
    2.     public void setNome(String n)
    3.     public int[] getVoti()
    4.     public void setVoti(int[] voti)
  4. Nel caso in cui il parametro o l'output sono degli array come nel 3.3 e 3.4 scrivete un semplice programma nel quale anzitutto definite una classe con i metodi 3.3 e 3.4 (implementateli) e poi una classe di test , con il metodo main, nella quale andate ad eseguire questi metodi.    

Pubblicate la soluzione nel vostro blog.

Buon Lavoro


 


 

martedì 9 dicembre 2008

Creazione del database registro dei voti studenti e delle relative tabelle relazionali

Schema fisico del database registro dei voti degli studenti

Schema fisico del database registro dei voti degli studenti.

Trasformiamo lo schema logico nello schema fisico di un database concreto. Scegliamo il database SQLITE      per la sua semplicità, per la sua portabilità, perchè non va configurato, perchè un database con tutte le sue tabelle sta in un unico file fisico. Chiamiamolo registroVoti.db

creazione del database fisico

sqlite3 registroVoti.db

definiamo le create table per ogni tabella relazionale del nostro database

CREATE TABLE DOCENTE (idDocente integer primary key, nome text, classeConcorso text, blog text, email text, foto blob);

CREATE TABLE STUDENTE(idStudente integer primary key, nome text, classe text, email text, foto blob);

CREATE TABLE MATERIA(idMateria integer primary key, nome text, descrizione text);

CREATE TABLE MODULO(idMateria integer references MATERIA, idModulo integer, nome text, descrizione text, obiettivo text, primary key(idMateria, idModulo));

CREATE TABLE VOTO(idVoto integer primary key autoincrement, tipo text, voto integer, data text, argomento text, idStudente integer references STUDENTE, idMateria integer references MATERIA, idModulo integer references MODULO, idDocente integer references DOCENTE);

CREATE TABLE PROGRAMMAZIONE(idProgramma integer primary key, idDocente integer references DOCENTE, idMateria integer references MATERIA, idModulo integer references MODULO, mmaaInizio text, mmaaFine text);


 


 


 

Lo schema logico dello schema concettuale registro dei voti degli studenti

Schema logico dello schema concettuale

Per costruire lo schema logico a partire dallo schema concettuale dobbiamo identificare e definire i seguenti elementi:

  1. Le tabelle relazionali
  2. Gli attributi di queste tabelle
  3. Le loro chiavi primarie
  4. Le loro chiavi straniere
  5. Eventuali tabelle associative

La prima regola della mappatura ci informa che ogni entità dello schema concettuale diventa una tabella relazionale.

pertanto prima fase del lavoro risulta nell'identificazione delle seguenti tabelle:

  1. DOCENTE
  2. STUDENTE
  3. MATERIA
  4. MODULO
  5. VOTO

Un'ulteriore regola della mappatura ci informa che una relazione dotata di attributi diventa a sua volta una tabella. In questo schema concettuale la relazione "programma" soddisfa quella condizione. pertanto la relazione "programma" diventa tabella, chiamiamola "Programmazione" per nostra comodità. La tabella "programmazione si aggiunge alle precedenti:

  1. PROGRAMMAZIONE

La seconda regola della mappatura ci informa che i campi delle tabelle sono esattamente gli attributi delle rispettive entità del disegno concettuale.

La terza regola della mappatura ci informa che le chiavi primarie delle tabelle sono le chiavi primarie delle entità.

La quarta regola della mappatura ci informa che la chiave primaria della tabella corrispondente ad un'entità debole si forma combinando insieme la chiave primaria della tabella dell'entità dalla quale dipende con quella parziale dell'entità debole.

La quinta regola ci informa che per mantenere le relazioni uno a molti nelle tabelle dello schema logico è necessario copiare la chiave primaria della tabella dell'entità dalla parte dell'uno in un campo della tabella corrispondente all'entità dalla parte dei molti e che questo campo duplicato si chiama chiave straniera.

La sesta regola ci informa che una relazione molti a molti o dotata di attributi, come in questo caso la relazione "programma", diventa una tabella associativa avente come chiavi straniere le chiavi primarie delle tabelle delle entità che mette in relazione e come campi gli attributi della relazione.

Da tutte queste regole applicate al nostro schema concettuale deriva la definizione del seguente schema logico:

DOCENTE(idDocente, nome, blog, classeConcorso, email, foto)

STUDENTE(idStudente, nome, classe, email, foto)

MATERIA(idMateria, nome, descrizione)

MODULO(*idMateria, idModulo, nome, descrizione, obiettivo)

VOTO(idVoto, tipo, voto, data, argomento, *idStudente, *idMateria, *idModulo, *idDocente)

PROGRAMMAZIONE(idProgramma, *idDocente, *idMateria, *idModulo, mmaaInizio, mmaaFine)


 


 


 

Nuovo schema concettuale del database del registro dei voti degli studenti

Critica allo schema concettuale del database registro voti studenti

Lo schema concettuale pubblicato è quello che abbiamo insieme fatto a scuola questo pomeriggio 9 dicembre 2008. Riesaminando questo disegno, mi sono accorto che è possibile, anzi auspicabile apportare un miglioramento nella gestione della programmazione dei moduli dell'insegnante. Abbiamo scelto di fare l'entità "Modulo" come un'entità debole. Questa scelta è giusta. Abbiamo attribuito il mese e l'anno del modulo all'entità modulo medesimo. Questo è invece un handicap. Infatti il docente ad ogni nuovo anno scolastico quando deve rifare la sua programmazione gradisce aggiornare e riutilizzare i moduli già esistenti, ma deve fare una nuova programmazione disciplinare. La programmazione è un'opportuna composizione dei moduli già esistenti o di altri moduli nuovi. Per non duplicare l'informazione, relativa ai moduli nella programmazione dei successivi anni scolastici, conviene creare una relazione "programma" che abbia una sua esistenza da affiancare a quella dei moduli. Ed allora è giusto, come qualche studente suggeriva, attribuire la data inizio e la data di fine di ogni moduli alla relazione medesima "programma". In questo modo la relazione "programma" diventerà una tabella distinta. Questa tabella acquisirà lo status di "entità programmazione". Per ogni anno scolastico, per ogni docente, questa tabella "programmazione" si arricchirà di un insieme di righe, caratterizzate per ogni codice docente dai quei codici dei moduli che saranno scelti nella personale programmazione del docente proprio per quel particolare anno scolastico. Questa modifica dello schema concettuale ne implica un'altra. L'entità forte da cui si fa dipendere l'entità debole "modulo" conviene trasferirla dall'entità "docente" all'entità materia. Ne risulta il nuovo schema concettuale di seguito postato.

Schema concettuale database registro voti studenti

Testo del problema per realizzare un database del registro dei voti degli studenti

Database per realizzare un registro informatizzato dei voti degli studenti.

Si vogliono memorizzare i voti degli studenti di un istituto scolastico.

Per ogni voto si vuole conoscere la data, il voto, il tipo di voto, la materia, il modulo, l'argomento della verifica, l'insegnante, lo studente, l'anno scolastico, la classe dello studente.

Per la materia occorre conoscere oltre il nome, i moduli programmati dall'insegnante. Un modulo ha un nome, una descrizione sintetica,un obiettivo, una data di inizio e di fine. Per l'insegnante si vuole conoscere l'email, l'indirizzo del blog, la classe di concorso.


 

mercoledì 3 dicembre 2008

Soluzione es 3 logico matematico Olimpiadi informatica 2007

Commenti su alcuni esercizi olimpiadi informatica 2007

COMMENTI SU ALCUNI ESERCIZI
A) Esercizi a carattere logico-matematico
Esercizio N° 4
La soluzione è 935.
La sequenza è ottenuta a partire dal primo numero nel seguente modo: moltiplichi per 1 e sommi 1,
moltiplichi per 2 e sommi 1, moltiplichi per 3 e sommi 1 e ripeti.
Esercizio N° 6
La soluzione è 1770 metri.
Sia d la distanze del fiume e siano v1 e v2 le velocità dei due traghetti (assumendo v1 < v2).
Il punto del primo incontro permette di scrivere la seguente equazione
v2 /v1 = (d- 730) / 730
Analogamente il punto del secondo incontro permette di scrivere l’equazione
(2d- 420) / v2 = (d +420) /v1
Risolvendo il sistema si ottiene d = 1770.
Esercizio N° 7
La soluzione è giovedì.
Infatti il Leone può dire solo il giovedì e il lunedì la frase: “Ieri era uno dei giorni in cui dico le
bugie”.
L’Unicorno può dire solo la domenica e il giovedì: “Ieri era uno dei giorni in cui dico le bugie ”.
Esercizio N° 8
La risposta è 117.
a) Soluzione intuitiva:
a parità di perimetro un rettangolo ha area maggiore tanto minore e' la differenza fra i due lati.
Quindi la riduzione ottimale è ridurre il lato lungo (la base) di due unità e il lato corto (l'altezza) di
una unita'; si ottiene in questo modo un rettangolo di base 13 e altezza 9, con area 117, che ha un
perimetro pari a 44 cm.
b) Soluzione matematica:
sia (15-x) la lunghezza della base dopo il taglio (parallelo ad un'altezza). x deve essere maggiore o
uguale a 1 e minore o uguale a 2 (altrimenti non possiamo effettuare due tagli riducendo la
lunghezza totale di 6 cm.
Tenuto conto che il perimetro complessivo si riduce di 6 cm abbiamo chela lunghezza dell'altezza
è (10- 3+x). A questo punto calcoliamo l'area e imponendo la condizione che x è almeno 1
otteniamo la risposta.
Esercizio N° 9
La soluzione è 379.
Infatti ogni partita giocata ha un perdente che viene eliminato ed essendoci un solo vincitore ci
sono 379 perdenti complessivi.

Svolgimento del secondo esercizio logico matematico olimpiadi informatica 2007

Soluzione esercizi olimpiadi 2007

Esercizi a carattere logico matematico:

1) Anna 15 Bruno 5

2) 12

3) 15

4) 935

5) Quattro femmine e tre maschi

6) 1770

7) giovedì

8) 117

9) 379

10) eliminato perchè errato

Esercizi di programmazione:

1) b

2) a

3) c

4) a

5) d

6) b

7) c

8) c

9) b

Soluzione di un esercizio delle olimpiadi di informatica 2007

Correzione della verifica del 3 dicembre IIIA Liceo Tecnico - flowchart

Olimpiadi Informatica

Ho pubblicato il testo degli esercizi Olimpiadi Informatica della selezione scolastica dell'anno scolastico 2007-2008. Tutti gli studenti che domani parteciperanno alla nuova selezione scolastica di questo nuovo anno scolastico 2008-2009 sono caldamenti invitati a risolvere oggi pomeriggio questi esercizi. Questa sera pubblicherò le soluzioni e per taluni di essi lo svolgimento dettagliato.

Esercizi delle olimpiadi di informatica 2007

Selezione Scolastica C
View SlideShare document or Upload your own. (tags: esercizi 2007)

lunedì 1 dicembre 2008

VA Liceo Tecnico sull'esercizio assegnato oggi 1 dicembre 2008

Per la classe VA Liceo Tecnico. Ancora non avete pubblicato la soluzione dell'esercizio che vi ho assegnato ! Ci sono problemi ? Vi ricordo che con il database Sqlite prima di creare le tabelle con la "Create Table" dovete creare un database con il comando sqlite3 nomeDatabase.db. Quando rientrate in sqlite, e volete lavorare di nuovo con quel database ,dovete ripetere il comando sqlite3 nomeDatabase.db per aprirlo.

venerdì 28 novembre 2008

Esercizi da fare per sabato 29 novembre 2008

Per la classe IIIA Liceo Tecnico. Vi ricordo il testo dei due esercizi da svolgere per domani.

  1. Modificare il problema della verifica. Determinare la differenza tra il massimo e il minimo di 50 numeri e stamparla.
  2. Data una lista di studenti con i loro voti, determinare e stampare per ogni studente la media dei suoi voti. La lista è fatta in questo modo:

Numero matricola studente

voto

1

7

1

8

1

6

2

6

3

8

3

4

4

6

ossia è una lista ordinata per numero matricola crescente. Quindi tutti i voti per ogni studente sono raggruppati in ordine consecutivo. Ho un gruppo di voti per il primo studente, un altro gruppo di voti per il secondo studente, per il terzo e così via;

Quest'ultimo esercizio assomiglia un pò a quello del Massimo. Infatti anche in questo caso occorre confrontare lo studente correntemente letto con il precedente. Se lo studente è lo stesso il voto va sommato alla somma parziale dei voti precedenti del medesimo studente. Se lo studente cambia...

(pensateci...)


 

martedì 25 novembre 2008

Esercitazione formativa su java


 


 

1) Costruisci la classe Rettangolo. Lo scopo è quello di creare degli oggetti Rettangolo di lati a, b.

Scrivi il codice java per la suddetta classe.

Definisci le variabili di istanza.

Definisci il costruttore che richieda come parametri i lati del rettangolo

Definisci il metodo getLati().

Definisci il metodo setLati(...) con i parametri lati per modificare il valore dei lati

Definisci il metodo getArea().

Definisci il metodo getPerimetro().


 


 

2) costruisci la classe testaRettangoli

  1. crea tre oggetti r1, r2, r3 di tipo rettangolo con lati rispettivamente uguali a 10,20; 5,10; 3,7.
  2. Crea un array listaRettangoli
  3. Inserisci gli oggetti rettangolo nell'array listaRettangoli

4. scorri l'array con il for e per ogni rettangolo stampa l'area e il perimetro.


 


 


 


 

Esercitazione formativa su java


 


 

1) Costruisci la classe Triangolo. Lo scopo è quello di creare degli oggetti triangolo di base a, e altezza b.

Scrivi il codice java per la suddetta classe.

Definisci le variabili di istanza.

Definisci il costruttore che richieda come parametri base e altezza del triangolo

Definisci i metodi getBase() , getAltezza(), setBase(...) , setAltezza(...)

Definisci il metodo getArea().


 


 


 

2) costruisci la classe TestaTriangoli

  1. crea tre oggetti t1, t2, t3 di tipo triangolo con base e altezza rispettivamente uguali a 8,20; 4,5; 10,5.
  2. Crea un array listaTriangoli di tipo Triangolo
  3. Inserisci gli oggetti triangolo nell'array listaTriangoli

4. scorri l'array con il for e per ogni triangolo stampa l'area.


 


 


 

esercitazione formativa su java


 


 

1) Costruisci una classe Cerchio. Lo scopo è quello di creare degli oggetti Cerchio di raggio r.

Scrivi il codice java per la suddetta classe.

Definisci la variabile di istanza raggio di tipo intero.

Definisci il costruttore che richieda come parametro il raggio del cerchio

Definisci il metodo getRaggio().

Definisci il metodo setRaggio(….) con il parametro raggio.

Definisci il metodo getArea().

Definisci il metodo getCirconferenza().


 

2) Costruisci la classe TestaCerchio nella quale è presente il metodo main(). Lo scopo di questa classe è quello di instanziare alcuni oggetto di tipo Cerchio e di memorizzarli in un Array:

  1. Definisci una variabile di istanza di tipo Array con tre elementi.
  2. Instanzia tre oggetti di tipo Cerchio, con raggi uguali a 10, 20, 50
  3. Aggiungili all'Array.
  4. Scorri l'Array con il for e stampa per ogni cerchio l'area e la circonferenza.


 


 


 


 


 


 

Verifica del modulo di consolidamento java


 

  1. scrivere una classe Cliente, con i seguenti elementi:
    1. nome
    2. indirizzo
    3. località
    4. telefono
    5. il metodo costruttore per inizializzare le precedenti variabili
    6. il metodo getNome()
    7. il metodo getIndirizzo()
    8. il metodo getLocalita()
    9. il metodo getTelefono()
    10. il metodo setTelefono(...)
  2. scrivere una classe ContoCorrente, con i seguenti elementi:
    1. Cliente
    2. saldo
    3. il metodo costruttore per inizializzare il saldo
    4. il metodo getSaldo();
    5. il metodo setSaldo()
    6. il metodo Versamento(...)
    7. il metodo RitiraSoldi(...)
      1. non permettere di ritirare una quantità di denaro superiore al saldo
      2. il saldo deve rimanere sempre >= zero.
  3. scrivere una classe Banca, con i seguenti elementi:
    1. i conti correnti in essa presenti
    2. il metodo costruttore per creare l'array dei conticorrenti con saldo zero
    3. il metodo apriConto(...)
    4. il metodo chiudiConto(...)
    5. il metodo StampaTotaleSaldi()
  4. una classe testaConti con il metodo main() per testare tutti i metodi introdotti.


     


     

Riepilogo griglia di valutazione: con il punteggio da compilare a cura dell'insegnante.

Analisi e

Progettazione della soluzione  

Sintesi,

completezza

ed organicità

dei contenuti 

Conoscenza

dell'argomento 

Esattezza delle operazione e/o argomentazioni 

Capacità di ricorrere a linguaggi specifici 

Validità ed originalità delle scelte 


 

     


 


 

Verifica sommativa modulo di consolidamento java


 

  • correggi il seguente metodo errato, sapendo che: String nome (4)

    public void getNome(){

         return nome;

    }

  • correggi il seguente metodo errato, sapendo che: String nome (4)

    public String setNome(){

         nome=n;

    }

  • quando viene eseguito il metodo costruttore ? (4)
  • che cosa è un oggetto ? (4)
  • che differenza c'è tra oggetto e classe ? (4)
  • perchè in una classe occorre definire i metodi get e set ? (5)
  • scrivi due associazioni tra due classi che siano l'una del tipo uno a molti e l'altra uno ad uno (5)
  • se tra due classi c'è una associazione uno a molti, come si implementa ? Scrivi il codice (6)
  • se tra due classi c'è una associazione uno ad uno, come si implementa ? Scrivi il codice (6)
  • spiega questa istruzione: conti[i].getCliente().getNome() (4)
  • costruisci l'associazione Insegnante insegna Studente. (uno studente ha molti insegnanti e viceversa)
    • Scrivi la classe Insegnante con gli attributi nome insegnante e materia insegnata. (5)
    • Scrivi la classe Studente con gli attributi nome studente e classe frequentata. (5)
    • l'associazione insegna di quale tipo è? uno ad uno a molti o molti a molti? (4)
    • implementala nelle due classi Insegnante e Studente (8)
  • crea il metodo che stampa per un insegnante tutti i nomi dei suoi studenti e la loro classe (6)
  • crea il metodo che stampa per uno studente tutti i nomi dei suoi insegnanti e la loro materia (6)
  • Scrivi una terza classe Voto con i seguenti attributi: int voto, String data (gg/mm/aaaa), Studente studente , Insegnante insegnante (6)
  • come fai a memorizzare i voti che un insegnante assegna agli studenti ? (10)
    • suggerimento crea la classe Registro che abbia un'associazione uno a molti con Voti
    • inoltre inserisci nella classe Insegnante il metodo daiVoto(.....) che con gli opportuni parametri crea un voto.
  • scrivi la classe TestaVoti. Instanzia alcuni insegnanti, alcuni studenti, assegna gli studenti agli insegnanti, dai dei voti, stampa i voti di uno studente, stampa tutti i voti che ha dato un insegnante. (10)


     


     


     


     

    nota bene la somma di tutti i punteggi è 106 superiore a 100 ! (bonus di 6 punti)

lunedì 24 novembre 2008

domenica 23 novembre 2008

Classe Astratta

Classi Astratte
View SlideShare presentation or Upload your own.

Ereditarietà e polimorfismo

Le proprietà delle relazioni nello schema concettuale

SFC - A Structured Flow Chart Editor

Per gli studenti della classe III A Liceo Tecnico. Ho trovato su internet all'indirizzo http://watts.cs.sonoma.edu/SFC/index.html un bellissimo programma che consente di disegnare un flowchart in un modo molto semplice ed intelligente. Vi consiglio di andare all'indirizzo indicato, e di fare il download del programma sfc-v2-3.exe. Questo programma è un eseguibile, basta cliccarci sopra e il programma va in esecuzione. Si apre una finestra con un editor del flowchart. Basta scegliere file new dal menù e si può iniziare a disegnare un flowchart scegliendo il tipo di struttura di controllo che serve (sequenza, iterazione, selezione). Provate.

sabato 22 novembre 2008

Gli esercizi fatti in classe con la VALT

Ancora sono in attesa della pubblicazione degli esercizi che abbiamo fatto in classe venerdì 21 novembre 2008. Che fine avete fatto studenti della VAL ?

domenica 16 novembre 2008

Programmazione del modulo Progettazione Database

Progettazione Database

Contenuti del modulo


 

Obiettivi

specifici 


 

  • Metodo Entità Relationship
  • Entità
  • Entità dominante e processo di sviluppo dello schema concettuale
  • metodo UML
  • Attributi
  • relazioni
  • simboli grafici
  • relazioni riflessive
  • attributi delle relazioni
  • cardinalità (uno a uno, uno a molti, molti a molti)
  • partecipazione totale e parziale
  • chiavi primarie
  • chiavi surrogate
  • chiavi straniere (esterne)
  • entità forte
  • entità debole e chiave parziale
  • Mapping e regole per i vari tipi di cardinalità
  • Entità di associazione nella mappatura della relazione molti a molti
  • Mapping per l'entità debole
  • Relazione di ereditarietà:
    • Generalizzazione
    • specializzazione
    • regola di mappatura


     

  • Esempi di progettazione data base: fatturazione, ospedale, vivaio, atleti sportivi.
  • Esercitazioni


 


 


 

Saper riconoscere le entità, gli attributi e le relazioni di un dominio del quale occorre progettare il database.


 

Saper disegnare lo schema concettuale con il metodo grafico entità-relationship a partire dall'analisi del testo del problema del dominio


 


 


 

Saper fare il mapping, ossia trasformare lo schema concettuale entità relazionale nelle corrispondenti tabelle relazionali del database.


 

Saper attribuire la chiave straniera (esterna) alla tabella giusta in fase di mappatura.


 

Applicare la metodologia della progettazione

tempi previsti dal 15 ottobre 2008 al 15 novembre 2008 ore 25

Le variabili nel linguaggio Java

Variabili Java
View SlideShare presentation or Upload your own. (tags: creazione declaration)

mercoledì 12 novembre 2008

Esercizio sugli algoritmi

Esercizio Sugli Algoritmi
View SlideShare presentation or Upload your own. (tags: if exercise)

Programmazione del modulo “Principi degli Algoritmi”

modulo:
Principi degli Algoritmi

Contenuti del modulo


 

Obiettivi specifici

Metodi didattici

Strumenti

Verifiche


 

  • Definizione di Algoritmo
  • Dal problema all'algoritmo
  • Flow charts
  • Variabili e costanti
  • La iterazione
  • La selezione
  • Gli algoritmi fondamentali:
    • somma di numeri,
    • estrapolazione dati
    • conversione binario decimale
    • riepilogo e rottura
    • equazione di secondo grado


       


     


 

  • Saper ideare un algoritmo
  • Conoscere e applicare le fasi della ideazione di un algoritmo:
    • focalizzare le conoscenze sul problema,
    • identificare le variabili,
    • individuare i blocchi di istruzioni ripetitive e le istruzioni di controllo per uscire dal ciclo ripetitivo
  • Comprendere come si può descrivere un algoritmo mediante uno strumento grafico quale il FlowChart.
  • Usare il TopDown
  • Suddividere un algoritmo in parti più piccole
  • le strutture: la sequenza, l'iterazione, l'alternativa.


     


 

x Lezioni frontali


 

x Problem solving


 

x Esercitazioni

di Laboratorio


 

x Discussione

Guidata


 

x Studio di casi

x Uso del Blog


 


 

x Libro di testo


 


 

x Appunti

del docente


 

x Ricerche su internet


 

x Materiali sul blog del docente e degli studenti


 


 


 


 


 


 


 

x Colloquio orale


 

x Questionario chiuso

x Problem solving


 

x Esercitazioni pratiche


 


 


 

tempi previsti dal 11 ottobre 2008 al 15 novembre 2008 per un totale di 15 ore.


 

Prima soluzione al problema dell'orologio

domenica 9 novembre 2008

programmazione del modulo Programmazione Orientata agli Oggetti e Java

Programmazione orientata agli oggetti e Java

Contenuti del modulo


 

Obiettivi

specifici

Metodi

e strategie didattiche 

Strumenti

Verifiche


 

  • Confronto tra programmazione strutturata e quella orientata agli oggetti
  • Concetto di classe
  • Concetto di oggetto
  • L'incapsulamento dei dati
  • Variabili primitive e di reference
  • messaggi
  • Costrutti fondamentali di java
  • i metodi di java
  • I quattro tipi di metodi
  • come si esegue un metodo
  • Gli array
  • Il concetto di ereditarietà
  • metodi astratti
  • classe astratta
  • interfaccia
  • ereditarietà
  • composizione
  • Esempi


 

  • Comprendere come è costruita una classe.
  • Comprendere la differenza tra classe e oggetto.
  • Saper usare i metodi costruttori per instanziare un oggetto.
  • Saper progettare i propri metodi.
  • Saper usare i dati primitivi e i loro operatori
  • implementare l'incapsulamento dei dati.
  • Comprendere come un programma OOP sia dato dall'interazione tra più oggetti.
  • Saper usare il concetto di ereditarietà
  • saper realizzare un gioco a computer in un applet


 


 

x Problem solving


 

x Attività

Progettuale


 

x Esercitazioni

di Laboratorio


 

x Discussione

Guidata


 

x Studio di casi


 


 

x Libro di testo


 


 


 


 

x Appunti

del docente


 

x ambiente di sviluppo java


 


 

x analisi di sorgenti di programmi esistenti


 

x blog insegnante e studenti


 


 


 


 


 

x Colloquio orale


 

x Composizione

Scritta


 

x Problem solving


 

x Esercitazioni

pratiche