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