A Scuola Con Visual Basic

download A Scuola Con Visual Basic

of 627

Transcript of A Scuola Con Visual Basic

C. Fabbi - P.L. Farri aa SSCCUUOOLLAA ccoonn VVIISSUUAALL BBAASSIICC Manuale di programmazione dei computer con il linguaggio Visual Basic per gli insegnanti delle scuole materne, elementari, medie. 2 Sommario INTRODUZIONE ........................................................................................................ 10 1. Non pi necessario programmare? ...................................................................... 10 2. A chi si rivolge il manuale...................................................................................... 11 3. Come contattare gli autori ...................................................................................... 12 4. Visual Basic 6.0 Professional ................................................................................. 13 5. Requisiti per il lettore ............................................................................................. 13 6. Requisiti per il sistema ........................................................................................... 14 7. Linstallazione di Visual Basic............................................................................... 14 PARTE I - LA PROGRAMMAZIONE: POTENZIALIT FORMATIVE, EVOLUZIONE STORICA, CARATTERISTICHE ODIERNE............................ 19 Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? ......... 19 1. Programmare per personalizzare luso del computer ............................................. 20 2. Programmare per educare la precisione e il rigore logico. ..................................... 20 Esercizio 1: Analisi di alcuni effetti di stampa sul video ....................................... 21 Esercizio 2: Gioco della Tombola - I...................................................................... 22 3. Programmare per sviluppare il pensiero progettuale.............................................. 23 4. Il rischio della segregazione digitale ...................................................................... 24 Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 27 1. Le unit di memoria del computer.......................................................................... 27 2. I linguaggi compilatori ........................................................................................... 29 3. Il Basic.................................................................................................................... 30 Esercizio 3: Analisi di un listato in linguaggio Basic............................................. 30 4. Dai linguaggi procedurali ai linguaggi orientati agli oggetti e agli eventi ............. 31 5. La scelta di Visual Basic ........................................................................................ 33 PARTE II - LAMBIENTE DI LAVORO DI VISUAL BASIC.............................. 35 Capitolo 3:UNA VISITA GUIDATA........................................................................ 35 1. Analisi dellambiente di lavoro di Visual Basic..................................................... 35 2. La linea della intestazione ...................................................................................... 38 3. La barra dei menu................................................................................................... 39 4. La barra con i comandi ad icone............................................................................. 42 4. La Finestra Gestione Progetti ................................................................................. 43 6. La Finestra Disposizione Form............................................................................... 44 Esercizio 4: Esploriamo lambiente di lavoro di Visual Basic. .............................. 46 Esercizio 5: Proviamo la fase di esecuzione........................................................... 46 7. I Menu di scelta rapida ........................................................................................... 47 Capitolo 4: IL FORM E IL PULSANTE DI COMANDO ....................................... 49 1. Propriet, eventi e metodi degli oggetti.................................................................. 51 2. La Finestra delle Propriet...................................................................................... 52 Esercizio 6: Il progetto Presentazione - I................................................................ 55 SOMMARIO 3 3. Il pulsante di comando............................................................................................ 61 Esercizio 7: Il progetto Presentazione - II .............................................................. 63 4. Listato completo del programma Presentazione..................................................... 67 5. Creazione di tasti di scelta rapida........................................................................... 68 Capitolo 5: PROGRAMMI DI ESEMPIO................................................................. 69 1. Atm......................................................................................................................... 69 Esercizio 8: Aggiornamento del programma Atm.................................................. 71 2. Calc......................................................................................................................... 72 3. Blanker ................................................................................................................... 73 Capitolo 6: LA CASELLA DEGLI STRUMENTI.................................................... 76 1. Le otto categorie di controlli standard.................................................................... 76 2. La manipolazione dei controlli ............................................................................... 80 Per collocare un controllo nel form................................................................ 80 Per dimensionare un controllo nel form......................................................... 80 Per spostare un controllo nel form.................................................................. 80 Per fare apparire le maniglie di dimensionamento......................................... 80 Per fare scomparire le maniglie di dimensionamento.................................... 80 Per spostare insieme pi controlli................................................................... 80 Per allineare pi controlli... ................................................................................ 82 Per dare le stesse dimensioni a pi controlli....................................................... 82 Per centrare un controllo nel form... ................................................................... 82 Per copiare/incollare un controllo................................................................... 82 Per cancellare un controllo dal form.............................................................. 83 3. I controlli aggiuntivi ............................................................................................... 83 4. Il controllo aggiuntivo MonthView........................................................................ 85 5. Un altro programma di esempio: Controls ............................................................. 87 Esercizio 9: Gioco della Tombola II ................................................................... 93 6. Schema completo del Gioco della Tombola........................................................... 93 Progettazione dellinterfaccia............................................................................. 93 Scrittura del codice............................................................................................. 95 7. La matrice di controlli .......................................................................................... 102 Capitolo 7: LEDITOR DI MENU............................................................................ 107 Esercizio 10: Creazione di un menu scritto.......................................................... 109 Esercizio 11: Gioco della Tombola - III............................................................... 114 Capitolo 8: LA COSTRUZIONE DI UN IPERTESTO.......................................... 121 1. Strutture ipertestuali ............................................................................................. 122 Struttura ad albero ............................................................................................ 122 Struttura a stella................................................................................................ 123 Struttura a rete .................................................................................................. 124 2. Costruiamo un ipertesto........................................................................................ 125 Esercizio 12: Pinocchio ........................................................................................ 125 3. Il form Scheda................................................................................................... 128 4. I controlli nel form Scheda................................................................................ 130 Label ................................................................................................................. 130 Immagine.......................................................................................................... 132 SOMMARIO 4 Pulsanti di comando ......................................................................................... 133 5. Il form Autore ................................................................................................... 136 6. Il form Storia..................................................................................................... 140 7. Il form Personaggi............................................................................................. 141 8. I quattro form del III livello.................................................................................. 144 9. Arricchire la struttura di base dellipertesto ......................................................... 148 10. Twip e pixel ........................................................................................................ 149 PARTE III LA SCRITTURA DEL CODICE.................................................. 152 Capitolo 9: LEDITOR DEL CODICE.................................................................... 152 1. La Finestra del codice........................................................................................... 152 2. La sezione generale del codice ............................................................................. 156 3. Le procedure......................................................................................................... 157 4. Procedure Sub e procedure Function.................................................................... 159 5. La Finestra Immediata.......................................................................................... 161 Esercizio 13: Procedure Sub e procedure Function.............................................. 162 6. I comandi Exit Sub e Exit Function...................................................................... 164 7. Form e Moduli ...................................................................................................... 164 Esercizio 14: Gioco della Tombola - IV............................................................... 165 8. Schema di sintesi .................................................................................................. 168 Capitolo 10: LE VARIABILI .................................................................................... 169 1. Caratteristiche delle variabili................................................................................ 172 2. La dichiarazione delle variabili ............................................................................ 173 3. La definizione delle variabili................................................................................ 174 4. Esempi di dichiarazioni di variabili...................................................................... 177 Esercizio 15: Il catalogo della biblioteca.............................................................. 178 Capitolo 11: I CICLI DI RIPETIZIONE DEI COMANDI.................................... 180 1. Uso delle variabili numeriche come contatori...................................................... 180 2. Le due tipologie di cicli di ripetizione dei comandi ............................................. 181 3. I cicli For Next .............................................................................................. 182 Esercizio 16: La tavola della moltiplicazione....................................................... 184 Esercizio 17: Gioco della Tombola V............................................................... 187 4. For Each Next................................................................................................... 188 5. I cicli Do Loop................................................................................................. 189 6. Una procedura di rallentamento ........................................................................... 190 7. Errori di sintassi.................................................................................................... 192 8. I cicli infiniti ......................................................................................................... 192 9. Luscita anticipata dai cicli di ripetizione............................................................. 193 Capitolo 12: LE MATRICI DI CONTROLLI E DI VARIABILI ......................... 194 1. Matrici di controlli................................................................................................ 194 2. Matrici di variabili ................................................................................................ 196 Capitolo 13: LE OPERAZIONI ARITMETICHE.................................................. 199 1. Le operazioni aritmetiche ..................................................................................... 199 2. Come fa il computer a contare?............................................................................ 204 SOMMARIO 5 Capitolo 14: LA COMPARAZIONE DELLE VARIABILI................................... 207 1. Gli operatori comparativi...................................................................................... 209 2. La comparazione di variabili numeriche .............................................................. 209 3. La comparazione di stringhe di testo.................................................................... 210 4. Come fa il computer ad eseguire le comparazioni?.............................................. 211 Capitolo 15: LE ESPRESSIONI LOGICHE........................................................... 213 La cravatta ........................................................................................................ 213 Il sorpasso......................................................................................................... 213 Il picnic............................................................................................................. 213 1. I connettori logici ................................................................................................. 214 2. Tavole di verit..................................................................................................... 216 Capitolo 16: I PROCEDIMENTI DI DECISIONE................................................. 218 1. If Then.......................................................................................................... 220 2. Comandi condizionati con operazioni di comparazione....................................... 220 3. Procedimenti di decisione con espressioni logiche .............................................. 221 4. If Then Else End If ................................................................................... 223 5. ElseIf..................................................................................................................... 224 6. IIf() e Choose() ..................................................................................................... 226 7. Select Case End Select ..................................................................................... 227 Capitolo 17: LE FUNZIONI INTRINSECHE DI VISUAL BASIC...................... 231 1. Funzioni su numeri ............................................................................................... 231 Int() e Fix() ....................................................................................................... 231 Abs() ................................................................................................................. 232 Rnd()................................................................................................................. 232 Esercizio 18: Che numero ho pensato? ................................................................ 234 Esercizio 19: Gioco della Tombola - VI............................................................... 235 2. Funzioni su stringhe di testo................................................................................. 240 Len() ................................................................................................................. 240 CStr() e Val () ................................................................................................... 240 Chr() e Asc()..................................................................................................... 240 Esercizio 20: I caratteri ASCII ............................................................................. 243 Left() e Right() ................................................................................................. 244 Mid()................................................................................................................. 244 InStr() ............................................................................................................... 244 LTrim(), RTrim(), Trim() ................................................................................. 245 Ucase(), Lcase()................................................................................................ 245 3. Funzioni su date.................................................................................................... 245 DateDiff() ......................................................................................................... 246 DatePart() ......................................................................................................... 247 Esercizio 21: Che giorno era?............................................................................... 247 4. La funzione Format()............................................................................................ 248 Capitolo 18: LE FUNZIONI MSGBOX() E INPUTBOX()..................................... 251 1. La funzione MsgBox() ......................................................................................... 251 Esercizio 22: Gioco della Tombola VII............................................................. 256 2. La funzione InputBox() ........................................................................................ 257 SOMMARIO 6 Esercizio 23: Uso di InputBox() e MsgBox()....................................................... 260 PARTE IV GESTIONE AVANZATA DEI CONTROLLI ............................... 262 Capitolo 19 - CONTROLLI PER DIALOGARE CON LUTENTE..................... 262 1. I controlli Label e TextBox .................................................................................. 262 Label ................................................................................................................. 262 TextBox ............................................................................................................ 265 2. I controlli OptionButton e CheckBox................................................................... 267 OptionButton .................................................................................................... 268 Esercizio 24: Bandiere.......................................................................................... 269 CheckBox ......................................................................................................... 274 Esercizio 25: Trenta parole inglesi ....................................................................... 275 3. I controlli ListBox e ComboBox .......................................................................... 279 ListBox ............................................................................................................. 280 Esercizio 26: MAIUSCOLO, minuscolo - I ......................................................... 281 ComboBox........................................................................................................ 283 Esercizio 27: MAIUSCOLO, minuscolo - II........................................................ 283 Capitolo 20: CONTROLLI GRAFICI ..................................................................... 288 1. PictureBox e Image .............................................................................................. 288 PictureBox ........................................................................................................ 290 Image ................................................................................................................ 291 2. Line e Shape ......................................................................................................... 292 3. Il controllo ImageList (lista di immagini) ............................................................ 293 4. Il controllo ToolBar (barra di comandi ad icone)................................................. 298 Esercizio 28: Costruiamo una barra di comandi................................................... 299 5. Il controllo Slider (dispositivo di scorrimento) .................................................... 308 Esercizio 29: Il misuratore dellumore ................................................................. 310 Capitolo 21: IMMAGINI DIGITALI ....................................................................... 315 1. Formati di immagini ............................................................................................. 315 2. Ingrandimenti di immagini ................................................................................... 316 3. Formati delle immagini a mappa di punti............................................................. 317 Il formato *.BMP.............................................................................................. 318 Il formato *.ICO............................................................................................... 318 Il formato *.TIF................................................................................................ 319 Il formato *.GIF................................................................................................ 319 Il formato *.JPG (JPEG)................................................................................... 319 4. Creazione di icone con il programma Imagedit.................................................... 320 Esercizio 30: Gioco della Tombola - VIII ............................................................ 320 5. I controlli DriveListBox, DirListBox, FileListBox.............................................. 328 Esercizio 31: La Fototeca ..................................................................................... 329 Capitolo 22: CONTROLLI PER MISURARE IL TEMPO................................... 335 1. Il controllo Timer (temporizzatore)...................................................................... 335 Esercizio 32: Il controllo Timer ........................................................................... 336 2. Il controllo ProgressBar (barra di avanzamento).................................................. 338 SOMMARIO 7 Esercizio 33: Il controllo ProgressBar.................................................................. 339 PARTE V CREAZIONE DI APPLICAZIONI COMPLESSE......................... 341 Capitolo 23: LA CALCOLATRICE......................................................................... 341 Esercizio 34: Costruiamo una calcolatrice ........................................................... 341 1. Disegno dellinterfaccia........................................................................................ 342 2. Il controllo Frame (cornice).................................................................................. 343 3. Le propriet MousePointer e MouseIcon ............................................................. 347 4. Scrittura del Codice .............................................................................................. 349 5. I messaggi di errore .............................................................................................. 355 6. Listato completo del programma Calcolatrice...................................................... 356 7. La notazione scientifica........................................................................................ 360 Capitolo 24: CORREZIONE DI UNA PROVA DI VERIFICA............................ 361 Esercizio 35: Correzione di una prova di verifica ................................................ 361 1. Disegno dellinterfaccia........................................................................................ 362 PictureBox ........................................................................................................ 364 2. Scrittura del codice............................................................................................... 368 3. Listato del programma di correzione della scheda di lettura................................ 374 Una variante del listato con la funzione Mid() ................................................. 377 Capitolo 25: LA SLOT MACHINE.......................................................................... 379 Esercizio 36: Costruzione di una Slot Machine.................................................... 379 1. Disegno dellinterfaccia........................................................................................ 381 2. La scrittura del codice .......................................................................................... 385 3. Listato completo del programma Slot Machine ................................................... 389 4. La compilazione di Slot Machine ..................................................................... 392 Capitolo 26: MEMORY............................................................................................. 395 Esercizio 37: Memory .......................................................................................... 395 1. Disegno dellinterfaccia........................................................................................ 396 2. Scrittura del codice............................................................................................... 401 3. Listato completo del gioco ................................................................................... 405 4. La compilazione di Memory............................................................................. 407 PARTE VII COMPLEMENTI DI PROGRAMMAZIONE............................... 409 Capitolo 27: PROGETTARE LINTERFACCIA................................................... 409 1. Interfacce efficaci per programmi amichevoli...................................................... 409 Disposizione delle informazioni....................................................................... 410 I menu............................................................................................................... 413 Il testo e i caratteri ............................................................................................ 414 Capitolo 28: ANIMARE LA GRAFICA .................................................................. 418 1. Il comando Line.................................................................................................... 418 Esercizio 38: I segmenti ....................................................................................... 419 Esercizio 39: Gioco della Tombola - IX............................................................... 422 SOMMARIO 8 2. Il comando Circle ................................................................................................. 425 Esercizio 40: Il centro del Form........................................................................... 426 3. La funzione RGB ( , , ) ......................................................................................... 427 Esercizio 41: Le bolle di sapone........................................................................... 428 4. Lanimazione di immagini ................................................................................... 429 5. Effetti di animazione con immagini in sequenza.................................................. 429 Esercizio 42: Espressioni del viso ........................................................................ 429 6. I video-clip............................................................................................................ 434 7. Il controllo Animation .......................................................................................... 435 Esercizio 43: Il video-lettore ................................................................................ 437 8. Effetti di animazione con spostamenti di oggetti ................................................. 440 Esercizio 44: Mezzi di trasporto........................................................................... 441 Capitolo 29: AMMAESTRARE IL MOUSE........................................................... 444 1. Un topo sfortunato................................................................................................ 444 2. Eventi del mouse .................................................................................................. 445 Click ................................................................................................................. 446 DblClick (doppio clic) ...................................................................................... 446 DragOver (trascina sopra un altro oggetto) ...................................................... 447 DragDrop (trascina sopra un altro oggetto e lascia cadere).............................. 448 MouseDown (mouse gi) ................................................................................. 450 MouseUp (mouse su)........................................................................................ 450 MouseMove...................................................................................................... 452 3. La posizione del puntatore sul form..................................................................... 453 Esercizio 45: Disegni a mouse libero - I............................................................... 454 Esercizio 46: Gas e Metalli................................................................................... 458 4. La propriet ToolTip ............................................................................................ 460 5. Personalizzare licona del mouse ......................................................................... 462 Capitolo 30: INSERIRE FILES SONORI E VIDEO-CLIP................................... 465 1. I files sonori .......................................................................................................... 465 I suoni audio CD............................................................................................... 466 I suoni MIDI ..................................................................................................... 466 I suoni WAVE.................................................................................................. 466 Il Registratore di suoni.................................................................................. 467 2. Il controllo Multimedia......................................................................................... 470 La riproduzione di CD Audio........................................................................... 478 Esercizio 47: Il lettore CD.................................................................................... 478 Eseguire video-clip AVI................................................................................... 480 Riproduzione di files sonori Midi o Wave ....................................................... 484 Esercizio 48: Gioco della Tombola - X................................................................ 487 Capitolo 31: CREARE UN DATABASE.................................................................. 489 1. Organizzazione di un database ............................................................................. 489 2. Il controllo Data.................................................................................................... 490 3. Visual Data Manager ............................................................................................ 496 Capitolo 32: GESTIRE UN DATABASE................................................................. 511 Esercizio 49: Dizionario dei sinonimi .................................................................. 511 SOMMARIO 9 1. Disegno dellinterfaccia........................................................................................ 513 2. Scrittura del codice............................................................................................... 519 3. Le rifiniture........................................................................................................... 525 4. Listato completo del programma Sinonimi....................................................... 526 5. Il controllo OLE ................................................................................................... 530 Capitolo 33: SALVARE I DATI ............................................................................... 534 1. Salvataggio e recupero diretto dei files ................................................................ 534 2. I comandi di accesso ad un file sequenziale......................................................... 535 Esercizio 50: MAIUSCOLO, minuscolo - III ...................................................... 540 3. Accesso ai files con il controllo CommonDialog................................................. 543 Esercizio 51: PrimiTesti - I (funzione di salvataggio).......................................... 544 Disegno dellinterfaccia.................................................................................... 545 Scrittura del codice........................................................................................... 552 4. Listato del programma Primi Testi ................................................................... 557 Capitolo 34: STAMPARE I DATI ............................................................................ 560 1. Il comando PrintForm ..................................................................................... 560 Esercizio 52: Disegni a mouse libero II............................................................. 561 2. Il comando Printer.Print............................................................................ 563 3. Loggetto Printer .................................................................................................. 566 Esercizio 53: Primi Testi - II (funzione di stampa) .............................................. 566 Capitolo 35: DISTRIBUIRE IL PRODOTTO FINITO......................................... 570 1. Provare il programma ........................................................................................... 570 2. Correggere gli errori ............................................................................................. 571 3. Compilare il programma....................................................................................... 575 Esercizio 54: Gioco della Tombola - XI............................................................... 575 4. Impacchettare il programma per la distribuzione................................................. 579 Esercizio 55: Gioco della Tombola - XII ............................................................. 580 5. Linstallazione di Tombola ............................................................................... 593 APPENDICI.................................................................................................... 598 1. LE FASI DI CREAZIONE DI UN PROGETTO................................................. 598 2. I TASTI DI SCELTA RAPIDA........................................................................... 599 3. UNA SCHEDA DI LETTURA PER BAMBINI DI QUINTA ELEMENTARE 600 4. LISTATO COMPLETO DEL GIOCO DELLA TOMBOLA.............................. 604 5. SOMMARIO DEI COMANDI DI VISUAL BASIC........................................... 608 6. SOMMARIO DELLE FUNZIONI INTRINSECHE DI VISUAL BASIC.......... 613 7. NUMERI DI CODICE DEGLI ERRORI............................................................. 617 8. SITI INTERNET .................................................................................................. 619 Indice delle tabelle.................................................................................................... 620 Indice degli esercizi .................................................................................................. 621 Soluzioni degli esercizi............................................................................................. 623 Indice analitico ......................................................................................................... 624 10 INTRODUZIONE 1. Non pi necessario programmare? In questi tempi di PSTD (Piano di Sviluppo delle Tecnologie Didattiche)1 arrivano nelle scuolenumerosiconsiglipergliacquistidiattrezzatureematerialeinformatico.Un prodotto software2 si presenta con questo slogan sorprendente: Con ()non pi necessario programmare: potete concentrarvi sui contenuti. Inunasolarigasitrovano:unainformazionescorretta(nonpinecessario programmare)eunmessaggioblandamenteconsolatore(poteteconcentrarvisui contenuti). Sullo sfondo si possono cogliere tre elementi pi o meno preoccupanti: 1)la constatazione che gli insegnanti non sanno programmare i computer; 2)lideachenonabbianoneanchelemotivazioni(olecapacit?)necessarieper imparare; 3)il tentativo di dare una valenza positiva a tutto questo, al fine di vendere il proprio prodotto. Linformazionecontenutanellosloganscorrettaperch,inrealt,lapprendimento dellaprogrammazionedeicomputerlesperienzapisignificativachepossa esserefattaascuolaconquestemacchine,dagliinsegnantiedailoroalunni,gia partire dai primi anni della scuola materna. Luso del computer pu essere paragonato a quello di unautomobile: come i passeggeri dellauto vanno dove li porta il guidatore, gli utenti del computer vanno dove li porta il programmatore3.Passeggerieutentipossonofareosservazioni,daresuggerimenti, 1EilprogettotriennaledelMinisterodellaPubblicaIstruzioneperlintroduzioneeil potenziamentodellinformaticanellescuolematerne,elementariemedie.Prevededuefasi: la preparazionedegliinsegnanti(Progetti1A)eladotazionedellescuolediattrezzaturee programmi (Progetti 1B). Avviato nel 1997, si concluder nel 2000 dopo avere coinvolto tutte le scuole statali. 2 Software un complesso di istruzioni per fare funzionare il programma; si tratta di programmi,applicazioni o realizzazioni che lutente utilizza per lavorare, giocare, documentarsi in genere, tuttocicherisiedeneicontenitoridimemoriadeicomputer(dischifissi,dischifloppy,CD-ROM).Hardwareinvecetuttocicheriguardailcomputereisuoiaccessoriintesicome macchine.Quindi,adesempio,ildiscofissopresentenelcomputerunacomponente hardware, ma tutti i programmi che vi sono memorizzati sono una componente software. 3 Programmatore chi crea un programma, lo progetta, lo compone e lo testa; utente, invece, chiutilizzaunprogrammacostruitodaaltri.Illettorediquestomanuale,quandoandra realizzareiprogrammipropostinegliesercizi,sarilprogrammatore.Potrdecideredi distribuirecopiedeiprogrammifinitiacolleghiodamici,chediverrannogliutentideisuoi programmi. INTRODUZIONE 11 godersi il panorama, ma in sostanza sono legati alle capacit e alle scelte del guidatore e delprogrammatore,checostituisconolelementopiimportantenellagestionedel lavoro o del viaggio da compiere. Imparare a programmare il computer consente quindi agli insegnanti ed ai loro alunni di prendereinmanoilvolante,difareprogettiinprimapersonaedidarecorpoalle proprie idee. Lungi dallessere unattivit tediosa o superflua, imparare a programmare i computer costituisce la via maestra per avvicinarsi a queste macchine usandole in modo attivo come strumenti per lespressione della propria creativit e per non essere da loro usati come esecutori, pi o meno passivi. 2. A chi si rivolge il manuale Questomanualesiproponecomeunostrumentoconcreto,operativoeimmediato,per gliinsegnantidellescuolematerne,elementariemediecheintendonoimpararea programmareicomputerconillinguaggioVisualBasic6.0,perrealizzaresemplici esperienze di programmazione con i loro alunni. Per quanto esso si rivolga a chi non ha alcuna precedente esperienza di programmazione enonsiaespertonellusodeicomputeroltrelecapacitelementari,alterminedelle lezioniedeglieserciziognilettoresaringradodirealizzareedidistribuire applicazioni o programmi perfettamente funzionanti quali: semplici giochi con limpiego di immagini e suoni documentazione multimediale di esperienze materiali didattici materiali di supporto dellattivit didattica (ad esempio strumenti per la correzione e la valutazione di prove standardizzate). NellapresentazionedellinguaggioVisualBasic6.0sonostatesviluppatequelleparti chepisiprestanoadunutilizzoimmediatodapartediunlettore/programmatorealle prime armi, interessato alla realizzazione delle applicazioni elencate sopra. Sono state quindi omesse in toto o in parte le funzioni di Visual Basic che si rivolgono a programmatori gi esperti: la creazione di controlli ActiveX4 la gestione di pagine web5 i collegamenti con il pacchetto Microsoft Office6. statatuttaviainseritalapresentazionedialcunefunzionimultimedialidi programmazioneavanzata(sonoroeanimazionigrafiche),importantiperlambiente scolastico cui il manuale rivolto. 4 Visual Basic contiene numerosi strumenti con i quali il programmatore pu controllare tutte le mossedellutentedelsuoprogramma.Inaggiuntaaquesti,VisualBasicconsenteal programmatore di realizzare strumenti aggiuntivi, personali, denominati controlli ActiveX. 5LepaginewebsonolepaginepubblicateeconsultabiliinInternet.VisualBasicconsentedi operare su queste pagine, soprattutto per controllare linterazione tra il gestore che le mette in rete e lutente che le consulta.6 Fanno parte del pacchetto di software Microsoft Office, oltre ad altri programmi: lelaboratore di testiWord,ilfoglioelettronicoExcel,larchivioelettronicoAccess.VisualBasicpuinteragire con questi programmi per gestire soluzioni personalizzate definite dallutente.INTRODUZIONE 12 Visual Basic 6.0, pi degli altri linguaggi di programmazione, un oggetto complesso, multiforme, vasto e profondo. Pu essere conosciuto a fondo solo da chi lo percorre in lungo e in largo a tempo pieno e con mezzi adeguati. Noi lo percorreremo con una barca didimensioniridotte,senzaallontanarcitroppodallacosta:solcheremoraramenteil mare aperto, ma faremo ugualmente molte e piacevoli escursioni. Nellaesposizionedelmaterialeillettorevienemessoingradosindalliniziodifare esperienzeconcretediprogrammazioneinambienteVisualBasic,conunmetododi tipotrialanderror(provaederrore).Trattandosidiunaguidarivoltasoprattutto allambientescolastico,potremmoancheosarelacitazionedelttonnementdi C.Freinet7: il manuale fornisce materiali per esperienze concrete, quadri di riferimento e lineeguidaallinternodeiqualiillettorestimolatoaprovareedesplorareforme sempre pi complesse di programmazione. Questometodo,chelasciasullosfondolesposizionesistematicadeglielementidi Visual Basic, privilegia le numerose esperienze dirette che il lettore far eseguendo gli esercizi contenuti nel volume, con le necessarie anticipazioni del materiale dei capitoli successivi e con continue riprese del materiale dei capitoli precedenti. Ilmanualequindivalettoalmenolaprimavoltainmodosequenziale,dacopertinaa copertina (amenocheil lettore abbia gi la capacit di orientarsi allinterno di Visual Basic),perchaltrimentiillettorerischiaditrovarsiprivodeiriferimentichea quellargomento possono essere stati fatti nei capitoli precedenti. Sono tuttavia illustrati nel manuale - per venire in aiuto dei lettori meno esperti - anche tecniche e programmi che non fanno parte del linguaggio Visual Basic (ad esempio: la creazionediicone,ilfunzionamentodelregistratoredisuoni,lacreazionediun database):sitrattaovviamentediparagrafichepossonoessereignoratidailettoripi esperti. Ilmanualestatoprogettatoperessereutilizzatoanchecomestrumentopercorsidi aggiornamento tenuti da esperti o per corsi autogestiti da gruppi di insegnanti. In questo caso,alterminedelcorsopuesserericonosciutoaipartecipanticheabbiano completato lo studio delle lezioni e gli esercizi un impegno complessivo di 100 ore. Ilmanualepuessereutilizzatodaidocenticomeguidaperlaconduzionediprogetti didatticiperlinsegnamentodellaprogrammazioneagruppidialunni.Lordinedegli argomentipuessererispettato,limitandosiadadeguarelaformaespositivaalle capacit di comprensione degli alunni.I due autori hanno lavorato in stretta collaborazione per definire limpianto complessivo dellopera e per controllarne la realizzazione passo per passo; Pier Luigi Farri ha steso materialmenteicapitolida1a7eda9a17.CristianFabbihascrittoilcapitolo8,i capitoli da 18 a 35 e ha curato le Appendici. 3. Come contattare gli autori 7C.Freinet(1896-1966),pedagogoeeducatorefrancese.Conlesuetecnichedidattiche propugn la trasformazione della esperienza scolastica in una esperienza di vita in cui i bambini sviluppano, sperimentano e sistematizzano le loro conoscenze in modo attivo, in un quadro di relazione aperta con lambiente socio-culturale in cui vivono.INTRODUZIONE 13 Il manuale stato utilizzato in corsi di formazione in servizio per insegnanti, il che ha consentitoagliautoridicorreggerloeditestarlo.Ilettorisonopregatidiinviarea questo indirizzo di posta elettronica: [email protected] segnalazioni di eventuali errori o imprecisioni,richiestedichiarimenti,consigli,suggerimentiematerialiprodottiin proprio. 4. Visual Basic 6.0 Professional Il linguaggio di programmazione Visual Basic 6.0 di propriet della casa statunitense di software Microsoft Corporation ed commercializzato in 3 edizioni: 1.Enterprise(completaepicostosa,perlacreazionedicomplessipacchettidi applicazioni integrate, soprattutto ad uso aziendale); 2.Professional(edizioneidoneaalleesigenzediprogrammatoriesperti,riccadi potenzialit per la creazione di programmi veloci, potenti e versatili);3.Learning(edizioneridottaallefunzionistandard,perchisiavvicinaperlaprima volta alla programmazione con lobiettivo di conoscerne gli aspetti fondamentali). QuestomanualestatoscrittosullabasedelledizioneProfessional(MicrosoftVisual Basic6.0Professional,versioneinitaliano8).tuttaviapossibileutilizzareilmanuale (letture ed esercizi) senza problemi anche se si dispone della edizione Learning. In caso di nuovo acquisto, si tenga presente che ledizione Learning rischia di risultare piuttosto limitante non appena il neo-programmatore avr messo un po di piume e sar in grado di spiccare qualche volo fuori dal nido. 5. Requisiti per il lettore Perlostudiodelmanualesononecessarienormalicapacitdimovimentoinambiente Windows: aprire, chiudere, spostare, ingrandire e ridurre finestre, usareleditingdiunelaboratoreditesti(formattareuntesto,scegliereiltipoele dimensionideifont(caratteri),tagliare,copiareeincollarepartiditesto,inseriree dimensionare immagini). usareilmouseperselezionareeaprirefiles,spostareoggettisulloschermo, selezionareparole,righeoparagrafiditesto,rispondereafinestredidialogo premendo i pulsanti S, No, Annulla, ecc.), utilizzare i menu scritti ed i menu ad icone trovare files in collocazioni diverse, rinominare files, 8 In questa versione viene presentato in italiano lapparato di informazioni e di assistenza per il programmatoreitaliano.Illinguaggiodiprogrammazioneveroeproprioovviamenteunicoe identicopertuttiiPaesidelmondo(altrimentiverrebbelimitatalapossibilitdidistribuirei programmi) ed basato su un gruppo di circa 100 parole tratte dal vocabolario inglese. INTRODUZIONE 14 gestire le cartelle (creare nuove cartelle, spostarle, rinominarle), salvare files in collocazioni diverse, spostare files da una cartella allaltra. inoltre necessario che il lettore conosca, anche in modo elementare, il funzionamento di queste periferiche del computer: lettore CD-ROM casse acustiche stampante 6. Requisiti per il sistema PerinstallareeusareVisualBasic6.0necessariocheuncomputerabbiaiseguenti requisiti minimi di hardware e software: SistemaoperativoMicrosoftWindows95o98,oppureMicrosoftWindowsNT Workstation 4.0 (si consiglia Service Pack 3) o versione successiva Processore486DXa66MHzosuperiore(siconsigliaPentiumounprocessore superiore) Lettore di dischi CD-ROM MonitorVGAoarisoluzionesuperioresupportatodaMicrosoftWindows 16MBdimemoriaRAMperWindows95/98,32MBdiRAMperWindowsNT Workstation Mouse 108 Mb di memoria libera sul disco fisso Lettore per dischi floppy da 1.44 Mb Scheda audio e casse acustiche (necessarie per i programmi multimediali). Stampante (necessaria per stampare testi o immagini) . 7. Linstallazione di Visual Basic Le indicazioni che seguono si riferiscono alla installazione piuttosto laboriosa - della edizione Professional. 1.InserireildiscodiVisualBasicnellettoreCD-ROM.LinstallazionediVisual Basicsidovrebbeavviareinmodoautomatico;incasocontrario,avviare linstallazione normalmente dal file Setup.exe, che si trova nel CD-ROM. 2.Conlavviodellainstallazionevieneeffettuataunaprimaverificadeicomponenti giinstallati.VisualBasiccercalapresenzanelsistemadelprogrammaMicrosoft InternetExplorer4.1.Seilprogrammanonpresente(osenepresenteuna versione precedente), necessario installarlo ora, prima di Visual Basic. INTRODUZIONE 15 Figura 1 Linstallazione preliminare di Internet Explorer 4.01. 3.Dopo avere installato Internet Explorer, riavviato il sistema, Visual Basic verifica se presente nel sistema il protocollo DCOM (aggiornamento 98) ed eventualmente ne chiedelinstallazione.LasiglaDCOMstaperDistributedComponentObject Model:sitrattadiunostrumentochefacilitalacomunicazionetraapplicazioni basate sugli oggetti. INTRODUZIONE 16 Figura 2 Linstallazione del protocollo DCOM, aggiornamento 98. 4.DopoavereinstallatoDCOM98eavereriavviatoancoraunavoltailsistema, linstallazionediVisualBasicriprendedalpuntoincuierastatalasciataepu essere portata a termine senza ulteriori intralci. Tralediverseopzioni,sceglierelinstallazionePersonalizzatae,nellaFinestrachesi apre,fareunclicsullacasellaGrafica,perinstallareanchequestapartedelle funzionalit del linguaggio. Con questa aggiunta, Visual Basic occuper sul disco fisso circa 108 Mb di memoria RAM. INTRODUZIONE 17 Figura 3 - La Finestra della installazione Personalizzata. 5.TerminatalafasedinormaleinstallazionediVisualBasic6.0,almomentodel riavviodelsistemavienepropostalinstallazionediMSDN(MicrosoftDeveloper Network, Rete del Programmatore Microsoft): necessario fare questa installazione aggiuntiva,peraverecomodamenteadisposizionenelcomputerlaGuidainLinea di Visual Basic. INTRODUZIONE 18 Figura 4 Lavvio della installazione di MSDN. 6.AncheperMSDNoptiamoperlinstallazionePersonalizzata:scegliamoconun clic del mouse linstallazione dei seguenti componenti: Full Text Search Index Documentazione di VB Esempi di prodotti VB Inquestomodoavremoinstallatonelcomputer,adisposizioneognivoltachene avremobisogno,ladocumentazioneinlineadiVisualBasic(checorrispondeadun volume di un migliaio di pagine) e le applicazioni di esempio che vengono fornite con Visual Basic. Con queste due scelte, la documentazione MSDN occuper sul disco fisso circa 126 Mb di memoria RAM. Figura 5 L installazione Personalizzata di MSDN. 19 PARTE I - LA PROGRAMMAZIONE: POTENZIALIT FORMATIVE, EVOLUZIONE STORICA, CARATTERISTICHE ODIERNE CAPITOLO 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? Uncomputerunamacchinacheeseguedelleistruzioni.Questeistruzionivengono scrittedaiprogrammatoriesonocontenuteneiprogrammi(oapplicazioni9)chesi trovano sui dischi rigidi interni al computer, sui dischetti floppy o sui CD-ROM. Un programma (o applicazione) consiste in una serie di istruzioni impartite al computer percheseguadeterminaticompiti.Senzaistruzioniilcomputernonfaniente,percui chiunque abbia utilizzato un computer anche per funzioni semplicissime ha avuto a che fare con dei programmi. Alcuniprogrammisonorelativamentesemplicicome,adesempio,lacalcolatriceche compare in Programmi/Accessori nella installazione tipica dellambiente Windows. Per quantopossanoapparirecomplesseleoperazioniconsentitedaquestacalcolatrice,la suarealizzazionepiuttostosemplice(sivedapiavanti,inquestomanuale,il Capitolo23:LACALCOLATRICE,apag.341).Altriprogrammisonoestremamente complessi e possono essere costruiti solo da quipes di programmatori: gli elaboratori di testo (ad esempio Word), i fogli elettronici (ad esempio Excel), i data base (ad esempio Access), i programmi per la gestione della grafica (ad esempio Microsoft Photo Editor), iprogrammiperlanavigazioneinInterneteperlagestionedellapostaelettronica (ad esempio Netscape e Microsoft Internet Explorer). Esistonoincommerciodecinedimigliaiadiprogrammi,persoddisfareleesigenzedi tutti gli utenti e di tutte le tasche. A che serve dunque imparare a programmare? 9 I termini programma e applicazione sono sinonimi. Alcuni tendono a definire applicazione un progettopicomplesso,checomprendealsuointernodiversiprogrammipisemplicias stanti, ma questa distinzione poco chiara e non entrata nelluso comune. Non vanno invece confusi i termini programma e linguaggio di programmazione. Un linguaggio diprogrammazioneunostrumentocheconsentedirealizzareprogrammi:VisualBasicun linguaggiodiprogrammazione,ilGiocodellaTombolaunprogrammarealizzatoconVisual Basic. Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 20 1. Programmare per personalizzare luso del computer Perquantomoltepliciediversisianoiprogrammiincommercio,nessunprogramma confezionatosumisurapersoddisfaretuttelespecificheesigenzeeleparticolari abitudini di ogni singolo utente. Destinati ad essere venduti ad un gran numero di utenti, questiprogrammicercanodiabbracciareleesigenzedelmaggiornumeropossibiledi utenti, limitando le possibilit di personalizzazione a pochi elementi secondari. Chi ha provato ad utilizzare i programmi per la gestione delle finanze personali se ne certamente reso conto: poich ognuno ha un modo strettamente personale di vedere e di gestirelapropriasituazionefinanziaria(senzaconsiderarechelesituazionifinanziarie varianoampiamentedapersonaapersona),pressochimpossibiletrovareun programma che corrisponda perfettamente alle proprie esigenze. Ascuola,sipupresentarelesigenzadidocumentareunaesperienza,oppuredi realizzare un progetto didattico informatico insieme agli alunni, o ancora di creare una storiamultimediale,oungiocoinventatodaglialunni,conimmaginiesuonicreatida loro In questi casi nessun programma esistente in commercio pu venire in aiuto: per realizarequestiprogettinecessarioimparareglielementibasilaridella programmazione del computer. 2. Programmare per educare la precisione e il rigore logico. Lapprendimentodellaprogrammazionehaunafortevalenzaformativapertutti (bambinieadulti,alunnieinsegnanti),paragonabilepercertiaspettiaquella tradizionalmente attribuita allo studio del latino. Ilinguaggidiprogrammazionedeicomputersifondanosuregolediortografiaedi sintassiestremamenterigide,incuinonsonoammessierrorioambiguit.Per raggiungerelobiettivodiideareedirealizzareunprogrammachefunzioniintuttele sue parti senza dare problemi, necessario impartire al computer una serie di istruzioni in cui non vi siano errori di sintassi (altrimenti il programma si blocca segnalando lerrore) erroridilogica,imprecisionioambiguit(altrimentiilprogrammapuproseguire per strade diverse da quelle progettate dal programmatore). Nellaprogrammazionevengonochiamatisyntax errorquellicheinitalianosono errorididattilografiaodiortografiaincuisipuincorrerequandosiscriveuna istruzione allinterno del programma in modo errato. Le parole che contraddistinguono questicomandisonoovviamenterigide,perchperesserericonosciutedalcomputer debbonoesseresceltesolotraquelleprevistedallinguaggiodiprogrammazione,e debbonoesserescritteesattamentecomerichiesto.Unerrorediscrittura(perchsi battuto malamente un tasto o perch non si conosce bene il comando) genera un errore di sintassi e il blocco del programma: il computer termina il programma nel punto in cui riscontra lerrore e segnala lerrore al programmatore.Ad esempio, sono errori di sintassi: Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 21 scrivere il comando Prrint invece di Print assegnare ad una variabile il contenuto Garibaldi, scrivendoGaribaldi invece di Garibaldi con due virgolette sbagliareirimandidaunaparteallaltradelprogramma(adesempioordinareal computerdieseguirelaproceduraStampatestocheinveceinaltrapartedel programma stata chiamata Stampa_testo). Erroridibattituraanchedisemplicisegnidiinterpunzionepossonocausareerrorio effetti indesiderati nella esecuzione del programma. Ad esempio, i 5 comandi che seguono sono in apparenza simili ma producono in realt risultati molto diversi quando vengono eseguiti dal computer: 1 Print A(il computer scrive la lettera A sullo schermo e poi va a capo) 2 Print A (ilcomputernonscrivenientesulloschermoevasemplicementea capo; la lettera A, che viene dopo il segno dellapostrofo, non viene scrittasulloschermomarimanenelprogrammacomeunanotaad uso del programmatore) 3 Print A; (ilcomputerscrivelaletteraAesipreparareascrivereiltesto rimanente di seguito sulla stessa riga) 4 Print A, (ilcomputerscrivelaletteraAesipreparaascrivereiltesto rimanente incolonnato allinizio della prossima colonna) 5 Print A (il computer scrive il numero che il programmatore ha associato alla letteraA;inquestocaso,nontrovandonessunaassociazione,il computerscriveilnumero0.Seinunaparteprecedentedel programma fosse stata scritta una assegnazione di questo tipo:A = 100allora il computer scriverebbe il numero 100. Esercizio 1: Analisi di alcuni effetti di stampa sul video Nei 5 comandi Print che compaiono nella tabella precedente, evidenziate le variazioni dattilografiche che causano sul monitor del computer i risultati diversi illustrati di fianco a ciascun comando. Cercate di capire quale particolare effetto di scrittura sul video prodotto da: (uno o pi caratteri tra virgolette) (apostrofo) ; (punto e virgola) , (virgola) uno o pi caratteri senza virgolette. Glierroridisintassisonosegnalatidalcomputer,quindiabbastanzaagevole individuarli e correggerli. Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 22 Pi temibili sono gli errori di logica che si annidano nelle intenzioni del programmatore e che per questo non possono essere individuati dal computer. Un esempio di errore di logica contenuto nello schema di programmazione del gioco della tombola, nellesercizio seguente. Esercizio 2: Gioco della Tombola - I Questo la schema di programmazione di un gioco che deve simulare sullo schermo del monitor lestrazione dei 90 numeri del gioco della tombola. I giocatori hanno a disposizione le tradizionali cartelle di cartoncino, sulle quali segnano i numeri gi usciti. Il computer invece fa queste cose: estrae, uno alla volta, i numeri da 1 a 90 mostra, se richiesto, tutti i numeri gi usciti. Il computer esegue lo schema che segue senza problemi ma, a causa di un errore di logica del programmatore, il risultato non quello voluto. Il programmatore ha fatto apparire, sullo schermo, in basso, 4 grandi pulsanti10 sui quali possibile fare clic con il mouse: Il primo tasto riporta lindicazione: ESTRAI UN NUMERO Il secondo tasto: MOSTRA LA TABELLA Il terzo tasto: INIZIA UNA NUOVA PARTITA Il quarto tasto: TERMINA IL GIOCOLa programmazione del gioco divisa in 4 fasi (una fase per ognuno dei 4 tasti). Questo lo schema delle istruzioni impartite al computer: 1. Se viene premuto il tasto ESTRAI UN NUMERO fai queste cose: 1.a Sorteggia un numero a caso da 1 a 90 1.b Perdi un po di tempo per la suspence e intanto fai sentire una musica 1.c Mostra il numero estratto a grandezza schermo intero 1.d Aspetta che venga premuto il prossimo tasto 2. Se viene premuto il tasto FAI VEDERE LA TABELLA fai queste cose: 2.a Fai vedere la tabella con tutti i numeri gi usciti 2.b Aspetta che venga premuto il prossimo tasto. 3. Se viene premuto il tasto INIZIA UNA NUOVA PARTITA fai queste cose: 3.a Ripristina in memoria tutti i numeri da 1 a 90 e rendili tutti di nuovo estraibili 3.b Ripulisci la tabella cancellando dalla memoria tutti i numeri gi estratti 3.c Aspetta che venga premuto il prossimo tasto. 4. Se viene premuto il tasto TERMINA IL GIOCO fai queste cose: 4.a Termina il programma Tombola e torna allambiente Windows. 10 In linguaggio Visual Basic, questi pulsanti sono quattro Controlli, e pi precisamente quattro CommandButton (Pulsanti di Comando: se ne parler pi avanti, a pag. 49). Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 23 Dov lerrore logico del programma?11 3. Programmare per sviluppare il pensiero progettuale Ilsempliceesempiodellesercizioprecedentelasciagiintuirecomelediversefasidi elaborazionediunprogrammasollecitinolosviluppodicapacitintellettuali fondamentali: 1.capacit di definire problemi e di porsi degli obiettivi; 2.capacit di formulare ipotesi di percorsi di soluzioni;3.capacitditeneresottocontrollodeiprocessibasatisuelementiecomponenti variabili; 4.capacit di verificare i risultati raggiunti. Graziealquadrofortementemotivante(ilfascinodelcomputeredelprogresso tecnologico,ilpiacereesteticoelaspettoludicodellamultimedialit)leacquisizioni avvengonoinmodorapidoefornisconounaspintaformidabilealconsolidamentodi nuoviabitimentaliimprontatiallaprecisione,alrigore,allastringatezza,conricadute positive su ogni campo di attivit dellindividuo. Inparticolare,loggettodellapprendimento(latecnicadiprogrammazionedei computer)comportalesercizioedilconsolidamentodelpensieroprogettuale:della capacit,cio,divedereeprevedereglielementidiunasituazioneperpro-gettarsi, verso la soluzione che desideriamo. Siamodunquedifronteadunpotenzialeeducativodigranderilevanza,chenonpu essere ignorato dalle scuole: perch in perfetta sintonia con i loro obiettivi formativi perch difficilmente riscontrabile in modo cos accessibile, completo e organico in altre attivit didattiche. Sitrattadiconoscenzeimportantisiains,inquantolascritturadiun"vero" programma(intendounprogrammascrittoveramenteenonmontatoconpochi pezzi prefabbricati) aiuta lo sviluppo delle capacit logiche, sia come strumento utilizzabileperraggiungerevariobiettiviscientifici.Lapossibilitdiusareun linguaggiodiprogrammazione,ancheelementare,permetteinfattidiesplorare della"fenomenologiamatematica"altrimentiinaccessibileedisimulare fenomeni di varia natura.12 Tutto questo senza dimenticare che, in definitiva, la motivazione pi forte per imparare a programmare i computer sta nel fatto che creare programmi divertente, perch dalla realizzazionediunprogrammaprovengonoquellasoddisfazioneequelsensodi appagamento che accompagnano le nostre imprese pi significative, quando sentiamo di 11 La soluzione dellesercizio n. 2 si trova a pag. 623. 12 L.Russo, Segmenti e bastoncini, Dove sta andando la scuola?, Feltrinelli, Milano, 1998, pag. 49. Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 24 essereriuscitiarealizzarequalcosacheportainmodoinconfondibileilmarchiounico della nostra personalit. 4. Il rischio della segregazione digitale Lultima motivazione che dovrebbe spingere gli insegnanti e le scuole ad impadronirsi delletecnichediprogrammazionedeicomputerriguardailrischiodellaignoranza informatica,chesembraincomberecomenuovadiscriminanteperlastratificazione sociale. NegliStatiUnitidAmerica,paeseincuiladiffusioneelusodeicomputersonoallo stadiopiavanzatonelmondo,vienegiregistratoquestonuovofenomenodi differenziazione sociale basata sulla capacit di accedere alle nuove tecnologie. Si parla in quel paese di un digital divide (segregazione digitale) che sta erigendo nuove barriere sociali tra i bianchi e le minoranze etniche (in particolare gli afroamericani)13 e sistannogirealizzandoprogettieducativicompensativi,finanziatidalGoverno Federale o dalle comunit locali. Nel nostro paese il problema stato avvertito dal CENSIS: Nella societ dellinformazione e della globalizzazione la pratica del computer elaconoscenzadellelingue,dopoitradizionalileggere,scrivereefardi conto,costituisconoisaperichepreservanodanuove,maforseanchepi pericolose, forme di marginalizzazione. () Questeconoscenzeecompetenzerappresentanonuovisaperidicittadinanza, sapericiochedeterminanolapossibilitdiintegrarsieparteciparealle dinamichediunasocietdove,negliultimianni,sidiffusocapillarmente lutilizzodelletecnologieinformatiche(sipensiadInternet,almoltiplicarsi deglisportelliinformaticionline,altelelavoro,ecc.)echesiapertaaduna dimensione internazionale nelle sue relazioni economiche, politiche, istituzionali e monetarie.14 LostudiodiVisualBasicpuessereunostrumentoidoneopersensibilizzareaquesto problemalelettricieilettorie,quindi,periniziareillavorodiprevenzionecontro linsorgere di questa segregazione digitale. Segregazioneche,anostroavviso,nondeterminatatantodallacapacitdiaccesso allusodelcomputer,quantodallaqualitdiquestoaccesso:lanuovabarrierasociale che si intravvede non sar tanto tra chi sapr usare il computer e chi non ne sar capace ma,piprobabilmente,trachisaprusareilcomputerinmodalitattiveechiinvece non sapr andare oltre lapproccio in modalit passive, in attivit preordinate da altri. Apriamo una parentesi per chiarire questo punto. Lapproccio allinformatica ed alluso del computer, da parte degli adulti cos come da parte dei bambini, non ha un valore intrinseco univoco. 13Cfr.M.Valsania,Autostradeelettronichechiusealleminoranze,IlSole-24Ore,Domenica7 Febbraio 1999, n. 37, pag. 37. 14 CENSIS, XXXI Rapporto sulla situazione sociale del paese, Franco Angeli editore, 1997, pag. 124. Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 25 Come ci sono modi diversi di leggere, per cui lattivit del leggere ha livelli diversi di qualitediutilitperlaformazionedellepersone,coscisonomodalitdiversedi essereutentidelcomputer,lacuiqualiteutilitformativesonoinrelazioneal livello di impegno attivo richiesto da ogni modalit. Per certi aspetti, usare un computer come usare un pullman, in quanto: ci sono coloro che costruiscono le parti fondamentali della macchina cisonocolorochecostruisconoglistrumentiperchilpullmanpossaessereusato dal guidatore e dai passeggeri ci sono coloro che guidano il pullman cisonocolorochesalgonosulpullmanconintestaunideaprecisadellamtache vogliono raggiungere ci sono coloro che salgono sul pullman per fare un giro. Comeperilpullman,possiamoimmaginareidiversimodidiapproccioediusodel computer su una scala che va dal livello massimo al livello minimo di impegno attivo, passando per cinque gradi: 1.alprimogradosicollocanoiprogrammatoridellemacchine,coloroche costruiscono e progettano le attrezzature hardware, ricercando e mettendo alla prova componenti sempre pi veloci, potenti e sofisticati 2.alsecondogradostannoiprogrammatoridelsoftwarepicomplesso:sistemi operativi,linguaggidiprogrammazione,applicazioniplurifunzionaliinterconnesse tra di loro (come le suites15 di Microsoft, Corel, Lotus) 3.alterzogradostannoiprogrammatoridisoftwarediorizzontepiristretto,che utilizzanoglistrumentiprodottiailivelliprecedenti(inparticolareisistemi operativieilinguaggidiprogrammazione)percostruirenuoveapplicazioni,meno complessedellegrandisuitesdellivello2,maugualmenteoriginali,non intercambiabiliconaltriprodottiesistentisulmercato,calibratesulleesigenzee sullecaratteristichedinicchiediutenti(unascuola,unaazienda,ungruppodi scambio)4.alquartolivellosicollocanocolorochesannoutilizzareinmodoattivole applicazioni prodotte ai livelli precedenti e, allinterno di queste, riescono anche ad ottenere risultati originali (gli utenti di un elaboratore di testi usano in modo passivo leopportunitoffertedelprogrammadielaborazionedeitesti,maillorolavorodi elaborazione di parole e immagini un lavoro attivo che pu esprimere alti livelli di creativit) 5.alquintoeultimolivellosicollocanocolorocheutilizzanosoloapplicazioni prodottedaaltriconintentidiintrattenerelutenteodisemplificarnealmassimo linterazioneconilcomputer.Questeapplicazionireleganolutenteadunruolo passivodiesecuzione(sipensiacertivideo-giochiiterativi,amoltiCD-ROMdi consultazione,lacuinavigazionenonvaoltreunosfarfalleggiamentoprivodi obiettivi e di reale partecipazione da parte dellutente). 15Suite una raccolta di programmi prodotti dalla stessa casa di software, con funzioni diverse ma integrati tra di loro per quanto riguarda la grafica, la gestione dei dati e delle risorse esterne. La suite Microsoft Office 2000 Premium, ad esempio, costituita da Word (elaboratore di testi), Excel(foglioelettronico),Access(database),Outlook(postaelettronica),PowerPoint (presentazioni), Publisher (impaginazione), FrontPage (pagine web). Capitolo 1: PERCH IMPARARE A PROGRAMMARE I COMPUTER? 26 Iprimiduegradidellascalasonoriservatiadquipesdiricercatoriprofessionisti, inseriti in organizzazioni economiche in grado di supportare i costi della loro attivit, in una prospettiva di vendite di prodotti su scala mondiale. Allelettriciedailettoridiquestomanualeproponiamounobiettivopilimitato,ma ugualmente molto ambizioso: assestarsi al terzo grado della nostra scala, acquisendo le conoscenze di base per capire come funziona la programmazione dei computer, le capacit necessarie per imparare a realizzare semplici applicazioni e le capacit necessarie per insegnare a realizzare semplici applicazioni. Riteniamo che una salda collocazione al terzo gradino della scala (che in definitiva il gradodipartecipazionepialtoalqualelageneralitdegliutentideicomputerpossa aspirare)siasufficientepercomprendereinmodooperativocomelaprogrammazione deicomputernondebbaessereconsideratacomeunaprerogativadariservarea misteriosi guru dellinformatica, ma sia invece un elemento basilare per la costruzione, per ognuno di noi, della nuova cittadinanza nellera tecnologica. 27 CAPITOLO 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER I computer capiscono solo il cosiddetto linguaggio macchina (o codice nativo). Nel linguaggio macchina le istruzioni sono scritte in questo modo: 10111100 10011001 01000111 01100011 10011001 01000111 01000111 10111100 10011001 01000111 Ognicasellarappresentaunaunitminimadimemoriadelcomputer,nellaquale contenutaunaunitminimadiinformazione:unbit.BitstaperBInarydigiT(numero binario). Ogni bit pu contenere solo due numeri: il numero 0 o il numero 1. Unbitpuessereimmaginatocomeunamicroscopicalampadinachequandoviene accesa mostra il numero 1, quando viene spenta mostra il numero 0. Laccendersiolospegnersidiquestelampadinesonoleunicheistruzionichei computer interpretano. Unprogrammatorechevogliaparlaredirettamentealcomputerdevequindiconoscere questoparticolarissimolinguaggioformatosoloda2segnie,badatebene,sono necessarie istruzioni di questo tipo per ogni funzione svolta dal computer, anche per funzioni semplicissime come queste: 1.riconoscerechestatopremutosullatastierailtastocorrispondenteadunalettera (ad esempio la lettera A) e, di conseguenza, 2.scrivere la lettera A sullo schermo del monitor. 1. Le unit di memoria del computer I bit sono raggruppati in matrici di 8 bit (nella tabella precedente ogni riga rappresenta una matrice di 8 bit). Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 28 Una matrice di 8 bit si chiama byte (pronuncia: bit). 10011001 Il byte lelemento fondamentale per la programmazione del computer. A seconda della diversaforma(0o1)cheassumonole8lampadinechelocompongono,unbytepu assumere256formediverse,corrispondentia28 disposizionidi1o0.Un programmatoredicomputerlavoraquindicombinandotradiloro256elementidi programmazione. Sitratta,inpratica,diunalfabetocompostoda256segni,numeratida0a255,coni numeri scritti in base 2. Eccone qualche esempio: 00001101 corrisponde alla pressione del tasto INVIO (byte numero 13) 00111110 corrisponde alla pressione del tasto con il simbolo > (maggiore di, byte numero 62) 01000001 corrispondente alla pressione del tasto con la lettera A maiuscola (byte numero 65) 01100001 corrisponde alla pressione del tasto con la lettera a minuscola (byte numero 97). Il byte anche lunit di misura della memoria del computer, con i suoi multipli: Kb (Kilobyte = 1.000 bytes) Mb (Megabyte = 1 milione di bytes) Gb (Gigabyte = 1 miliardo di bytes). Unaletterascrittaalcomputeroccupacirca20Kbdimemoriadelcomputer(20.000 bytes). Una immagine a colori formato cartolina occupa circa 300 Kb di memoria, se non viene registrata in un formato compresso. Un disco floppy contiene al massimo 1,44 Mb (1.440.000 bytes). LinstallazionediVisualBasicoccupacirca108Mb(108milionidibytes)suldisco fisso interno al computer. LamemoriaRAM16 diunnormalepersonalcomputerperpoterusareVisualBasic dovrebbecontenerealmeno16Mb (o, meglio, 32 Mb) di dati (cio 16 o 32 milioni di bytes). 16 La memoria RAM (Random Access Memory, memoria ad accesso casuale) la memoria che ilcomputerutilizzanellosvolgimentodellasuaattivitquandoacceso(perlelaborazionedi testi, di giochi, di suoni, di immagini); per questo motivo chiamata anche memoria di lavoro. Si differenziadallamemoriaROM(ReadOnlyMemory)cheinvececostituitadaleinformazioni salvate su supporti come il disco fisso del computer, i dischetti floppy, i CD-ROM. Il contenuto Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 29 Il disco fisso di un personal computer pu contenere da 1 a 6 o 7 Gb (cio da 1 a 6 o 7 miliardi di bytes). 2. I linguaggi compilatori Illinguaggiomacchina,compostodabitedabytes,unlinguaggiodettodibasso livello, perch in rapporto diretto con le componenti elettroniche della macchina. Apartiredaglianni60,conladiffusionedeicomputereilprogressivoampliamento delnumerodeiprogrammatori,emersalanecessit/possibilitdicrearealtritipidi linguaggisemprecomprensibilidalcomputermapiviciniallinguaggioparlatodagli uominiequindipifacilidausare.Questilinguaggidettidialtolivelloutilizzano parole di uso corrente (in inglese) quali ad esempio: Open17(Apri) Print(Scrivi) Load(Carica) End(Fine) Do(Fai) If(Se) Then(Allora) And(E) Or(Oppure) Else(Altrimenti) Select(Seleziona) While(Finch). Programmare utilizzando queste parole evidentemente pi facile che scrivere una serie di 1 e di 0. Il computer, tuttavia, non capisce alcuna parola: il linguaggio che si pone comeintermediariotrailprogrammatoreeilcomputeretraduceincodicenativole paroleinglesi(cioleistruzioni)scrittedalprogrammatore.Questaattivitdi intermediazionecompiutadailinguaggidialtolivellosichiamacompilazione;i linguaggi sono chiamati compilatori. Naturalmenteunlinguaggiodialto livello potrebbe anche essere fondato su parole del vocabolario italiano, ma due condizioni sembrano escludere questa possibilit: occorrerebbeunaquipediprogrammatoridispostaapredisporrelacompilazione dallitaliano al codice nativo del computer; dellamemoriaRAM,adifferenzadellamemoriaROM,siperdeconlospegnimentodel computer. 17 LerighescritteconquestocarattereCourierNewindicanoleistruzionichevengono impartitealcomputer.Neiprossimicapitoliverrannoscritteinquestomodolerighedicodice (cio le righe contenente le istruzioni) dei programmi che analizzeremo o costruiremo. Courier Newilcaratteretradizionaledellemacchinedascriverenonproporzionali,doveognilettera occupa uno spazio uguale alle altre. Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 30 lusodiunsimilelinguaggiosarebbechiusodentrounareageograficalimitata, impedendolapiampiacircolazionedeiprogrammiefacendomoltiplicareicosti delle produzioni. Una volta terminata la programmazione, il linguaggio di alto livello si incarica dunque di compilare tutto il programma in linguaggio macchina (cio in una serie di numeri 0 e 1) e di renderlo eseguibile e distribuibile agli utenti finali (ma non pi modificabile da parte di questi utenti, perch per farlo dovrebbero essere capaci di intervenire sul codice nativo del computer). 3. Il Basic Il linguaggio Basic18 fu elaborato negli anni 60 da un gruppo di insegnanti del College diDartmouth(NuovaScozia,Canada)adusodeilorostudenti,perconsentire lapprendimento della programmazione anche agli studenti che non seguivano i corsi di informatica. IllinguaggioBasicoriginariosipresentavacomenelprogrammadi5righecontenuto nellesercizio seguente. Esercizio 3: Analisi di un listato in linguaggio Basic Questo il listato19 di un programma che fa apparire sul video i numeri dispari da 1 a 999, disposti su colonne, nel giro di pochissimi secondi. Cercate di capire la funzione dei comandi contenuti in ogni riga. 10 CLS 20 FOR X = 1 TO 999 STEP 2 30 PRINT X, 40 NEXT X 50 END Notate: la numerazione delle righe (il computer le esegue in ordine, salvo indicazioni diverse da parte del programmatore20) 18BeginnersAll-purposeSymbolicInstructionCode(LinguaggiodiIstruzioniSimbolicoe Mulfunzionale per il Principiante). 19 Listato linsieme delle righe di istruzioni scritte contenute in un programma (attenzione: nei linguaggi di programazione odierni le righe non vanno pi numerate!).20Lanumerazioneper10eraunaconvenzionedeiprogrammatori:inquestomodoera possibileinterveniresuiprogrammiinunsecondotempo,inserendoaltrelineedi programmazione eventualmente necessarie (11, 12, ecc.) per modifiche o integrazioni. Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 31 luso di termini inglesi abbastanza facilmente comprensibili e utilizzabili per impartire le istruzioni al computer o per rivedere in un secondo momento ci che si scritto: CLS sta per Cancel Screen (= cancella lo schermo), ripulisce la schermata del monitor dalle scritte o dai disegni eventualmente presenti, rimasti dalla esecuzione di programmi precedenti; FOR (= PER) qui significa: poni la variabile X uguale a 1 e aumentala di 2 in 2 (STEP 2 = PASSO 2) sino ad arrivare a 999; PRINT (= SCRIVI) fa apparire sul monitor la variabile X, che aumenta di 2 in 2 da 1 fino a 999); La virgola alla riga 30 ordina al computer di scrivere i numeri in colonne ordinate; NEXT (= PROSSIMO) fa scattare laumento di X di 2 in 2 e rimanda il computer ad eseguire le righe 20 e 30, finch X diventato uguale a 999. Quando X diventato uguale a 999, non ci sono pi NEXT da eseguire e il computer passa alla riga 50. END (= FINE) termina il programma. 4. Dai linguaggi procedurali ai linguaggi orientati agli oggetti e agli eventi ConilpassaredeglianniillinguaggioBasicoriginariosiarricchitoesemplificato (ciodiventatopossibilefareeseguirealcomputercosepicomplessescrivendoun minor numero di istruzioni).ConlaversioneQBASICvenutamenolanecessitdinumerarelerighedel programma. Con il passaggio a Visual Basic il linguaggio21 ha fatto un salto di qualit, adottando due elementi innovativi: 1.un apparato grafico di grande semplicit di programmazione, in tutto simile a quello dellambiente Windows, estremamente accattivante ed efficace per la presentazione dei programmi allutente; 2.il passaggio dai programmi testuali ai programmi orientati agli oggetti e agli eventi. Iprogrammitestuali(oprocedurali)sonosimilialsempliceprogrammaperla numerazione da 1 a 999 contenuto nellesercizio a pag. 30: il computer li deve eseguire riga per riga, seguendo pedissequamente le indicazioni del programmatore. Lutente pu intervenirenelciclodelprogramma,madeveinqualchemodoadeguarsiallordine predeterminato dal programmatore. 21 Il termine che si legge pi frequentemente oggi, invece di linguaggio, ambiente di sviluppo. Conquestosiintendesottolinearechesitrattadiunostrumentodicreazionedinuove applicazioni. Il termine ambiente vuole evidenziare il fatto che questi strumenti negli ultimi anni hannofattoenormiprogressinellapartegrafica,percuiilprogrammatorehaeffettivamente limpressioneditrovarsiallinternodiunastanzadeibottoni,contuttiglistrumenti contemporaneamenteasuadisposizione,aportatadimouse.Ilterminelinguaggio, tradizionale,ricorda invece il fatto che dietro lapparato grafico rimane pur sempre lesigenza di scrivere le istruzioni (il codice) da fare eseguire al computer. Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 32 I programmi odierni sono invece: orientati agli oggetti orientati agli eventi. Determinante, per questo passaggio storico, stata laffermazione dei sistemi operativi basati su interfacce grafiche, come il sistema Macintosh e il sistema Windows. Sonoorientatiaglioggettiperchconsentonodiinserirenelprogrammaoggetti preconfezionati (anche costruiti da altri programmatori) estremamente efficaci e a costo zero (in quanto a fatica di programmazione). Immaginateunprogrammatorechevogliainserireinunsuoprogrammaunpulsante che, premuto con il mouse, simuli un vero pulsante, cio si abbassi sotto la pressione del mouse e poi torni alla sua posizione originaria. Con un linguaggio procedurale la cosa fattibilesolodaunprogrammatoreesperto,dopounnotevoleimpegnonellascrittura delle linee di istruzioni da passare al computer. Con un linguaggio orientato agli oggetti la cosadiventasemplicissima:basta prendere loggetto pulsante e collocarlo dove si desiderachequestoappaianelquadrograficodelprogramma.Nonoccorrescrivere alcuna riga di istruzioni perch loggetto pulsante preconfezionato e contiene gi in s le istruzioni necessarie per simulare il pulsante che si abbassa sotto il clic del mouse e poi torna alla sua posizione originaria22. Sequestaprimacaratteristicadeilinguaggiodiernifacilitanotevolmenteillavorodel programmatore,noncosperlaltracaratteristicafondamentale:lorientamentoagli eventi. Abbiamovistocheiprogrammitestualisi svolgono seguendo ordinatamente una serie diistruzionipredispostedalprogrammatore,dallinizioallafine,sinoachenonsi giungeallafinedelleistruzioni(oadunerrorechefacciaterminareilprogramma prematuramente). Iprogrammiorientatiaglieventisonoinvecepiinterattivi,apertiallutente,alle suecuriosit,aisuoidesideri,allesueesigenze.Allinternodiquestiprogrammi, lutente si trova di fronte una serie di opzioni e di possibilit diverse; queste sono state certamentepreparatedalprogrammatore,mastaallutentedeciderecome,quandoein quale ordine esplorare e sfruttare le risorse che il programma gli offre. Lutente esercita le sue scelte producendo eventi quali, ad esempio, il clic del mouse su una parola, la pressione di un tasto sulla tastiera, la scrittura di una parola23. Un esempio di applicazione orientata agli eventi lelaboratore di testi Microsoft Word: di fronte alla schermata iniziale di questo programma lutente pu decidere di aprire un filegiesistente,diiniziarneunonuovo,discrivereuntesto,dicambiareilfontdi caratteri, di ingrandirli o ridurli Non c alcun ordine predefinito in queste operazioni: lutenteadecideredivoltainvoltacosapreferiscefare,ilprogrammasiadeguain modoelasticoallesueindicazioni.Ilprogrammatore(nelcasodiWord:lquipedi 22 Visual Basic mette a disposizione dei programmatori questo tipo di pulsante preconfezionato: il CommandButton (Pulsante di Comando, illustrato pi avanti a pag. 61). 23Iprogrammiorientatiaglieventiregistranoancheeventinoncausatidallutentequali,ad esempio,iltrascorreredeltempo.Epossibiledareistruzioniadunprogrammaaffinch, trascorsoundeterminatoperiododitempo(eventoregistratodalcomputer)succedauna determinata cosa: ad esempio, in un gioco che simuli una partita a scacchi, dopo 30 minuti di attesa (evento) durante i quali lutente non ha fatto alcuna mossa pu apparire la scritta Il tuo tempo scaduto. Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 33 programmatori)hacercatodiprevederetuttelemossedellutentefinaleedifornireal computer istruzioni adeguate per ognuna di queste mosse. Neiprogrammibasatisueventi,dunque,ilruolodelprogrammatorevieneresopi arduo e pi stimolante perch egli deve essere in grado di mettersi nei panni del futuro utenteedipredisporresoluzioniperognunadelleazionichequestideciderdi intraprendere allinterno del programma. 5. La scelta di Visual Basic Tutti ilinguaggidi programmazione odierni24 sono basati su questi nuovi principi, non soloVisualBasic(anzi,suquestoterrenolaMicrosoftCorporation,proprietariadel linguaggio, si trovata a dovere rincorrere la concorrenza). Perch allora puntare sullapprendimento di Visual Basic?1.Perchunodeilinguaggipisemplicidaimparare.Icriticilochiamanointono denigratorio linguaggio giocattolo perch si presenta con una serie ricchissima di elementi precostituiti che vengono in aiuto al lavoro del programmatore. Nel nostro caso(lusodiVisualBasicinambientescolastico)laconsiderazionechepossa apparirecomeunlinguaggiogiocattolocertamenteunpuntoulterioreinsuo favore. 2.Perchunodeilinguaggipiversatili( possibile trovare alcuni singoli elementi sviluppatimeglioinaltrilinguaggi,manessunlinguaggiopiefficacediVisual Basic se esaminato nella sua globalit). 3.Perch uno dei linguaggi pi diffusi nel mondo (secondo la Microsoft Corporation usato da 3 milioni di programmatori, con una incidenza percentuale del 50%). 4.PerchiprogrammicreaticonVisualBasicsiintegranoperfettamentecon lambiente Windows e sono facilmente distribuibili. 5.Perchlacasaproprietaria(MicrosoftCorporation)probabilmentecontinuerad aggiornarloeavalorizzarloneltempo,rendendolostudiodiquestolinguaggioun buon investimento, atto a produrre un capitale di conoscenze duraturo nel tempo. A questoproposito,sipensicheillinguaggioBasicoriginarioancoraingranparte inglobatonelVisualBasicodierno,percuichiannifaavevastudiatoilBasic originario pu ancora fare fruttare le sue conoscenze, nonostante nel frattempo, nel campo dellinformatica, tutto sia cambiato vorticosamente. Si concludequilatrattazionepigenerale del contenuto del manuale. In questa parte abbiamo visto: le potenzialit formative dello studio della programmazione levoluzione storica dei linguaggi di programmazione le caratteristiche dei linguaggi di programmazione moderni. Sonostatipresentatinegliesercizidiquestiprimicapitolialcunischemiedesempidi programmazione la cui padronanza torner utile nella prosecuzione dello studio. 24 Sono molto noti e diffusi, oggi, i linguaggi Delphi e C++. Capitolo 2: I LINGUAGGI PER LA PROGRAMMAZIONE DEI COMPUTER 34 Dalprossimocapitolosipasserallapartepioperativadelmanuale,iniziando dallanalisi dellambiente grafico di lavoro con cui Visual Basic si presenta. 35 PARTE II - LAMBIENTE DI LAVORO DI VISUAL BASIC CAPITOLO 3:UNA VISITA GUIDATA Il lavoro di elaborazione di un programma in Visual Basic si divide in due parti: 1.lapreparazionedellinterfaccia25 grafica,cioladisposizionedeidiversielementi chelutentevedrsulloschermodelsuomonitordurantelesecuzionedel programma; 2.lascritturadelcodice,ciolascritturadellelineedelleistruzionicheilcomputer dovreseguirequandoaccadrannodeterminatieventi(adesempioquandolutente premerconilmouseunpulsantesullinterfacciagraficaoquandopremerun determinato tasto sulla tastiera). Iniziamodaquestocapitololesplorazionedellapartevisivadellaprogrammazione. Diciamo, con un gioco di parole, che per ora ci occuperemo pi di Visual che di Basic, con due preavvisi: 1.questa parte sar per molti la pi piacevole tra le due. 2.durante lesplorazione guidata o durante le sue escursioni autonome - il lettore si imbattercertamenteinelementicheneltestosonoignorati.Primadi meravigliarsi, opportuno ricordare che lesposizione di Visual Basic qui mirata a conseguire gli obiettivi del manuale, per cui compare nel testo solo ci che abbiamo ritenutoindispensabileaorientareillettorenelcampodellaprogrammazioneea metterloingradodiprodurreinpocotempodasoloapplicazionifunzionanti. Lesplorazione personale tuttavia una attivit necessaria per il completamento e il consolidamentodelleconoscenze:lungidallosconsigliarla,laraccomandiamo vivamente ai lettori. 1. Analisi dellambiente di lavoro di Visual Basic 25 Per interfaccia qui si intende il complesso degli elementi che appaiono sullo schermo. La loro funzione di facilitare la comunicazione tra lutente del programma e le istruzioni contenute nel codicedelprogramma,perchilcomputereseguacichelutentevuole.Lutenteoperasolo sullinterfaccia grafica, senza vedere il codice delle istruzioni retrostante. Linterfaccia si assume il compito di captare le informazioni relative a ci che lutente fa o vuole e di passarle al codice delprogramma.Ilcodicecontieneleistruzionirelativeacichedevefareilcomputer. LinterfacciadiVisualBasicditipoGUI(GraphicUsersInterface,interfacciagrafica dellutente)comequellodiWindows.NoneraditipoGUIlinterfacciadelBasic(linguaggio testuale),comenonlolinterfacciadelMS-DOS(ilsistemaoperativochetuttorapresente neicomputer,sottostanteaWindows).NelpassaggioallinterfacciaGUIilvecchioBasicha assunto laggettivo Visual. Capitolo 3:UNA VISITA GUIDATA 36 Apriamo,ufficialmenteperlaprimavolta,lambientedilavoroVisualBasic.Dalla barradelleapplicazionidiAvvio,apriamolacartellaProgrammiequindiMicrosoft Visual Basic 6.0. Figura 6 - La finestra di apertura di Visual Basic. Appare una Finestra la cui caption26, nella riga blu in alto, Nuovo Proget