Mer 21 Agosto, 15:47:26 - 2019

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - antoninus96

Pagine: [1]
1
Calcolo delle Probabilità - Statisica / Libri statistica
« il: Ven 24 Agosto, 09:52:46 - 2018 »
Buongiorno, qualcuno ha i pdf dei seguenti libri per il corso di probabilita e statistica?

"INTRODUZIONE ALLA PROBABILITA'"
E.Orsingher
L.Beghin
Ed. Carocci

"CALCOLO DELLE PROBABILITA'"
G.Dall'Aglio
Ed. Zanichelli

2
Programmazione Funzionale e Parallela / Re:Esercizio 20: rimozione duplicati
« il: Lun 23 Ottobre, 00:05:11 - 2017 »
Grazie mille per questo chiarimento e per quello sull'esercizio precedente.
Comunque anche usando la sintassi senza punto Eclipse non mi dà nessun warning, infatti non avevo idea che non fosse molto corretto   :o :-X

3
Programmazione Funzionale e Parallela / Re:Esercizio 21: unione di liste
« il: Dom 22 Ottobre, 23:55:45 - 2017 »
Ho provato a farla usando solo isEmpty, head, tail, h::t. Però mi è venuta in questo modo e ho dovuto usare un metodo ausiliario, non so se ci sia un modo più semplice e conciso:
Codice: [Seleziona]
def myContains[T](l:List[T], x:T):Boolean = {
    if(l.isEmpty) false
      else{
        l.head match {
          case y if(y == x) => true
          case _ => myContains(l.tail, x)
        }
      }
   }

   def union[T](l1:List[T], l2:List[T]):List[T] = {
     if(l1.isEmpty) l2
     else if(l2.isEmpty) l1
     else{
       if(!myContains(l1, l2.head)) union(l2.head::l1, l2.tail) else union(l1, l2.tail)
     }
   }
 

4
Programmazione Funzionale e Parallela / Re:Esercizio 20: rimozione duplicati
« il: Dom 22 Ottobre, 21:26:32 - 2017 »
Codice: [Seleziona]
def removeDuplicates[T](l:List[T]):List[T] = {
    if(l isEmpty) Nil
    else{
      l.head::removeDuplicates(l.tail filter(_ != l.head))
    }
  }

5
Io ho fatto così:
Codice: [Seleziona]
def find[T](x:T, l:List[T]):Boolean = {
    if(l isEmpty) return false
    l.head match {
       case x => true
       case _ => find(x, l.tail)
     }
   }

Il metodo funziona correttamente, però ho notato che se scrivo "if(l isEmpty) false" (senza il return), quando la lista è vuota, ottengo un'eccezione Java che mi fa notare che l.head non esiste, quindi non viene ritornato false. Se invece aggiungo return non ottengo errori e mi viene ritornato false. Come mai? Ricordo che anche in un altro caso ho dovuto esplicitare il return per non avere lo stesso problema, La ringrazio in anticipo

6
Codice: [Seleziona]
  def inferiori(l:List[Int]):List[(Int, Int)] = {
    l.map(x => (x, l.count(_ < x))).distinct
  }

7
Codice: [Seleziona]
def mediaVeicoli(l:List[Int]):Double = {
    l.dropRight(l.length - l.indexWhere(_ < 0)).reduce(_ + _).toDouble / l.dropRight(l.length - l.indexWhere(_ < 0)).length.toDouble
  }

L'ho fatto senza aver notato il suggerimento, va bene comunque anche se abbastanza macchinoso?

Pagine: [1]