Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
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: 2653
[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: 2653
è 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: 3978
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: 2653
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: 2653
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: 3978
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: 13054
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: 2653
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


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Apple annuncia i nuovi MacBook Pro con s...
Warhorse Studios colpita da un grave att...
MX Master 4, arriva l'edizione speciale ...
Kali Linux 2026.3 porta la caccia alle r...
Oracle si affida a OpenAI: ChatGPT e Cod...
Kaspersky punta su IA e servizi gestiti ...
Già sfruttata la falla Brotli che...
Potrebbe essere stato scoperto un nuovo ...
Claude Code, il prompt per scovare telec...
Palit e GALAX smentiscono le voci sulla ...
Fujifilm annuncia la Instax Mini Evo 2, ...
Tailscale chiude le falle SSH verso root...
Il tuo Galaxy laggava nei giochi? Samsun...
Arrivano i nuovi Amazon Echo: prezzi da ...
Il nuovo pickup elettrico Ford può alime...
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: 23:10.


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