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