• Nie Znaleziono Wyników

Ćwiczenie VB2.1_If – instrukcja warunkowa (c.d) Omawiając instrukcję warunkową powiedzieliśmy, że po słowie kluczowym

N/A
N/A
Protected

Academic year: 2021

Share "Ćwiczenie VB2.1_If – instrukcja warunkowa (c.d) Omawiając instrukcję warunkową powiedzieliśmy, że po słowie kluczowym"

Copied!
4
0
0

Pełen tekst

(1)

Copyright © 2011, Janusz Bonarowski 1

Ćwiczenie VB2.1_If – instrukcja warunkowa (c.d)

Omawiając instrukcję warunkową powiedzieliśmy, że po słowie kluczowym If musi pojawić się „warunek”. Warunek ten jest wyrażeniem logicznym, które zwraca True (Prawdę) lub False (Fałsz). Wyrażenie to może być proste, np.

If txtWpis.Text = "Czesc" Then

ale może też być bardziej złożone. Jako przykład rozważmy logowanie do systemu, podczas którego musimy sprawdzać poprawność nie jednej lecz dwóch wartości. Niech formularz logowania ma postać:

Rys. 1. Formularz logowania

Załóżmy, że poprawna Nazwa brzmi „abc”, a poprawne Hasło: „123”. Wtedy aplikacja, w lblLogowania, drukuje komunikat: „Logowanie poprawne”

Aplikacja może być oprogramowana w sposób bardziej lub mniej przyjazny. Sposób mniej przyjazny jest łatwiejszy do zrealizowania i polega na tym, że jeśli albo nazwa albo hasło nie pasują do podanego wzorca to w etykiecie lblLosowanie pojawi się komunikat „Błąd logowa- nia”.

Sposób bardziej przyjazny powinien podpowiadać, w którym polu popełniliśmy błąd. Komu- nikaty o błędzie mogą być następujące: Błędna nazwa i hasło”, „Błędna nazwa”, Błędne hasło”.

W wyrażeniach logicznych możemy stosować operatory logiczne AND i OR łączące proste wyrażenia logiczne. Np.:

wyrażenie logiczne 1: Nazwa = ”abc”

 zwraca Prawdę, gdy w polu txtNazwa wpisano tekst ”abc”

 zwraca Fałsz, gdy w tym polu znajduje się inny tekst (także brak tekstu).

wyrażenie logiczne 2: Hasło = ”123”

 zwraca Prawdę gdy w polu txtHasło wpisano tekst „123”

 zwraca Fałsz, gdy w tym polu znajduje się inny tekst (także brak tekstu).

(2)

Copyright © 2011, Janusz Bonarowski 2 Oba te proste wyrażenia logiczne możemy połączyć operatorem AND, czyli napisać

wyrażenie logiczne:

Nazwa = ”abc” AND Hasło = ”123”

Takie wyrażenie logiczne także zwraca jedynie albo Prawdę albo Fałsz – zgodnie z tabelką:

Działanie operatora logicznego AND

Wyrażenie1 Wyrażenie2 Wyrażenie1 AND Wyrażenie2

Prawda Prawda Prawda

Prawda Fałsz Fałsz

Fałsz Prawda Fałsz

Fałsz Fałsz Fałsz

Tylko jeśli oba składowe wyrażenia logiczne zwracają Prawdę ich połączenie operatorem AND zwraca Prawdę. W każdym innym przypadku otrzymujemy Fałsz.

Działanie operatora logicznego OR

Wyrażenie1 Wyrażenie2 Wyrażenie1 OR Wyrażenie2

Prawda Prawda Prawda

Prawda Fałsz Prawda

Fałsz Prawda Prawda

Fałsz Fałsz Fałsz

Jeśli jedno ze składowych wyrażeń logicznych zwracają Prawdę ich połączenie operatorem OR zwraca Prawdę. Fałsz otrzymujemy jedynie wtedy, kiedy oba składniki wyrażenia zawierają Fałsz.

Rys. 2. Schemat blokowy mniej przyjaznej realizacji algorytmu z operatorem AND

Kod odpowiadający algorytmowi z rys. 2 przedstawia Listing 1:

If txtNazwa.Text = "abc" And txtHaslo.Text = "123" Then lblLogowanie.Text = "Logowanie poprawne"

Else

lblLogowanie.Text = "Błąd logowania"

End If

(3)

Copyright © 2011, Janusz Bonarowski 3 Schemat blokowy bardziej przyjaznego algorytmu z operatorem AND w instrukcji

warunkowej.

Rys. 3. Schemat blokowy bardziej przyjaznego algorytmu

Listing2 realizujący kod ze schematu na rys. 3:

If txtNazwa.Text = "abc" And txtHaslo.Text = "123" Then lblLogowanie.Text = "Logowanie poprawne"

ElseIf txtNazwa.Text <> "abc" And txtHaslo.Text = "123" Then lblLogowanie.Text = "Błędna nazwa"

ElseIf txtNazwa.Text = "abc" And txtHaslo.Text <> "123" Then lblLogowanie.Text = "Błędne hasło"

Else

lblLogowanie.Text = "Błędna nazwa i hasło"

End If

(4)

Copyright © 2011, Janusz Bonarowski 4 Algorytm bardziej przyjazny można utworzyć bez posługiwania się operatorem AND, ale trzeba wtedy umieszczać wewnątrz jednej instrukcji warunkowej druga instrukcję

warunkową.

Schemat blokowy takiego rozwiązania pokazuje rys. 4, a odpowiadający mu kod Listing3

Rys. 4. Schemat blokowy przyjaznego algorytmu bez operatora AND

Listing2

If txtNazwa.Text = "abc" Then If txtHaslo.Text = "123" Then

lblLogowanie.Text = "Logowanie poprawne"

Else

lblLogowanie.Text = "Błędne hasło"

End If Else

If txtHaslo.Text = "123" Then

lblLogowanie.Text = "Błędna nazwa"

Else

lblLogowanie.Text = "Błędna nazwa i hasło"

End If End If

Cytaty

Powiązane dokumenty

Przestrzeganie terminu jest istotne, ponieważ dopiero po tym, jak wszyscy uczestnicy zajęć ją wypełnią będę mogła przygotować harmonogram prezentacji na zajęcia, a

Podczas takiego określania monotoniczności funkcji jeśli ludzik w pewnym przedziale wspina się ku górze to mówimy, że funkcja jest rosnąca.. przypadku, gdy schodzi na dół

Utwórz zapytanie, które wyświetli nazwisko, imię, wiek pracownika i komentarz (osobom poniżej 40 ma się wyświetlić „junior”, osobom od 40 – „senior”).. Ćwiczenie

Służy do sprawdzenia jakiegoś warunku. Umieszczone po niej – po wcięciu – instrukcje wykonają się tylko, jeżeli warunek ten był spełniony. Tabelka opisująca je znajduje się

Z punktu widzenia użytkownika, komputer jest postrzegany poprzez język, w jakim się z nim komunikuje - jako pewna maszyna wirtualna, przy czym może być dla

Do pomiaru drgań mechanicznych opracowano wiele specjalizowanych systemów, które określa się nazwą systemów wibrodiagnostycznych (tu określanych jako

Imperium rzymskie zgodnie z wizją przedstawioną na ilustracji składać się miało z. czterech prowincji – Galii, Germanii, Romy i

Wyrażnie warunkowe – może nim byd dowolne wyrażenie, które zwraca wartośd logiczną (np. Jako wyrażenie warunkowe w instrukcji IF może pojawid się również zmienna typu