lunedì 11 aprile 2011

Testo terza esercitazione e video C64

Approfitto del post con cui rendo disponibile il teso dell'esercitazione 3 per segnalarvi il link di quel video dei bambini a cui hanno fatto provare un mitico Commodore 64...

5 commenti:

  1. Salve professore.
    Le volevo chiedere come mai nel programmino nel quale è richiesto l'uso dei template (primo esercizio), se scrivo di stare usando il "namespace std" (cioè "using namespace std;"), viene dato un errore in fase di compilazione, invece compila se specifico di stare usando "std::cout", "std::cin" e "std::endl".
    Poi nell'esercizio dei dadi, leggendo la sua soluzione nel blog di palermo, non ho capito bene l'algoritmo usato nel frammento di codice relativo alla ricerca del numero più frequente. Io ammetto di aver usato, per il suddetto problema, una implementazione che, seppur leggibile, appare abbastanza lunga e "grezza", cioè ho inizializzato 11 variabili incrementandole caso per caso attraverso uno switch.
    La ringrazio anticipatamente. Cordiali saluti.

    RispondiElimina
  2. Per quanto riguarda il primo esercizio il problema è nei nomi delle funzioni max e min che sono già definiti nel namespace std. Finchè includi soltanto cout, cin ed endl non ci sono problemi ma quando includi tutti gli elementi del namespace hai un conflitto di nomi.

    Per il problema dei dadi, il codice che ho scritto per cercare l'indice corrispondente al valore massimo di un array (considerando solo gli elementi possibili e quindi con indice fra 2 e 12) penso sia molto semplice. Inizializzo l'indice del massimo (max) a 2 e il valore del massimo (maxfreq) a freq[2], poi scorro l'array fino a 12 e ogni volta che trovo un valore maggiore del massimo corrente aggiorno max e maxfreq:

    // Cerca il numero piu' frequente
    int max, maxfreq;
    max=2; maxfreq=freq[2];
    for(int i=3; i<=12; i++)
    if(freq[i]>maxfreq){
    maxfreq=freq[i];
    max=i;
    }

    RispondiElimina
  3. Ho capito :) Grazie mille professore

    RispondiElimina
  4. Prof. bellissimo il video :)
    bella idea, e poi è interessante che comunque i due ragazzini si sono anche letti il manuale d'uso pur di poterci giocare...
    Buona giornata

    RispondiElimina
  5. A me e' piaciuto particolarmente perche' un tempo avevo il C64 e adesso ho i bambini piu' o meno di quell'eta'. Conosco quindi bene gli elementi singolarmente ma ero curioso di sapere come avrebbero interagito...

    RispondiElimina