Sab 17 Agosto, 15:36:47 - 2019

Autore Topic: Nuova modalità esame  (Letto 9888 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #60 il: Mer 24 Maggio, 15:40:30 - 2017 »
Sono stati svolti i primi 2 problemi e nel terzo problema solo la parte dei costi e sono stati svolti dagli studenti. I rimanenti verranno svolti venerdì. Il primo è in pratica un insertion-sort ricorsivo che quindi ha costo THETA(n2). Sul secondo problema, parlo per me, non è che lo abbia capito molto putroppo. Da quel poco che ho capito bisogna fare una visita in postOrdine ma non ho ben capito in che modo. Sul terzo se riesco provo a postarla.

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #61 il: Mer 31 Maggio, 10:49:27 - 2017 »
Ragazzi ho visto sul sito che la simulazione di esame in laboratorio è stata confirmata per domani, io purtroppo non ce la faccio ad andarci. Qualcuno che ci va gentilmente può dopo la simulazione scrivere più o meno come si è svolto? Magari potrebbe scrivere come funziona e il testo che distribuirà per la simulazione.

Grazie in anticipo ragazzi.

Offline LucaLindholm

  • Studente
  • *
  • Post: 45
  • FeedBack: +1/-0
  • Luca Lindholm
    • Mostra profilo
    • Luca Lindholm
Re:Nuova modalità esame
« Risposta #62 il: Mer 31 Maggio, 18:55:34 - 2017 »
Neanch'io domani posso venire, per cui se poteste chiedere al professore di confermare la possibilità di poter dare le due parti d'esame in due appelli separati, sarebbe ottimo.

;)
Studente di Ingegneria Informatica, sviluppatore per Windows (UWP).

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #63 il: Gio 01 Giugno, 13:41:28 - 2017 »
Ragazzi ho visto sul sito che la simulazione di esame in laboratorio è stata confirmata per domani, io purtroppo non ce la faccio ad andarci. Qualcuno che ci va gentilmente può dopo la simulazione scrivere più o meno come si è svolto? Magari potrebbe scrivere come funziona e il testo che distribuirà per la simulazione.

Grazie in anticipo ragazzi.
Sono andato alla simulazione. In pratica viene fornito user e password per accedere al PC per la prova al calcolatore. Dopodiché si deve avviare la macchina virtuale e lì ci sarà una cartella esame dove verrà caricato il testo d'esame. Comunque appena torno a casa posto il testo della simulazione così vi rendete conto di come è.

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #64 il: Gio 01 Giugno, 13:43:49 - 2017 »
Neanch'io domani posso venire, per cui se poteste chiedere al professore di confermare la possibilità di poter dare le due parti d'esame in due appelli separati, sarebbe ottimo.

;)
Io oggi volevo domandargli quello che hai chiesto. Purtroppo me ne sono ricordato tardi ed era già andato via. Prova a mandargli una mail e se risponde facci sapere che dice

Offline Quadrifoglio

  • Studente
  • *
  • Post: 2
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #65 il: Gio 01 Giugno, 15:01:19 - 2017 »
Scusate ragazzi lo so che non è il topic giusto ma mi sono perso la password delle slide del professore non è che potete darmela. Grazie.

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #66 il: Gio 01 Giugno, 17:30:49 - 2017 »
ecco il testo della simulazione con le classi di supporto in c e java fornite oggi dal prof e che sono in allegato.
« Ultima modifica: Gio 01 Giugno, 17:34:01 - 2017 da scheggia89 »

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #67 il: Sab 03 Giugno, 18:46:53 - 2017 »
Posto la soluzione del primo esercizio della simulazione di esame.
Codice: [Seleziona]
/* restituisce TRUE se completo, FALSE altrimenti */
public boolean isComplete(){
            int res = isComplete(this);
            if(res == -1) return false;
            return true;
}
       
        private int isComplete(BinTree t) {
            // se albero nullo, non completo
            if(t == null)
                return -1;
           
            // albero con solo radice, è completo
            if( (t.left == null) && (t.right == null) )
                return 0;
           
            // Chiamo ricorsivamente i sottoalberi sx e dx
            int h1 = isComplete(t.left);
            int h2 = isComplete(t.right);
             
            // se entrambi i sottoalberi non sono completi
            if((h1 == -1) || (h2 == -1))
                return -1;
           
            if(h1 != h2) return -1;
           
            return 1+h1;
        }

Sul secondo invece sto tentando di usare una visita in ampiezza con utilizzo di una coda. Nel senso che ogni volta che estraggo il nodo dalla coda, creo figlio sx e figlio dx e poi li rimetto in coda.Quando estraggo dalla coda un altro nodo, ricreo figlio sx e figlio dx e cosi via, fino a che non arrivo a livello level. Una bozza di soluzione, per ora solo in pseudocodice, di ciò che stavo pensando (non sono per niente sicuro che sia corretto). Che ne pensate voi? Può essere una strada percorribile o qualcuno è riuscito a risolvere il secondo esercizio in maniera diversa? Sto parecchio in difficoltà su questo
 :(
Codice: [Seleziona]

  Algoritmo generateCompleteTree(int level)
  Input:    numero di livelli dell'albero
  Output:  albero binario completo

   Creo una coda
   Creo nodo BinTree t
   int i
   coda.enqueue(t)
   i++
   while( i < level) {
       BinTree v = coda.dequeue();
       creo figlio sinistro
       creo figlio destro
       t.setLeftChild(sx)
       t.setRightChild(dx)
       coda.enqueue(sx)
       coda.enqueue(dx)
       i++;
  }

   return t
}
« Ultima modifica: Sab 03 Giugno, 18:53:08 - 2017 da scheggia89 »

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #68 il: Dom 04 Giugno, 01:16:28 - 2017 »
Io l'ho risolto così. I test girano, ne ho creati degli altri e girano pure quelli. Fammi sapere  ;D Non ho mai la certezza assoluta quando scrivo codice  ;D ;D ;D

Codice: [Seleziona]
int countLev;

void *genCompleteBinTreeAux(int nLev, binTree* root/*, int countLev*/)
{
    if(countLev >= nLev)
return;
   
    setLeftChild(root, root->key + 1);   
    setRightChild(root, root->key + 2);

    countLev++;

    genCompleteBinTreeAux(nLev, root->left/*, countLev*/);
    genCompleteBinTreeAux(nLev, root->right/*, countLev*/;

    countLev--;

    return;
}

binTree *genCompleteBinTree(int nLev)
{
    unsigned int numberOfNodes = pow(2, nLev) - 1;
    //printf("numberOfNodes %d\n", numberOfNodes);

    binTree *t = newBinTree(1);
    countLev = 1;

    if(nLev > 1)
        genCompleteBinTreeAux(nLev, t/*, countLev*/);

    //printf("countNodes %d\n", countNodes(t));
    return t;
}
« Ultima modifica: Dom 04 Giugno, 01:21:32 - 2017 da Riettez23 »
-Se puoi sognarlo, puoi farlo-

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #69 il: Dom 04 Giugno, 10:34:20 - 2017 »
Ragazzi scusate ma qualcuno è riuscito a prenotarsi? Su Infostud non mi appare niente. Ce sta solo l appello di algoritmi e sistemi dati, ma fondamenti di informatica 2 del vecchio ordinamento no.

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #70 il: Dom 04 Giugno, 10:56:05 - 2017 »
-Se puoi sognarlo, puoi farlo-

Offline john

  • Neo-Laureato
  • **
  • Post: 68
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #71 il: Dom 04 Giugno, 11:03:23 - 2017 »
Sì grazie, ma qu esto modulo è solo per quelli del nuovo ordinamento. Io sono del vecchio ordinamento che devono prenotarsi su infostud.
"Gli studenti 2013-14, o aa.aa. precedenti, debbono prenotarsi solo attraverso Infostud."

Offline Riettez23

  • Studente
  • *
  • Post: 7
  • FeedBack: +1/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #72 il: Dom 04 Giugno, 11:46:46 - 2017 »
Hai ragione sorry   :-\
-Se puoi sognarlo, puoi farlo-

Offline zeusm

  • Studente
  • *
  • Post: 32
  • FeedBack: +0/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #73 il: Dom 04 Giugno, 12:29:18 - 2017 »
Nel vecchio sito c'è scritto che anche il vecchio ordinamento deve prenotarsi tramite google form : http://www.dis.uniroma1.it/%7Efiii/esame.html

Offline scheggia89

  • Studente di Dottorato
  • ***
  • Post: 156
  • FeedBack: +3/-0
    • Mostra profilo
Re:Nuova modalità esame
« Risposta #74 il: Dom 04 Giugno, 13:51:27 - 2017 »
Io l'ho risolto così. I test girano, ne ho creati degli altri e girano pure quelli. Fammi sapere  ;D Non ho mai la certezza assoluta quando scrivo codice  ;D ;D ;D

Codice: [Seleziona]
int countLev;

void *genCompleteBinTreeAux(int nLev, binTree* root/*, int countLev*/)
{
    if(countLev >= nLev)
return;
   
    setLeftChild(root, root->key + 1);   
    setRightChild(root, root->key + 2);

    countLev++;

    genCompleteBinTreeAux(nLev, root->left/*, countLev*/);
    genCompleteBinTreeAux(nLev, root->right/*, countLev*/;

    countLev--;

    return;
}

binTree *genCompleteBinTree(int nLev)
{
    unsigned int numberOfNodes = pow(2, nLev) - 1;
    //printf("numberOfNodes %d\n", numberOfNodes);

    binTree *t = newBinTree(1);
    countLev = 1;

    if(nLev > 1)
        genCompleteBinTreeAux(nLev, t/*, countLev*/);

    //printf("countNodes %d\n", countNodes(t));
    return t;
}
Praticamente fai una visita in pre-ordine per creare albero completo. Non capisco una cosa, perché metti anche countlevel--?