Instrukcje warunkowe cz. 1

by 9/22/2014 3 komentarze
Drodzy programiści, bez instrukcji warunkowych nie udałoby się nam przeżyć. Wszystko co robimy to pętle, próby, dochodzenia, monotonia i tak dalej. Nawet prosty przykład zrobienia herbaty, idź i wlej wodę do czajnika, jeżeli nie ma wody, nie włączamy go. To już jest warunek, czyli instrukcja warunkowa. Jak to działa w programistyce? Zobaczcie sami, zapraszam.

Prostym przykładem jest sprawdzenie czy jesteś pełnoletni bądź czy mamy dzień/wieczór. Najpierw kod źródłowy dla sprawdzenia czy jesteś pełnoletni.

TextWindow.WriteLine("Ile masz lat?")
wiek = TextWindow.ReadNumber()                                
If (wiek >= 18) Then
TextWindow.WriteLine("Jesteś pełnoletni")
EndIf                                                                               
If (wiek < 18) Then
TextWindow.WriteLine("Nie jesteś pełnoletni")
Endif
Ten program składa się tak naprawdę z trzech części. Pierwsza część to już nam doskonale znana, wypisuje nam polecenie i wprowadzamy wiek, przy czym korzystamy nie z Read, a z ReadNumber.

Nas ciekawi tak naprawdę druga i trzecia część. Słowo If z języka angielskiego znaczy dosłownie jeżeli. Więc mamy już początek, jeżeli i teraz w nawiasie coś, czyli warunek to wykonaj coś. Then w tym przypadku tłumaczymy jako to, chociaż dosłowne tłumaczenie następnie też jest prawidłowe. Na samym końcu jest Endif, co znaczy KoniecJeżeli - to taka informacja dla komputera, że nastąpił koniec instrukcji warunkowej.

Tłumacząc program na "nasz" to mamy następujący efekt:

Jeżeli wiek jest większy bądź równy 18, to wykonaj polecenie wyświetlenia tekstu, a następnie zakończ instrukcję warunkową.

A potem działa to w drugą stronę:

Kliknij by powiększyć. Jak widać, program działa

Czas


Nasz Basic potrafi zintegrować się z systemem operacyjnym, więc możemy pobrać informację dotyczącą godziny systemowej. Polecenie to Clock.Hour. Proste polecenie tłumaczone jako Zegar.Godzina.

Więc można to wykorzystać do programu, zamiast wieku, czyli zmiennej damy polecenie Clock.Hour. 

If (Clock.Hour >= 18) Then
  TextWindow.WriteLine("Jest wieczór Sir")
EndIf
If (Clock.Hour < 18) Then
  TextWindow.WriteLine("Mamy piękny dzień, prawda Sir?")
Endif

Bardzo proste polecenie, a jak widać efekty są w  miarę zadowalające. Czemu w miarę? Wróćmy do przykładu z herbatą. Pomyśl i powiedz, który sposób Ty wykorzystujesz w życiu:

Sytuacja 1:
Idę do kuchni, nalewam wodę, jeżeli woda leci po chwili zakręcam kran i wstawiam czajnik.
Idę do kuchni nalewam wodę, jeżeli woda nie leci to wracam do pokoju.

Sytuacja 2:
Idę do kuchni, nalewam wodę, jeżeli woda leci po chwili zakręcam kran i wstawiam czajnik, w innym przypadku wracam do pokoju.

Sens w tym, że w pierwszej sytuacji czynność jest wykonana dwa razy, a w drugiej tylko raz. Po co iść dwa razy do kuchni, skoro można raz? Tak samo w programowaniu, nie trzeba sprawdzać dwa razy, która jest godzina, jeżeli jest po 18 to wieczór, w innym przypadku jest dzień. Czy to jest zrozumiałe?

Więc uproszczając kod z godziną wyjdzie takie coś:
If (Clock.Hour > 18) Then
  TextWindow.WriteLine("Jest wieczór Sir")
else
  TextWindow.WriteLine("Mamy piękny dzień, prawda Sir?")
Endif
I jak, prawda że taki kod jest prostszy i bardziej przejrzysty? Przeanalizuj go.

Innym prostym i ciekawym przykładem jest program do sprawdzenia czy liczba jest parzysta.
TextWindow.Write("Podaj liczbę: ")
liczba = TextWindow.ReadNumber()
reszta = Math.Remainder(liczba, 2)
If (reszta = 0) Then
TextWindow.WriteLine("Liczba jest parzysta")
Else
TextWindow.WriteLine("Liczba jest nieparzysta")
EndIf
Pojawiło się polecenie matematyczne, Math.Remainder - Remainder z angielskiego to Reszta. Więc program sprawdza parzystość poprzez resztę. Czyli dzieli liczbę przez 2, a jeżeli reszta jest równa 0 to wypisuje nam informację, że liczba jest parzysta.

Zapraszam do drugiej części poświęconej Instrukcjom Warunkowym

Spodobało Ci się? Kliknij w reklamę lub do mnie napisz!

3 komentarze:

  1. Radek Mańskowski14 sierpnia 2018 18:13

    Instrukcje warunkowe to bardzo podstawowa rzecz w każdym języku programowania. Ich zadanie polega na sprawdzaniu prawidłowości odpowiedzi, i wybraniu tej odpowiedniej. Można je bardzo fajnie łączyć z pętlami, aż do wykonania określonego zachowania. Programując rozbudowane aplikacje jak https://craftware.pl należy znać więcej niż tylko instrukcje warunkowe, gdyż zaawansowany poziom programowania jest potrzebny do tworzenia bardziej skomplikowanych aplikacji.

    OdpowiedzUsuń
  2. Akurat ja na programowaniu nie bardzo się znam, lecz wiem że wiele programów których używam na pewno było pisanych kawałek czasu. najbardziej odpowiada mi program do systemów magazynowych https://www.connecto.pl/system-magazynowy-ktory-usprawni-twoja-prace-poznaj-wms-magazynier/ gdyż to właśnie dzięki niemu mam możliwość na bieżąco śledzić wszystkie stany magazynowe u mnie w firmie.

    OdpowiedzUsuń
  3. Jeśli uczymy się programowania to na pewno takie ćwiczenia będą bardzo pomocne. Z tego co mi wiadomo to również bazy danych szeroko wykorzystuje się przy budowaniu stron www. Ja również jakiś czas temu czytałem na stronie https://ibytow.pl/pl/651_materialy_partnera/2948_strona-internetowa--kluczowy-element-budowania-wizerunku-w-sieci.html że właśnie posiadanie strony internetowej to dobry ruch wizerunkowy.

    OdpowiedzUsuń

Witaj na mrafpl.blogspot.com. Zachęcam Cię do śledzenia najnowszych treści na temat gier Wargaming.net!