1 15° ESERCITAZIONE IN VB.NET: 4-Problemi - I tre cicli
Transcript
1 15° ESERCITAZIONE IN VB.NET: 4-Problemi - I tre cicli
15* Esercitazione classi quarte vbasic - “i 3 cicli for, while, do loop until” - ITC ”V. Veneto” - Latina - Classi Quarte - A.S. 2010 /11 – Prof. M. Simone 15° ESERCITAZIONE IN VB.NET: 4-Problemi - I tre cicli quando la condizione è prestabilita PROBLEMA-1: Usando il ciclo FOR, dati N modelli di scooter (modello, cilindrata, colore, prezzo) stampare a video: a) il prezzo e la cilindrata del modello di scooter più caro; b) quanti sono di colore “grigio”; c) il prezzo e il modello dello scooter più economico. 1) Tabelle delle variabili di input e output Nome Descrizione MODS Modello dello Scooter CILS Cilindrata dello Scooter COLS Colore dello Scooter PREZZO Prezzo scooter letto N Numero scooter da analizzare CONTSG Contatore Scooter Grigi PSMAX Prezzo Scooter più caro PSMIN Prezzo Scooter più economico CILSC Cilindrata Scooter più Caro MODSE Modello Scooter + Economico I Indice del ciclo FOR Tipo Stringa Stringa Stringa Decimal Intero Intero Decimal Decimal Intero Stringa Intero Input X X X X X Output Lavoro X X X X X X 2) Algoritmo per passi 1. inizio 2. leggere le variabili MODS, CILS, COLS, PREZZO del 1) scooter 3. leggi il numero di scooter che vuoi analizzare, N 4. assegna al prezzo max PSMAX, il prezzo letto, PREZZO 5. assegna al prezzo min PSMIN, il prezzo letto, PREZZO 6. assegna alla cilindrata scooter + caro CILSC, la cilindrata CILS letta 7. assegna al modello scooter economico MODSE, il modello MODS letto 8. assegna al contatore degli scooter grigi CONTSG, il valore 0 9. se il colore del 1) scooter, COLS=”grigio” allora incrementa di 1, CONTSG, fine se 10. Per I che va da 2 a N 11. leggere le variabili MODS, CILS, COLS, PREZZO del I) scooter 12. se PREZZO > PSMAX allora assegna a: PSMAX, il prezzo attuale letto PREZZO e a CILSC, la cilindrata letta CILS, fine se 13. se PREZZO < PSMIN allora assegna a: PSMIN, il prezzo attuale letto e a MODSE, il modello scooter letto MODS, fine se 14. se COLS =”grigio” allora assegna a CONTSG, CONTSG +1 15. incrementa l’indice ciclo I di 1 e torna al passo 10 16. stampa PSMAX, CILSC, PSMIN, MODSE, CONTSG 17. fine A partire dalla tabella delle variabili e dall’algoritmo, ricavare su carta: a) il DIAGRAMMA A BLOCCHI, b) il TEST, c) al PC il CODICE VB del pulsante “Lettura…” del seguente form: Effettuare il TEST seguente per semplicità con 3 scooter: 1) 50=cilindrata, A50=modello, grigio=colore, 1000=prezzo 2) 125=cilindrata, B125=modello, grigio=colore, 2000=prezzo 3) 150=cilindrata, C150=modello, verde=colore, 3000=prezzo RISULTATI: PSMAX = 3000; CILSC = 150 ; PSMIN = 1000; MODSE = A50, CONTSG = 2 1 15* Esercitazione classi quarte vbasic - “i 3 cicli for, while, do loop until” - ITC ”V. Veneto” - Latina - Classi Quarte - A.S. 2010 /11 – Prof. M. Simone PROBLEMA-2: Usando il ciclo WHILE, dati i nomi e cognomi di N studenti dell’ITC “V. Veneto” di Latina e le distanze in Km da casa a scuola, stampi: a) quanti studenti abitano a più di 20 Km; b) il cognome dello studente che abita più lontano; c) il nome dello studente che abita più vicino; d) quanti studenti hanno un cognome che hanno nell’ultimo lettera, la vocale ”u”. 1) Tabelle delle variabili di input e output Nome Descrizione NOME Nome dello studente COGN Cognome dello studente DIST Distanza dello studente da casa N Numero totale degli studenti DMAX Distanza Maggiore dello studente DMIN Distanza Minima dello studente COMAX Cognome studente alla distanza maggiore NOMIN Nome studente alla distanza minore CONTD20 Contatore delle distanze > 20Km CONTCU Contatore dei cognomi con “u” finale I Indice del ciclo WHILE L Lunghezza del cognome analizzato Tipo Stringa Stringa Decimal Intero Decimal Decimal Stringa Stringa Intero Intero Intero Intero Input X X X X Output Lavoro X X X X X X X X 2) Algoritmo per passi 1. inizio 2. leggi il numero totale degli studenti, N 3. leggere le variabili NOME, COGNOME, DIST del 1) studente 4. assegna a DMIN, la distanza DIST letta 5. assegna a DMAX, la distanza DIST letta 6. assegna a COGNMAX, il cognome COGN letto 7. assegna a NOMEMIN, il NOME letto 8. assegna a CONTD20, il valore 0 9. assegna a CONTCU, il valore 0 10. assegna all’indice I, il valore 2 ' Bisogna controllare se il 1) studente letto ha DIST > 20 o ha COGN(L-1)=”u” 11. se DIST > 20 allora assegna a CONTD20, CONTD20+1, fine se 12. assegna ad L, la lunghezza di COGN ' In VB si userà la sintassi COGN.LENGTH. Essa calcola la lunghezza di 1 stringa ' In VB il 1) carattere di una stringa ha indice 0 e l’ultimo ha indice L-1 13. se COGN(L-1) = “u” allora assegna a CONTDU, CONTDU+1, fine se 14. Assegna ad I, 2 ' L’indice I parte da 2, poiché il 1) studente è stato già letto 15. Finchè I è minore o uguale a N, fai 16. leggere le variabili NOME, COGNOME, DIST del I) studente 17. Se DIST >DMAX allora assegna a DMAX, la DIST letta e a COGNMAX, il COGN letto, fine se 18. Se DIST < DMIN allora assegna a DMIN, la DIST letta e a NOMEMIN, il NOME letto, fine se 19. Se dist > 20 allora assegna a CONTD20, CONTD20 +1, fine se. 20. assegna ad L, la lunghezza di COGN 21. se cogn( L-1) = “u” allora assegna a CONTCU, CONTCU+1, fine se 22. incrementa di 1, l’indice ciclo while I e torna al passo 15 ' Stampa a video dei risultati conseguiti 23. stampa il contatore di distanze > 20 CONTD20 e quelli di cognomi con “u”, CONTDU 24. stampa il cognome a distanza max, COGNMAX e il nome a distanza min NOMEMIN 25. fine 2 15* Esercitazione classi quarte vbasic - “i 3 cicli for, while, do loop until” - ITC ”V. Veneto” - Latina - Classi Quarte - A.S. 2010 /11 – Prof. M. Simone A partire dalla tabella delle variabili e dall’algoritmo, ricavare su carta: a) il DIAGRAMMA A BLOCCHI, b) il TEST, c) al PC il CODICE VB del pulsante “Lettura…” del seguente form: Effettuare il TEST seguente per semplicità con 4 studenti: 1) Mario=nome, Rossi=cognome, 25=distanza; 2) Maria=nome, Velciu=cognome, 30=distanza; 3) Sonia=nome, Suciu=cognome, 15=distanza; 4) Luca=nome, Sirigu=cognome, 35=distanza; RISULTATI: CONTD20 = 3; CONTDU = 3 ; NOMEMIN =Sonia; COGNMAX = Sirigu PROBLEMA-3: Usando il ciclo DO LOOP UNTIL, dato un elenco di N persone della Provincia di Milano di cui si conoscono: il nome, il cognome, la città di residenza e l’ età, stampi: a) quanti risiedono a Milano; b) quanti sono maggiorenni; c) quanti hanno un’età pari; d) l’età media 1) Tabelle delle variabili di input e output Nome Descrizione NOME Nome della Persona COGN Cognome della Persona CITTA Città di residenza della Persona N Numero totale delle Persone da analizzare ETA Età della persona CONTMI Contatore di Persone che risiedono a Milano CONT18 Contatore di Persone maggiorenni CONTPA Contatore di Persone con età pari ETAMED Età media delle età delle persone I Indice del ciclo DO LOOP UNTIL SOM E’ la somma delle età lette QUOZ Quoziente della divisione di Età con 2 RESTO Resto della divisione di Età con 2 Tipo Input X Stringa X Stringa X Stringa X Intero X Intero Intero Intero Intero Decimale Intero Intero Intero Intero Output Lavoro X X X X X X X X 2) Algoritmo per passi 1. inizio 2. assegna a CONTMI, il valore 0; CONT18, il valore 0; CONTPA, il valore 0; SOM il valore 0 3. leggi il numero totale delle persone, N 4. assegna ad I, 1 5. fai le seguenti istruzioni: 6. leggere le variabili NOME, COGN, CITTA, ETA della I) persona 7. assegna a SOM, SOM+ETA 8. se CITTA = ”Milano” allora assegna a CONTMI, CONTMI+1, fine se 10. se ETA > = 18, allora assegna a CONT18, CONT18+1, fine se 11. assegna ad QUOZ, la parte intera INT (ETA / 2) 12. assegna a RESTO, ETA-QUOZ*2 13. se RESTO = 0 allora assegna a CONTPAR, CONTPAR+1, fine se 14. assegna ad I, I+1 15. finchè I > N è falsa, vai al passo 5 16. assegna a ETAMED, SOM / N 17. stampa a video i contatori: CONTMI, CONT18 e CONTPA e l’età media ETAMED 18. fine 3 15* Esercitazione classi quarte vbasic - “i 3 cicli for, while, do loop until” - ITC ”V. Veneto” - Latina - Classi Quarte - A.S. 2010 /11 – Prof. M. Simone A partire dalla tabella delle variabili e dall’algoritmo, ricavare su carta: a) il DIAGRAMMA A BLOCCHI, b) il TEST, c) al PC: il CODICE VB del pulsante “Lettura…” del seguente form: Effettuare il TEST seguente per semplicità con 5 persone della Provincia di Milano: 1) Mario=nome, Rossi=cognome; Milano=città; 18=eta; 2) Magda=nome, Verdi=cognome; Legnano=città; 27=eta; 3) Luca=nome, Scirocco=cognome; Milano=città; 15=età; 4) Sergio=nome, Tavano=cognome; Rho; 27=età; 5) Alessandra=nome; Cafieri=cognome; Milano=città; 33=età RISULTATI: CONTMI= 3; CONT18 = 4 ; CONTPA =1; ETAMED = 24 Usando il ciclo FOR, il ciclo While, il ciclo Do Loop Until a scelta svolgere il seguente algoritmo. PROBLEMA-4 Il proprietario del negozio di Latina “Bit and Byte” deve comprare N computer di varie marche da un grossista. Di ogni computer è possibile conoscere: il modello (HP100, AcerM16, AsusC12, ecc), il tipo di processore Intel (I3, I5 o I7), la quantità di RAM in MB (1024MB, 2048MB, 4096MB, ecc), la dimensione dell’Hard Disk in GB (160, 250, 500, 1000, ecc), la scheda video (ATI Radeon 512MB, Geforce 1024MB) e il suo prezzo. Stampare a video: a) quanti sono i computer che hanno il processore Intel I5, b) il modello del computer che ha il prezzo minore; c) il tipo di processore del computer che ha l’hard disk più grande; d) il totale dei prezzi di tutti e N i computer da acquistare, dopo aver aggiunto l’IVA del 20%; 1) Tabelle delle variabili di input e output Nome Descrizione Modello del Computer MC TP Tipo di Processore RAM Quantità in MB di RAM N Numero totale dei PC da comprare Tipo di scheda video montata SVIDEO HDD Dimensione in GB dell’HarD Disk PREZZO Prezzo del computer esente da IVA Prezzo minore tra i computer PMIN HDDMAX HarD Disk Maggiore tra i computer I Indice del ciclo FOR SOM E’ la somma dei prezzi letti iva esclusa IVA Iva da aggiungere al prezzo totale CONTI5 Contatore dei PC con processore I5 MCPMIN Modello di Computer con prezzo minore TPHDDM Tipo di processore con HDD maggiore TOT E’ il totale ivato dei prezzi di tutti i computer Tipo Input Output Lavoro Stringa X Stringa X Stringa X Intero X Stringa X Intero X Decimale X Decimale X Intero X Intero X Decimale X Decimale X Intero X Stringa X Stringa X Decimale X 4 15* Esercitazione classi quarte vbasic - “i 3 cicli for, while, do loop until” - ITC ”V. Veneto” - Latina - Classi Quarte - A.S. 2010 /11 – Prof. M. Simone 2) Algoritmo per passi 1. inizio ' Supponendo che nessun PC costi 50.000 € e che nessun hard disk abbia dimensione pari a 0, anzicchè inizializzare il prezzo minimo e l’hard disk maggiore ai primi valori letti, inizializzo il prezzo minimo al valore grande 50000 impossibile da verificarsi e all’hard disk il valore piccolo 0 impossibile da verificarsi 2. assegna a CONTI5, il valore 0;PMIN, il valore 50000; HDDMAX, il valore 0; SOM il valore 0 3. leggi il numero totale dei computer da acquistare, N 4. Per I che va da 1 a N 5. leggere le variabili MC, TP, RAM, SVIDEO, HDD, PREZZO del I) computer 6. se TP = ”Intel I5” allora assegna a CONTI5, CONTI5+1, fine se 7. se PREZZO < PMIN, allora assegna a PMIN, PREZZO e MCPMIN, MC, fine se 8. se HDD > HDDMAX, allora assegna ad HDDMAX, HDD e TPHDDM, TP, fine se 9. assegna a SOM, SOM + PREZZO 10. incrementa I e torna al passo 4 11. Assegna ad IVA, SOM*20 / 100 12. Assegna a TOT, SOM + IVA 13. stampa a video: CONTI5, MCPMIN, HDDMAX e TOT 14. fine A partire dalla tabella delle variabili e dall’algoritmo, ricavare su carta: a) il DIAGRAMMA A BLOCCHI, b) il TEST, c) al PC il CODICE VB del pulsante “Lettura e calcola” del seguente: Effettuare il TEST seguente per semplicità con 3 computer del negozio “Bit and Byte” 1) MC=HP100, TP=Intel I3, RAM=1024MB, SVIDEO=GeForce, HDD=250, PREZZO=399 2) MC=AcerM16, TP=Intel I5, RAM=4096MB, SVIDEO=GeForce, HDD=500, PREZZO=699 3) MC=AsusC12, TP=Intel I7, RAM=4096MB, SVIDEO=Ati Radeon, HDD=1000, PREZZO=899 RISULTATI: CONTI5 = 1; MCPMIN = HP100; TPHDDM = Intel I7; SOM=1997, IVA= 399,4 TOT = 2396,4 TEST EFFETTUATO SUL CODICE DI VISUAL BASIC.NET 5