mercoledì, novembre 28, 2007

introduzione all'ereditarieta'

Ecco alcune slide di introduzione all'ereditarieta', da sfogliare come lettura serale prima della lezione del 3/4 dicembre.

lunedì, novembre 26, 2007

mercoledì, novembre 21, 2007

varie

Precisazioni dell'esercizio per la prossima volta.

  1. Partendo dalle indicazioni e dai suggerimenti sulle slide, scrivere una classe vettore per la gestione di array dinamici, templata sul tipo di dati da allocare nel vettore.
  2. Compilare ed eseguire questo semplice programma. Riconoscete l'origine di ogni riga stampata come output?
  3. Scrivere una funzione doppio_di, esterna alla classe (ovvero non un metodo della classe), che prenda come unico argomento, passato per valore, un oggetto V della vostra classe vettore e restituisca un vettore W i cui elementi W[i] sono ciascuno il doppio di V[i].
  4. Scrivere una funzione void raddoppiami che prenda come unico argomento il riferimento di un vettore e raddoppi il valore di ciascun suo elemento.
  5. Implementare gli opportuni metodi (e aggiungere eventualmente gli opportuni attributi) perchè la classe vettore consenta il cambiamento della dimensione dell'array dinamico. In particolare, consenta sia di ridurre il numero di elementi (preservando il valore dei primi elementi sopravvissuti) e sia di aumentarne (preservando il valore dei primi elementi già esistenti). Inutile dirlo: attenzione ai new e delete!
Nel risolvere gli esercizi 3 e 4, far tesoro dell'esercizio 2...

Nota tecnica: con linux, per connettersi ad internet con un modem telefonico (non-ADSL), è possibile usare i seguenti programmi: gnome-ppp (se usate gnome come) o kppp (se usate KDE). Se la versione di linux non e' troppo vecchia, tutto dovrebbe essere molto semplice e intuitivo: basta trovare una di queste due applicazioni nel menu e utilizzarle nel modo più naturale possibile. Per ulteriori dettagli (ma non dovrebbe essercene bisogno...) potete leggere qui.

lunedì, novembre 19, 2007

martedì, novembre 13, 2007

complessi & istogramma

Esercizio facile-facile: dato il seguente header-file complesso.hpp per una possibile classe dei numeri complessi, scriverne l'implementazione in un corrispondente file complesso.cpp (e ovviamente, com'è sempre sottinteso, scrivere una test-unit per tale classe, ovvero un semplice programma capace di testare tutte le funzionalità implementate per la classe).
Esercizio facile: scrivere una classe istogramma da usare per l'analisi della soluzione all'esercizio 10. La classe istogramma non dovrà contenere al suo interno il generatore di numeri casuali, ma dovrà contenere solo quei metodi e quegli attributi che gli sono necessari per poter gestire una situazione del tutto generica in cui si vuole

  • popolare l'istogramma inserendo un valore alla volta
  • disegnare l'istogramma allo stato corrente (ovvero corrispondente alla popolazione di valori inseriti fino a quel momento)
  • restituire il valore della media e della varianza della popolazione allo stato corrente
Ulteriori specifiche (come la possibilità di indicare il numero di bin dell'istogramma, la possibilità di poter cambiare al volo il numero di bin, ovvero di poter cambiare il numero di bin quando l'istogramma è già stato creato e (parzialmente) riempito, la possibilità di cambiare al volo il numero bin soltanto accorpando i bin correntemente usati, e così via...) sono lasciati alla libertà dello studente.

NOTA BENE
Se avete domande (ed è bene per voi che ne abbiate!) sfruttate almeno la mailinglist del gruppo, ovvero scrivete una mail a labinfodocet@googlegroups.com

giovedì, novembre 08, 2007

allora...?

...chi è che racconta qui sul blog qual è la sottigliezza cui bisogna prestare attenzione nel risolvere l'esercizio 6, rispetto alla soluzione dell'esercizio 5?
...e chi è che mette un bello screenshot dell'ASCII-istogramma che ha ottenuto? Va bene con qualsiasi generatore random...!

mercoledì, novembre 07, 2007

strutture

Per chi le ha già viste durante la seconda lezione, per chi le vedrà nella prossima lezione, ecco le slide sulle strutture.
Vi ricordo che le slide delle lezioni precedenti si trovano qui.