Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi
Con la prima rete 5G Standalone attiva in Italia, WINDTRE compie un passo decisivo verso un modello di connettività intelligente che abilita scenari avanzati per imprese e pubbliche amministrazioni, trasformando la rete da infrastruttura a piattaforma per servizi a valore aggiunto
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 13-02-2014, 10:52   #1
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2646
[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 13:53.
davide87 è offline  
Old 13-02-2014, 12: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, 13:53   #3
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2646
è 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, 14:42   #4
FirstDance
Senior Member
 
Iscritto dal: Jan 2003
Messaggi: 3924
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, 14: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, 21:07   #6
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2646
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, 21: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, 22:27   #8
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2646
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, 23: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 23:51.
airon è offline  
Old 14-02-2014, 08: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, 10:30   #11
FirstDance
Senior Member
 
Iscritto dal: Jan 2003
Messaggi: 3924
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, 11:51   #12
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12861
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, 12: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, 13:34   #14
davide87
Senior Member
 
L'Avatar di davide87
 
Iscritto dal: Dec 2004
Città: Pomezia-Roma Mezzo: STGT ( Sola e Tacchi Gran Turismo )
Messaggi: 2646
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


Wind Tre 'accende' il 5G Standalone in Italia: si apre una nuova era basata sui servizi Wind Tre 'accende' il 5G Standalone in Italia: s...
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
La missione con equipaggio Shenzhou-21 h...
Il Galaxy S26 Edge potrebbe essere ancor...
Google riaccenderà una centrale n...
Crollo per Pornhub nel Regno Unito:-77% ...
La Germania accende il suo cannone laser...
Il meglio di Amazon in 2 minuti: tira ar...
ECOVACS risponde a Eureka e dimezza il p...
Durissimo colpo per Nintendo: l'ufficio ...
Scope elettriche al minimo storico su Am...
Blue Jay e Project Eluna: robotica e AI ...
Scede a 949€ il Samsung Galaxy S25 Ultra...
Blue Yeti Nano in super offerta su Amazo...
Netflix sta preparando un'offerta per Wa...
Prezzo impossibile, è sceso ancor...
Torna il migliore dei mini PC economici:...
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: 06:28.


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