Skocz do zawartości

3. Operatory i instrukcje warunkowe.


# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Tego jest wszędzie pełno. To występuje w każdym innym języku programowania. Operatory, instrukcje warunkowe i zmienne, które już wcześniej omówiliśmy to podstawa programowania. Jeśli czegoś nie zrozumiecie to można zajrzeć do kursu C++, Visual Basic, Delphi, Pascal itd.

 

Pewnie teraz programista zapytał by się czemu w jednej lekcji omawiam dwie odrębne rzeczy. Co mają operatory do instrukcji warunkowych. No właściwie nic :P. Wiec dlaczego je połączyłem? A dlatego, że łatwiej wytłumaczyć jedno posługując się drugim. Zresztą przeczytajcie to zrozumiecie o co mi chodzi.

 

Operatory to inaczej MATMA! Strasznie to brzmi, ale to prawda. Służą one do działaą na zmiennych. Załóżmy, że chcemy zrobić prosty kalkulator, ale nie wiemy jak zrobić żeby program dodawał, odejmował, mnożył bądź dzielił. Od tego właśnie mamy operatory. Są ich 3 rodzaje do wyżej podanego przykładu przydadzą nam się pierwszy z nich czyli:

 

*operatory arytmetyczne (czysta matma z podstawówki):

$zmienna1=1
$zmienna2=2

;dodawanie znak +
$zmienna3=$zmienna1 + $zmienna2
;$zmienna3 będzie równa 3

;odejmowanie znak -
$zmienna3=$zmienna1 - $zmienna2
;$zmienna3 będzie równa -1

;mnożenie znak *
$zmienna3=$zmienna1 * $zmienna2
;$zmienna3 będzie równa 2

;dzielenie znak /
$zmienna3=$zmienna1 / $zmienna2
;$zmienna3 będzie równa 0.5
oczywiście nie musimy zapisywać wszystkiego za pomocą zmiennych. Możemy również zrobić tak

$zmienna= 1 + 2
$zmienna= 1 - 2
$zmienna= 1 * 2
$zmienna= 1 / 2

nic prostszego prawda?

 

są jeszcze operatory logiczne i porównania, ale o nich powiemy sobie gdy przerobimy instrukcje warunkowe.

 

Instrukcje warunkowe sprawdzają nam różne rzeczy. Ciężko mi to wytłumaczyć. Najlepiej podam przykład. Wyobraźmy sobie że piszemy program w którym ma wyskoczyć okienko (Msgbox) i zapytać użytkownika czy podoba mu się nasz program. Jeśli wciśnie tak to program ma mu podziękować za ocenę, a jeśli nie to ma mu napisać, żeby spadał i się wyłączyć. Bez instrukcji warunkowej się tu nie obejdzie. Instrukcja warunkowa to właśnie "Jeśli.... to zrób....". Inaczej wytłumaczyć nie umiem. Jeżeli nie rozumiecie dalej to polecam zajrzeć do innych kursów. Do instrukcji warunkowych używamy dwóch pozostałych typów operatorów. Zaczniemy od operatorów porównania:

;instrukcja warunkowa z operatorem porównania = lub == jak kto woli
$zmienna=2
If $zmienna==2 Then
   MsgBox(0,"Wynik","$zmienna jest równa 2")
EndIf
Popatrzmy na przykład powyżej. Użyłem najprostszej instrukcji warunkowej If...Then.

W pierwszej linijce deklaruje zmienną równą 2

W drugiej linijce tworzę instrukcje warunkową. Można to przetłumaczyć tak: "Jeżeli $zmienna jest równa 2 to zrób...

w trzeciej linijce piszę co ma zrobić program gdy zmienna będzie równa 2 czyli tworze msgbox

w czwartej linijce koączę instrukcje warunkową słowami EndIf

Sprawdźcie co będzie efektem działania tego programu. Jak zapewne się domyślacie wyskoczy okienko z napisem "$zmienna jest równa 2".

A co stanie się gdy napiszemy

$zmienna=2
If $zmienna==3 Then
   MsgBox(0,"Wynik","$zmienna jest równa 3")
EndIf
Powiem wam co się stanie: NIC! Instrukcja nie wykona się ponieważ zmienna nie jest równa 3 tylko 2. Program uruchomi się na ułamek sek po czym zamknie się.

Przedstawię wam teraz wszystkie operatory porównania:

< -sprawdza czy jedno jest mniejsze od drugiego

<= -sprawdza czy jedno jest mniejsze bądź równe drugiemu

> -sprawdza czy jedno jest większe od drugiego

>= -sprawdza czy jedno jest większe bądź równe drugiemu

== lub = -sprawdza czy jedno jest równe drugiemu

<> -sprawdza czy jedno jest różne(nie jest równe) od drugiego

Teraz operatory logiczne

OR -suma logiczna (to można tłumaczyć jak słowo "lub")

AND -różnica logiczna (to można tłumaczyć jak słowo "i")

NOT -negacja (to można tłumaczyć jak słowo "nie")

& -łącznik ciągów znaków(ten operator poznaliśmy już wcześniej

 

Pewnie nie rozumiecie o co chodzi z operatorami logicznymi więc pokaże przykład:

$zmienna=2
If $zmienna=2 OR $zmienna=3 Then
   MsgBox(0,"Wynik","$zmienna jest równa 2 lub 3")
EndIf
Dla niepewnych przetłumaczę: "Jeśli $zmienna jest równa 2 lub 3 to zrób MsgBox(0,"Wynik","$zmienna jest równa 2 lub 3")"

 

NO TO OPERATORY MAMY ZA SOBĄ jednak instrukcje warunkowe są jeszcze dwie. Oto pierwsza z nich:

If argumenty Then
...instrukcje...
ElseIf argumenty Then
...instrukcje...
ElseIf argumenty Then
...instrukcje...
Else
...instrukcje...
EndIf

lub

If argumenty Then
...instrukcje...
Else
...instrukcje...
EndIf

to jest rozwinięta wersja instrukcji warunkowej wytłumaczę o co chodzi. Najpierw program sprawdza czy zmienna pasuje do argumentów If jeśli nie to wtedy sprawdza po kolei argumenty ElseIf jeśli nadal nie pasuje to wtedy wykonuje instrukcje Else. Jeśli nie rozumiecie zajrzyjcie do innych kursów tam są identyczne instrukcje warunkowe. Może tam lepiej wytłumaczą bo ja lepiej nie potrafię. Teraz przykład:

 

$var=0
If $var > 0 Then
    MsgBox(4096,"", "$var jest liczbą dodatnią.")
ElseIf $var < 0 Then
    MsgBox(4096,"", "$var jest liczbą ujemną")
Else
    MsgBox(4096,"", "$var nie jest liczbą bądź jest równy 0")
EndIf

Podstawiajcie sobie pod zmienną $var różne cyfry (także ujemne) i sprawdzajcie wyniki. Wierze, że zrozumiecie różnice między If...Then, a If...ElseIf...Else.

 

Jest jeszcze jedna instrukcja warunkowa właściwie identyczna z If...ElseIf...Else. Różnie się od niej tylko składnią i jest czytelniejszy gdy chcemy sprawdzić więcej argumentów, a działa tak samo. Jeśli się mylę to proszę mnie poprawić. Nazywa się Select...Case...EndSelect

Select
    Case argumenty
        ...instrukcje...
    Case argumenty
        ...instrukcje...
    Case argumenty
        ...instrukcje...
    Case argumenty
        ...instrukcje...
    Case argumenty
        ...instrukcje...
    Case Else
        ...instrukcje...
EndSelect
To już powinniście zrozumieć od razu, bo na pierwszy rzut oka widać podobieąstwo z If...ElseIf...Else wiec nie będę tego tłumaczył.

 

Po tej lekcji powinieneś wiedzieć:

- Operatory: Co to jest, na ile i jakie grupy się dzieli, gdzie ich się używa

- Instrukcje warunkowe: Co to jest, ile ich jest i jak się je używa

 

Zadanie (trudne):

Napisz program z jedną zmienną w której należy podać swój wiek. Program ma sprawdzać (według tej zmiennej) czy mam więcej niż:
10 lat
20 lat
30 lat
40 lat
50 lat
60 lat
i wyświetlać mi wiadomość o treści "Masz więcej niż .. lat"  w wyskakującym okienku.

Zadanie ma w sobie taki mały haczyk. Programista zauważy go na pewno. Ciekawe czy dacie sobie z nim radę. Zadanie wymaga użycia instrukcji warunkowych, operatorów z (podpowiedź) dwóch grup.

 

Pozdrawiam,

Yubasek.

Odnośnik do komentarza

Wcale nie było trudnee :P Podpowiedź dużo dała

 

 

 

 

$1=27

 
Select
 
Case 19>=$1 And $1>10
MsgBox (4096,"Wynik Wieku","Masz więcej niż 10 lat",5)
Case 29>=$1 And $1>20
MsgBox (4096,"Wynik Wieku","Masz więcej niż 20 lat",5)
Case 39>=$1 And $1>30
MsgBox (4096,"Wynik Wieku","Masz więcej niż 30 lat",5)
Case Else 
MsgBox (4096,"Wynik Wieku","Jesteś Stary",5)
 
EndSelect

 

 

Odnośnik do komentarza

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności