Lezione 1 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo Il programmatore è l uomo che programma un computer. Definizione di programma Un programma è un sequenza finita di istruzioni elementari che indicano al computer le operazioni da compiere e i dati di ingresso su cui operare, scritte in un linguaggio di programmazione. Definizione di linguaggio di programmazione Esso è il linguaggio usato dal programmatore per comunicare con il computer. Il primo linguaggio usato è stato quello binario, in seguito fu l assembler (un misto di codice binario a parole utente come : add (per fare la somma), molt (per fare le moltiplicazioni)), ecc. Negli anni sono nati molti linguaggi di programmazione sempre più vicini al modo di pensare del programmatore. Esempi di linguaggi di programmazione inventati dal programmatore negli anni - ForTran (Formula Translation) nato nel 1954 per scopi scientifici e per calcoli matematici - COBOL (Common Business Oriented Language) nato nel 1960 per scopi commerciali - PASCAL nato nel 1971 ad opera di N. Wirth progettato come linguaggio per l insegnamento nelle scuole della programmazione strutturata (ancora in uso in qualche ITIS) - BASIC (Beginner s All Purpose Symbolic Instruction Code) nato nel 1980 per avere un linguaggio che fosse molto semplice da imparare anche per i principianti - Visual Basic nato alle fine degli anni 90 e poi il Visual Basic. Net nato nel 2003. Entrambi usano il lessico (parole chiavi) base del linguaggio Basic, ma con l aggiunta di molte altre funzioni e procedure di libreria. Definizione di algoritmo. Un algoritmo è una sequenza ordinata di azioni o istruzioni che permettono di risolvere tutti i problemi di una certa classe (natura) nel modo più efficiente possibile (cioè col minor numero di istruzioni). Problema Quali sono le istruzioni per calcolare la somma di 103+439? Istruzioni Somma 3 con 9, scrivi 2 e porta 1 Somma 3 con 0 e con 1 (il riporto), scrivi 4 e porta 0... Problema Quali sono le istruzioni per calcolare la somma di due numeri interi qualsiasi? Algoritmo Somma la cifra meno significativa del primo addendo con la cifra meno significativa del secondo addendo... Per problema intendiamo classe di problemi Per algoritmo intendiamo una procedura effettiva che risolve il problema (inteso come classe di problemi
Le istruzioni dell algoritmo, inoltre, devono soddisfare i seguenti requisiti: 1. elementari, cioè non ulteriormente scomponibili 2. in numero finito, l algoritmo deve avere un punto di inizio e un punto di fine 3. non ambigue, non devono lasciare dubbi di interpretazione alla CPU che dovrà eseguirle. 4. deterministiche, cioè devono garantire che i risultati ottenuti siano sempre gli stessi indipendentemente dal computer che le esegue. Ad esempio: l istruzione moltiplica 3 per 4 produce sempre il medesimo risultato, anche se è eseguita su computer diverse. Problema1. Trovare l algoritmo che calcola l area del triangolo 1. inizio 2. dammi valore della base 3. dammi valore della altezza 4. calcola il prodotto: base per l altezza 5. dividi il prodotto per due ed otterrai il valore dell area del triangolo 6. stampa a video l area calcolata 7. fine Variabili e Costanti In tutti i linguaggi di programmazione il programmatore ha necessità di memorizzare temporaneamente alcuni dati del programma. Tali valori sono memorizzati nelle celle della memoria RAM. La variabile si può definire come un contenitore, una zona di memoria atta a contenere un dato. Ogni dato su cui opera il nostro algoritmo sarà memorizzato in una variabile. Es. raggio = 10 NOME valore raggio 10 L operazione fondamentale che si compie sulle variabili è l assegnamento, che permette di associare ad una variabile un nuovo valore.. Il simbolo che si usa nel linguaggio algoritmico è = oppure L assegnamento è distruttivo, poiché il nuovo valore sostituisce il dato precedentemente contenuto nella variabile.
Es. raggio = 25 raggio raggio raggio 10 25 La variabile è individuata da: un nome scelto a piacere dal programmatore composto da lettere e numeri. Non deve mai iniziare con un numero. Sono esempi di variabili: numero, a1, a2, somma, media, nome, ecc. un valore modificabile nel tempo, a seconda che si verifichino o meno condizioni, eventi, ecc. un tipo, cioè l insieme dei valori che può assumere I dati possono essere di tipo numerico o alfanumerico: nel primo caso sono interi o reali, nel secondo le sequenze di caratteri (lettere alfabetiche, numeri, caratteri speciali) che prendono il nome di stringhe. IIMP. Un dato è numerico quando è potenzialmente soggetto a calcoli. I tipi di variabili che useremo in Visual Basic. Net INTEGER tipo intero è l insieme dei numeri naturali negativi e positivi compresi tra 32768 e +32767, come ad esempio: -100.-5, 0, 5, 100 ecc. LONG tipo intero molto più grandi SINGLE tipo decimale, numeri dotati di decimali come ad esempio : -123.5, -1, 0, 5, 1234,7 DOUBLE tipo decimale, molto grandi STRING tipo stringa, utilizzato per dati alfanumerici. Es. A= ciao BOOLEAN A è il nome scelto per la variabile, 6 è il suo valore in un certo istante e il suo tipo è quello intero. Esempio2 - variabile decimale MEDIA è il nome scelto per la variabile, 6,5 è il suo valore e il suo tipo è quello decimale MEDIA = 6,5 MEDIA 6,5 Esempio3 - variabile stringa COLORE è il nome scelto per la variabile, nero è il suo valore e il suo tipo è quello Stringa
COLORE = nero COLORE nero Esempio4 variabile booleana MAGGIORENNE è il nome scelto per la variabile, vero è il suo valore e il suo tipo è quello booleana MAGGIORENNE = true MAGGIORENNE true Dichiarazione in VisulBasic.Net delle variabili. Essa consiste nell anteporre la parola chiave DIM al nome della variabile e postporre la parola chiave AS e il suo tipo corrispondente al nome della variabile, come mostra l esempio seguente: ' DICHIARAZIONI VARIABILI Dim A As Integer Dim Media As Decimal Dim Colore As String Dim Maggiorenne As Boolean La costante è un area della memoria in cui è possibile memorizzare temporaneamente i valori che non variano nel tempo, cioè che sono costanti. In tal caso PIGRECO è il nome scelto per la costante, invece 3,14 è il suo valore. Si dice che la costante PIGRECO è di tipo decimale, poiché contiene un numero con la virgola Dichiarazione in VisulBasic.Net delle costanti Essa consiste nell anteporre al nome della variabile la parola chiave CONST e postporre al nome della costante il suo valore, come mostra l esempio seguente: ' DICHIARAZIONI COSTANTI CONST Pigreco=3.14 CONST Maggiorenne= SI L istruzione di assegnazione delle variabili Essa permette di attribuire ad una variabile un valore
Esempi di assegnazioni con costanti e variabili: raggio = 3,14 voto = 7 targa = dx112ed sposato = true conta = conta +1 L operazione di concatenazione tra variabili di tipo stringa Date 2 variabili a e b di tipo string, l operazione a+b si chiama di concatenazione. Ad esempio: - se a= il mio pc e b = è da formattare a+b = il mio pc è da formattare - se a= 12 e b= 255 a+b= 12255 e si legge la stringa 122555 o 122555 in formato testo L operazione di concatenazione tra una variabile di tipo stringa e una variabile di tipo intera Essa si ottiene usando l operatore & (è commerciale). Ad es. supponiamo di dover calcolare la soluzione x, dell equazione 2x-2=0. Allora la soluzione è x=1 ma vogliamo che appaia insieme al valore 1, un messaggio esplicativo, del tipo: la soluzione è =, cioè vogliamo concatenare un valore intero 1 con un valore string la soluzione è l operazione di concatenazione si realizza cosi: la soluzione è = & x. Produce il messaggio: la soluzione è =1. E usata nella funzione MsgBox( ).
La funzione MsgBox Consente l output attraverso l uso di finestre: di avviso, di errore, di informazione, ecc. e l output di valori numerici generati dal programma. Ha tre parametri separati dalla virgola: il primo obbligatorio e il secondo e il terzo facoltativo. La sintassi della funzione MsgBox è la seguente: MsgBox( messaggio utente nel prompt (zona grigia), numero, testo nel title (barra blu) ) Ha come primo e terzo parametro gli stessi della funzione InputBox. La differenza è solo il secondo parametro che serve a specificare, il tipo di icona da utilizzare. La funzione InputBox Consente l input di un valore da tastiera che sarà confermato o meno attraverso i pulsanti: ok o annulla A= InputBox( Inserisci un numero, primo esempio ) I valori inseriti nel rigo bianco: SPAGHETTI ALLA PESCATORA e 7 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 Val La stringa 12255 è possibile convertirla in numero 12255 utilizzando la funzione del VBasic.Net che si chiama Val. Essa dato un numero in formato testo, lo trasforma un numero in formato numero. Ad es. data la stringa 12255 Val ( 12255 ) = 12255 ovvero un numero, cioè 12255. La funzione Cstr (funzione inversa di Val) Il numero 12255 è possibile convertirlo in stringa 12255 utilizzando la funzione del VBasic.Net che si chiama Cstr. Essa dato un numero in formato numero, lo trasforma un numero in formato testo. Ad es. dato il valore in formato numero 12255 Cstr (12255) = 12255 è la stringa 12255 La tabella delle variabili Raggruppa in sintesi le variabili usate dal programma specificando per ognuna di esse: - una descrizione sintetica dei valori che rappresenta - il tipo di valori che può assumere - se è una variabile di input o di output - se è una variabile è di lavoro, cioè né di input e né di output. Esempio1. Tabella delle variabili dell algoritmo area del triangolo (visto in precedenza) Tabella delle variabili di input e output Nome Descrizione Tipo Input Output Lavoro b Base del Numerico X triangolo h Altezza del Numerico X triangolo intera a Area del triangolo Numerica decimale X Problema2. Trovare l algoritmo che calcoli l area del rettangolo. Prima dell algoritmo disegnare la tabella delle variabili. Tabella delle variabili di input e output Nome Descrizione Tipo Input Output Lavoro b Base del Numerico X rettangolo h Altezza del Numerico X rettangolo intera a Area del Numerica X rettangolo intera Algoritmo 1. Inizio 2. Dammi il valore della base b 3. Dammi il valore della altezza h 4. Calcola il prodotto A = b x h 5. Stampa a video la sua area A 6. Fine