Predavanja i vežbe iz računarstva i informatike za učenike gimnazije

Računarstvo i informatika za učenike gimnazije

1. Razred

2. Razred

3. Razred

4. Razred

 

 

Logički tip

 



 

Logički tip podataka u Paskalu deklarišemo na sledeći način:

Var b : boolean;

Ovako deklarisana promenljiva može imati dve različite vrednosti : true ili false  (tačno ili netačno). Promenljive tipa boolean obično se koriste kao indikatori (za neki događaj ili za pripadnost nekog elementa nekom skupu). 


Primer:

Program skup;

var b : boolean;

      x : real; 

Begin

  read(x);

  if x>4 then b := true

            else b := false; 

end.

Ovaj program za unetu realnu vrednost od strane korisnika proverava da li je ta vrednost veća od 4 i ako jeste dodeljuje promenljivoj b vrednost true, inače promenljivoj b dodeljuje vrednost false.

Ovaj program je mogao da se napiše i mnogo jednostavnije. Naime, svaka operacija poređenja vraća vrednost logičkog tipa pa tako (x>4) je izraz koji ima vrednost true ili false, u zavisnosti od vrednosti koja je u promenljivoj x. Zbog toga je dozvoljena ovakva naredba dodele:

b:= (x>4);

Obratimo sada pažnju na procedure ulaza i izlaza read i write. U Turbo Paskalu zabranjeno je (ne moguće je) dodeljivanje vrednosti promenljivoj logičkog tipa pomoću naredbe read. Dakle read(b) ne smemo pisati ako je b promenljiva logičkog tipa, ali kao što smo već videli promenljivoj bulovog tipa možemo direktno dodeliti vrednost (b:=true) ili joj pak možemo dodeliti vrednost nekog izraza koji vraća vrednost logičkog (bulovog) tipa.

Sa druge strane, iako u dokumentaciji Turbo Paskala piše da ne možemo pozvati proceduru write sa promenljivom logičkog tipa, zapravo možemo !  

 

Primer:

Program ispis;

var b : boolean; 

Begin

    b := true;

    write(b); 

end.

Program ispisuje na monitoru : TRUE

Greške u dokumentaciji za neko razvojno okruženje javljaju se s vremena na vreme, zbog toga je potrebno steći naviku za proveravanjem svih mogućnosti nekog razvojnog okruženja.


Istinitosne tablice i logičke promenljive

Logički izrazi povezuju se logičkim operatorima : not, and, or i (u turbo paskalu) xor.  Logički operatori definisani su tablicama istinitosti koje možete videti ovde.   Logički operatori not, and, or i xor odgovaju sledećim matematičkim operatorima: negacija, konjukcija, disjunkcija i ekskluzivna disjunkcija. 

Primeri: 

Ako želimo da proverimo da li neki realan broj, koji se nalazi u promenljivoj x, pripada intervalu (2,5) logički izraz bismo pisali na sledeći način : (x>2) and (x<5) 

Ako želimo da proverimo da li neki broj pripada nekom od sledećih intervala  (2,3) , (12,34.5) logički izraz bismo pisali na sledeći način : ((x>2) and (x<3)) or ((x>12) and (x<34.5))

a ako želimo da proverimo da li neki broj baš ne pripada nekom od tih intervala logički izraz bismo napisali na primer ovako: not  (((x>2) and (x<3)) or ((x>12) and (x<34.5)))

Za pisanje komplikovanih logičkih izraza posebno su od koristi De morganovi zakoni

Logički tip

 

Logički tip podataka u Paskalu deklarišemo na sledeći način:

Var b : boolean;

Ovako deklarisana promenljiva može imati dve različite vrednosti : true ili false  (tačno ili netačno). Promenljive tipa boolean obično se koriste kao indikatori (za neki događaj ili za pripadnost nekog elementa nekom skupu). 


Primer:

Program skup;

var b : boolean;

      x : real; 

Begin

  read(x);

  if x>4 then b := true

            else b := false; 

end.

Ovaj program za unetu realnu vrednost od strane korisnika proverava da li je ta vrednost veća od 4 i ako jeste dodeljuje promenljivoj b vrednost true, inače promenljivoj b dodeljuje vrednost false.

Ovaj program je mogao da se napiše i mnogo jednostavnije. Naime, svaka operacija poređenja vraća vrednost logičkog tipa pa tako (x>4) je izraz koji ima vrednost true ili false, u zavisnosti od vrednosti koja je u promenljivoj x. Zbog toga je dozvoljena ovakva naredba dodele:

b:= (x>4);

Obratimo sada pažnju na procedure ulaza i izlaza read i write. U Turbo Paskalu zabranjeno je (ne moguće je) dodeljivanje vrednosti promenljivoj logičkog tipa pomoću naredbe read. Dakle read(b) ne smemo pisati ako je b promenljiva logičkog tipa, ali kao što smo već videli promenljivoj bulovog tipa možemo direktno dodeliti vrednost (b:=true) ili joj pak možemo dodeliti vrednost nekog izraza koji vraća vrednost logičkog (bulovog) tipa.

Sa druge strane, iako u dokumentaciji Turbo Paskala piše da ne možemo pozvati proceduru write sa promenljivom logičkog tipa, zapravo možemo !  

 

Primer:

Program ispis;

var b : boolean; 

Begin

    b := true;

    write(b); 

end.

Program ispisuje na monitoru : TRUE

Greške u dokumentaciji za neko razvojno okruženje javljaju se s vremena na vreme, zbog toga je potrebno steći naviku za proveravanjem svih mogućnosti nekog razvojnog okruženja.


Istinitosne tablice i logičke promenljive

Logički izrazi povezuju se logičkim operatorima : not, and, or i (u turbo paskalu) xor.  Logički operatori definisani su tablicama istinitosti koje možete videti ovde.   Logički operatori not, and, or i xor odgovaju sledećim matematičkim operatorima: negacija, konjukcija, disjunkcija i ekskluzivna disjunkcija. 

Primeri: 

Ako želimo da proverimo da li neki realan broj, koji se nalazi u promenljivoj x, pripada intervalu (2,5) logički izraz bismo pisali na sledeći način : (x>2) and (x<5) 

Ako želimo da proverimo da li neki broj pripada nekom od sledećih intervala  (2,3) , (12,34.5) logički izraz bismo pisali na sledeći način : ((x>2) and (x<3)) or ((x>12) and (x<34.5))

a ako želimo da proverimo da li neki broj baš ne pripada nekom od tih intervala logički izraz bismo napisali na primer ovako: not  (((x>2) and (x<3)) or ((x>12) and (x<34.5)))

Za pisanje komplikovanih logičkih izraza posebno su od koristi De morganovi zakoni

 



 

 

© 2009 Dragoljub Perišić 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



 

 

 

©2017 Dragoljub Perišić