Novità

L'ultimo della classe...

  • Creatore Discussione Creatore Discussione C-64
  • Data di inizio Data di inizio
C

C-64

Guest
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.
 
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
 
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?
 
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 di un moderatore:
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?
 
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.
 
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 di un moderatore:
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.
 
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.
 
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:
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.
 
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:
Ciao, non disturbi affatto, anzi mi fa molto piacere e credo faccia molto piacere anche a genios.
 
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
    venerdì 10 gennaio 2025
    Bari
    40
    61
    11
    86
    37
    Cagliari
    31
    02
    51
    68
    87
    Firenze
    73
    55
    34
    52
    18
    Genova
    11
    40
    27
    82
    20
    Milano
    80
    71
    65
    19
    10
    Napoli
    50
    30
    03
    01
    36
    Palermo
    66
    42
    43
    76
    89
    Roma
    05
    22
    62
    35
    39
    Torino
    17
    58
    62
    86
    69
    Venezia
    43
    89
    14
    04
    40
    Nazionale
    64
    76
    35
    40
    19
    Estrazione Simbolotto
    Bari
    08
    07
    37
    33
    38

Ultimi Messaggi

Indietro
Alto