Section Name Description
Programma del corso e progetti per l'esame Page Programma del corso
Page Course outlines
File Progetti per l'esame
Il file contiene i progetti tra i quali scegliere quello da presentare all'esame. I progetti sono di varia difficoltà e la scelta va effettuata in base alle proprie capacità ed alle proprie aspirazioni. Il progetto scelto va realizzato in Visual Basic e deve essere fatto pervenire al docente almeno quattro giorni prima della data dell'esame.
Chi lo desideri può leggermente modificare o aggiungere nuove funzionalità ai progetti, purché queste modifiche o aggiunte abbiano finalità migliorative.
Appunti per gli studenti File Appunti sulla programmazione
Appunti su alcuni concetti di base di programmazione
File Appunti sugli algoritmi
Appunti su alcuni concetti di base sugli algoritmi
File ListBox e ComboBox in Visual Basic
Alcune informazioni sui controlli ListBox e ComboBox in Visual Basic.
File File di testo in Visual Basic
Alcune informazioni sui file di testo in Visual Basic.
Primi passi con i form ed i controlli Visual Basic File Un semplice esercizio
Si realizzi l'esercizio indicato nel file pdf contenuto nell'allegato.
L'allegato contiene anche il file eseguibile che consente di visualizzare il risultato da ottenere.
Page Modificare le proprietà di un form

Esercizio sulla modifica di alcune semplici proprietà di un form

File Un saluto
Page Visualizzare le coordinate del mouse

Visualizzazione delle coordinate del mouse sullo schermo

File Una variante di un esercizio precedente (e un possibile primo uso della struttura If ... Then ... Else ... End If)
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.
Alcune informazioni preliminari per la realizzazione dell'esercizio:

  • I radiobutton consentono di scegliere una ed una sola tra più alternative. Per raggrupparli si usi un groupbox o un panel, da inserire prima dei radiobutton stessi ed all'interno di questo si posizionino i radiobutton.
  • Un radiobutton è selezionato quando la sua proprietà Checked vale True.
  • Il cambio di colore delle etichette va dunque effettuato gestendo l'evento CheckedChanged dei radiobutton. Nelle routine di evento corrispondenti si andrà a verificare lo stato della proprietà Checked impiegando una struttura condizionale del tipo If ... Then ... Else ... End If. Ad esempio:
    If radFantascienza.Checked = True Then
    lblFantascienza.BackColor = Color.Green
    Else
    lblFantascienza.BackColor = Color.Magenta
    End If

     




Primi esercizi su conversioni di tipo e totali File Un semplice esempio di conversione di tipo
Un semplice esempio di conversione intero - stringa e viceversa
File Accumulare valori per calcolare un totale

Si realizzi l'esercizio contenuto nell'allegato.
Alcune informazioni preliminari per la realizzazione dell'esercizio:

  • Me.Close() chiude l'applicazione.
  • Un numero contenuto in una variabile numerica può essere formattato con la funzione FormatNumber, con la sintassi FormatNumber(variabile, numero di cifre decimali dopo la virgola). I valori finanziari possono essere formattati con l'analoga funzione FormatCurrency, con sintassi simile, ottenendo così anche il simbolo di valuta.
  • Un altro sistema per formattare il contenuto delle variabili numeriche è utilizzare il metodo ToString, indicando tra parentesi il formato di conversione desiderato. Se ad esempio s è una variabile String e num è una variabile numerica, s=num.ToString("C") assegna ad s la stringa con il numero contenuto in num formattato come importo monetario, con il simbolo di valuta. Altre possibilità sono ad esempio s=num.ToString("P") per il formato percentuale, s=num.ToString("E") per la notazione scientifica, ecc. Sono possibili inoltre formati personalizzati. Ulteriori notizie si trovano nell'help di Visual Basic.
  • In Visual Basic è possibile visualizzare delle finestre di messaggio attraverso il metodo MessageBox.Show. Ad esempio, scrivendo MessageBox.Show("Il totale è 10", "Totali", MessageBoxButtons.OK, MessageBoxIcon.Information) si visualizza una piccola finestra con il messaggio "Il totale è 10", il titolo "Totali", un pulsante di OK ed un'icona con un simbolo di informazione. Ulteriori notizie sulla sintassi si trovano nell'help di Visual Basic.
Esercizi sulle strutture condizionali File Un semplice calcolo del consumo di un auto
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.
Alcune informazioni preliminari per la realizzazione dell'esercizio:
  • I radiobutton consentono di scegliere una ed una sola tra più alternative. Per raggrupparli si usi un groupbox o un panel, da inserire prima dei radiobutton stessi ed all'interno di questo si posizionino i radiobutton.
  • Un radiobutton è selezionato quando la sua proprietà Checked vale True.
  • Il programma d'esempio verifica anche che i dati inseriti siano numerici ed in caso non lo siano informa l'utente. Questa verifica può essere realizzata tramite la funzione IsNumeric. Ad esempio, se s è una variabile di tipo String, dopo l'istruzione s="23", IsNumeric(s) rende True. Per il controllo andrà impiegata un'opportuna istruzione If. In caso di dato non numerico, si posizioni il cursore sulla casella di testo opportuna per consentire all'utente di digitare nuovamente il dato necessario, impiegando il metodo Focus, ad esempio così: textbox1.Focus().


Page Controllare se i dati sono numerici

Alcuni metodi per controllare se i dati sono numerici

File Esempio di uso di Try/Catch e della function IsNumeric
Un esempio di uso alternativo del Try/Catch o della function IsNumeric
File Calcoliamo i totali ma complichiamoci un po' la vita...

Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.

Si tratta di un'evoluzione del programma contenuto nell'esercizio "Accumuliamo valori per calcolare un totale", che riassume quanto visto negli esercizi precedenti. Alcune indicazioni aggiuntive:

  • I "Dati riassuntivi" che vengono visualizzati dal programma sono contenuti in una casella di testo multilinea, cioè con la proprietà Multiline posta uguale a True. La barra laterale verticale viene visualizzata ponendo la proprietà ScrollBars uguale a Vertical.
  • Per andare a capo nel textbox con i dati riassuntivi, si concateni alle varie parti che compongono la stringa con questi dati, ove necessario, la costante stringa vbCrLf. Ad esempio "ciao"+vbCrLf+"a tutti" crea un ritorno a capo tra "ciao" e "a tutti".
File Una soluzione per l'esercizio precedente
Un esempio di come risolvere l'esercizio "Calcoliamo i totali ma complichiamoci un po' la vita".
File Aggiungiamo un menu

Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf. Si tratta di un'evoluzione del programma contenuto nell'esercizio "Calcoliamo i totali ma complichiamoci un po' la vita...". La principale modifica riguarda l'inserimento di un menu, con alcune specifiche voci (si veda il file pdf per il dettaglio).

Per aggiungere un menu ad un form, si inserisca, prelevandolo dalla Toolbox, un oggetto MenuStrip. Ogni oggetto MenuStrip contiene un insieme di oggetti ToolStripMenuItem, che sono le singole voci di menu. Un menu viene associato ad un form impostando la proprietà MainMenuStrip del form al nome dell'oggetto MenuStrip corrispondente al menu desiderato (di norma, con un solo menu, questo avviene automaticamente). La scrittura delle voci di menu può essere effettuata in maniera immediata impiegando le facilitazioni offerte dall'ambiente di programmazione visuale (il Menu Designer).

In maniera analoga è possibile inserire menu contestuali, cioè menu visualizzati facendo click con il pulsante destro del mouse sul form o su un controllo del form stesso. In genere il menu contestuale varia al variare della posizione sulla quale si fa click. Per inserire un menu contestuale è sufficiente aggiungere, prelevandolo dalla Toolbox, un oggetto ContextMenuStrip, associandolo poi al rispettivo controllo (form, etichetta, casella di testo, ecc.) tramite la proprietà ContextMenuStrip di quest'ultimo. L'inserimento delle varie voci di menu può poi essere effettuato tramite il Menu Designer dell'ambiente di programmazione.

Per una dettagliata spiegazione del funzionamento dei menu in Visual Basic si veda il capitolo 11 del libro di testo.

Nell'esercizio proposto apposite voci del menu consentono di visualizzare finestre di dialogo specifiche per la modifica di font e colore della casella di testo contenente i dati riassuntivi. A tale scopo si inseriscano, prelevandoli dalla casella degli strumenti, un controllo FontDialog ed un controllo ColorDialog rispettivamente. Vediamo ora come usarli. Supponiamo ad esempio che il ColorDialog si chiami dlgColor e che la casella di testo con i dati riassuntivi si chiami txtSummary. Le seguenti istruzioni

dlgColor.Color = txtSummary.ForeColor

dlgColor.ShowDialog()

txtSummary.ForeColor = dlgColor.Color

consentono di:

  • Assegnare alla finestra di dialogo per la scelta del colore il colore corrente con cui sono scritti i dati nella casella di testo (inizialmente: nero), per mezzo della proprietà ForeColor.
  • Visualizzare la finestra di dialogo per la scelta del colore
  • Assegnare alla casella di testo il nuovo colore per la scrittura dei dati, così come selezionato dall'utente, sempre usando la proprietà ForeColor.

Un metodo analogo può essere utilizzato nel caso del controllo FontDialog, impiegando la proprietà Font.

Page Risoluzione delle equazioni di grado minore o uguale a due

Risoluzione delle equazioni di grado minore o uguale a due

File Una soluzione per la risoluzione delle equazioni
Esercizi su procedure e funzioni Page Sempre le equazioni ma usando funzioni

Risoluzione delle equazioni di grado minore o uguale a due usando funzioni

File Una soluzione per l'esercizio precedente
Esercizi sulle strutture di ciclo File Il gioco HiLo (High - Low)

Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf. Si tratta di un programma che genera a caso un numero intero compreso tra uno ed un certo numero massimo e chiede all'utente di indovinarlo entro un certo numero prefissato di tentativi.

Quando si scriveranno le istruzioni necessarie per generare il numero intero casuale da indovinare, potrà risultare utile la funzione Int, che tronca i numeri con la virgola, eliminando le cifre dopo di essa. Si colga l'occasione per cercare nell'help del Visual Basic la differenza tra le funzioni Int, Fix, CInt e Round.

La funzione InputBox, che consente di visualizzare una casella per l'input dei dati, è spiegata in dettaglio nel capitolo 7.1 del libro di testo. Un esempio di utilizzo è il seguente:

strNome = InputBox("Inserisci il tuo nome", "Inserimento nome", "Giovanni")

All'esecuzione apparirà all'utente una finestrella che consente l'inserimento di una stringa, con il prompt "Inserisci il tuo nome", il titolo "Inserimento nome" e la proposta di default (cioè quella di norma ritenuta in qualche modo più comune) "Giovanni". Il valore inserito dall'utente finirà nella variabile stringa strNome. Se l'utente preme il tasto Cancel, allora la variabile strNome conterrà la stringa vuota, indicata con "". Il titolo e la proposta di default sono facoltativi. La finestra generata dalla funzione inputBox è modale, cioè non consente all'utente di accedere alla finestra principale prima di venir chiusa.

 

 

URL Il metodo Rnd in Visual Basic
URL Il metodo Randomize in Visual Basic
File Una soluzione per il gioco Hilo
Page Il metodo di bisezione per trovare uno zero di una funzione
Il metodo di bisezione costituisce un'applicazione pratica del teorema degli zeri ed è forse il più semplice metodo per trovare uno zero di una funzione (continua) f, cioè per trovare una soluzione dell'equazione f(x)=0.
Si realizzi un programma Visual Basic che, applicando il metodo di bisezione, trovi uno zero di una funzione (continua) f, espressa sotto forma di Function all'interno del programma stesso.
Si veda la prima parte del file pdf di cui si fornisce il link nella risorsa successiva per una descrizione del metodo di bisezione. Una descrizione del metodo è contenuta anche nella pagina di Wikipedia il cui link viene successivamente fornito.
URL Il metodo di bisezione ed il suo funzionamento
Si veda la prima parte del file pdf di cui si fornisce il link per una descrizione del metodo di bisezione.
URL Il metodo di bisezione su Wikipedia
File Un esempio del metodo di bisezione
URL Istruzioni di tipo Exit in Visual Basic
La programmazione strutturata URL La voce "Programmazione strutturata" in Wikipedia
URL L'articolo contro l'uso del GOTO di Dijkstra
URL La voce "Spaghetti code" in Wikipedia
URL L'articolo di Böhm - Jacopini sulla programmazione strutturata
Listbox e Combobox File Listbox e combobox
File Una soluzione per l'esercizio precedente
Impiegare più form File The teacher is always OK
File Una soluzione dell'esercizio precedente
Un esercizio sui vettori Page Il triangolo di Tartaglia
URL Il triangolo di Tartaglia su Wikipedia
Page Determinare il numero di elementi di un vettore
I vettori ed i loro algoritmi File Vettori e listbox
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.
File Una soluzione per l'esercizio precedente
URL L'istruzione Redim
URL Uso di DialogResult con un MessageBox (si veda l'esempio)
Impariamo ad usare le strutture ed i file di testo File Un esempio di impiego di file di testo
File Una variante dell'esempio precedente
URL Come scrivere file di testo in Visual Basic
URL Come leggere file di testo in Visual Basic
File Vettori, combobox e file
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.
File Una soluzione per l'esercizio precedente
Ricorsione: il calcolo del fattoriale URL La struttura BigInteger di Visual Basic
Ed ora, per i più volenterosi... File Non si è mai finito di complicarsi la vita...

Si realizzi il programma contenuto nel file allegato.

Si tratta di una variante dell'esercizio "Calcoliamo i totali ma complichiamoci un po' la vita", nella quale viene richiesto di gestire i dati inseriti dall'utente attraverso un vettore.

L'utente inserisce il nome di un cliente e via via i relativi articoli ordinati dal cliente stesso per mezzo del pulsante "Inserisci articolo", visualizzando via via alcune informazioni riassuntive.
Terminato l'inserimento degli articoli, l'utente clicca sul pulsante "Chiudi ordine", in modo da consentire l'inserimento di un altro cliente e dei suoi ordini.
Il pulsante "Riassunto ordini" visualizza in un altro form modale l'elenco dei clienti e dei relativi ordini, utilizzando un paio di listbox ed un'etichetta.

Per memorizzare le informazioni via via necessarie, si utilizzi un apposito array strutturato. Si faccia attenzione inoltre alla visibilità della variabili necessarie ad entrambi i form.

Il programma consente anche di salvare in un file di testo il contenuto del vettore strutturato che memorizza i dati via via inseriti dall'utente. Analogamente, il programma consente anche di leggere un file di testo contenente dei dati (opportunamente strutturati) da inserire nel vettore, in modo da poterli visualizzare attraverso il programma stesso.

File Simulazione del lancio di un dado: una prima versione
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.
File Simulazione del lancio di un dado: una versione un po' più elaborata
Si realizzi il programma contenuto nel file allegato, le cui istruzioni sono fornite in formato pdf.