Novità

L'ultimo della classe...

C-64

Super Member >PLATINUM<
Tra i vari linguaggi di programmazione quasi sempre il VB.Net non viene preso in considerazione. Ma davvero è un linguaggio così pessimo, non aggiornato da non essere valutato minimamente?
Personalmente non credo, direi che visto che ancora è presente nella suite Visual Studio, e viene costantemente aggiornato. Può essere un ottimo punto di partenza per chi vuole cimentarsi nella programmazione, grazie anche ai molti tutorial presenti sul web. Essendo il Visual Studio Community totalmente gratuito, credo valga la pena provarlo, vb.net poi non è l'unico linguaggio presente in VS.
 

genios

Advanced Member >PLATINUM<
C-64 come dovrei fare per far girare questo programmino in visual studio :


Codice:
Imports System.Collections.Generic

Module Module1

    Sub Main()
        ' Lista per memorizzare i gruppi di novine che soddisfano la condizione
        Dim gruppiNovine As New List(Of List(Of String))()

        ' Terzine fornite
        Dim terzine() As String = {
            "1.2.3", "4.5.6", "7.8.9", "10.11.12", "13.14.15", "16.17.18",
            "19.20.21", "22.23.24", "25.26.27", "28.29.30", "31.32.33",
            "34.35.36", "37.38.39", "40.41.42", "43.44.45", "46.47.48",
            "49.50.51", "52.53.54", "55.56.57", "58.59.60", "61.62.63",
            "64.65.66", "67.68.69", "70.71.72", "73.74.75", "76.77.78",
            "79.80.81", "82.83.84", "85.86.87", "88.89.90"
        }

        ' Chiamiamo la funzione per ottenere i gruppi di novine che soddisfano la condizione
        GetGruppiNovine(terzine, gruppiNovine)

        ' Stampiamo i gruppi di novine trovati
        Console.WriteLine("Gruppi di novine che soddisfano la condizione:")
        For Each gruppo As List(Of String) In gruppiNovine
            For Each terzina As String In gruppo
                Console.Write(terzina & " ")
            Next
            Console.WriteLine()
        Next

        Console.ReadLine()
    End Sub

    Sub GetGruppiNovine(ByVal terzine() As String, ByRef gruppiNovine As List(Of List(Of String)))
        ' Lista temporanea per memorizzare le terzine uniche in ogni gruppo
        Dim terzineUniche As New List(Of String)()

        ' Scorriamo le terzine fornite per trovare i gruppi di novine
        For Each terzina As String In terzine
            ' Se la terzina non esiste già nella lista temporanea, la aggiungiamo
            If Not terzineUniche.Contains(terzina) Then
                terzineUniche.Add(terzina)

                ' Se abbiamo trovato 30 terzine uniche, aggiungiamo il gruppo alla lista di risultati
                If terzineUniche.Count = 30 Then
                    gruppiNovine.Add(New List(Of String)(terzineUniche))
                    terzineUniche.Clear() ' Puliamo la lista temporanea per il prossimo gruppo
                End If
            End If
        Next
    End Sub

End Module
 

C-64

Super Member >PLATINUM<
Ciao,
Risposta veloce dal cellulare, apri il visual studio, inizia un nuovo progetto. Aggiungi al progetto un modulo, copia il codice che hai postato nel modulo, dopo puoi richiamare dal progetto le funzioni del modulo appena aggiunto.
Non so se hai capito cosa fare, credo che tu abbia copiato quel modulo da qualche parte, oltre al risultato che dovrebbe darti quel codice, conosci le funzioni oppure le classi presenti in quel modulo?
 

C-64

Super Member >PLATINUM<
In pratica lo svilupo integrale delle 30 terzine a gruppi di tre, tipo:
1.2.3 4.5.6 7.8.9
1.2.3 4.5.6 10.11.12
1.2.3 4.5.6 13.14.15 etc...
Sai sviluppare i terni integrali con 30 numeri?
1.2.3
1.2.4
1.2.5 etc... naturalmente non a mano.
Forse ti chiederai cosa c'entrano i terni con le novine che hai chiesto, ma le tue novine sono formate
usando 30 terzine, quindi terzina 1=1.2.3, terzina 2=4.5.6, terzina 3=7.8.9, se ad ogni terno che sviluppi
sostituisci i numeri con il relativo gruppo di terzina, otterrai una novina.
 
Ultima modifica:

C-64

Super Member >PLATINUM<
Apri Visual Studio, poi scegli come nuovo progetto App Windows Forms
1.JPG

Inserisci il nome del progetto, il percorso dove salvarlo ed alla fine puoi anche selezionare i framework.
2.JPG

Dopo aver cliccato su crea, sei pronto per lavorare con il tuo nuovo progetto.
3.JPG

Spostando il mouse sulla voce Casella degli strumenti con un click ti si aprirà il menu che comprende pulsanti, etichette, listbox etc...
4.JPG

Sai aggiungere un pulsante ed una listobox, e dopo creare il codice nella sub del pulsante per generare i terni che si formano ocn 30 numeri?
 

C-64

Super Member >PLATINUM<
Non ti ho chiesto di usare il modulo che hai pubblicato, ma se eri in grado tu di creare il codice per generare i terni.
Lascia perdere quel modulo, va usato diversamente, è inutile fare copia ed incolla di un codice se non comprendi cosa stai facendo.
 

C-64

Super Member >PLATINUM<
Dopo aver inserto un pulsante e la listbox (quest'ultima ci servirà per visualizzare i terni), passiamo alla parte codice.
Ti ho lasciato alcune indicazioni, e ti ripeto la domanda: riesci a creare il codice nella sub del button1 per generare i terni che si formano con 30 numeri?

5.JPG
 
Ultima modifica:

genios

Advanced Member >PLATINUM<
certo basta selezionare il button1 e doppiuo clik si apre la finestra del codice. Sto studiando :)
 

C-64

Super Member >PLATINUM<
Si, ma non hai ancora risposto alla domanda, quindi presumo che tu non sappia scrivere il codice che per generare e visualizzare i terni che si formano con 30 numeri.
Vediamo se con un piccolo aiuto riesci a proseguire. Sotto Public Class Form1 dichiara queste tre variabili
Dim n1 as integer
Dim n2 as integer
Dim n3 as integer
Nella sub di button1 scrivi
n1=1
n2=2
n3=3
'Useremo un ciclo while per cambiare l'ultimo numero dei terni

While n3<=30

Aggiungiamo il primo elemento alla listbox
Listbox1.items.add(n1 & "." & n2 & "." & n3)

'Incrementiamo n3 di uno, altrimenti finiresti in un loop infinito

n3=n3+1
End While

Dopo esegui il programma è clicca sul button1 per eseguire il codice inserito.
Valuta che sto dal cellulare, quindi attento ci fosse qualche errore di digitalizzazione.
 

C-64

Super Member >PLATINUM<
Che funziona lo so, solo che non sono le 30 terzine, ma solo la prima parte dello sviluppo integrale dei terni che si possono formare con 30 numeri. Come puoi vedere quello che cambia è solo l'ultimo termine, ora dovresti fare in modo di procedere con il secondo e primo termine. Fino ad ottenere come ultimo terno 28.29.30, se riesci ti mostro come convertire i ter i con le tue 30 terzine, in modo che ogni terno formerà una novina. Visto che tempo hai scritto che avevi le basi ma ti mancava la pratica, visto xhe ti ho fornito un primo passo che ti cambia sempre l'ultimo termine fino ad arrivare a 30, con lo stesso principio puoi variare gli altri due.
 

genios

Advanced Member >PLATINUM<
In pratica le variabili n1 e n2 sono rimaste invariate mentre il ciclo while end while ha variato solo la variabile n3 con il contatore n3 = n3+1 uscendo dal ciclo raggiunto il valore 30 . Ora dovremmo fare la stessa cosa con le variabili n1 e n2 . Ma come e dove infilare il codice .? :)
 
Ultima modifica:

C-64

Super Member >PLATINUM<
Vedi se trovi qualche buco dal quale farlo entrare... :)
Se te lo mostro io non ha senso, perchè ti limteresti a copiare e non a cercare di capire cosa ti ho mostrato fino adesso.
Se con while abbiamo ottenuto che la variabile n3 arrivi al massimo valore di 30, non credi che si può fare lo stesso con le altre due?

P.S.: In basso a destra del tuo VS noto la campanella delle notifiche che ti avvisa che probabilmente è disponbile un aggiornamento.
 
L

LuigiB

Guest
Ciao , spero di non interferire o disturbare C-64 intervenendo in questo thread

La possibilità di risolvere un problema con la programmazione non sta tanto nella difficoltà del linguaggio come qualcuno pensa ma sta soprattutto nella logica , ovvero nell'individuazione del metodo adatto a risolvere un problema.

Prima di scrivere il codice bisogna pensare a come fare.

Quindi è bene mettersi con carta e penna e prima di tutto ragionare , una volta che il ragionamento ha prodotto un metodo questo va trasferito nel codice.

Mi permetto di dare un piccolo input a Genios mettendo questa immagine che prevede lo sviluppo in terni di 5 numeri.

Escludendo di implementare lo sviluppo con i classici 3 cicli for nidificati che sono un sistema molto rigido ti chiedo di provare a ragionare su questa immagine studiando come si evolve lo sviluppo dei 10 terni che si formano con 5 numeri.

Dopo pensa con gli strumenti informatici che conosci come potrebbe essere trasformato in codice un simile processo.
Quando avrai pensato al metodo da usare vedrai che sviluppare 5 numeri o 30 , sviluppare in qualsiasi classe si fa sempre allo stesso modo


Ti serve conoscere:
- gli array mono e bidimensionali
- i cicli
- l'uso delle variabili
- costrutti decisionali



1690436364462.png
 
Ultima modifica di un moderatore:

C-64

Super Member >PLATINUM<
Ciao, non disturbi affatto, anzi mi fa molto piacere e credo faccia molto piacere anche a genios.
 

genios

Advanced Member >PLATINUM<
Ciao , spero di non interferire o disturbare C-64 intervenendo in questo thread

La possibilità di risolvere un problema con la programmazione non sta tanto nella difficoltà del linguaggio come qualcuno pensa ma sta soprattutto nella logica , ovvero nell'individuazione del metodo adatto a risolvere un problema.

Prima di scrivere il codice bisogna pensare a come fare.

Quindi è bene mettersi con carta e penna e prima di tutto ragionare , una volta che il ragionamento ha prodotto un metodo questo va trasferito nel codice.

Mi permetto di dare un piccolo input a Genios mettendo questa immagine che prevede lo sviluppo in terni di 5 numeri.

Escludendo di implementare lo sviluppo con i classici 3 cicli for nidificati che sono un sistema molto rigido ti chiedo di provare a ragionare su questa immagine studiando come si evolve lo sviluppo dei 10 terni che si formano con 5 numeri.

Dopo pensa con gli strumenti informatici che conosci come potrebbe essere trasformato in codice un simile processo.
Quando avrai pensato al metodo da usare vedrai che sviluppare 5 numeri o 30 , sviluppare in qualsiasi classe si fa sempre allo stesso modo


Ti serve conoscere:
- gli array mono e bidimensionali
- i cicli
- l'uso delle variabili
- costrutti decisionali



Vedi l'allegato 2264450
non disturbi caro LuigiB . Io avrei fatto come tu hai sconsigliato con 3 cicli annidati .
 
Ultima modifica:

Ultima estrazione Lotto

  • Estrazione del lotto
    sabato 18 maggio 2024
    Bari
    77
    62
    67
    60
    04
    Cagliari
    89
    01
    35
    54
    38
    Firenze
    84
    58
    25
    64
    57
    Genova
    53
    25
    66
    59
    23
    Milano
    22
    75
    48
    16
    77
    Napoli
    81
    41
    42
    67
    39
    Palermo
    19
    63
    57
    43
    05
    Roma
    04
    35
    50
    33
    23
    Torino
    56
    20
    46
    14
    88
    Venezia
    78
    81
    42
    74
    36
    Nazionale
    42
    83
    59
    86
    34
    Estrazione Simbolotto
    Milano
    41
    29
    01
    27
    30
Alto