• Nie Znaleziono Wyników

KolVB4 Dane s

N/A
N/A
Protected

Academic year: 2021

Share "KolVB4 Dane s"

Copied!
3
0
0

Pełen tekst

(1)

Copyright © 2009, Janusz Bonarowski

1

KolVB4

Dane są 3 kule o promieniach R1, R2 i R3. Znaleźć promień kuli zastępczej R0, której objętość V0 jest równa sumie objętości tych kul. Wykonać aplikację Windows Forms

Application wykonująca te obliczenia.

W celu obliczenia objętości kuli napisać własną procedurę Objetosc i wywołać ją 3 razy.

Do sprawdzania poprawności wpisanych wartości promieni napisać własną procedurę Sprawdzanie i wywołać ją 3 razy. Jeśli wprowadzono błędną wartość promienia procedura zwraca wartość promienia = 0 (zero).

Objętość V kuli o promieniu R:

3

3

4 R

V = ⋅ π ⋅

Aplikacja powinna być zabezpieczona przed wprowadzeniem danych, które mogłyby

spowodować awarię aplikacji: ciąg pusty, ciąg znaków nienumerycznych lub wartość zerowa.

Rozwiązanie

Rys. 1. Propozycja formularza

Kod aplikacji

Private Sub btnOblicz_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnOblicz.Click

Dim R1, R2, R3, R0 As Single Dim V1, V2, V3, V0 As Single

'___Sprawdzanie poprawności danych Call Sprawdzanie(txtR1.Text, R1)

If R1 = 0 Then

MsgBox("Błędna wartość R1", MsgBoxStyle.Critical, "Błąd R1") Exit Sub

End If

(2)

Copyright © 2009, Janusz Bonarowski

2

Call Sprawdzanie(txtR2.Text, R2)

If R2 = 0 Then

MsgBox("Błędna wartość R2", MsgBoxStyle.Critical, "Błąd R2") Exit Sub

End If

Call Sprawdzanie(txtR3.Text, R3)

If R3 = 0 Then

MsgBox("Błędna wartość R3", MsgBoxStyle.Critical, "Błąd R3") Exit Sub

End If

'___Obliczanie objętości kolejnych walców '--- Call Objetosc(R1, V1)

Call Objetosc(R2, V2) Call Objetosc(R3, V3)

'---

'___Wydruki kontrolne objętości kul.

lblV1.Text = V1.ToString lblV2.Text = V2.ToString lblV3.Text = V3.ToString

'___Suma objętości V0 = V1 + V2 + V3

lblV0.Text = V0.ToString

'___Promień kuli gdy znana jest jej objętość V0 R0 = ((3 * V0) / (4 * Math.PI)) ^ (1 / 3)

lblR0.Text = R0.ToString End Sub

Private Sub Sprawdzanie(ByVal strPromien As String, _ ByRef sngPromien As Single) 'Procedura sprawdza łańcuch tekstowy strPromien

' czy da się przekonwertować na liczbę i czy liczba ta 'jest większa od zera.

'Jeśli TAK:

' w zmiennej sngPromien zwraca wartość liczbową promienia.

'Jeśli NIE:

' w zmiennej sngPromien zwraca zero.

'--- 'WEJŚCIE:

' strPromien - wartość tekstowa promienia.

'WYJŚCIE:

' sngPromien - wartość liczbowa promienia lub (przy błędzie) zero.

'--- '___Sprawdzanie, czy strPromien zawiera pusty ciąg znaków

'___a jeśli nie, to czy ten ciąg znaków da się zamienić na liczbę.

If strPromien = "" Then

MsgBox("Prosze wpisać poprawną wartość dla promienia", _ MsgBoxStyle.Information, "Brak danych")

sngPromien = 0 Exit Sub

ElseIf Not IsNumeric(strPromien) Then

MsgBox("Dla promienia wpisano NIE liczbę", _ MsgBoxStyle.Critical, "Błąd danych") sngPromien = 0

Exit Sub End If

(3)

Copyright © 2009, Janusz Bonarowski

3

'___konwersja wartości tekstowej na liczbę typu Single sngPromien = CSng(strPromien)

'___Sprawdzenie, czy w sngPromien jest wartość zerowa lub ujemna If sngPromien <= 0 Then

MsgBox("Dla promienia proszę wpisać wartość WIĘKSZĄ od zera", _ MsgBoxStyle.Critical, "Błąd danych")

sngPromien = 0 Exit Sub

End If End Sub

Private Sub Objetosc(ByVal R, ByRef V)

'Włąściwa procedura obliczająca objetość kuli przy danym promieniu.

V = Math.PI * R ^ 3 * 4 / 3 End Sub

Cytaty

Powiązane dokumenty

Jeśli natomiast szereg jest zbieżny, ale nie bezwzględnie, to permutując jego wyrazy możemy uzyskać szereg zbieżny o dowolnej sumie albo szereg rozbieżny 181.. 180 Używam

Metalowy stożek, którego tworząca ma 12cm i jest nachylona do płaszczyzny podstawy pod kątem 30 0 , przetopiono na 48 jednakowych kulek. Oblicz objętość jednej kulki oraz jej

Wybór zadań: Grzegorz Graczyk 483033 Copyright © Gdańskie

Obliczyć pole trójkąta ograniczonego osiami układu współrzędnych i prostą x+2y-6=0 Napisać równanie prostej przechodzącej przez putnky A(1,0) i B(3,2)).. Proste y=3x-9,

Czy zawartość TextBoxów nie jest ciągiem pustym.. Czy nie zawiera kropki

Znajdziemy najpierw pozbawiony luk szereg potęgowy g{x ), którego suma jest równa asymptotycznie sumie f{x), a później funkcję elementarną asymptotycznie równą

Wykorzystuj¹c wzór na dyla- tacjê czasu (MT 06/06), stwierdzamy, ¿e jeœli po- ci¹g porusza siê z prêdkoœci¹ v, to czas zmie- rzony pomiêdzy zdarzeniami (wys³anie i

Punkt B, który jest końcem tego odcinka ma współrzędne:A. Wysokość tego