Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 13-02-2014, 09:52   #1
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2647
[Visual Basic] Aiuto amica università gestionale

Ciao a tutti una mia amica deve fare un esame all'università gli hanno dato un programma in visual basic e deve capirlo per poi rispondere alle domande del professore ( lei va a ingegneria gestionale ) qualcuno può scrivere una sorta di riassunto in parole povere
Codice:
Sub Greedy()
Dim vett_riga() 'memorizza il valore minimo per ogni riga
Dim visitati() As Boolean 'memorizza i nodi visitati
Dim i, j As Integer
Dim nCitta As Integer
Dim step As Integer
Dim min_riga
Dim min_riga2
nCitta = n
sel = Int(Rnd() * nCitta)
If sel = 0 Then
sel = 1
Else
End If

primonodo = sel
  
ReDim visitati(nCitta)
ReDim vett_riga(nCitta)


For i = 1 To nCitta

visitati(ncittà) = False

Next i
        visitati(sel) = True
        Cells(n + 3, 1) = sel
        
        min_riga = 1000000
       

For step = 1 To nCitta - 1
        
        
        For i = 1 To nCitta
            
                  If i <> sel And visitati(i) = False Then
                            
                            vett_riga(i) = Cells(sel, i)
        
                
                                    If vett_riga(i) <= min_riga Then 'aggiorno il minimo
                                        min_riga = vett_riga(i)
                                        puntatore = i
                                        
                                    Else
                                    End If
                    Else
                    End If
        Next i
        costo_totale = costo_totale + min_riga 'aggiorna il costo totale ad ogni iterazione
        sel = puntatore
        visitati(primonodo) = True
        visitati(puntatore) = True
        Cells(n + 3, step + 1) = sel
      
        Cells(n + 4, step + 1) = min_riga
min_riga = 1000000


Next step



Cells(n + 3, nCitta + 1) = primonodo
ritorno = Cells(sel, primonodo)
Cells(n + 4, nCitta + 1) = ritorno
costo_totale = costo_totale + Cells(sel, primonodo)

Cells(n + 6, 1) = "Il costo totale è:"
Cells(n + 7, 1) = costo_totale


End Sub

Ultima modifica di davide87 : 13-02-2014 alle 12:53.
davide87 è offline  
Old 13-02-2014, 11:37   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Per quanto la facoltà scelta dalla tua amica non sia specializzata in questo settore, non credo che il suo professore l'abbia invitata all'esame senza farle prima un corso.
Il regolamento vieta la risoluzione di compiti ed esercizi, se c'è qualcosa in particolare che non ha capito saremo lieti di aiutarla.
Inoltre senza l'indentazione corretta nessuno vorrà leggerlo.
Daniels118 è offline  
Old 13-02-2014, 12:53   #3
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2647
è un programma in visual basic che fanno girare in excel, non hanno fatto nessun corso, non c'è niente da risolvere deve solo capire come funziona riga per riga.
Lei sa questo:
problema del commesso viaggiatore

in poche parole io ho una matrice dove su righe e colonne ho delle città

e dentro la matrice le distanze, in pratica devo visitare tutte le città una sola volta cercando il percorso minimo

io so a parole che il codice dice "prendi il primo nodo, trova il minimo su quella riga, scegli il nodo corrispondente se non è stato mai visitato, aggiorna il costo totale e rifai tutto partendo da quel nodo
davide87 è offline  
Old 13-02-2014, 13:42   #4
FirstDance
Senior Member
 
Iscritto dal: Jan 2003
Messaggi: 3956
Quote:
Originariamente inviato da davide87 Guarda i messaggi
è un programma in visual basic che fanno girare in excel, non hanno fatto nessun corso, non c'è niente da risolvere deve solo capire come funziona riga per riga.
Io dico che se non lo capisce non dovrebbe presentarsi all'esame.
__________________
CPU: AMD Ryzen 7 3700x - RAM: DDR4 Crucial Ballistix 3200MHz 16GB - MB: Gigabyte B550 AORUS Elite AX V2 - VGA: MSI GeForce RTX 4070 VENTUS 2X WHITE 12G OC - PS: Sharkoon WPM Gold Zero 650W, 80 Plus Gold - HD: Sabrent SSD PCIe NVMe M.2 1Tb - Dissipatore: Enermax ETS-T50A-FSS T50 AXE Silent Edition - Case: Be Quiet! Pure Base 500DX.
FirstDance è offline  
Old 13-02-2014, 13:46   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
A parte che l'indentazione lascia ancora molto a desiderare... ma chi ha scritto il programma? E' - senza offesa - scritto coi piedi.
Per esempio, vett_riga è un vettore, ma potrebbe benissimo essere uno scalare.
L'istruzione visitati(primonodo) = True si trova in un ciclo, ma primonodo è costante, l'istruzione viene ripetuta inutilmente.
Gli else sono tutti vuoti e si possono eliminare.

Ed infine arriviamo all'errore più grande... l'algoritmo in oggetto non calcola il percorso minimo, perché va sempre verso la città più vicina all'ultima visitata, senza tenere conto di quanto sono distanti le rimanenti città da quella scelta.

Considera questa matrice:
Codice:
    A    B    C    D
A   0   10   20   30
B  10    0  100  200
C  20  100    0 1000
D  30  200 1000    0
Il *tuo* algoritmo visiterebbe le città nell'ordine A B C D, che produrrebbe un costo pari a 10+100+1000 = 1100, ma esiste almeno una soluzione migliore:
A D B C, di costo 30+200+100=330.
Non per niente la complessità computazionale di questo problema è n!, mentre in quell'algoritmo è solo n^2.

Per concludere, secondo me c'è più di qualcosa da risolvere, comunque se sai già come funziona l'algoritmo non ho capito di cos'altro hai bisogno.

PS. quoto FirstDance.
Daniels118 è offline  
Old 13-02-2014, 20:07   #6
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2647
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
A parte che l'indentazione lascia ancora molto a desiderare... ma chi ha scritto il programma? E' - senza offesa - scritto coi piedi.
Per esempio, vett_riga è un vettore, ma potrebbe benissimo essere uno scalare.
L'istruzione visitati(primonodo) = True si trova in un ciclo, ma primonodo è costante, l'istruzione viene ripetuta inutilmente.
Gli else sono tutti vuoti e si possono eliminare.

Ed infine arriviamo all'errore più grande... l'algoritmo in oggetto non calcola il percorso minimo, perché va sempre verso la città più vicina all'ultima visitata, senza tenere conto di quanto sono distanti le rimanenti città da quella scelta.

Considera questa matrice:
Codice:
    A    B    C    D
A   0   10   20   30
B  10    0  100  200
C  20  100    0 1000
D  30  200 1000    0
Il *tuo* algoritmo visiterebbe le città nell'ordine A B C D, che produrrebbe un costo pari a 10+100+1000 = 1100, ma esiste almeno una soluzione migliore:
A D B C, di costo 30+200+100=330.
Non per niente la complessità computazionale di questo problema è n!, mentre in quell'algoritmo è solo n^2.

Per concludere, secondo me c'è più di qualcosa da risolvere, comunque se sai già come funziona l'algoritmo non ho capito di cos'altro hai bisogno.

PS. quoto FirstDance.
Il programma l'ha fatto il professore, la mia amica mi dice che funziona, lavora su una matrice random generata da una macro in excel...
davide87 è offline  
Old 13-02-2014, 20:30   #7
lorenzo001
Senior Member
 
Iscritto dal: Jul 2008
Città: Roma
Messaggi: 542
Non so di che "tipo" di professore parli ma non riesco ad immaginare una persona che insegna programmazione e che lascia le Else vuote ... me le aspetto da uno studente/studentessa non da un docente ...
lorenzo001 è offline  
Old 13-02-2014, 21:27   #8
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2647
Quote:
Originariamente inviato da lorenzo001 Guarda i messaggi
Non so di che "tipo" di professore parli ma non riesco ad immaginare una persona che insegna programmazione e che lascia le Else vuote ... me le aspetto da uno studente/studentessa non da un docente ...
Professore universitario ingegneria gestionale, l'esame è: Progettazione e simulazione dei sistemi di produzione e servizi
davide87 è offline  
Old 13-02-2014, 22:48   #9
airon
Senior Member
 
Iscritto dal: Feb 2004
Città: milano
Messaggi: 2148
Se a quel "professorone" hanno dato quel corso e la cattedra posso sicuramente ambire a diventare rettore della normale di Pisa

Come detto è l'algoritmo mal implementato (anzi sbagliato, come ti ha fatto notare) del percorso minimo.

Ultima modifica di airon : 13-02-2014 alle 22:51.
airon è offline  
Old 14-02-2014, 07:48   #10
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Per dirla tutta l'algoritmo lavora in accordo con il nome che gli è stato dato: greedy, significa che costruisce la soluzione finale scegliendo la soluzione migliore ad ogni passo (migliore solo per quel passo).
Di fatto il risultato finale non è sempre il migliore, come già spiegato e dimostrato nell'esempio che ho fatto prima.
Daniels118 è offline  
Old 14-02-2014, 09:30   #11
FirstDance
Senior Member
 
Iscritto dal: Jan 2003
Messaggi: 3956
Credo che questo programma sia prima di tutto un esercizio didattico, dove probabilmente si vuole porre l'attenzione su determinate caratteristiche, ignorandone deliberatamente altre come l'ottimizzazione.
Per quello che può valere, non sono comunque d'accordo: sarebbe meglio mostrare da subito come si scrive un programma, per consentire allo studente di avere anche un approccio euristico alla programmazione.
Oppure, più semplicemente, quel professore non sa programmare.

In ogni caso, l'esercizio se l'ha dato alla ragazza è per farglielo studiare, non capisco che senso abbia venire a chiedere a noi come si risolve.
Se non è capace di comprendere l'esercizio, allora vuol dire che non merita nemmeno di passare l'esame, mi pare lapalissiano.
__________________
CPU: AMD Ryzen 7 3700x - RAM: DDR4 Crucial Ballistix 3200MHz 16GB - MB: Gigabyte B550 AORUS Elite AX V2 - VGA: MSI GeForce RTX 4070 VENTUS 2X WHITE 12G OC - PS: Sharkoon WPM Gold Zero 650W, 80 Plus Gold - HD: Sabrent SSD PCIe NVMe M.2 1Tb - Dissipatore: Enermax ETS-T50A-FSS T50 AXE Silent Edition - Case: Be Quiet! Pure Base 500DX.
FirstDance è offline  
Old 14-02-2014, 10:51   #12
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 13000
Quote:
Originariamente inviato da Daniels118 Guarda i messaggi
Per dirla tutta l'algoritmo lavora in accordo con il nome che gli è stato dato: greedy, significa che costruisce la soluzione finale scegliendo la soluzione migliore ad ogni passo (migliore solo per quel passo).
Di fatto il risultato finale non è sempre il migliore, come già spiegato e dimostrato nell'esempio che ho fatto prima.
Il che non è sbagliato, è una ottimizzazione greedy appunto, che naviga ottimi locali e non verso l'ottimo globale, come tale ammette una soluzione sub-ottima.

Immagino che il corso tratti di quello.

Comunque concordo che dovrebbe sforzarsi di capire come funziona.
WarDuck è offline  
Old 14-02-2014, 11:39   #13
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Il che non è sbagliato, è una ottimizzazione greedy appunto, che naviga ottimi locali e non verso l'ottimo globale, come tale ammette una soluzione sub-ottima.

Immagino che il corso tratti di quello.

Comunque concordo che dovrebbe sforzarsi di capire come funziona.
Infatti io non ho mai detto che l'algoritmo è sbagliato, ho detto che è stato commesso un grave errore senza specificare dove, il che può significare:
(nell'implementazione di quanto richiesto) OR (nell'interpretazione dell'algoritmo)


Però non ho ancora capito cosa vorrebbe davide87, visto che sa già "a parole" cosa fa l'algoritmo... altre parole?
Daniels118 è offline  
Old 14-02-2014, 12:34   #14
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2647
La mia amica ripeto fa ingegneria gestionale non gli hanno mai fatto seguire corsi di programmazione e l'esame non riguarda la programmazione.
Lei cercava una spiegazione riga per riga e cmq l'esame è oggi poi vi dirò
davide87 è offline  
 Discussione Chiusa


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Grazie a GLIMPSE-17775 il telescopio spa...
Samsung Galaxy A27 5G è ufficiale...
TCL aggiorna la sua gamma di monitor per...
Anche OPPO avrà uno smartphone co...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
"Prime Day Amazon il 23-26 giugno": sì e...
Oggi 2 super MacBook Pro M5 e M5 Pro, 24...
Tineco Floor One Station S9 Artist: il s...
Raggiunte nuove altitudine e velocit&agr...
Apple Watch Series 11 GPS a 339€ su Amaz...
Come un MacBook, ma con la RTX 5070: MSI...
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: 22:46.


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