MODULO 3 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione PARAGRAFO 1: Definizione di struttura di sequenza o sequenziale In un algoritmo si parla di struttura di sequenza quando le istruzioni elementari dell algoritmo sono una di seguito all altra come mostra la figura: Problema1: Dati due numeri A e B, calcolarne la somma. Per la realizzazione di questo programma in VB.net seguiamo i suddetti 5 passi: 1) la tabella delle variabili di input, di output e di lavoro è la seguente: Tabelle delle variabili di input, output e di lavoro A Primo numero B Secondo numero Som Somma dei 2 numeri 2) Individuazione dell algoritmo per passi Algoritmo per passi 2. dammi il valore del primo numero A 3. dammi il valore del secondo numero B 4. somma i due numeri A e B 5. visualizza la somma Som 5. fine 3) individuazione del diagramma a blocchi Algoritmo col diagramma a blocchi Inizio A, B Som=A+B Som Fine 4) Creazione del form Visualbasic.Net, inserendo gli oggetti: label, textbox e botton, ecc. e definendo le loro proprietà 1
5) Codifica del corpo dei pulsanti di calcolo (button) inseriti nel Form Qui nel form c è un solo pulsante che effettua un calcolo e si chiama +. Pertanto procederemo a scrivere il codice visualbasic.net sono per tale pulsante. Esso è il seguente: CODIFICA PULSANTE + ' DICHIARAZIONE DELLE VARIABILI Dim A, B, Som As Integer ' INPUT DEL VALORE DI A E DEL VALORE DI B A=Val(txtA.Text) B=Val(txtB.Text) ' SOMMA A+B Som=A+B ' STAMPA SOMMA txtsom.text=som txta è il nome della casella di testo creata per A, mentre.txt è la proprietà testo delle caselle txta.text e txtb.text Problema2: Dati un numero A, calcolare il suo quadrato QA e il suo doppio DA e li stampi. 1) Tabelle delle variabili di input e output A QA DA Primo numero Quadrato di A Doppio di A 2. dammi il valore del primo numero A 3. calcola il suo quadrato, AQ=A*A 4. calcola il suo doppio, DA=2*A 5. visualizza AQ e DA 6. fine 2
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI DIM a, qa, da, As Integer ' INPUT DEL VALORE DI a = Val (txta.text) ' CALCOLO DEL QUADRATO DI A qa = a*a ' CALCOLO DEL DOPPIO DI A da = a+a ' STAMPA A VIDEO DI QA E DA txtqa.text = qa txtda.text = da Problema3: Date le basi maggiori e minori e l altezza di un trapezio, calcolare l area. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro B1 b2 H SOM P Area Base maggiore base minore Altezza Somma (B1+b2) Prodotto SOM*H Area del trapezio P/2 2. Dammi il valore della base maggiore B1 3. Dammi il valore della base minore b2 4. Dammi il valore dell altezza H 5. Somma la base B1 con la B2 6. Assegna a som, la somma del punto 5 7. Moltiplica le variabili som e h 8. Assegna a P, il prodotto del punto 7 9. Dividi il prodotto per 2 10. Assegna ad Area, la divisione del punto 9 11. Stampa a video l area A 10. Fine Inizio B1,b2,H som =B1+b2 P = som * H Area = P / 2 Area Fine 3
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim B1, B2, H, Som, P As Integer Dim A As Double ' INPUT DEI VALORI DI B1, b2 e H B1 = Val (txtb1.text) B2 = Val (txtb2.text) H = Val (txth.text) ' CALCOLO DELL AREA DEL TRAPEZIO Som = B1 + B2 P = Som * H A = P / 2 ' STAMPA DELL AREA DEL TRAPEZIO txta.text = A Problema4: Scrivere un algoritmo che dati tre voti interi A, B e C letti in input, calcoli la media aritmetica e la stampi in output Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro A B C SOM MED 1 voto 2 voto 3 voto Somma dei tre voti Media dei tre voti 2. Dammi il primo voto A 3. Dammi il secondo voto B 4. Dammi il terzo voto C 5. Somma i tre voti A, B e C 6. Calcola la media dei tre voti 7. Fine Inizio A,B,C SOM =A+B+C Media =SOM / 3 Media Fine 4
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola C ' DICHIARAZIONE DELLE VARIABILI Dim A, B, C, SOM As Integer Dim media As Decimal ' INPUT DEI VALORI DI A, B e A = Val (txta.text) B = Val (txtb.text) C = Val (txtc.text) ' CALCOLO DELLA MEDIA SOM = A + B + C media = SOM / 3 ' STAMPA DELLA MEDIA A VIDEO txtmedia.text = media Problema5: Scrivere un algoritmo che dati due numeri e Y, effettui lo scambio dei valori e stampi a video i nuovi valori assunti da esse, utilizzando una variabile di appoggio. Y Capiamo il problema: sia x=10 e y=20 1) modo: sposto prima il contenuto di y in x, allora faccio x=y, quindi x sarà = 20, ma anche y = 20 2) modo: sposto prima il contenuto di x in y, allora faccio y=x, quindi y sarà = 10, ma anche x = 10 Bene in entrambi i modi ho ottenuto due valori uguali di x e di y e non è quello che volevo. Cosa devo fare? Prima di effettuare lo scambio, occorre conservare il valore di x o di y all interno di un altra variabile, detta temporanea, TEMP. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro Y TEMP Primo valore Secondo valore Variabile temporanea di appoggio 2. Dammi i valori di e Y 3. Assegna a TEMP il valore di 4. Assegna ad il valore di Y 5. Assegna ad Y il valore di TEMP 6. Stampa e Y 8. Fine 5
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim x, y, temp As Integer ' INPUT DEI VALORI DI E Y x = Val(txt.Text) y = Val(txtY.Text) 'SCAMBIO DEI VALORI DELLE E Y temp = x 'CONSERVO IN TEMP, x = y y = temp ' STAMPA DEI NUOVI VALORI DI E Y txt.text = x txty.text = y Problema6: Scrivere un algoritmo che dati in input quattro valori interi A, B, C e D, ruoti il loro valore di uno step indietro in senso antiorario e scriva in output il loro valore modificato. prima rotazione di uno step in senso orario dopo Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro A B C D TEMP Primo valore Secondo valore Terzo valore Quarto Valore Variabile temporanea di appoggio 2. Dammi i valori di A,B,C,D 3. Assegna a TEMP il valore di A 4. Assegna ad A il valore di D 5. Assegna ad D il valore di C 6. Assegna ad C il valore di B 7. Assegna ad B il valore di TEMP 8. Stampa i nuovi valori di A,B,C,D 9. Fine 6
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim A, B, C, D, TEMP As Integer ' INPUT DEI VALORI DI A,B,C,D A = Val (txta.text) B = Val (txtb.text) C = Val (txtc.text) D = Val (txtd.text) ' SCAMBIO DEL VALORE TRA A,B,C,D TEMP = A A = D D = C C = B B = TEMP ' OUTPUT DEI VALORI A,B,C,D MODIFICATI txta.text = A txtb.text = B txtc.text = C txtd.text = D Problema7: Trovare l algoritmo che calcoli la tabellina di un numero da 1 a 1000 e stampi la tabellina scelta a video Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro NUM R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 Numero da 1 a 1000 di cui si vuole conoscere la tabellina 1 risultato della tabellina 2 risultato della tabellina 3 risultato della tabellina 4 risultato della tabellina 5 risultato della tabellina 6 risultato della tabellina 7 risultato della tabellina 8 risultato della tabellina 9 risultato della tabellina 10 risultato della tabellina 2. Dammi il numero, NUM 3. Assegna a R1 il valore NUM*1 4. Assegna a R2 il valore NUM*2 5. Assegna a R3 il valore NUM*3 6. Assegna a R4 il valore NUM*4 7. Assegna a R5 il valore NUM*5 8. Assegna a R6 il valore NUM*6 9. Assegna a R7 il valore NUM*7 10. Assegna a R8 il valore NUM*8 11. Assegna a R9 il valore NUM*9 12. Assegna a R10 il valore NUM*10 13. Stampa a video in label R1,R2,R3,R4,R5 14. Stampa a video in label R6,R7,R8,R9,R10 15. fine 7
Inizio NUM R1=NUM*1 R2=NUM*2 R3=NUM*3 R4=NUM*4 R5=NUM*5 R6=NUM*6 R7=NUM*7 R8=NUM*8 R9=NUM*9 R10=NUM*10 R1..R10 Fine CODIFICA PULSANTE CALCOLA Dim numero As Integer num=val(txtnumero.text) Calcolo R1 = num*1 R2 = num*2 R3 = num*3 R4 = num*4 R5 = num*5 R6 = num*6 R7 = num*7 R8 = num*8 R9 = num*9 R10 = num*10 Stampa video lbl1.text=r1 lbl2.text=r2 lbl3.text=r3 lbl4.text=r4 lbl5.text=r5 lbl6.text=r6 lbl7.text=r7 lbl8.text=r8 lbl9.text=r9 lbl10.text=r10 Problem8: Trovare l algoritmo che calcoli una tabella di conversione da euro a 8 valute e stampi le conversioni a video. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro Euro Lira Franco DollaroUsa DollaroAustr Scellino Yen Corona Sterlina Valuta in Euro Valuta in Lire Valuta in Franco Valuta in dollaro Americano Valuta in dollaro Austrialano Valuta in scellino Austriaco Valuta in yen Giapponese Valuta in corona Ceka Valuta in sterlina Inglese 2. leggi la valuta euro 3. assegna a Lira, euro* 1936.27 4. assegna a Franco, euro* 1.33973 5. assegna a DollaroUsa, euro* 1.35264 6. assegna a DollaroAustr, euro* 1.3782 7. assegna a Scellino, euro* 13.7603 8. assegna a Yen, euro* 112.66 9. assegna a Corona, euro* 24.6874 10. assegna a Sterlina, euro* 0.85044 11. stampa a video Lira, Franco, DollaUsa 12. stampa a video DollaroAustr, Scellino 13. stampa a video Yen, Corona, Sterlina 14. fine 8
Inizio Euro Lira = Euro*1936.27 Franco = Euro* 1.33973 DollaroUsa = Euro*1.35264 DollaroAustr = Euro*1.3782 Scellino = Euro*13.7603 Yen = Euro*112.66 Corona = Euro*24.6874 Sterlina = Euro*0.85044 stampa Fine CODIFICA PULSANTE CONVERTI Dim lira, franco, dollarousa, dollaroa, scellino, yen, corona, sterlina As Decimal 'calcolo euro= Val (txteuro.text) Lira= euro * 1936.27 Franco = euro * 1.33973 DollaroUsa = euro * 1.352 DollaroAustr = euro * 1.3782 Scellino = euro * 13.7603 Yen = euro * 112.66 Corona = euro * 24.6874 Sterlina = euro * 0.85044 'stampa a video Label1.Text = lira Label2.Text = franco Label3.Text = dollarousa Label4.Text = dollaroa Label5.Text = scellino Label6.Text = yen Label17.Text = corona Label18.Text = sterlina Problema9: Trovare un algoritmo che esegua una calcolatrice banale che effettui la somma di 2 numeri e la stampi a video. 1) Tabelle delle variabili di input, di output e di lavoro NUMERO1 NUMERO2 SOMMA Primo Numero Secondo Numero Somma dei 2 numeri Algoritmo per passi Creazione del form Visualbasic. Net 2. Dammi il primo numero NUMERO1 3. Dammi il secondo numero NUMERO2 4. Somma i due numeri 5. Stampa a video la somma Suggerimenti grafici. I controlli grafici che il form VB deve avere sono: a) una textbox, rinominata txtdisplay, per riprodurre il display della calcolatrice b) 10 button per riprodurre i 10 pulsanti relativi alle 10 cifre (1,2,3,4,5,6,7,8,9 e 0) c) 1 button per l operatore di somma e 1 button per l operatore di uguale. 9
In totale dobbiamo programmare 12 pulsanti. Data la complessità, dividiamo il problema in sottoproblemi a), b) e c) a) Tutte le cifre del 1 addendo da visualizzare sul display dovranno apparire una di seguito all altra. Ciò si ottiene programmando i 10 pulsanti. Più precisamente, scriveremo: 1) pulsante: txtdisplay.text= txtdisplay.text+ 1 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 1) 2) pulsante: txtdisplay.text= txtdisplay.text+ 2 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 2) 3) pulsante: txtdisplay.text= txtdisplay.text+ 3 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 3) 4) pulsante: txtdisplay.text= txtdisplay.text+ 4 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 4) 5) pulsante: txtdisplay.text= txtdisplay.text+ 5 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 5) 6) pulsante: txtdisplay.text= txtdisplay.text+ 6 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 6) 7) pulsante: txtdisplay.text= txtdisplay.text+ 7 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 7) 8) pulsante: txtdisplay.text= txtdisplay.text+ 8 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 8) 9) pulsante: txtdisplay.text= txtdisplay.text+ 9 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 9) 0) pulsante: txtdisplay.text= txtdisplay.text+ 0 (che si legge cosi: nel testo della casella di testo txtdisplay metti quello che c è già dentro + il numero 0) Test del sottoproblema a). Se la programmazione dei 10 tasti è andata a buon fine, mandando in esecuzione il form, il primo addendo apparirà (in formato testo) completamente sul display b) Programmare il tasto +. Esso deve: - convertire in formato numero il primo addendo apparso sul display (usando la funzione Val) - conservarlo in memoria in una variabile temporanea NUMERO1, opportunamente dichiarata - poi azzerare il display c) Programmare il tasto =. A tal fine bisogna: - Spostare la dichiarazione della variabile TEMP in testa al form, sotto la scritta public class form, in modo che sia visibile in tutto il form e, quindi, anche in entrambi i pulsanti in cui è usata: + e =. - Assegnare alla variabile temporanea NUMERO2, il secondo addendo visualizzato sul display in formato numero e assegnare alla variabile temporanea SOMMA, la somma tra NUMERO1 e NUMERO2. Infine mostrare sul display il valore di SOMMA CODIFICA DEL PULSANTE 1 CODIFICA DEL PULSANTE 2 txtdisplay.text=txtdisplay.text+"1" txtdisplay.text=txtdisplay.text+"2" CODIFICA DEL PULSANTE 3 CODIFICA DEL PULSANTE 4 txtdisplay.text=txtdisplay.text+"3" txtdisplay.text=txtdisplay.text+"4" CODIFICA DEL PULSANTE 5 CODIFICA DEL PULSANTE 6 txtdisplay.text=txtdisplay.text+"5" txtdisplay.text=txtdisplay.text+"6" 10
CODIFICA DEL PULSANTE 7 CODIFICA DEL PULSANTE 8 txtdisplay.text=txtdisplay.text+"7" txtdisplay.text=txtdisplay.text+"8" CODIFICA DEL PULSANTE 9 CODIFICA DEL PULSANTE 0 txtdisplay.text=txtdisplay.text+"9" txtdisplay.text=txtdisplay.text+"0" CODIFICA DEL PULSANTE SOMMA CODIFICA DEL PULSANTE = ' Calcolo formato numerico del 1 addendo NUMERO1 = Val(txtDisplay.Text) ' Azzeramento display txtdisplay.text = "" CODIFICA FORM1 Public Class Form1 ' la variabile NUMERO1 deve essere visibile sia nel bottone somma che in quello uguale allora si dichiara qui Dim NUMERO1 As Integer Dim SOMMA, NUMERO2 As Integer ' Calcolo formato numerico del 2 addendo numero2 NUMERO2 = Val(txtDisplay.Text) ' Somma dei due addendi SOMMA = NUMERO2 + NUMERO1 ' Stampa a video della loro somma txtdisplay.text = SOMMA Problema10: Scrivere un algoritmo che dati tre voti interi A, B e C letti in input, calcoli la media aritmetica e la stampi in output Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro A B C SOM MED 1 voto 2 voto 3 voto Somma dei tre voti Media dei tre voti 2. Dammi il primo voto A 3. Dammi il secondo voto B 4. Dammi il terzo voto C 5. Somma i tre voti A, B e C 6. Calcola la media dei tre voti 7. Fine Inizio A,B,C SOM =A+B+C Media =SOM / 3 Media Fine 11
4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim A, B, C, SOM As Integer Dim media As Decimal ' INPUT DEI VALORI DI A, B e C A = Val (txta.text) B = Val (txtb.text) C = Val (txtc.text) ' CALCOLO DELLA MEDIA SOM = A + B + C media = SOM / 3 ' OUTPUT DELLA MEDIA A VIDEO txtmedia.text = media PARAGRAFO 2 Definizione di struttura di selezione La struttura di selezione permette di impostare nell algoritmo percorsi o rami diversi in base a condizioni che possono essere o meno verificate. Casi particolari della struttura di selezione 1) Si parla di struttura di selezione ad una via, quando il percorso falso non è presente. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: Nel diagramma a blocchi Esempio: N1 è positivo? In Visual Basic.Net ' DICHIARAZIONE DELLE VARIABILI Dim N1 As Integer ' INPUT N1=Val(txtN1.text) ' CALCOLO If N1 > 0 Then OUTPUT MsgBox(N1) End If 2) Si parla di struttura di selezione a 2 vie, quando vi sono entrambi i percorsi: vero e falso. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: Nel diagramma a blocchi Esempio: Max tra N1 e N2 In Visual Basic.Net ' DICHIARAZIONE DELLE VARIABILI Dim N1, N2, Max As Integer ' INPUT N1=Val(txtN1.text); N2=Val(txtN2.text) ' CALCOLO If N1 > N2 Then Max = N1 Else Max = N2 End If OUTPUT MsgBox(Max) 12
3) Si parla di struttura di selezione a più vie, quando oltre ai percorsi vero e falso ce ne sono altri. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: (vedi esempio) Esempio: Letto un prezzo di un prodotto e la sua quantità, in base alla quantità richiesta effettua uno tasso di sconto diverso. In Visual Basic.Net Dim prezzo, quantità, tasso As Decimal 'INPUT prezzo = Val(txtPrezzo.Text) quantita = Val(txtQuantita.Text) 'SELEZIONE MULTIPLA IN VB.NET Select Case quantita Case 1 tasso = 10 Case 2 tasso = 20 Case 3 tasso = 30 Case Else tasso = 40 'COMPRENDE I CASI quantita > 3 End Select Problema11: Dati due numeri N1 e N2, determinare il minimo e il massimo e stamparli 1) Tabelle delle variabili di input e output N1 N2 MIN MA Primo Numero Secondo Numero Minimo tra i due numeri Massimo tra due numeri 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > N2, allora MA=N1 e MIN = N2 5. altrimenti MIN = N1 e MA = N2 6. stampa MIN e MA 7. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, Max, Min As Integer ' input N1 = Val(txtN1.Text) N2 = Val(txtN2.Text) ' controllo selezione a 2 vie If N1 > N2 Then Max = N1 Min = N2 Else Max = N2 Min = N1 End If ' output lbl4.text = Max lbl5.text = Min 13
Problema12 : Dati due numeri N1 e N2, ordinarli in ordine crescente e stamparli a video 1) Tabelle delle variabili di input e output N1 N2 Primo Numero Secondo Numero 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > N2, allora stampa N2 e poi N1 5. altrimenti stampa N1 e poi N2 6. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2 As Integer ' input N1 = Val(txtN1.Text) N2 = Val(txtN2.Text) ' controllo e stampa a video If N1 < N2 Then lbl3.text = N1 lbl4.text = N2 Else lbl3.text = N2 lbl4.text = N1 End If Problema13: Dati due numeri N1 e N2, calcolare quello positivo e quello negativo e stamparlo 1) Tabelle delle variabili di input e output N1 N2 Primo Numero Secondo Numero POS NEG Numero Positivo Numero Negativo Numero Intero Numero Intero 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > 0, allora POS=N1 e stampa POS 5. altrimenti NEG=N1 e stampa NEG 5. se N2 >0, allora POS=N2 e stampa POS 5. altrimenti NEG=N2 e stampa NEG 6. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, POS, NEG As Integer N1 = Val(txtN1.text) N2 = Val(txtN2.text) If N1 > 0 Then POS = N1 lbl4.text = POS Else NEG = N1 lbl3.text = NEG End If If N2 > 0 Then POS = N1 lbl4.text = POS Else NEG = N2 Lbl3.Text = NEG End If 14
Problema14: Dati due numeri N1 e N2, determinare quello pari e quello dispari e stamparli 1) Tabelle delle variabili di input e output N1 N2 Primo Numero Secondo Numero PARI DISP Numero Pari Numero Dispari Numero Intero Numero Intero Q1,Q2 R1,R2 Quozienti dei numeri N1 e N2 Resti delle divisioni per 2 Numero Intero Numero Intero 2. dammi due valori diversi per N1 e per N2 3. Calcola Q1=INT(N1/2) e R1=N1-2*Q1 4. Calcola Q2=INT(N2/2) e R2=N2-2*Q2 5. se R1=0 allora PARI=N1 e stampa PARI 6. altrimenti DISP=N1 e stampa DISP 7. se R2=0 allora PARI=N2 e stampa PARI 8. altrimenti DISP=N2 e stampa DISP 9. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, PARI, DISP As Integer Dim Q1, Q2, R1, R2 As Integer N1 = Val(txtN1.text) N2 = Val(txtN2.text) Q1=INT(N1/2); Q2=INT(N2/2) R1=N1-2*Q1; R2=N2-2*Q2 If R1 = 0 Then PARI = N1; lbl4.text = PARI Else DISP = N1; lbl3.text = DISP End If If R2 = 0 Then PARI = N2; lbl4.text = PARI Else DISP = N2; lbl3.text = DISP End If Problema15: Dati tre numeri N1,N2 e N3 determinare quello Max e stamparlo a video 1) Tabelle delle variabili di input e output N1 N2 N3 Primo Numero Secondo Numero Terzo Numero 2. dammi i valori N1, N2, N3 3. Assegna a Max, il numero N1 4. Se N2 > Max allora a Max assegna N2 5. Se N3 > Max allora a Max assegna N3 6. stampa Max 7. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) Max = N1 ' calcolo If N2 > Max Then Max = N2 End If If N3 > Max Then Max = N3 End If ' output lbl5.text = Max 15
PROBLEMA16: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 positivi e negativi, calcoli la somma dei numeri positivi e la stampi a video. 1) Tabelle delle variabili di input e output N1 N2 N3 SOM Primo Numero Secondo Numero Terzo Numero Somma dei numeri positivi 2. dammi i valori N1, N2, N3 3. Se N1 > 0 allora a SOM=SOM+N1 4. Se N2 > 0 allora a SOM=SOM+N2 5. Se N3 > 0 allora a SOM=SOM+N3 6. stampa SOM 7. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) ' calcolo If N1 > 0 Then SOM=SOM+N1 End If If N2 > 0 Then SOM=SOM+N2 End If If N3 > 0 Then SOM=SOM+N3 End If ' output lbl5.text = SOM La variabile conteggio Una variabile conteggio è un contatore che viene inizializzato al valore zero 1 e poi viene incrementato di una unità ogni qual volta si verifica una certa condizione. PROBLEMA17: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 positivi e negativi, conti quanti sono positivi e li stampi a video. (Suggerimento: usare una variabile conteggio contapos). 1) Tabelle delle variabili di input e output N1 N2 N3 CONTPOS Primo Numero Secondo Numero Terzo Numero Contatore di numeri positivi 1 Per far capire il perché la variabile conteggio viene inizializzata a zero, dire che essa è simile al contatore del contachilometri dell automobile o al contasecondi del cronometro di un orologio: tutti partono da zero. In seguito, però, ci saranno anche variabili a conteggio che saranno inizializzata ad un valore diverso come ad es. la variabile indice ciclo (ad 1, a 2) ecc. 16
2. dammi i valori N1, N2, N3 3. Se N1 > 0 allora CONTPOS+=1 4. Se N2 > 0 allora CONTPOS+=1 5. Se N3 > 0 allora CONTPOS+=1 6. stampa CONTPOS 7. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) ' calcolo If N1 > 0 Then CONTPOS+=1 End If If N2 > 0 Then CONTPOS+=1 End If If N3 > 0 Then CONTPOS+=1 End If ' output lbl5.text = CONTPOS PROBLEMA18: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 pari e dispari, conti quanti sono pari e li stampi a video. (Suggerimento: usare una variabile conteggio contapari) 1) Tabelle delle variabili di input e output N1 N2 N3 CONTPARI Q1, Q2 R1, R2 Primo Numero Secondo Numero Terzo Numero Contatore dei numeri pari Quozienti Q1 e Q2 Resto R1 e R2 2. dammi i valori N1, N2, N3 3. Q1=N1/2, Q2=N2/2, Q3=N3/2 4. R1=N1-Q1*2, R2=N2-Q2*2, R3=N3-Q3*2, 5. Se R1 = 0 allora CONTPARI+=1 6. Se R2 = 0 allora CONTPARI+=1 7. Se R3 = 0 allora CONTPARI+=1 8. stampa CONTPARI 9. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Q1, Q2, Q3 As Integer ' input N1=Val(txtN1.text), Q1=N1/2, R1=N1-Q1*2 N2=Val(txtN2.text), Q2=N2/2, R2=N2-Q2*2 N3=Val(txtN3.text), Q3=N3/2, R3=N3-Q3*2 ' calcolo If R1 = 0 Then CONTPARI+=1 End If If R2 = 0 Then CONTPARI+=1 End If If R3 = 0 Then CONTPARI+=1 End If ' output lbl5.text = CONTPOS 17
PROBLEMA19: Scrivere un algoritmo che dati 3 numeri a, b e c li ordini in modo strettamente crescente. (Suggerimento: basta calcolare prima il minimo tra a e b ed tra a e c; poi calcolare il minimo tra b e c; usare una variabile scambio) 1) Tabelle delle variabili di input e output a b c T Primo Numero Secondo Numero Terzo Numero Variabile Temporanea 2. dammi i valori a, b, c 3. se a > b scambiali di posto in modo che il minimo sia al 1) posto 4. se a > c scambiali di posto in modo che il minimo sia al 1) posto 5. se b > c scambiali di posto in modo che il minimo sia al 2) posto 6. stampa a video i nuovi valori di a,b e c 7. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim t, a, b, c As Integer ' input a = Val(txtA.Text) b = Val(txtB.Text) c = Val(txtC.Text) ' calcolo del minimo tra a,b e c e lo si mette al primo posto If a > b Then t = a a = b b = t End If If a > c Then t = a a = c c = t End If ' calcolo del minimo tra b e c e lo si mette al secondo posto If b > c Then t = b b = c c = t End If ' stampa dei numeir in ordine crescente lbl5.text=a lbl6.text=b lbl7.text=c La funzione InputBox Essa si usa per consentire l input di un valore da tastiera che sarà confermato o meno attraverso i pulsanti: ok o annulla. Tale funzione InputBox ha due parametri separati dalla virgola: il 1) obbligatorio e il 2) facoltativo. La sintassi della funzione InputBox è la seguente: InputBox( testo messaggio utente nel prompt (zona grigia), testo nel title (barra blu) ) Poiché il 2) parametro è facoltativo, se non viene specificato, il testo che appare nel title è quello del nome della form che si sta utilizzando. Esempi: inserendo entrambi i parametri 1) e 2) nella funzione InputBox() (fig.a) Codice VB InputBox("QUALE' IL TUO PIATTO PREFERITO?", "ELENCO DEI PIATTI") (fig. b) Codice VB InputBox("DAMMI UN NUMERO DA 1 A 7", "SCELTA DI UN NUMERO CASUALE") 18
I valori inseriti nel rigo bianco: SPAGHETTI ALLA PESCATORA (fig.1) e 7 (fig.2) saranno interpretati come testo, quindi la variabile che li conterrà dovrà essere di tipo string. Ad es.: StringaNome=InputBox( inserisci messaggio utente nel prompt, inserisci nome title ) Se si vuole una variabile numero tipo intero si utilizzerà la funzione Val nel seguente modo: numero=val (InputBox( inserisci messaggio utente nel prompt, inserisci nome title )) La funzione MsgBox Essa si usa per consentire l output attraverso l uso di finestre: di avviso, di errore, di informazione, ecc. e l output di valori numerici generati dal programma. Essa ha tre parametri separati dalla virgola: il 1) obbligatorio e il 2) e il 3) facoltativo. La sintassi della funzione MsgBox è la seguente: MsgBox( messaggio utente nel prompt (zona grigia), numero, testo nel title (barra blu) ) Essa ha come 1) e 3) parametro gli stessi della funzione InputBox. La differenza è solo il 2) parametro che serve a specificare, con un numero il tipo di icona da utilizzare. Esempi d uso. CODICE VBASIC MsgBox("?<0 soluzioni non reali", 16, "Avviso") CODICE VBASIC MsgBox("?<0 soluzioni non reali", 64, "Avviso") CODICE VB x= - 0,5 MsgBox(x) x= - 0,5 MsgBox("La soluzione è x = " & x) PROBLEMA 20. Sapendo che un numero a è un quadrato perfetto se la sua radice è un numero intero, cioè: trovare l algoritmo che consenta di sapere se il numero a inserito è un quadrato perfetto. Suggerimento: la funzione radice quadrata da usare in VisualBasic.Net è math.sqrt( ) 1) Tabelle delle variabili di input e output a b qb Numero da verificare Parte intera radice quadrata di a Quadrato di b 19
2. dammi il valore del numero: a 3. ad b associa la parte intera della radice quadrata di a 4. se b*b = a allora stampa il messaggio a video a è un quadrato perfetto 5. altrimenti stampa il messaggio a video a non è un quadrato perfetto 6. fine 5) Codifica del corpo del pulsante calcola Dim a, b, qb As Integer; a = val(inputbox(txta.text)) b = int(math.sqrt(a)) qb=b*b If qb = a Then lbl1.text= "a è un quadrato perfetto" else lbl1.text= "a non è un quadr. perfetto" End If 4) Creazione del form Visualbasic. Net PROBLEMA21: Scrivere un algoritmo che dati i 2 coefficienti b e c, di una equazione di 1 grado bx + c = 0, calcoli: il valore della soluzione x, se l'equazione è determinata oppure stampi a video il messaggio eq. impossibile o eq. indeterminata (Suggerimento l eq. bx + c = 0 con b e c? 0 è determinata e ha un unica soluzione x = - c / b; l equazione del tipo 0 = c, con c diverso da 0 è impossibile; l equazione 0 = 0 è indeterminata (cioè ha infinite soluzioni)). 1) Tabelle delle variabili di input e output b c x Coefficiente della x Coefficiente termine noto Soluzione dell equazione 2. dammi valori dei coefficienti: b, c 3. se b<> 0 allora stampa x= - c / b 4. se b=0 e c<>0 allora eq. indeterminata 5. se b=0 e c=0 allora eq. impossibile 6. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim b, c As Integer Dim x As Decimal ' bx+c=0 b = Val(TextBox1.Text) c = Val(TextBox2.Text) If (b<>0) Then x = -c / b lbl.text=x End If If (b=0 And c<>0) Then MsgBox("b=0 e c<>0 non esistono soluzioni",32, "Attenzione")End If If (b=0 And c=0) Then 'caso in cui b = 0 e c = 0 MsgBox(" 0=0 infinite soluzioni ", 32, "Attenzione")End If 20
PROBLEMA22: Scrivere un algoritmo che dati i 3 coefficienti a,b e c, tutti e 3? 0, di una equazione di 2 grado calcoli, se il delta > 0 i valori delle soluzioni: x 1 e x 2 della equazione: ax 2 +bx+c = 0. Se invece il delta < 0, stampi a video il messaggio soluzioni non reali 1) Tabelle delle variabili di input e output a b c delta x1 x2 Coefficiente della x 2 Coefficiente della x Termine noto Valore = b 2-4*a*c Prima radice Seconda radice 2. dammi valori dei coefficienti: a, b, c 3. calcolo del delta=b*b - 4*a*c 4. se delta < 0 allora mostra a video il messaggio che le soluzioni non sono reali, altrimenti 5. calcola x1 con la formula conosciuta 6. calcola x2 con la formula conosciuta 7. stampa a video i valori di x1 e di x2 8. fine 4) Creazione del form Visualbasic. Net 5) Codifica del corpo del pulsante calcola Dim a, b, c, delta As Integer Dim x1, x2 As Double ' input a = Val(txtA.Text) b = Val(txtB.Text) c = Val(txtC.Text) 'calcolo delta = (b * b) - (4 * a * c) If delta < 0 Then MsgBox("?<0 soluzioni non reali", 32, "Attenzione") Else ' Math.Sqrt() è la f. radice quadrata x1 = (-b - Math.Sqrt(delta)) / (2 * a) x2 = (-b + Math.Sqrt(delta)) / (2 * a) ' output lbl6.text = x1 lbl8.text = x2 End If Problema23: Scrivere un algoritmo che dati il prezzo e la quantità di un prodotto da acquistare, calcoli sull importo totale lordo: lo sconto del 10% se la quantità = 1; lo sconto del 20% se la quantità = 2; lo sconto del 30% se la quantità = 3; e lo sconto del 40% in tutti gli altri casi e stampi a video l importo netto scontato da pagare. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro prezzo quantità ilordo inetto sconto tasso Prezzo del prodotto Quantità dello stesso prodotto Importo lordo Importo netto da pagare Sconto da applicare all importo lordo Tasso di sconto in base alla quantità 21
2. Leggi il prezzo del prodotto 3. Leggi la quantità del prodotto 4. Calcola ilordo = prezzo*quantita 5. Se la quantità = 1 allora tasso = 10 6. Se la quantità = 2 allora tasso = 20 7. Se la quantità = 3 allora tasso = 30 8. Negli altri casi, altrimenti tasso = 40 9. Calcola sconto = ilordo*tasso /100 10. Calcola inetto = ilordo - sconto 11. Stampa a video l importo netto 12. Fine 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola Dim prezzo, ilordo As Decimal Dim inetto, sconto As Decimal Dim quantita, tasso As Byte 'INPUT prezzo = Val(txtPrezzo.Text) quantita = Val(txtQuantita.Text) 'CALCOLO IMPORTO LORDO DEL TOTALE DELLA SPESA ilordo = prezzo * quantita 'SELEZIONE MULTIPLA IN VIASUAL BASIC.NET Select Case quantita Case 1 tasso = 10 Case 2 tasso = 20 Case 3 tasso = 30 'TALE CASO INGLOBA TUTTI GLI ALTRI POSSIBILI CASI, CIOE CON QUANTITA > 3 Case Else tasso = 40 End Select 'CALCOLO SCONTO SULL IMPORTO TOTALE LORDO sconto = ilordo * tasso / 100 inetto = ilordo - sconto 'OUTPUT IMPORTO NETTO txtimporto.text = inetto 22
Problema24: Scrivere un algoritmo che dato il prezzo di un cellulare e data la quantità dei pezzi venduti calcoli sull imponibile: lo sconto del 10% se la quantità dei pezzi venduti è fino a 3; lo sconto del 20% se la quantità dei pezzi venduti è fino a 5; lo sconto 2 del 30% se la quantità dei pezzi venduti è fino a 10; lo sconto del 40% se la quantità dei pezzi venduti è > 10. Calcoli, inoltre, il tasso di sconto, l imponibile, l importo netto scontato, l iva del 20%, l importo ivato. Stampare a video: il tasso di sconto, lo sconto, l imponibile, l importo netto scontato, l IVA del 20% e l importo ivato (o lordo o totale) 1) Tabelle delle variabili e costanti costo pezzi iva ilordo inetto ivato sconto tasso Costo di un cellulare N.ro di pezzi dello stesso cellulare Iva da aggiungere all importo netto Importo lordo Importo al netto dello sconto Importo totale ivato Sconto da applicare Tasso di sconto in base ai pezzi 2. Leggi il costo di un cellulare 3. Leggi il n.ro di pezzi di quel cellulare 4. Calcola imponibile = costo*n.ro dei pezzi 5. Se i pezzi sono fino a 3 allora tasso = 10 6. Se i pezzi sono fino a 5 allora tasso = 20 7. Se i pezzi sono fino a 10 allora tasso = 30 8. Negli altri casi, altrimenti il tasso = 40 9. Calcola lo sconto = imponibile*tasso /100 10. Calcola inetto = imponibile sconto 11. Calcola iva=inetto*20/100 12. Calcola ivato=inetto+iva 11. Stampa a video il tasso, lo sconto, 12. Stampare l importo lordo, l importo netto 13. Stampare l IVA, l importo Ivato 12. Fine 4) Creazione del Form Visualbasic. Net 5) Codifica del corpo del pulsante Calcola Dim pezzi, tasso As Byte Dim costo, imponibile As Decimal Dim inetto, ivato As Decimal Dim iva, sconto As Decimal 'INPUT costo = Val(txtCosto.Text) pezzi = Val(txtPezzi.Text) 'SELEZIONE MULTIPLA IN VBASIC.NET Select Case pezzi Case 1 To 3 tasso = 10 Case 1 To 5 tasso = 20 Case 1 To 10 tasso = 30 Case Else tasso = 40 End Select imponibile = costo * pezzi sconto = imponibile * tasso / 100 inetto = imponibile - sconto iva = inetto * 20 / 100 ivato = inetto + iva 'OUTPUT txttasso.text = tasso txtsconto.text = sconto txtilordo.text = imponibile txtinetto.text = inetto txtiva.text = iva txtivato.text = ivato 2 Attenzione: Nel problema23 si usa la frase quantità uguale ad 3 e nel problema 24 si usa la frase pezzi fino ad 3. Questa diversità determina una differenza nell uso del costrutto Case nel codice di VisualBasic.Net 23
Problema25: Scrivere un algoritmo che data una temperatura stampa a video il messaggio: a) molto caldo se la temperatura è > 32; b) caldo se la temperatura è > 25; c) mite se la temperatura è > 16; d) fresco se la temperatura è > 10; e) freddo se la temperatura è > 0; f) molto freddo se la temperatura è altrimenti. 1) Tabelle delle variabili e costanti temp Temperatura scelta 2. leggi la temperatura temp 3. Se la temp > 32 allora molto caldo 4. Se la temp > 25 allora caldo 5. Se la temp > 16 allora mite 6. Se la temp > 10 allora fresco 7. Se la temp > 0 allora freddo 8. Altrimenti il messaggio molto freddo 9. Fine 4) Creazione del Form Visual Basic. Net 5) Codifica del corpo del pulsante Calcola Dim temp As Integer temp = Val(txtTemperatura.Text) Select Case temp Case Is > 25 lblmessaggio.text = "Caldo" Case Is > 16 lblmessaggio.text = "Mite" Case Is > 10 lblmessaggio.text = "Fresco" Case Is > 0 lblmessaggio.text = "Freddo" Case Else lblmessaggio.text = "Molto Freddo" End Select IL CONTROLLO COMBOBO Esso è un elenco a discesa di elementi. Esso si usa per selezionare un valore, da un elenco di valori predefiniti, detti items. Per distinguere una combobox da un altro controllo si usa il nome sintetico: cmb. Esempi sono: cmbtemperatute, cmbquantità, ecc I METODI 3 ADD( ) E REMOVE ( ) DI COMBOBO. Il metodo add() si usa per aggiungere un elemento alla combobox e il metodo remove per eliminare un elemento dalla combobox Esempio1. Sia cmb1 un combobox, allora la scritta cmb1.items.add( napoli ) si legge metodo add( ) dell oggetto combobox cmb1. Esso aggiunge l elemento napoli alla combobox cmb1. Esempio2. La scritta cmb1.items.add(txt1.text), aggiunge l elemento che si trova nella casella di testo txt1 alla combobox cmb1 Esempio3. La scritta cmb1.items.remove( caserta ) si legge metodo remove( ) dell oggetto combobox cmb1. Esso rimuove l item (cioè l elemento) caserta dalla combobox cmb1. L EVENTO 4 SELECTED INDE CHANCED DI COMBOBO La frase selected index chanced significa che è l indice selezionato è cambiato. Poiché ogni elemento dell elenco ha un indice (cioè un numero) che ne individua la posizione allora quando l utente seleziona, nell elenco, un elemento diverso da quello di default si dice che si è verificato l evento che l indice selezionato è cambiato 3 Essi sono sottoprogrammi predefiniti del linguaggio VB già scritti e disponibili per il programmatore e sono associati ad un particolare oggetto. Per riferirsi ad un metodo noi scriviamo: nomeoggetto.metodo( ). 4 L evento è l azione provocata dall utente sui form e controlli. Tale azione viene programmata in VB dal programmatore. 24
LA PROPRIETA SELECTED-ITEM DI COMBOBO Essa individua l elemento selezionato della combobox. ESERCIZI DI LABORATORIO SULL USO DEL CONTROLLO COMBOBO ESERCIZIO 1: Inserire in una form una combobox, di nome cmb1, contenente un elenco di città creato usando il percorso visuale e automatico seguente: - selezionato il controllo combobox dal menù contestuale del mouse Modifica elementi ESERCIZIO 2: Inserire in una form una combobox, di nome cmbcolore, contenente un elenco di colori a piacere. Inserire nella form, inoltre, una casella di testo, di nome txtcolore ed un pulsante, di nome btninserisci che dovrà inserire nella combobox, tutti i nomi dei colori che l utente scriverà casella di testo, txtcolore. (Suggerimento: Il form sarà come la figura seguente) Private Sub btninseriscicolore_click Dim colore As String colore = txtcolore.text ' aggiungi come elemento della cmb2. il valore della variabile colore cmbcolore.items.add(colore) txtcolore.text = "" End Sub ESERCIZIO 3: Inserire in una form, una combobox, di nome cmbnumeri, contenente un elenco di numeri da 1 a 5. Inserire nella form, inoltre, una casella di testo, di nome txtnumero ed un pulsante, di nome btninserisci che dovrà inserire nella combobox, tutti i numeri da 1 a 5 che l utente scriverà casella di testo, txtnumero. Successivamente creare un pulsante btnelimina che dovrà eliminare dalla combobox i numeri pari 2 e 4, in modo che i numeri rimanenti nell elenco siano sono i dispari: 1, 3, 5. (Suggerimento: Il form sarà come la figura seguente:) btninseriscinumero_click Dim num As Decimal num = Val(txtNum.Text) cmbnum.items.add(num) ' metodo add elemento txtnum.text = "" btneliminanumero_click Dim num As Decimal num = Val(txtNum.Text) cmbnum.items.remove(num) metodo remove elemento ESERCIZIO 4: Inserire in una form, una combox, di nome cmbsquadrecalcio, contenente un elenco di squadre a piacere creato utilizzando il metodo usato nell ESERCIZIO 1. Inserire poi nella form una casella di testo, di nome txtelementoselezionato, contenente l elemento (item) selezionato 25
nella combobox. (Suggerimento: Il form sarà come la figura seguente e bisogna programmare per il combobox l evento SelectedIndexChanged e non l evento click:) Private Sub cmbsquadrecalcio_selectedindexchanged() ' evento SelectedIndexChanged di cmb Dim elemento As String elemento=cmbsquadrecalcio.selecteditem ' elemento selezionato dell'elenco txtelementoselezionato.text = elemento End Sub ESERCIZIO 5: A partire dalla form dell esercizio 4, inserire un nuovo pulsante di nome, btncancellaitem, che cancella dalla combobox, cmbsquadrecalcio, l elemento dell elenco selezionato dall utente. (Suggerimento: se l utente selezionasse la squadra INTER e si premesse sul pulsante btncancellaitem, dall elenco dovrà sparire la parola INTER, come mostra la figura) Private Sub btncancella_click Dim elemento As String ' proprietà SelectedItem elemento=cmbsquadrecalcio.selecteditem ' metodo Remove() cmbsquadrecalcio.items.remove(elemento) End Sub Problema26 Scrivere un algoritmo che creata una combobox contenente i numeri da 1 a 10, in base all elemento scelto dall utente nella combobox e alla pressione del tasto calcola visualizzi in 10 label la tabellina del numero richiesto. 1) Tabelle delle variabili e costanti num numero della tabellina 2. Scegli elemento dalla combobox 3. Assegna a num, l elemento scelto 4. Fai le seguenti assegnazioni R1=1 * num R2=2 * num R3 = 3 * num R4=4 * num R5=5 * num R6 = 6 * num R7=7 * num R8=8 * num R9 = 9 * num R10 = 10 * num 13. Stampa in label R1,R2,R3,R4,R5 15. Fine 4) Creazione del Form Visualbasic. Net 5) Codifica del corpo del pulsante Calcola Dim num As Integer Dim R1, R2, R3, R4, R5, R6, R7, R8, R9, R10 As Integer ' input num = cmbnumero.selecteditem 'calcolo R1=1 * num R2=2 * num R3 = 3 * num R4=4 * num R5=5 * num R6 = 6 * num R7=7 * num R8=8 * num R9 = 9 * num R10 = 10 * num ' output lbl1.text=r1 lbl2.text=r2 lbl3.text=r3 lbl4.text=r4 lbl5.text=r5 lbl6.text=r6 lbl7.text=r7 lbl8.text=r8 lbl9.text=r9 lbl10.text = R10 Problema 27. Scrivere un algoritmo che creata una combobox di 30 parole scritte in italiano", in base alla parola scelta la traduca in dialetto napoletano, visualizzando la parola tradotta in controllo a vostra scelta: casella di testo o label. (Suggerimento: utilizzare la struttura di selezione Select Case per gestire tutti e 30 i casi nella combobox) 26
1) Tabelle delle variabili e costanti parola E il termine selezionato da tradurre stringa 2. assegna a parola, il termine selezionato 3. se parola= ragazzo allora scrivi guaglione 4. se parola= fidanzata allora scrivi guagliona 5. ecc 6. Fine 4) Creazione del Form Visualbasic. Net 5) Codifica del Combobox cmbita Dim parola As String parola = cmbita.selecteditem Select Case parola Case "ragazzo" txtnap.text = "guaglione" Case "fidanzata" txtnap.text = "guagliona" Case "padre" txtnap.text = "pat" Case "madre" txtnap.text = "mam" Case "sorella" txtnap.text = "sor"............ End Select Problema 28. Scrivere un algoritmo che permette di realizzare un semplice Browser per navigare usando il controllo web browser della finestra degli strumenti e i suoi metodi: webrowser.gohome( ), webrowser.goback( ), webrowser.goforward( ) e webrowser.navigate( ). Assegnare ai pulsanti: >> (avanti), << (indietro) e home (pagina iniziale) del form uno dei primi 3 metodi suddetti e alla casella di testo, txtindirizzo seguente, il metodo webrowser.navigate( ) 1) Tabelle delle variabili e costanti indirizzo E l indirizzo del browser stringa 2. assegna a indirizzo, l indirizzo scritto nella textbox 3. se l indirizzo è corretto o c è linea carica la pagina web 4. Fine 4) Creazione del Form Visualbasic. Net 5) Codifica del corpo del bottone Vai Private Sub btnvai_click() ' dichiarazione variabile Dim indirizzo As String ' input indirizzo = txtindirizzo.text ' metodo webrowser.navigate( ) webrowser.navigate(indirizzo) End Sub 27