presentazione es 49 pag 301 visual basic
TRANSCRIPT
Presentazione esercizio 49 pag. 301
di
Marco Fabbrini 3c Mercurio
Spiegazione del programma in Visual Basic
Testo del problema
• Dati N studenti partecipanti a una gara sportiva di
velocità (nome studente, categoria,tempo),
visualizzare il tempo dello studente vincitore
(tempo minimo) tra gli studenti della categoria
“allievi”.
Vediamo i dati di Input e di Output
Dati di Input:
Numero studenti
Nome studente
Categoria
Tempo
Dati di Output:
Tempo minimo nella categoria allievi
Nome vincitore
Descrizioni variabiliNome variabile Contenuto Tipo I/O/L
N Numero studenti Numerico Input
Nome Nome studente Numerico Input
Cat Categoria Alfabetico Input
Temp Tempo Numerico Input
TempM Tempo minimo Numerico Output
NomeV Nome vincitore Alfabetico Output
Cont Contatore Studenti Numerico Lavoro
ContA Contatore allievi Numerico Lavoro
Scriviamo lo pseudocodiceINIZIO
Leggi (N)Cont = 0ContA = 0Ripeti
Cont = Cont +1Leggi (Nome, Cat, Temp)
Se Cat = “Allievi” allora ContA = ContA +1
Se ContA = 1 allora Tempm = Temp Nomev = Nomealtrimenti Se Temp < Tempm allora Tempm = Temp Nomev = Nome Fine seFine se
Fine seFino a che Cont = NScrivi ( Nomev, Tempm)
FINE
Attenzione!!!Lo pseudocodice è di notevole importanza.
INIZIO
N
Cont = 0ContA = 0
Cont = Cont+1
Cat = “allievi”
I
BA
VF
ContA = ContA + 1
Conta=1 TempM=TempNomeV=Nome
Temp <TempM
TempM=TempNomeV=Nome
VF
Cont=N
TempMNomeV
FINE
O
V
F
B
V
C
CFA
Temp, Nome, Cat
I
Diagramma a blocchi
FormTextBox
Nome: TxtN
Label
Nome: LblN
Command
Nome: Cmdcalcola
Dichiariamo le variabili in visual
basic!!!
Option Explicit
'Dati di inputDim N As IntegerDim Nome As StringDim Cat As StringDim Temp As Double
'Dati di elaborazioneDim Cont As IntegerDim ContA As Integer
'Dati di outputDim TempM As DoubleDim NomeV As String
Inseriamo il codice
premendo su CmdCalcola
Iniziamo a scrivere il
codice da qui
Leggiamo i dati di Input Azzeriamo le variabili
Costruiamo il ciclo!!!
Private Sub CmdCalcola_Click()
N = Val(TxtN.Text)Cont = 0ContA = 0Do
Loop Until Cont = N
End Sub
Istruzione di fine ciclo
Istruzione di inizio ciclo
Do Cont = Cont + 1 Nome = InputBox("Dimmi il nome dello studente") Cat = InputBox("Dimmi la categoria dello studente") Temp = InputBox("Dimmi il tempo dello studente")
If Cat = "allievi" Then ContA = ContA + 1 If ContA = 1 Then TempM = Temp NomeV = Nome Else If Temp < TempM Then TempM = Temp NomeV = Nome End If End If End IfLoop Until Cont = N
Istruzioni Input
Funzioni SE
MsgBox "Il tempo minimo della categoria allievi è " & CStr(TempM)MsgBox " Il nome del vincitore è " & CStr(NomeV)
Eccoci arrivati alle istruzioni di output!!!
Fine
Ora non resta che provare il programma!!!