1 PARTE Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "1 PARTE Introduzione agli algoritmi e alla programmazione in VisualBasic.Net"

Transcript

1 1 PARTE 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 indichino al computer le operazioni da compiere e i dati di ingresso su cui operare, scritte in un linguaggio di programmazione. Definizione di istruzione elementare E una istruzione non ulteriormente scomponibile e di semplice comprensione per la CPU Esempi di istruzioni elementari: 1) istruzioni aritmetico - logiche. Sono quelle eseguite dall ALU nelle operazioni aritmetiche (+, -, / e *) e nelle operazioni logiche (and, or, not) 2) istruzioni di trasferimento. Sono quelle usate nel trasferimento dei dati all interno della memoria centrale (RAM) e tra questa ed i registri della CPU 3) istruzioni di input / output. Sono quelle che consentono l immissione e l emissione dei dati nella e dalla memoria centrale (RAM) attraverso l uso delle periferiche di input e di output 4) istruzioni di controllo. Sono quelle che guidano lo svolgimento dell elaborazione controllando l ordine di esecuzione delle istruzioni elementari e sono eseguite dall unità di controllo (CU). 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 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). Le istruzioni dell algoritmo, inoltre, devono soddisfare ai seguenti requisiti: 1. elementari, cioè non ulteriormente scomponibili 2. in numero finito, nel senso che l algoritmo deve avere un punto di inizio e un punto di fine 3. non ambigue, cioè che non lascino dubbi di interpretazione alla CPU che dovrà eseguirle. 1

2 4. deterministiche, cioè devono garantire che i risultati ottenuti siano sempre gli stessi a prescindere dalla CPU che le esegue. Ad esempio: l istruzione moltiplica 3 per 4 produce sempre il medesimo risultato, anche se è eseguita su CPU diverse. Problema1. Trovare l algoritmo che calcola l area del triangolo 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 valori del programma. Tali valori sono memorizzati nelle celle della RAM. La variabile è una celletta della RAM in cui è possibile memorizzare temporaneamente i valori che variano nel tempo. N nome celletta Inoltre, la variabile è individuata da: - un nome scelto a piacere dal programmatore composto da lettere e numeri ma che non deve mai iniziare con un numero come ad es: numero, a1, a2, somma, media, nome, ecc. - un valore modificabile nel tempo, a seconda che si verifichino o meno condizioni, eventi, ecc. da qui il nome variabile, che può essere: un numero intero positivo o negativo, un numero con la virgola, un carattere, una parola, un valore booleano vero e falso, ecc. - un tipo, cioè l insieme dei valori che essa può assumere Esempio1 - variabile intera celletta 6 A nome In tal caso A è il nome scelto per la variabile, 6 è il suo valore in un certo istante e il suo tipo è quello intero. Esempio2 - variabile decimale celletta 6,5 MEDIA nome In tal caso MEDIA è il nome scelto per la variabile, 6,5 è il suo valore e il suo tipo è quello decimale Esempio3 - variabile stringa celletta nero COLORE nome In tal caso COLORE è il nome scelto per la variabile, nero è il suo valore e il suo tipo è quello stringa Esempio4 variabile booleana MAGGIORENNE nome celletta vero 2

3 In tal caso MAGGIORENNE è il nome scelto per la variabile, vero è il suo valore e il suo tipo è quello booleana La costante è una celletta della RAM in cui è possibile memorizzare temporaneamente i valori che non variano nel tempo, cioè che sono costanti. celletta 3,14 PIGRECO nome 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 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 La tabella delle variabili Essa 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) Tabelle delle variabili di input e output b Base del triangolo Numerico intera h Altezza del triangolo Numerico intera a Area del triangolo Numerica decimale Problema2. Trovare l algoritmo che calcoli l area del rettangolo. Prima dell algoritmo disegnare la tabella delle variabili. Tabelle delle variabili di input e output b Base del rettangolo Numerico intera h Altezza del rettangolo Numerico intera a Area del rettangolo Numerica 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 3

4 Definizione di struttura di sequenza o sequenziale In un algoritmo si parla di struttura di sequenza quando le istruzioni elementari dell algoritmo sono una di seguito all altra come mostra la figura: Es. di algoritmi con strutture sequenziali sono quelli associati ai problemi 1 e 2 studiati. Definizione di diagramma a blocchi o flowchart o diagramma di flusso Esso è il metodo usato dai programmatori per trovare l algoritmo (cioè la soluzione) a problemi complessi. Esso consiste nel descrivere la sequenza di istruzioni elementari di un algoritmo in modo grafico attraverso l uso di simboli detti blocchi, collegati tra loro da frecce orientate che indicano il flusso delle azioni. I blocchi principali sono quattro: ovale, parallelogramma, rettangolo e rombo. Ciascun blocco ha un proprio significato. I blocchi sono: blocco di inizio o di fine, blocco di lettura o di scrittura, blocco di elaborazione, blocco di decisione o di condizione. Ma vediamoli più nel dettaglio: 1. Il blocco a forma di ovale. Esso si usa per indicare il punto di partenza e quello di terminazione dell algoritmo. Dal blocco inizio parte una sola freccia che raggiunge la prima azione dell algoritmo e verso inizio non arriva alcuna freccia. Invece, verso il blocco fine arrivano una o più frecce (in questa fig. solo una), ma da esso non ne parte nessuna. 2. Il blocco a forma di parallelogramma. Esso si usa per indicare un operazione di immissione di dati (detta operazione di lettura o di input) o un operazione di emissione di dati (detta anche operazione di scrittura o di output). Verso il blocco, in genere, ci sono una o più frecce di entrata (in questa fig. solo una) e dal blocco c è una sola freccia di uscita. 3. Il blocco a forma di rettangolo. Esso si usa per indicare un azione di calcolo. Verso il blocco, in genere, ci sono una o più frecce di entrata (in questa fig. solo una) e dal blocco c è una sola freccia di uscita. 4

5 4. Il blocco a forma di rombo. Esso si usa per indicare un operazione di confronto tra due dati, per stabilire se la condizione in esso inserita è vera o è falsa. Verso il blocco c è una sola freccia di entrata e dal blocco ci sono solo due frecce di uscita in corrispondenza delle quali si trovano indicazioni del tipo si/no, vero/falso o V/F. frecce di direzione Le frecce di direzione Esse sono frecce orientate e sono usate per collegare i vari blocchi tra loro. Esempio di diagramma a blocchi A partire dall algoritmo del calcolo dell area del rettangolo, dedurre il diagramma a blocchi seguente: Inizio b, h A = b*h A Fine Altri simboli usati ma non sempre sono: un piccolo quadrato: per il punto di connessione tra frecce orientate un rettangolo con 2 barre laterali per i sottoprogrammi, ad es. per i form di VisualBasic.Net un esagono per la struttura ciclica con contatore, ad es. per i che va da 1 a 100 Problema3: Dati due numeri A e B, trovare l algoritmo che calcoli la loro somma. Disegnare la tabella delle variabili e il diagramma a blocchi. 1) la tabella delle variabili di input, di output e di lavoro è la seguente: Tabelle delle variabili di input e output A Primo numero 5

6 B Som Secondo numero Somma dei 2 numeri 2) Individuazione dell algoritmo per passi 3) Individuazione del diagramma a blocchi Algoritmo per passi 2. dammi il valore del primo numero A 3. dammi il valore del secondo numero B 4. somma i due numeri A e B 5. visualizza la somma Som 5. fine Cosa serve per realizzare un programma in VB.net? Bisogna eseguire nell ordine i seguenti passi: 1) Dato un problema, disegnare la tabella delle variabili (spiegato) 2) Individuare l algoritmo risolutivo per passi (detto anche pseudo codifica) (spiegato) 3) Individuare il diagramma a blocchi (detto anche flowchart) (spiegato) 4) Creare il form Visualbasic. Net, inserendo i controlli e le loro proprietà (da spiegare) 5) Codificare l evento click dei pulsanti di calcolo (button) inseriti nel Form (da spiegare) I passi 1), 2) e 3) sono stati già spiegati, restano da spiegare i seguenti passi 4) e 5). Tutti i seguenti algoritmi sono corredati anche di codice, poiché si ha l obiettivo di portare in laboratorio gli alunni dopo circa un mese dall introduzione degli algoritmi. VARIABILI E TIPI IN Visualbasic.NET I tipi di variabili che useremo in Visual Basic. Net - tipo integer è l insieme dei numeri naturali negativi e positivi, come ad esempio: , 0, 5, 100 ecc. - tipo decimal è l insieme dei numeri positivi e negativi con e senza virgola, come ad esempio: , -1, 0, 5, 1234,7 - tipo booelan è l insieme dei valori true o false, come ad esempio: maggiorenne, sposato, patentato, ecc. - tipo string è l insieme dei caratteri e delle parole, come ad esempio: a,b,c,d,e,f,..z, casa, cena, scuola, ecc. 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 6

7 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 interfaccia di Visual Basic.Net 2008 (si scarica qui: ) Che cosa è un form di Visual Basic.Net? Il form è l interfaccia grafica piccola e centrale sulla quale il programmatore inserisce degli elementi grafici, detti controlli o strumenti. Che cosa è un controllo (o strumento) di VisualBasic.Net? Un controllo (o strumento) è un elemento grafico che si trova nella finestra di VB detta casella degli strumenti posta al lato sinistro dello schermo. Essa è la seguente: Esempi di controlli o strumenti sono: i pulsanti (in VB button), le etichette (in VB label), le caselle di testo (in VB textbox), ecc. A che serve il controllo (o strumento) etichetta (o label in VB)? Essa si usa per descrivere ciò che avviene nel form. Per distinguere una etichetta da un altro controllo si usa il nome sintetico: lbl. Esempi: lbltitolo, lblsomma, ecc A che serve il controllo (o strumento) casella di testo (o textbox invb)? 7

8 Esso si usa per inserire i valori di input e per far uscire a video i valori di output. Per rappresentare tutte le caselle di testo si usa il nome sintetico: txt. Per distinguere le varie caselle di testo usate in form, si aggiunge al nome txt un nome scelto dal programmatore. Esempi sono: txtnum1, txtnum2, ecc Esempio. Data la casella di testo txtnumero allora: - la scrittura txtnumero.name dice che.name è la proprietà nome della casella di testo - la scrittura txtnumero.text dice che.text è la proprietà testo della casella di testo - la scrittura txtnumero.font dice che.font è la proprietà font della casella di testo - la scrittura txtnumero.backcolor dice che.backcolor è la proprietà colore di sfondo La casella di testo vede tutto quello che riceve, sia testo che numeri, come testo. Pertanto se inseriamo un numero in una casella di testo e vogliamo effettuare dei calcoli su di esso bisogna convertirlo da formato testo a formato numero. A che serve la funzione VAL usata nelle caselle di testo? Essa serve a convertire, come già suddetto, un numero da formato testo a formato numero. Ad es. sia txtnumero una casella di testo e supponiamo che l utente inserisca in essa il numero in formato testo 5, abbiamo quindi che: - txtnumero.text = 5 (si legge 5 in formato testo) mentre - Val (txtnumero.text) = 5 (si legge 5 in formato numerico). A che serve il controllo (o strumento) pulsante (o button in VB) Esso serve ad eseguire le seguenti operazioni: a) i calcoli principali del programma, b) uscire dal programma, c) azzerare ai valori iniziali le variabili. Per rappresentare tutti i pulsanti usati nel form si usa il termine sintetico btn. Per distinguere un pulsante da un altro pulsante si aggiunge a btn un nome scelto dal programmatore. Esempi sono: btncalcola, btnesci, ecc A che serve il controllo (o strumento) elenco a discesa (o combobox in VB) Esso è un elenco a discesa di elementi. Esso si usa per inserire un valore di input, da un elenco di valori predefiniti. Per rappresentare tutte le combobox usate nel form si usa il termine sintetico cmb. Per distinguere una combobox da un altra si usa aggiungere al termine cmb un nome scelto dal programmatore. Esempi sono: cmbtemperatute, cmbquantità, ecc Che cosa sono le proprietà dei controlli (o strumenti)? Sono delle caratteristiche che servono a caratterizzare in modo molto semplice e rapido l aspetto grafico dei controlli. Esse si trovano nella finestra proprietà posta sul lato destro dell interfaccia di VB.Net. (fig. a) Definizione di oggetto (fig.b) 8

9 Un oggetto è un qualsiasi form, controllo o libreria del linguaggio. Più semplicemente gli oggetti (form, controlli e libreria 1 ) sono i i mattoni che servono per costruire una interfaccia grafica di VB in analogia ai mattoni usati nell edilizia per costruire una casa. Definizione di proprietà degli oggetti Una proprietà è una caratteristica di un oggetto come: il nome, il colore. la dimensione, la posizione, il testo che appare in esso, ecc. Ogni oggetto possiede delle proprietà e ogni volta che ci riferiamo alle proprietà di un oggetto scriviamo: nomeoggetto.proprietà, come ad es. lbl1.text proprietà testo dell oggetto label, di nome lbl1 Definizione di evento di un oggetto L evento è l azione provocata dall utente sui form e controlli. Tale azione viene programmata in VB dal programmatore e in tal caso si parla di programmazione ad eventi. Un esempio classico di evento è il Click, cioè quando l utente premerà su un pulsante farà verificare l evento click. Esempi di eventi sono: click (usato per: label, button, textbox, ecc); SelectedIndexChange (usato per combo box, ecc), keydown, keypress, enter, apertura del form, ecc. La figura mostra i possibili eventi che si possono programmare per l evento button (Vedi figura) Visualizzare la finestra delle proprietà di un controllo, di un form ecc. in VB Per visualizzare la finestra delle proprietà è sufficiente: 1) selezionarlo e premere il tasto F4 2) selezionarlo e poi scegliere la voce Finestra proprietà, dal menù Visualizza Selezionata la proprietà, VB visualizza in basso alla finestra proprietà una breve spiegazione del significato della proprietà selezionata Le proprietà principali dei controlli: etichetta, casella di testo, pulsante, elenco a discesa sono: - nome (o name in VB) che stabilisce il nome del controllo da usare nel codice visualbasic - testo (o Text in VB) che stabilisce il contenuto testuale da visualizzare nel form - font che stabilisce il tipo di carattere da utilizzare (times new roman, arial, ecc) - colore di sfondo (o backcolor in VB) che stabilisce il colore del controllo - items che individua gli elementi (in inglese items) da visualizzare nella combobox. - selecteditem che individua l elemento selezionato della combo box (si trova nella finestra delle proprietà, gruppo DataBindings, come mostra la figura seguente:) 1 Un es.di oggetto di libreria è math, di cui più avanti si utilizzerà il metodo math.sqrt( ) 9

10 Inserire gli elementi nella Combobox, dal menù contestuale del mouse Modifica elementi Definizione di metodo di un oggetto Esso è un sottoprogramma predefinito del linguaggio VB già scritto e disponibile per il programmatore associato ad un particolare oggetto. Per riferirsi ad esso scriviamo: nomeoggetto.metodo( ). 2 Esempi di metodi di oggetti: - math.sqrt( ) si legge metodo sqrt( ) dell oggetto della libreria matematica math. Esso permette di calcolare la radice quadrata di un numero. Esempio math.sqrt(4) effettua la radice quadrata di 4. - cmb1.items.add( ) si legge metodo add( ) dell oggetto combobox cmb1. Esso aggiunge un item (cioè un elemento) alla combobox cmb1. Es.1 cmb1.items.add( napoli ), aggiunge l elemento napoli alla combobox cmb1. Es.2 cmb3.items.add(txt1.text), aggiunge l elemento che si trova nella casella di testo txt1 all elenco a discesa cmb3 - cmb2.items.remove( ) si legge metodo remove( ) dell oggetto combobox cmb2. Esso rimuove un item (cioè un elemento) dalla combobox cmb2. Esempio cmb1.items.remove( caserta ) rimuove l elemento caserta alla combobox cmb2 Un programma VBasic.Net Esso è una sequenza finita di istruzioni generate in parte in modo automatico dal linguaggio ed un altra parte in modo manuale dal programmatore. La parte del programmatore è riservata soprattutto alla programmazione dei pulsanti di comando. Il codice di ogni pulsante deve essere inserito tra i comandi, generate da VBasic, Private Sub ed End Sub Esempio1 Calcolo del form relativo all algoritmo del calcolo dell area del rettangolo. Tabelle delle variabili di input e output B Base del rettangolo Numerico intera H Altezza del rettangolo Numerico intera A Area del rettangolo Numerica intera 2 Da non confondersi al modo con cui ci si riferisce ad una proprietà di un oggetto: nomoggetto.proprietà 10

11 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 Il codice da inserire dietro al pulsante Calcola del Form precedente è il seguente: Private Sub BtnCalcola_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalcola.Click End Sub ' DICHIARAZIONI VARIABILI Dim base, altezza As Integer Dim area As Decimal ' txtbase E LA CASELLA DI TESTO USATA NEL FORM PER CONTENERE IL VALORE DI BASE SCELTO DALL UTENTE. MA LA CASELLA DI TESTO TRASFORMA TUTTO QUELLO CHE RICEVE IN TESTO. PER CONVERTIRE QUELLO CHE RICEVE DA TESTO A NUMERO SI USA LA FUNZIONA VAL PER LA VARIABILE BASE e PER l ALTEZZA base = Val(txtBase.Text) altezza = Val(txtAltezza.Text) ' CALCOLO DELL AREA DEL RETTANGOLO area = base * altezza ' ASSEGNAZIONE DELL AREA CALCOLATA ALLA CASELLA DI TESTO txtarea txtarea.text = area 11

12 Riprendiamo l algoritmo della somma di 2 numeri disegnando solo il form. Nel form Visualbasic.Net, inseriamo gli oggetti: label, textbox e botton, ecc. e definendo le loro proprietà 5) Codifica del corpo dei pulsanti di calcolo (button) inseriti nel Form Qui nel form c è un solo pulsante che effettua un calcolo e si chiama +. Pertanto procederemo a scrivere il codice visualbasic.net sono per tale pulsante. Esso è il seguente: CODIFICA PULSANTE + ' DICHIARAZIONE DELLE VARIABILI Dim A, B, Som As Integer ' INPUT DEL VALORE DI A E DEL VALORE DI B A=Val(txtA.Text) B=Val(txtB.Text) ' SOMMA A+B Som=A+B ' STAMPA SOMMA txtsom.text=som txta è il nome della casella di testo creata per A, mentre.txt è la proprietà testo delle caselle txta.text e txtb.text Problema5: Dati un numero A, calcolare il suo quadrato QA e doppio DA e li stampi a video A QA DA Primo numero Quadrato di A Doppio di A 2. dammi il valore del primo numero A 3. calcola il suo quadrato, AQ=A*A 4. calcola il suo doppio, DA=2*A 5. visualizza AQ e DA 6. fine 12

13 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI DIM a, qa, da, As Integer ' INPUT DEL VALORE DI A a = Val (txta.text) ' CALCOLO DEL QUADRATO DI A qa = a*a ' CALCOLO DEL DOPPIO DI A da = a+a ' STAMPA A VIDEO DI QA E DA txtqa.text = qa txtda.text = da Problema6: Date le basi maggiori e minori e l altezza di un trapezio, calcolare l area. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro B1 b2 H SOM P Area Base maggiore base minore Altezza Somma (B1+b2) Prodotto SOM*H Area del trapezio P/2 Numero decimale Esercizio Ricavare dal problema6 suddetto e dalla tabella delle variabili: l algoritmo, il diagramma a blocchi, il form e il codice vbasic del pulsante calcola Problema7: Scrivere un algoritmo che dati tre voti interi A, B e C letti in input, calcoli la media aritmetica e la stampi in output Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro A B C SOM MED 1 voto 2 voto 3 voto Somma dei tre voti Media dei tre voti Numero decimale 13

14 1. Inizio 2. Dammi il primo voto A 3. Dammi il secondo voto B 4. Dammi il terzo voto C 5. Somma i tre voti A, B e C 6. Calcola la media dei tre voti 7. Fine Inizio A,B,C SOM =A+B+C Media =SOM / 3 Media Fine 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola C ' DICHIARAZIONE DELLE VARIABILI Dim A, B, C, SOM As Integer Dim media As Decimal ' INPUT DEI VALORI DI A, B e A = Val (txta.text) B = Val (txtb.text) C = Val (txtc.text) ' CALCOLO DELLA MEDIA SOM = A + B + C media = SOM / 3 ' STAMPA DELLA MEDIA A VIDEO txtmedia.text = media Problema8: Scrivere un algoritmo che dati due numeri e Y, effettui lo scambio dei valori e stampi a video i nuovi valori assunti da esse, utilizzando una variabile di appoggio. Y Capiamo il problema: sia x=10 e y=20 1) modo: sposto prima il contenuto di y in x, allora faccio x=y, quindi x sarà = 20, ma anche y = 20 2) modo: sposto prima il contenuto di x in y, allora faccio y=x, quindi y sarà = 10, ma anche x = 10 Bene in entrambi i modi ho ottenuto due valori uguali di x e di y e non è quello che volevo. Cosa devo fare? Prima di effettuare lo scambio, occorre conservare il valore di x o di y all interno di un altra variabile, detta temporanea, TEMP. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 14

15 1) Tabelle delle variabili di input, di output e di lavoro Y TEMP Primo valore Secondo valore Variabile temporanea di appoggio 1. Inizio 2. Dammi i valori di e Y 3. Assegna a TEMP il valore di 4. Assegna ad il valore di Y 5. Assegna ad Y il valore di TEMP 6. Stampa e Y 8. Fine 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim x, y, temp As Integer ' INPUT DEI VALORI DI E Y x = Val(txt.Text) y = Val(txtY.Text) 'SCAMBIO DEI VALORI DELLE E Y temp = x 'CONSERVO IN TEMP, x = y y = temp ' STAMPA DEI NUOVI VALORI DI E Y txt.text = x txty.text = y Problema9: Scrivere un algoritmo che dati in input quattro valori interi A, B, C e D, ruoti il loro valore di uno step indietro in senso antiorario e scriva in output il loro valore modificato. Prima rotazione di uno step in senso orario dopo Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 15

16 1) Tabelle delle variabili di input, di output e di lavoro A B C D TEMP Primo valore Secondo valore Terzo valore Quarto Valore Variabile temporanea di appoggio 1. Inizio 2. Dammi i valori di A,B,C,D 3. Assegna a TEMP il valore di A 4. Assegna ad A il valore di D 5. Assegna ad D il valore di C 6. Assegna ad C il valore di B 7. Assegna ad B il valore di TEMP 8. Stampa i nuovi valori di A,B,C,D 9. Fine 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola ' DICHIARAZIONE DELLE VARIABILI Dim A, B, C, D, TEMP As Integer ' INPUT DEI VALORI DI A,B,C,D A = Val (txta.text) B = Val (txtb.text) C = Val (txtc.text) D = Val (txtd.text) ' SCAMBIO DEL VALORE TRA A,B,C,D TEMP = A A = D D = C C = B B = TEMP ' OUTPUT DEI VALORI A,B,C,D MODIFICATI txta.text = A txtb.text = B txtc.text = C txtd.text = D Problema10: Trovare l algoritmo che calcoli la tabellina di un numero da 1 a 1000 e stampi la tabellina scelta a video Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro 16

17 NUM R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 Numero da 1 a 1000 di cui si vuole conoscere la tabellina 1 risultato della tabellina 2 risultato della tabellina 3 risultato della tabellina 4 risultato della tabellina 5 risultato della tabellina 6 risultato della tabellina 7 risultato della tabellina 8 risultato della tabellina 9 risultato della tabellina 10 risultato della tabellina 1. Inizio 2. Dammi il numero, NUM 3. Assegna a R1 il valore NUM*1 4. Assegna a R2 il valore NUM*2 5. Assegna a R3 il valore NUM*3 6. Assegna a R4 il valore NUM*4 7. Assegna a R5 il valore NUM*5 8. Assegna a R6 il valore NUM*6 9. Assegna a R7 il valore NUM*7 10. Assegna a R8 il valore NUM*8 11. Assegna a R9 il valore NUM*9 12. Assegna a R10 il valore NUM* Stampa a video in label R1,R2,R3,R4,R5 14. Stampa a video in label R6,R7,R8,R9,R fine Inizio NUM R1=NUM*1 R2=NUM*2 R3=NUM*3 R4=NUM*4 R5=NUM*5 R6=NUM*6 R7=NUM*7 R8=NUM*8 R9=NUM*9 R10=NUM*10 R1..R10 Fine CODIFICA PULSANTE CALCOLA Dim numero As Integer num=val(txtnumero.text) Calcolo R1 = num*1 R2 = num*2 R3 = num*3 R4 = num*4 R5 = num*5 R6 = num*6 R7 = num*7 R8 = num*8 R9 = num*9 R10 = num*10 Stampa video lbl1.text=r1 lbl2.text=r2 lbl3.text=r3 lbl4.text=r4 lbl5.text=r5 lbl6.text=r6 lbl7.text=r7 lbl8.text=r8 lbl9.text=r9 lbl10.text=r10 17

18 Problem11: Trovare l algoritmo che calcoli una tabella di conversione da euro a 8 valute e stampi le conversioni a video. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro Euro Lira Franco DollaroUsa DollaroAustr Scellino Yen Corona Sterlina Valuta in Euro Valuta in Lire Valuta in Franco Valuta in dollaro Americano Valuta in dollaro Austrialano Valuta in scellino Austriaco Valuta in yen Giapponese Valuta in corona Ceka Valuta in sterlina Inglese Numero decimale 1. Inizio 2. leggi la valuta euro 3. assegna a Lira, euro* assegna a Franco, euro* assegna a DollaroUsa, euro* assegna a DollaroAustr, euro* assegna a Scellino, euro* assegna a Yen, euro* assegna a Corona, euro* assegna a Sterlina, euro* stampa a video Lira, Franco, DollaUsa 12. stampa a video DollaroAustr, Scellino 13. stampa a video Yen, Corona, Sterlina 14. fine Inizio Euro Lira = Euro* Franco = Euro* DollaroUsa = Euro* DollaroAustr = Euro* Scellino = Euro* Yen = Euro* Corona = Euro* Sterlina = Euro* stampa Fine CODIFICA PULSANTE CONVERTI Dim lira, franco, dollarousa, dollaroa, scellino, yen, corona, sterlina As Decimal 'calcolo euro= Val (txteuro.text) Lira= euro * Franco = euro * DollaroUsa = euro * DollaroAustr = euro * Scellino = euro * Yen = euro * Corona = euro * Sterlina = euro * 'stampa a video Label1.Text = lira Label2.Text = franco Label3.Text = dollarousa Label4.Text = dollaroa Label5.Text = scellino Label6.Text = yen Label17.Text = corona Label18.Text = sterlina 18

19 Definizione di struttura di selezione La struttura di selezione permette di impostare nell algoritmo percorsi o rami diversi in base a condizioni che possono essere o meno verificate. Casi particolari della struttura di selezione 1) Si parla di struttura di selezione ad una via, quando il percorso falso non è presente. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: Nel diagramma a blocchi Esempio: N1 è positivo? In Visual Basic.Net ' DICHIARAZIONE DELLE VARIABILI Dim N1 As Integer ' INPUT N1=Val(txtN1.text) ' CALCOLO If N1 > 0 Then OUTPUT MsgBox(N1) End If 2) Si parla di struttura di selezione a 2 vie, quando vi sono entrambi i percorsi: vero e falso. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: Nel diagramma a blocchi Esempio: Max tra N1 e N2 In Visual Basic.Net ' DICHIARAZIONE DELLE VARIABILI Dim N1, N2, Max As Integer ' INPUT N1=Val(txtN1.text); N2=Val(txtN2.text) ' CALCOLO If N1 > N2 Then Max = N1 Else Max = N2 End If OUTPUT MsgBox(Max) 3) Si parla di struttura di selezione a più vie, quando oltre ai percorsi vero e falso ce ne sono altri. Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: (vedi esempio) Esempio: Letto un prezzo di un prodotto e la sua quantità, in base alla quantità richiesta effettua uno tasso di sconto diverso. In Visual Basic.Net Dim prezzo, quantità, tasso As Decimal prezzo = Val(txtPrezzo.Text) quantita = Val(txtQuantita.Text) 'SELEZIONE MULTIPLA IN VB.NET Select Case quantita Case 1 tasso = 10 Case 2 tasso = 20 Case 3 tasso = 30 Case Else tasso = 40 'COMPRENDE I CASI quantita > 3 End Select 19

20 Problema12: Dati due numeri N1 e N2, determinare il minimo e il massimo e stamparli N1 N2 MIN MA Primo Numero Secondo Numero Minimo tra i due numeri Massimo tra due numeri 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > N2, allora MA=N1 e MIN = N2 5. altrimenti MIN = N1 e MA = N2 6. stampa MIN e MA 7. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, Max, Min As Integer ' input N1 = Val(txtN1.Text) N2 = Val(txtN2.Text) ' controllo selezione a 2 vie If N1 > N2 Then Max = N1 Min = N2 Else Max = N2 Min = N1 End If ' output lbl4.text = Max lbl5.text = Min Problema13 : Dati due numeri N1 e N2, ordinarli in ordine crescente e stamparli a video N1 N2 Primo Numero Secondo Numero 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > N2, allora stampa N2 e poi N1 5. altrimenti stampa N1 e poi N2 6. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2 As Integer ' input N1 = Val(txtN1.Text) N2 = Val(txtN2.Text) ' controllo e stampa a video If N1 < N2 Then lbl3.text = N1 lbl4.text = N2 Else lbl3.text = N2 lbl4.text = N1 End If 20

21 Problema14: Dati due numeri N1 e N2, calcolare quello positivo e quello negativo e stamparlo N1 N2 Primo Numero Secondo Numero POS NEG Numero Positivo Numero Negativo Numero Intero Numero Intero 2. dammi due valori diversi per N1 e per N2 3. confronta N1 con N2 4. se N1 > 0, allora POS=N1 e stampa POS 5. altrimenti NEG=N1 e stampa NEG 5. se N2 >0, allora POS=N2 e stampa POS 5. altrimenti NEG=N2 e stampa NEG 6. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, POS, NEG As Integer N1 = Val(txtN1.text) N2 = Val(txtN2.text) If N1 > 0 Then POS = N1 lbl4.text = POS Else NEG = N1 lbl3.text = NEG End If If N2 > 0 Then POS = N1 lbl4.text = POS Else NEG = N2 Lbl3.Text = NEG End If Problema15: Dati due numeri N1 e N2, determinare quello pari e quello dispari e stamparli N1 N2 Primo Numero Secondo Numero PARI DISP Numero Pari Numero Dispari Numero Intero Numero Intero Q1,Q2 R1,R2 Quozienti dei numeri N1 e N2 Resti delle divisioni per 2 Numero Intero Numero Intero 21

22 2. dammi due valori diversi per N1 e per N2 3. Calcola Q1=INT(N1/2) e R1=N1-2*Q1 4. Calcola Q2=INT(N2/2) e R2=N2-2*Q2 5. se R1=0 allora PARI=N1 e stampa PARI 6. altrimenti DISP=N1 e stampa DISP 7. se R2=0 allora PARI=N2 e stampa PARI 8. altrimenti DISP=N2 e stampa DISP 9. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo dei pulsanti di calcolo Dim N1, N2, PARI, DISP As Integer Dim Q1, Q2, R1, R2 As Integer N1 = Val(txtN1.text) N2 = Val(txtN2.text) Q1=INT(N1/2); Q2=INT(N2/2) R1=N1-2*Q1; R2=N2-2*Q2 If R1 = 0 Then PARI = N1; lbl4.text = PARI Else DISP = N1; lbl3.text = DISP End If If R2 = 0 Then PARI = N2; lbl4.text = PARI Else DISP = N2; lbl3.text = DISP End If Problema16: Dati tre numeri N1,N2 e N3 determinare quello Max e stamparlo a video N1 N2 N3 Primo Numero Secondo Numero Terzo Numero 2. dammi i valori N1, N2, N3 3. Assegna a Max, il numero N1 4. Se N2 > Max allora a Max assegna N2 5. Se N3 > Max allora a Max assegna N3 6. stampa Max 7. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) Max = N1 ' calcolo If N2 > Max Then Max = N2 End If If N3 > Max Then Max = N3 End If ' output lbl5.text = Max PROBLEMA17: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 positivi e negativi, calcoli la somma dei numeri positivi e la stampi a video. N1 N2 N3 SOM Primo Numero Secondo Numero Terzo Numero Somma dei numeri positivi 22

23 2. dammi i valori N1, N2, N3 3. Se N1 > 0 allora a SOM=SOM+N1 4. Se N2 > 0 allora a SOM=SOM+N2 5. Se N3 > 0 allora a SOM=SOM+N3 6. stampa SOM 7. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) ' calcolo If N1 > 0 Then SOM=SOM+N1 End If If N2 > 0 Then SOM=SOM+N2 End If If N3 > 0 Then SOM=SOM+N3 End If ' output lbl5.text = SOM La variabile conteggio Una variabile conteggio è un contatore che viene inizializzato al valore zero 3 e poi viene incrementato di una unità ogni qual volta si verifica una certa condizione. PROBLEMA18: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 positivi e negativi, conti quanti sono positivi e li stampi a video. (Suggerimento: usare una variabile conteggio contapos). N1 N2 N3 CONTPOS Primo Numero Secondo Numero Terzo Numero Contatore di numeri positivi 3 Per far capire il perché la variabile conteggio viene inizializzata a zero, dire che essa è simile al contatore del contachilometri dell automobile o al contasecondi del cronometro di un orologio: tutti partono da zero. In seguito, però, ci saranno anche variabili a conteggio che saranno inizializzata ad un valore diverso come ad es. la variabile indice ciclo (ad 1, a 2) ecc. 23

24 2. dammi i valori N1, N2, N3 3. Se N1 > 0 allora CONTPOS+=1 4. Se N2 > 0 allora CONTPOS+=1 5. Se N3 > 0 allora CONTPOS+=1 6. stampa CONTPOS 7. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Max As Integer ' input N1 = Val(txtN1.text) N2 = Val(txtN2.text) N3 = Val(txtN3.text) ' calcolo If N1 > 0 Then CONTPOS+=1 End If If N2 > 0 Then CONTPOS+=1 End If If N3 > 0 Then CONTPOS+=1 End If ' output lbl5.text = CONTPOS PROBLEMA19: Scrivere un algoritmo che dati 3 numeri N1, N2 e N3 pari e dispari, conti quanti sono pari e li stampi a video. (Suggerimento: usare una variabile conteggio contapari) N1 N2 N3 CONTPARI Q1, Q2 R1, R2 Primo Numero Secondo Numero Terzo Numero Contatore dei numeri pari Quozienti Q1 e Q2 Resto R1 e R2 2. dammi i valori N1, N2, N3 3. Q1=N1/2, Q2=N2/2, Q3=N3/2 4. R1=N1-Q1*2, R2=N2-Q2*2, R3=N3-Q3*2, 5. Se R1 = 0 allora CONTPARI+=1 6. Se R2 = 0 allora CONTPARI+=1 7. Se R3 = 0 allora CONTPARI+=1 8. stampa CONTPARI 9. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante calcola Dim N1, N2, N3, Q1, Q2, Q3 As Integer ' input N1=Val(txtN1.text), Q1=N1/2, R1=N1-Q1*2 N2=Val(txtN2.text), Q2=N2/2, R2=N2-Q2*2 N3=Val(txtN3.text), Q3=N3/2, R3=N3-Q3*2 ' calcolo If R1 = 0 Then CONTPARI+=1 End If If R2 = 0 Then CONTPARI+=1 End If If R3 = 0 Then CONTPARI+=1 End If ' output lbl5.text = CONTPOS 24

25 PROBLEMA20: Scrivere un algoritmo che dati 3 numeri a, b e c li ordini in modo strettamente crescente. (Suggerimento: basta calcolare prima il minimo tra a e b ed tra a e c; poi calcolare il minimo tra b e c; usare una variabile scambio) a b c T Primo Numero Secondo Numero Terzo Numero Variabile Temporanea 2. dammi i valori a, b, c 3. se a > b scambiali di posto in modo che il minimo sia al 1) posto 4. se a > c scambiali di posto in modo che il minimo sia al 1) posto 5. se b > c scambiali di posto in modo che il minimo sia al 2) posto 6. stampa a video i nuovi valori di a,b e c 7. fine 4) Creazione del form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante calcola Dim t, a, b, c As Integer ' input a = Val(txtA.Text) b = Val(txtB.Text) c = Val(txtC.Text) ' calcolo del minimo tra a,b e c e lo si mette al primo posto If a > b Then t = a a = b b = t End If If a > c Then t = a a = c c = t End If ' calcolo del minimo tra b e c e lo si mette al secondo posto If b > c Then t = b b = c c = t End If ' stampa dei numeir in ordine crescente lbl5.text=a lbl6.text=b lbl7.text=c Problema21: Scrivere un algoritmo che dati il prezzo e la quantità di un prodotto da acquistare, calcoli sull importo totale lordo: lo sconto del 10% se la quantità = 1; lo sconto del 20% se la quantità = 2; lo sconto del 30% se la quantità = 3; e lo sconto del 40% in tutti gli altri casi e stampi a video l importo netto scontato da pagare. Per la realizzazione di un programma in VB.net seguire i seguenti 5 passi: 1) Tabelle delle variabili di input, di output e di lavoro prezzo quantità ilordo inetto sconto tasso Prezzo del prodotto Quantità dello stesso prodotto Importo lordo Importo netto da pagare Sconto da applicare all importo lordo Tasso di sconto in base alla quantità Numero decimale Numero decimale Numero decimale 25

26 1. Inizio 2. Leggi il prezzo del prodotto 3. Leggi la quantità del prodotto 4. Calcola ilordo = prezzo*quantita 5. Se la quantità = 1 allora tasso = Se la quantità = 2 allora tasso = Se la quantità = 3 allora tasso = Negli altri casi, altrimenti tasso = Calcola sconto = ilordo*tasso / Calcola inetto = ilordo - sconto 11. Stampa a video l importo netto 12. Fine 4) Creazione del form Visualbasic. Net 5) CODIFICA PULSANTE Calcola Dim prezzo, ilordo As Decimal Dim inetto, sconto As Decimal Dim quantita, tasso As Byte 'INPUT prezzo = Val(txtPrezzo.Text) quantita = Val(txtQuantita.Text) 'CALCOLO IMPORTO LORDO DEL TOTALE DELLA SPESA ilordo = prezzo * quantita 'SELEZIONE MULTIPLA IN VIASUAL BASIC.NET Select Case quantita Case 1 tasso = 10 Case 2 tasso = 20 Case 3 tasso = 30 'TALE CASO INGLOBA TUTTI GLI ALTRI POSSIBILI CASI, CIOE CON QUANTITA > 3 Case Else tasso = 40 End Select 'CALCOLO SCONTO SULL IMPORTO TOTALE LORDO sconto = ilordo * tasso / 100 inetto = ilordo - sconto 'OUTPUT IMPORTO NETTO txtimporto.text = inetto 26

27 Problema22: Scrivere un algoritmo che dato il prezzo di un cellulare e data la quantità dei pezzi venduti calcoli sull imponibile: lo sconto del 10% se la quantità dei pezzi venduti è fino a 3; lo sconto del 20% se la quantità dei pezzi venduti è fino a 5; lo sconto 4 del 30% se la quantità dei pezzi venduti è fino a 10; lo sconto del 40% se la quantità dei pezzi venduti è > 10. Calcoli, inoltre, il tasso di sconto, l imponibile, l importo netto scontato, l iva del 20%, l importo ivato. Stampare a video: il tasso di sconto, lo sconto, l imponibile, l importo netto scontato, l IVA del 20% e l importo ivato (o lordo o totale) 1) Tabelle delle variabili e costanti costo pezzi iva ilordo inetto ivato sconto tasso Costo di un cellulare N.ro di pezzi dello stesso cellulare Iva da aggiungere all importo netto Importo lordo Importo al netto dello sconto Importo totale ivato Sconto da applicare Tasso di sconto in base ai pezzi Numero decimale Numero decimale Numero decimale Numero decimale Numero decimale Numero decimale 1. Inizio 2. Leggi il costo di un cellulare 3. Leggi il n.ro di pezzi di quel cellulare 4. Calcola imponibile = costo*n.ro dei pezzi 5. Se i pezzi sono fino a 3 allora tasso = Se i pezzi sono fino a 5 allora tasso = Se i pezzi sono fino a 10 allora tasso = Negli altri casi, altrimenti il tasso = Calcola lo sconto = imponibile*tasso / Calcola inetto = imponibile sconto 11. Calcola iva=inetto*20/ Calcola ivato=inetto+iva 11. Stampa a video il tasso, lo sconto, 12. Stampare l importo lordo, l importo netto 13. Stampare l IVA, l importo Ivato 12. Fine 4) Creazione del Form Visualbasic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante Calcola Dim pezzi, tasso As Byte Dim costo, imponibile As Decimal Dim inetto, ivato As Decimal Dim iva, sconto As Decimal 'INPUT costo = Val(txtCosto.Text) pezzi = Val(txtPezzi.Text) 'SELEZIONE MULTIPLA IN VBASIC.NET Select Case pezzi Case 1 To 3 tasso = 10 Case 1 To 5 tasso = 20 Case 1 To 10 tasso = 30 Case Else tasso = 40 End Select imponibile = costo * pezzi sconto = imponibile * tasso / 100 inetto = imponibile - sconto iva = inetto * 20 / 100 ivato = inetto + iva 'OUTPUT txttasso.text = tasso txtsconto.text = sconto txtilordo.text = imponibile txtinetto.text = inetto txtiva.text = iva txtivato.text = ivato 4 Attenzione: Nel problema23 si usa la frase quantità uguale ad 3 e nel problema 24 si usa la frase pezzi fino ad 3. Questa diversità determina una differenza nell uso del costrutto Case nel codice di VisualBasic.Net 27

28 Problema23: Scrivere un algoritmo che data una temperatura stampa a video il messaggio: a) molto caldo se la temperatura è > 32; b) caldo se la temperatura è > 25; c) mite se la temperatura è > 16; d) fresco se la temperatura è > 10; e) freddo se la temperatura è > 0; f) molto freddo se la temperatura è altrimenti. 1) Tabelle delle variabili e costanti temp Temperatura scelta Numero decimale 1. Inizio 2. leggi la temperatura temp 3. Se la temp > 32 allora molto caldo 4. Se la temp > 25 allora caldo 5. Se la temp > 16 allora mite 6. Se la temp > 10 allora fresco 7. Se la temp > 0 allora freddo 8. Altrimenti il messaggio molto freddo 9. Fine 4) Creazione del Form Visual Basic. Net Non disegnato per mancanza di tempo 5) Codifica del corpo del pulsante Calcola Dim temp As Integer temp = Val(txtTemperatura.Text) Select Case temp Case Is > 25 lblmessaggio.text = "Caldo" Case Is > 16 lblmessaggio.text = "Mite" Case Is > 10 lblmessaggio.text = "Fresco" Case Is > 0 lblmessaggio.text = "Freddo" Case Else lblmessaggio.text = "Molto Freddo" End Select La struttura di ripetizione o iterativa o ciclo Essa, in generale, consente di ripetere l esecuzione di una porzione di algoritmo più volte, finché è verificata una certa condizione. Essa può essere di tre tipi: a iterazione prestabilita o ciclo a contatore, a iterazione a controllo di testa o ciclo a condizione iniziale e a iterazione a controllori coda o ciclo a condizione finale. La struttura a iterazione prestabilita (FOR - TO - NET) Essa, nel metodo del diagramma a blocchi, si rappresenta cosi: Essa utilizza: 1) un nuovo blocco, l esagono, che al suo interno contiene: una variabile conteggio come ad es. i, j, k 2) un valore finale, VF, scelto dal programmatore, che stabilisce a priori il numero massimo di iterazioni, ad es. 10, 100 3) blocco istruzioni che rappresenta la porzione di algoritmo da iterare, cioè il corpo dell algoritmo 4) un piccolo rombo che sottintende ad ogni iterazione l incremento della variabile conteggio ad es. i i + 1; j j

29 La ripetizione del blocco istruzioni avviene finché la variabile conteggio assume un valore < = al valore finale VF prestabilito, mentre si arresta quando la variabile conteggio assume un valore > del valore finale VF prestabilito. Quando si usa tale struttura a iterazione prestabilita? Essa si usa quando nell algoritmo ci sono una o più istruzioni che si ripetono un numero di volte prestabilito. PROBLEMA24: Trovare l algoritmo che letti 10 numeri interi N1, N100, calcoli la loro somma e la stampi a video. (Suggerimento: usare il controllo inputbox per leggere i 100 numeri) Prima di applicare il metodo dei 5 passi, cerchiamo di capire meglio il problema: Ricordiamo che l algoritmo che risolveva il problema della somma di due numeri x e y, richiedeva 3 variabili: di cui 2 per i numeri N1 e N2 e una per la variabile som. Qui, invece, il nostro problema è di fare la somma di 100 numeri, quindi dovremmo usare 101 variabili: di cui 100 per i numeri N1,., N100 e una per la variabile somma SOM. Inoltre, dovremmo leggere la prima variabile N1 e poi sommarla alla variabile somma SOM, leggere la seconda variabile N2 e poi sommarla alla variabile somma SOM, leggere la 100 variabile N100 e poi sommarla alla variabile somma SOM. Tale soluzione fa prevedere un algoritmo lunghissimo. Come possiamo ovviare a questo problema? 5 Osservazione: In tale soluzione si ripetono 100 volte la coppia di istruzioni: lettura della variabile Ni e somma del valore della variabile Ni al valore della variabile somma SOM. N SOM Numero generico da sommare Somma totale dei 10 numeri E una stringa di caratteri Stringa 2. inizializza som a 0 3. Per I che va da 1 a leggi il numero N 5. assegna a som, la quantità som + N 6. vai al prossimo I e torna al passo 3 7. scrivi a video il valore di som 8. fine 4) Creazione del form Visualbasic. Net 5 Nota.: per far rendere conto gli allievi che effettivamente tale soluzione è lunghissima conviene disegnare alla lavagna a sx l algoritmo senza ciclo (fermandosi alla lettura e alla somma parziale delle prime due variabili n1 e n2, scrivendo i puntini, e poi scrivendo la lettura e la somma parziale della variabile n100) e a dx l algoritmo con il ciclo 29

30 Nei form per evitare di usare tante caselle di testo per leggere i 10, 100 ecc. numeri, si usa una funzione del visualbasic.net che si chiama input box. Vediamo qui come si usa. La funzione InputBox Essa si usa per consentire l input di un valore da tastiera che sarà confermato o meno attraverso i pulsanti: ok o annulla. Tale funzione InputBox ha due parametri separati dalla virgola: il 1) obbligatorio e il 2) facoltativo. La sintassi della funzione InputBox è la seguente: InputBox( testo messaggio utente nel prompt (zona grigia), testo nel title (barra blu) ) Poiché il 2) parametro è facoltativo, se non viene specificato, il testo che appare nel title è quello del nome della form che si sta utilizzando. Esempi: inserendo entrambi i parametri 1) e 2) nella funzione InputBox() (fig.a) Codice VB InputBox("QUALE' IL TUO PIATTO PREFERITO?", "ELENCO DEI PIATTI") (fig. b) Codice VB InputBox("DAMMI UN NUMERO DA 1 A 7", "SCELTA DI UN NUMERO CASUALE") I valori inseriti nel rigo bianco: SPAGHETTI ALLA PESCATORA (fig.1) e 7 (fig.2) saranno interpretati come testo, quindi la variabile che li conterrà dovrà essere di tipo string. Ad es.: StringaNome=InputBox( inserisci messaggio utente nel prompt, inserisci nome title ) Se si vuole una variabile numero tipo intero si utilizzerà la funzione Val nel seguente modo: numero=val (InputBox( inserisci messaggio utente nel prompt, inserisci nome title )) La funzione MsgBox Essa si usa per consentire l output attraverso l uso di finestre: di avviso, di errore, di informazione, ecc. e l output di valori numerici generati dal programma. Essa ha tre parametri separati dalla virgola: il 1) obbligatorio e il 2) e il 3) facoltativo. La sintassi è la seguente: MsgBox( messaggio utente nel prompt (zona grigia), numero, testo nel title (barra blu) ) Essa ha come 1) e 3) parametro gli stessi della funzione InputBox. La differenza è solo il 2) parametro che serve a specificare, con un numero il tipo di icona da utilizzare. CODICE VBASIC MsgBox("Δ<0 soluzioni non reali", 16, "Avviso") CODICE VBASIC MsgBox("Δ<0 soluzioni non reali", 64, "Avviso") CODICE VB x= - 0,5 MsgBox(x) x= - 0,5 MsgBox("La soluzione è x = " & x) 30

31 5) Codifica del corpo dei pulsanti di calcolo Private Sub btnsomma_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles btnsomma.click Dim i, numero, som As Integer Dim x As String For i = 1 To 10 x = "inserisci " & i & ") numero" ' le 2 & servono per concatenare il 1 messaggio:"inserisci " al valore corrente di i, al 2 messaggio ") numero" numero = Val(InputBox(x)) som = som + numero Next lblrisultato.text = som End Sub 6) L esecuzione del programma fa apparire a video 10 finestre per l input box del tipo: PROBLEMA25: Trovare l algoritmo che letti M numeri interi, calcoli la loro somma e la stampi a video. (Suggerimento: usare il controllo textbox per leggere la dimensione N dei numeri e tante inputbox per leggere gli N numeri) M N SOM I Dimensione dei numeri Numero generico da sommare Somma totale dei 10 numeri E l indice del ciclo E una stringa di caratteri Stringa 31

MODULO 2 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

MODULO 2 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net MODULO 2 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.

Dettagli

PARAGRAFO 1: variabili e costanti, tabella delle variabili; in VB: dichiarazione DIM (2h)

PARAGRAFO 1: variabili e costanti, tabella delle variabili; in VB: dichiarazione DIM (2h) PARAGRAFO 1: variabili e costanti, tabella delle variabili; in VB: dichiarazione DIM (2h) Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Introduzione agli algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore L utente è colui che usa il computer anche se non è in grado di programmarlo. Il programmatore

Dettagli

MODULO 3 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

MODULO 3 Introduzione agli algoritmi e alla programmazione in VisualBasic.Net MODULO 3 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.

Dettagli

MODULO 3 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net

MODULO 3 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net MODULO 3 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net 1- PARTE Ripasso: introduzione agli Algoritmi e alla programmazione in VisualBasic.Net Definizione di utente e di programmatore

Dettagli

MODULO 2 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net

MODULO 2 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net MODULO 2 Algoritmi con le strutture Sequenza e Selezione e codifica in VB.Net 1- PARTE Ripasso: introduzione agli Algoritmi e alla programmazione in VisualBasic.Net Definizione di algoritmo. Un algoritmo

Dettagli

MODULO 3 Programmazione in Visual Basic.Net. Parte1 - Introduzione alla programmazione in VisualBasic.Net

MODULO 3 Programmazione in Visual Basic.Net. Parte1 - Introduzione alla programmazione in VisualBasic.Net MODULO 3 Programmazione in Visual Basic.Net Parte1 - Introduzione alla programmazione in VisualBasic.Net Definizione di linguaggio di programmazione Esso è il linguaggio usato dal programmatore per comunicare

Dettagli

Paragrafo 1 - Ripasso Concetti base e Interfaccia di Visual Basic.Net 2005

Paragrafo 1 - Ripasso Concetti base e Interfaccia di Visual Basic.Net 2005 Paragrafo 1 - Ripasso Concetti base e Interfaccia di Visual Basic.Net 2005 Definizione di utente e di programmatore L utente è qualsiasi persona che usa il computer anche se non è in grado di programmarlo.

Dettagli

1 PARTE Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

1 PARTE Introduzione agli algoritmi e alla programmazione in VisualBasic.Net 1 PARTE 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.

Dettagli

MODULO 4 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione

MODULO 4 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione MODULO 4 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione 1-PARTE: Definizione di struttura di sequenza o sequenziale In un algoritmo si parla di struttura di sequenza quando

Dettagli

Ripasso di: Algoritmi con le strutture di Selezione e cicliche in VB.Net Prof. M. Simone - ITCG Padre S. Lener Classe 4Gx Marcianise A.S.

Ripasso di: Algoritmi con le strutture di Selezione e cicliche in VB.Net Prof. M. Simone - ITCG Padre S. Lener Classe 4Gx Marcianise A.S. MODULO 2 Algoritmi con le strutture di Selezione e cicliche in VB.Net 1) Si parla di struttura di selezione ad una via, quando il percorso falso non è presente. Essa, nel metodo del diagramma a blocchi,

Dettagli

MODULO 3 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione

MODULO 3 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione MODULO 3 Dal Problema al form VBasic.Net con le strutture di sequenza e di selezione PARAGRAFO 1: Definizione di struttura di sequenza o sequenziale In un algoritmo si parla di struttura di sequenza quando

Dettagli

MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL

MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL MODULO 4: LE STRUTTURE ITERATIVE: FOR, WHILE E DO LOOP UNTIL La struttura di ripetizione o iterativa o ciclo Essa, in generale, consente di ripetere l esecuzione di una porzione di algoritmo più volte,

Dettagli

Per realizzare un programma in VB

Per realizzare un programma in VB Per realizzare un programma in VB E necessario eseguire nell ordine i seguenti passi: 1) Dato un problema, disegnare la tabella delle variabili 2) Determinare l algoritmo risolutivo con la pseudocodifica

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net

Introduzione agli algoritmi e alla programmazione in VisualBasic.Net 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

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Caratteristiche di un calcolatore elettronico

Caratteristiche di un calcolatore elettronico Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,

Dettagli

Caratteristiche generali del linguaggio Visual Basic

Caratteristiche generali del linguaggio Visual Basic Caratteristiche generali del linguaggio Visual Basic Per ottenere un aiuto contestuale dall help di Visual Basic sulla sintassi di funzioni o, oppure su proprietà, eventi o metodi, basta selezionare la

Dettagli

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Dall algoritmo al programma

Dall algoritmo al programma Dall algoritmo al programma Il concetto di algoritmo Un algoritmo è una sequenza di passi necessari per risolvere un problema o eseguire una computazione In alcuni casi, lo stesso problema/computazione

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Esercitazione Applicazioni Windows - n. 4 Struttura condizionale

Esercitazione Applicazioni Windows - n. 4 Struttura condizionale Esercitazione Applicazioni Windows - n. 4 Struttura condizionale 1. Avvia l ambiente di sviluppo Visual Basic e sviluppa una nuova applicazione Windows Form con il nome Confronto Numeri. Interagisci con

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Visual Basic. Linguaggio di programmazione per lo sviluppo di applicazioni da eseguire in un qualunque ambiente Microsoft Windows.

Visual Basic. Linguaggio di programmazione per lo sviluppo di applicazioni da eseguire in un qualunque ambiente Microsoft Windows. Visual Basic Linguaggio di programmazione per lo sviluppo di applicazioni da eseguire in un qualunque ambiente Microsoft Windows. VB è un implementazione Microsoft dell originario linguaggio Basic Visual

Dettagli

Introduzione a Visual Basic Lezione 2 Cicli e anomalie

Introduzione a Visual Basic Lezione 2 Cicli e anomalie a Visual Basic Lezione 2 Mario Alviano Introduzione all informatica Università della Calabria http://alviano.net/introinfo A.A. 2008/09 Introduzione Perché i cicli? Un esempio concreto Finora abbiamo visto

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

MODULO 4: LA STRUTTURA ARRAY a 1-DIMENSIONE

MODULO 4: LA STRUTTURA ARRAY a 1-DIMENSIONE MODULO 4: LA STRUTTURA ARRAY a 1-DMENSONE Definizione di Array-1 dimensione Un array é un insieme di variabili, che occupano celle consecutive in memoria. Un array ha le seguenti caratteristiche: un nome,

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi. Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi ugo.rinaldi@gmail.com 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma

Dettagli

Programmazione con il linguaggio LibreOffice Basic

Programmazione con il linguaggio LibreOffice Basic Programmazione con il linguaggio LibreOffice Basic L ambiente di programmazione Il software LibreOffice possiede un ambiente di programmazione in linguaggio Basic, che consente di creare procedure software

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Elementi del linguaggio e primi programmi

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Reti di Calcolatori Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Reti di Calcolatori Architettura del calcolatore Elementi di Programmazione Esempi di algoritmi e programmi Conversione

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 3 - ALGORITMI E CODIFICA FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

CORSO DI PROGRAMMAZIONE

CORSO DI PROGRAMMAZIONE ISTITUTO TECNICO INDUSTRIALE G. M. ANGIOY SASSARI CORSO DI PROGRAMMAZIONE INTRODUZIONE ALLE ISTRUZIONI ITERATIVE DISPENSA 03.01 03-01_Iterazioni_[ver_15] Questa dispensa è rilasciata sotto la licenza Creative

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma

Dettagli

Strutture di Controllo

Strutture di Controllo Strutture di Controllo Istruzioni condizionali e cicli http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Introduzione Fino ad ora, il nostro

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione

Dettagli

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Problema Algoritmo Programma Progettista Programmatore Progetto Programma Esecutore Computer Comittente Utente Dal problema all algoritmo Problema Risolutore ed esecutore Algoritmo

Dettagli

Algoritmi. Andrea Passerini Informatica. Algoritmi

Algoritmi. Andrea Passerini Informatica. Algoritmi Andrea Passerini passerini@disi.unitn.it Informatica Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

Strutture di Controllo IF-ELSE

Strutture di Controllo IF-ELSE Strutture di Controllo IF-ELSE Come viene eseguito un programma? Un programma viene eseguito rispettando l ordine in cui le istruzioni vengono scritte dal programmatore: Si parte dalla prima istruzione

Dettagli

Pseudo codice. Pseudo codice, Paolo Bison, FI07, p.1 / Pseudo codice, Paolo Bison, FI07, p.3

Pseudo codice. Pseudo codice, Paolo Bison, FI07, p.1 / Pseudo codice, Paolo Bison, FI07, p.3 Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2007/08 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Computer. Capitolo 2. 05/04/2012 continuazione 1

Computer. Capitolo 2. 05/04/2012 continuazione 1 Computer Capitolo 2 05/04/2012 continuazione 1 Le prestazioni del computer Velocità delle cpu, ossia numero d istruzioni eseguite nell unità di tempo; Dimensione delle RAM; Capacità e velocità in scrittura/

Dettagli

Corso di PHP. Prerequisiti. 3 - Le strutture di controllo. Istruzioni semplici Controllo del flusso di programma

Corso di PHP. Prerequisiti. 3 - Le strutture di controllo. Istruzioni semplici Controllo del flusso di programma Corso di PHP 3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Controllo del flusso di programma 2 1 Introduzione In molti casi le sole istruzioni viste finora non sono sufficienti a risolvere

Dettagli

Algoritmi e diagrammi di flusso versione biennio

Algoritmi e diagrammi di flusso versione biennio Algoritmi e diagrammi di flusso versione biennio Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento

Dettagli

Analisi strutturata 1

Analisi strutturata 1 Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe

Dettagli

COSA SONO I FLOW CHART

COSA SONO I FLOW CHART COSA SONO LOW CHART flow chart sono schemi che descrivono visivamente come procede l esecuzione di un programma. Essi non sono legati ad uno specifico linguaggio: dato un flow chart, il programmatore può

Dettagli

VISUAL BASIC FOR APPLICATION

VISUAL BASIC FOR APPLICATION VISUAL BASIC FOR APPLICATION LA PIATTAFORMA DI SVILUPPO GLI ELEMENTI DI VBA Finestra di progetto: mostra l elenco gerarchico dei progetti aperti e di tutti i moduli di codice e finestre di interfaccia

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

4. I moduli in Access 2000/2003

4. I moduli in Access 2000/2003 LIBRERIA WEB 4. I moduli in Access 2000/2003 Il modulo è uno degli oggetti del database di Access e rappresenta un insieme di dichiarazioni e routine scritte con il linguaggio Visual Basic, memorizzate

Dettagli

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni

I costrutti forniti dal linguaggio si dividono in corrispondenti classi di istruzioni Classi di istruzioni In maniera simile a quanto fatto per i dati, un linguaggio mette a disposizione dei costrutti per realizzare la parte esecutiva dell algoritmo. Questa consiste di: Leggi i valori di

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

Dettagli

Lezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009

Lezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 4: La

Dettagli

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)

02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Costanti, variabili ed espressioni 1 Prerequisiti Concetto matematico di variabile, costante ed espressione Valutazione di espressioni Sintassi e regole di precedenza nelle

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Algoritmi Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Elaboratore Un elaboratore o computer è una macchina digitale, elettronica,

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

Dettagli

Algoritmo per l ordinamento di un array

Algoritmo per l ordinamento di un array Algoritmo per l ordinamento di un array Spesso si ha la necessità di lavorare con vettori ordinati, cioè si devono mettere gli elementi in ordine alfabetico se sono stringhe o in in ordine di grandezza

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Algoritmi e diagrammi di flusso

Algoritmi e diagrammi di flusso Algoritmi e diagrammi di flusso Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento che risolve

Dettagli

Il primo programma C++

Il primo programma C++ Il primo programma C++ Un programma in qualsiasi linguaggio evoluto è una sequenza di istruzioni che la CPU dopo opportune conversioni esegue. La sintassi dei linguaggi di programmazione è molto piu rigida

Dettagli

Sistemi a microprocessore

Sistemi a microprocessore Sistemi a microprocessore Programma: Segnali analogici e digitali Uso di segnali digitali per la rappresentazione dei numeri interi La memoria e la CPU I programmi in linguaggio macchina La connessione

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione

Dettagli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

Dettagli