Ver. 1.0 Beta, Nie masz kompilatora? Teraz możesz pisać skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich poleceń Pascala. Służy do nauki podstaw

Złożone warunki  i operatory logiczne


Dwa powyżej opisane przykłady demonstrowały proste warunki. Program sprawdzał tylko jedno wyrażenie. Jeśli chcesz używać ich więcej musisz je połączyć w zdanie logiczne i wpisać je w nawiasy. Np. jeśli chcesz żeby do programu mieli tylko dostęp użytkownicy którzy podadzą prawidłowo tajne hasło i są powyżej 18 roku życia, możesz zapisać:


if (wiek>=18) and (wpisane_haslo = prawidlowe_haslo) then
 begin
   {program główny}
 end else
   WriteLn(‘ACCESS DENIED’);

Teraz krótkie objaśnienie. Jeśli zamierzasz sprawdzić więcej niż 1 warunek podaj je w nawiasach. Wtedy komputer będzie w stanie je rozdzielić, sprawdzić każdy z warunków z osobna i jeśli obydwa są spełnione wykonać kod wewnętrzny. Między warunkami wystąpiło słowo AND, z angielskiego „i”. Znaczy to że wnętrze programu wykona się tylko po spełnieniu obydwu warunków. Możesz także korzystać ze słowa OR (lub). Wtedy wystarczy by jeden warunek był spełniony aby wykonać program. Może także zaistnieć potrzeba użycia słowa NOT (nie), które spowoduje że gdy warunek jest niespełniony program przejdzie do głównej części. Słowo nie wstawia się przed warunkiem. Czas na przykłady:


if not ((wiek>=18) and (wpisane_haslo=prawidlowe_haslo)) then
 begin
   WriteLn(‘ACCESS DENIED’);
   Halt;
 end;
 {Program główny}

Program ten troszkę przypomina poprzedni i w rzeczywistości z punktu widzenia użytkownika niczym się nie różni. Jeśli użytkownik nie ma 18 lat i nie wpisze prawidłowego hasła program wyświetli ACCES DENIED i się wyłączy. W przeciwnym razie wykona się program za warunkiem.


Może zajść potrzeba wykonania programu przechodzącego do kolejnego etapu gdy użytkownik w grze zdobył 100 punktów lub przejechał samochodem wyścigowym 10 000 m. Zapiszemy ten warunek tak:


if (punktow>=100) or (dystans>=10000) then
 begin
  {Zapisanie wygranej}
  {Wyjście z czesci programu, ktora sie ciagle powtarza (pętli)}
  Break;
 end;
 {Dalszy ciąg gry…}

Warunki można także doklejać, bardziej komplikować, dzięki czemu dostosujesz je do swoich potrzeb, wystarczy tylko troszkę pomyśleć i zastanowić się nad tym co chcesz osiągnąć. Pamiętaj, że nawiasami precyzujesz kolejność wykonywania działań. Nawet przy sprawdzaniu warunków.



Wskazówka…

Aby Twój program działał sprawniej podczas korzystania z operacji AND na początku umieszczaj warunki, które najczęściej powodują ich niespełnienie. Gdy jeden warunek zostanie niespełniony, komputer nie będzie sprawdzał drugiego, bo nie ma to już sensu. Tak więc zyskasz na czasie sprawdzenie drugiego warunku. Z tego wynika, że na początku dobrze jest umieszczać także warunki, których sprawdzenie potrwa bardzo szybko, np. porównywanie liczb, a na końcu wolne, np. porównywanie słów. Analogicznie pomyśl jak mógłbyś przyśpieszyć operację OR…



Komputer sprawdzając warunki bada każdy z nawiasów i nadaje mu wartość True – jeśli jest spełniony lub False jeśli nie. Wynika z tego, że jeśli jakaś zmienna lub funkcja jest typu Boolean (typ True, False) nie trzeba jej porównywać, pisząc np.


  if zmienna=true then ...


Wystarczy wpisać: (tylko dla zmiennych BOOLEAN)


  if zmienna then ...

Zaoszczędzi to czasu Tobie, a procesor nie będzie musiał sprawdzać kolejnego warunku.

Strona korzysta z plików cookie w celu świadczenia usług Google (reklamy, statytyki) oraz Facebook. Jeśli chcesz zablokować pliki cookies wyłacz je w swojej przeglądarce. Potrzebujesz pomocy? kliknij