vb4 1 podprogram sub predkosc

background image

Copyright © 2009 Janusz Bonarowski

1

VB_4.1_Podprogram_Sub_prędkość

Pewien etap rajdu samochodowego składa się z 3 odcinków specjalnych. Znana jest długość
i czas przejazdu każdego odcinka. Napisać program obliczający prędkości samochodu na
każdym odcinku specjalnym. Obliczenia wykonać za pomocą tej samej procedury, wywołując
ją z różnymi parametrami. Zabezpieczyć program przed błędnie wprowadzonymi danymi.

Rys. 1. Propozycja formularza

Kod aplikacji WERSJA 1

Private

Sub

btnOblicz_Click(

ByVal

sender

As

System.Object, _

ByVal

e

As

System.EventArgs)

Handles

btnOblicz.Click

Dim

S1, S2, S3, T1, T2, T3, V1, V2, V3

As

Single

'Odcinek 1

S1 =

CSng

(txtS1.Text)

'(1)

T1 =

CSng

(txtT1.Text)

'(2)

Call

Obliczenia(S1, T1, V1)

'(3)

lblV1.Text =

CStr

(V1)

'(4)

' Blok instrukcji od (1)...(4) powtarzamy

' (kopiujemy, z minimalnymi zmanami)

' dla każdego odcinka specjalnego.

'Odcinek 2

S2 =

CSng

(txtS2.Text)

T2 =

CSng

(txtT2.Text)

Call

Obliczenia(S2, T2, V2)

lblV2.Text =

CStr

(V2)


'Odcinek 3

S3 =

CSng

(txtS3.Text)

T3 =

CSng

(txtT3.Text)

Call

Obliczenia(S3, T3, V3)

lblV3.Text =

CStr

(V3)

End

Sub

Private

Sub

Obliczenia(

ByVal

droga

As

Single

,

ByVal

czas

As

Single

, _

ByRef

predkosc

As

Single

)

predkosc = droga / czas

End

Sub

background image

Copyright © 2009 Janusz Bonarowski

2

Podczas wywoływania procedury Obliczenia przekazywane są do niej dwie

wartości zmiennych droga i czas znajdujących się na miejscu pierwszym i drugim listy
argumentów, na trzcim miejscu znaduje się wynik działania procudry.

Podczas pisania własnej procedury - środowisko automatycznie dopisuje przed

nazwami argumentów słowa kluczowe ByVal określające tryb przekazywania argumentów.
Taki tryb oznacza przekazanie argumentu przez wartość. Konsekwencją trybu ByVal jest to,
ż

e żadna zmiana wartości argumentów wewnątrz procedury nie jest przekazywana na

zewnątrz, czyli wyliczenia wartości zmiennej predkosc nie zostanie przekazane do programu
wywołującego i w efekcie w etykietach wyświetlających prędkość pojawi się wartość 0.
Aby w programie nadrzędnym uzyskać wartość trzeciego argumentu należy określić tryb
przekazywania wartości tego argumentu na ByRef (przez referencje). Taką zmianę należy
wykonać samodzielnie.
Ponieważ w zadaniu wykonujemy kilkakrotnie konwersję z wartości tekstowej na liczbową i
ponownie z liczbowej na tekstową – można te operacje, a także sprawdzanie poprawności
danych umieścić we własnej procedurze, która teraz bardzo się rozbuduje.

Kod aplikacji wersja 2

Private

Sub

btnOblicz_Click(

ByVal

sender

As

System.Object, _

ByVal

e

As

System.EventArgs)

Handles

btnOblicz.Click

Call

Obliczenia(txtS1.Text, txtT1.Text, lblV1.Text)

Call

Obliczenia(txtS2.Text, txtT2.Text, lblV2.Text)

Call

Obliczenia(txtS3.Text, txtT3.Text, lblV3.Text)

End

Sub

Private

Sub

Obliczenia(

ByVal

strDroga

As

String

, _

ByVal

strCzas

As

String

,

ByRef

strPredkosc

As

String

)

Dim

Droga, Czas, Predkosc

As

Single

'____Czy wprowadzono wartości liczbowe?

If

IsNumeric(strDroga)

Then

Droga =

CSng

(strDroga)

Else

strPredkosc =

"Błąd danych"

Exit

Sub

End

If

If

IsNumeric(strCzas)

Then

Czas =

CSng

(strCzas)

Else

strPredkosc =

"Błąd danych"

Exit

Sub

End

If

'___Czy wprowadzono wartości > zera?

If

Droga <= 0

Then

strPredkosc =

"Błąd danych droga <= 0"

Exit

Sub

End

If

If

Czas <= 0

Then

strPredkosc =

"Błąd danych czas <= 0"

Exit

Sub

End

If

'___Obliczenia

Predkosc = Droga / Czas
strPredkosc =

CStr

(Predkosc)

End

Sub


Wyszukiwarka

Podobne podstrony:
vb4 0 podprogram sub opis
1 2 Prędkość fali akustycznej w różnych ośrodkach
Reklama podprogowa
Charakterystyka sprzęgła hydrokinetycznego przy stałej prędkości
Zalecane predkosci powietrza w przewodach, Pomoce naukowe, Wentylacja i klimatyzacja
Bezpieczeństwo nawigacji - 3-2 - Prędkość bezpieczna, AM SZCZECIN, Bezpieczeństwo nawigacji
72 Zjawisko kawitacji strugi, współczynnik prędkości,kontrakcji i wypływu
N7 Profil prędkości w rurze prostoosiowej
droga prędkośc czas kl 6
antal,elektrotechnika, Regulacja prędkości
predkosc pocisku cw 2
test predkosci
profil predkosci
06H Programowanie podprogramow i petli
120118 IK wykład 3 WO KOLEJE DUŻYCH PRĘDKOŚCI
POMIARY PRĘDKOŚCI
Precyzyjne pomiary prędkości radialnych gwiazd

więcej podobnych podstron