Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-05-2005, 12:01   #1
fremyd
Junior Member
 
Iscritto dal: May 2005
Messaggi: 2
funzione Random!

Ciao a tutti,
avrei bisogno di sapere come è implementata la funzione Random ( e la randomize) nei diversi linguaggi di programmazione..(in particolare in Java)
I concetti generici li conosco e ho anke visto le classi java.util.Random e Math.random() di Java, ma mi servirebbe una spiegazione abbastanza dettagliata (una bella spiegazione "a parole"... tipo i parametri da cui dipende il seme di generazione, un carrellata sull' algoritmo di implementazione, ecc..
Magari anke senza entrare troppo nei dettagli..
fremyd è offline   Rispondi citando il messaggio o parte di esso
Old 23-05-2005, 14:30   #2
Ziosilvio
Moderatore
 
L'Avatar di Ziosilvio
 
Iscritto dal: Nov 2003
Messaggi: 16214
Stavo lavoricchiando a un tutorial su questo argomento, e la tua domanda potrebbe essere lo stimolo giusto per concluderlo e pubblicarlo qui. Comunque, ecco qualcosa per cominciare:

In genere, le funzioni random dei linguaggi di programmazione sono generatori pseudocasuali che producono sequenze a partire da valori iniziali; si richiede che la sequenza non "abbia regolarita' apparenti" (qualunque cosa questo voglia dire).
Di solito, ogni valore viene calcolato a partire dal valore precedente mediante una congruenza lineare o un altro procedimento aritmetico.

La libreria standard del linguaggio C prevede una funzione rand, ogni chiamata alla quale restituisce un valore intero equidistribuito tra 0 e RAND_MAX inclusi, e una funzione srand che inizializza il seme del generatore con un valore a scelta.
E chiaro che l'unico modo per rendere imprevedibile un generatore siffatto consiste nello scegliere a caso il seme: questo viene fatto usando come argomento di srand il valore restituito da time, visto che il momento preciso in cui viene chiamata srand e' con buona approssimazione imprevediibile.

Java usa due sistemi: Math.Random restituisce un valore di tipo double, distribuito uniformemente (per quanto possibile) tra 0.0 incluso e 1.0 escluso; un'istanza dell'oggetto java.util.Random viene creato con un seme casuale e ha dei metodi per restituire l'elemento successivo della sequenza, in vari tipi.

I dettagli implementativi non vengono quasi mai descritti per intero, anche perche' possono dipendere dall'architettura hardware e dal sistema operativo.

Due libri che ne parlano approfonditamente sono il secondo volume di "The Art of Computer Programming" di Doland Knuth, e poi i vari "Algoritmi in <inserire un linguaggio a scelta>" di Robert Sedgewick.
__________________
Ubuntu è un'antica parola africana che significa "non so configurare Debian" Chi scherza col fuoco si brucia.
Scienza e tecnica: Matematica - Fisica - Chimica - Informatica - Software scientifico - Consulti medici
REGOLAMENTO DarthMaul = Asus FX505 Ryzen 7 3700U 8GB GeForce GTX 1650 Win10 + Ubuntu
Ziosilvio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
Intel non ha intenzione di abbandonare i...
La AI Mode sarà attiva di default...
Marvel's Wolverine non sarà un op...
Star Wars Zero Company esce ad agosto: n...
Bonus Decoder: fino al 70% di sconto con...
Virtua Fighter è tornato e non &e...
Il ritorno di Fumito Ueda, autore di Sha...
Cooler Master svela GPU Shield, la nuova...
Samsung Galaxy S27 Pro: sarà lui ...
Così Google ha ottimizzato Chrome...
Xiaomi non cambia idea: il display poste...
LG presenta in Italia le gamme TV Micro ...
Sette anni dopo l'annuncio, The Wolf Amo...
'Non avrete aumenti': la decisione shock...
TIM lancia il Pass Mondiali DAZN: 104 pa...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v