Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
BulgaraCeha slovacaCroataEnglezaEstonaFinlandezaFranceza
GermanaItalianaLetonaLituanianaMaghiaraOlandezaPoloneza
SarbaSlovenaSpaniolaSuedezaTurcaUcraineana

įstatymaiįvairiųApskaitosArchitektūraBiografijaBiologijaBotanikaChemija
EkologijaEkonomikaElektraFinansaiFizinisGeografijaIstorijaKarjeros
KompiuteriaiKultūraLiteratūraMatematikaMedicinaPolitikaPrekybaPsichologija
ReceptusSociologijaTechnikaTeisėTurizmasValdymasšvietimas

Loginiai duomenys

kompiuteriai



+ Font mai mare | - Font mai mic



DOCUMENTE SIMILARE

Loginiai duomenys

Programuojant operuojama ne tik sveikųjų bei realiųjų skaičių, bet ir loginio tipo duomenimis. Loginiai kintamieji gali įgyti tik dvi reikšmes: true (teisinga) ir false (neteisinga). Su jais galima atlikti logines operacijas: neigimą (inversiją), sudėtį (disjunkciją) ir daugybą (konjunkciją).

Sveikųjų ir realiųjų skaičių tipai mums gerai pažįstami iš mokyklinio matematikos kurso. Kita ne mažiau svarbi duomenų rūšis programuojant yra loginiai duomenys. Loginis duomuo turi tik dvi reikšmes: “teisinga” ir “neteisinga”. Paskalio kalboje jos žymimos vardais:



true - teisinga
false - neteisinga.

Loginius duomenis, kaip ir skaičius, galima vartoti rašymo sakiniuose, su jais galima atlikti logines operacijas, jų reikšmes galima priskirti loginiams kintamiesiems. Kintamieji, galintys įgyti logines reikšmes, aprašuose žymimi žodžiu boolean. Pavyzdžiui, aprašu: var x, log : boolean; pasakome, kad kintamieji x ir log gali įgyti tik logines reikšmes. Taigi galime rašyti tokius priskyrimo sakinius:
x := false;
log := x;
log := true;
Paskalio kalboje su loginėmis reikšmėmis atliekamos trys pagrindinės operacijos: loginis neigimas - inversija, loginė sudėtis - disjunkcija ir loginė daugyba - konjunkcija.
Aptarsime kiekvieną operaciją atskirai.
Inversijos operacija labai paprasta: ją atlikus, esama loginė reikšmė pakeičiama priešinga. Ji žymima sutartiniu žodžiu not (“ne”) ir paprastai vadinama lietuviškai - neigimu.
Neigimas (inversija)

x

not  x

false

true

true

false

Konjunkcija - tai labai svarbi loginė operacija, kuri reikalinga norint sujungti du teiginius. Šnekamojoje kalboje tai dažniausiai atliekama vartojant jungtuką “ir”. Pavyzdžiui, du teiginius

“Nuėjau į biblioteką”;
“Pasiėmiau knygą”;

galima sujungti į vieną šitaip:

“Nuėjau į biblioteką ir pasiėmiau knygą”.

Naujas sudėtinis sakinys bus teisingas tik tada, kai teisingi abu jį sudarantys teiginiai. Visais kitais atvejais jis klaidingas. Programavime teiginių sujungimo jungtuku “ir” operacija vadinama konjunkcija ir žymima sutartiniu žodžiu and (“ir”).

Visos galimos šios operacijos reikšmės pateiktos 3 lentelėje.
3 lentelė.   Konjunkcija

x

y

x  and   y

false

false

false

false

true

false

true

false

false

true

true

true

Konjunkcijos reikšmė lygi true tiktai tuo atveju, kai abiejų argumentų reikšmės yra true. Visais kitais atvejais konjunkcijos reikšmė yra false.  
Disjunkcijos operacija atlieka loginės sudėties vaidmenį. Šnekamojoje kalboje teiginiai panašiai jungiami jungtuku “arba”. Pavyzdžiui, teiginys

“Eisiu į parodą arba į kiną”;

sudarytas iš dviejų teiginių:

“Eisiu į parodą”;
“Eisiu į kiną”;

sujungtų jungtuku “arba”. Teiginys bus teisingas, jeigu nueisiu į parodą arba jeigu nueisiu į kiną. Teisingas jis bus ir tuomet, kai abu teiginiai teisingi - nueisiu ir į parodą, ir į kiną. Teiginys bus klaidingas vieninteliu atveju - kai nenueisiu nei į parodą, nei į kiną.
Programavime teiginių sujungimo jungtuku “arba” operacija vadinama disjunkcija ir žymima sutartiniu žodžiu or (“arba”).

Visos galimos šios operacijos reikšmės pateiktos 4 lentelėje.
4 lentelė.   Disjunkcija

x

y

x  or   y

false

false

false

false

true

true

true

false

true

true

true

true

Disjunkcijos reikšmė lygi false tiktai tuo atveju, kai abiejų argumentų reikšmės yra false. Visais kitais atvejais disjunkcijos reikšmė yra true.
Iš loginių reikšmių, kintamųjų bei operacijų gali būti sudaromi reiškiniai. Loginių operacijų atlikimo tvarką nurodo skliaustai. Kai nėra skliaustų, pirmiausia atliekamas neigimas, paskui konjunkcija, tada - disjunkcija. Pavyzdžiui, reiškinio

a and b or c and d reikšmė skaičiuojama taip, lyg būtų apskliausta šitaip:

(a and b) or (c and d).
Loginės reikšmės gaunamos ne tik atliekant operacijas su kitomis loginėmis reikšmėmis. Jos gali būti ir lyginimo (santykio) operacijų su skaičiais rezultatas (5 lentelė). Jeigu dviejų skaičių lyginimo sąlyga tenkinama, tai lyginimo operacijos rezultatas yra true, jei ne - false.
Pateikiame tokių operacijų ir jų rezultatų pavyzdžių:

true

1989 <= 2000

true

15 <> 15

false

-15 < 3

true

15 < 15 

false

-15 <  -20

false

15 <= 15

true

628.0 = 628E2

false

1989 < 2000

true

4.5 <  4.99

true

Lyginti galima ne tik skaičius (konstantas), bet ir kintamųjų bei reiškinių reikšmes.
5 lentelė.   Lyginimo operacijos

  Pavadinimas

Žymėjimas matematikoje

Žymėjimas programavime

  Mažiau

<

<

 Mažiau arba lygu
(ne daugiau)

<=

 Daugiau

>

>

 Daugiau arba lygu
(ne mažiau)

>=

 Lygu

 Nelygu

<>

Tame pačiame reiškinyje gali buti įvairių operacijų: aritmetinių, loginių, lyginimo. Todėl reikia susitarti, kokia tvarka atlikti operacijas - nustatyti operacijų prioritetą. Paskalio kalboje operacijos atliekamos šitokia tvarka (keturios prioriteto grupės):

6 lentelė.   Operacijų prioritetas

 Prioriteto grupė

 Operacijos

not

div

mod

and

or

<

<=

>

>=

<>

Operacijos not prioritetas aukščiausias ir ji atliekama pirmiausia, o lyginimo operacijų prioritetas žemiausias ir todėl jos atliekamos paskiausiai. 1 pavyzdys.  Sudarysime loginį reiškinį, kurio reikšmė būtų true, jeigu x patenka į intervalą [a; b], arba false, jeigu nepatenka:

    log := (a <= x) and (x <= b)

Matematikoje tokia sąlyga užrašoma paprasčiau: a x b. Programavime bet kurios lyginimo operacijos  a <= x  rezultatas būtų loginė reikšmė (true arba false) ir tada jos nebegalima lyginti su skaičiumi b. Todėl tenka šią sąlygą išskaidyti į dvi paprastesnes ir jas sujungti konjunkcijos operacija.

2 pavyzdys.  Matematikams gerai žinomas Karaliaučiaus tiltų uždavinys. Apie 1700 metus per Karaliaučių tekanti Priegliaus upė dalijo jį į keturias atskiras dalis (A, B, K ir D), sujungtas septyniais tiltais (pav. apačioje)

Karaliaučiaus tiltai.

Sakoma, kad miesto gyventojai norėję rasti tokį pasivaikščiojimo maršrutą, kuriuo būtų galima apeiti miestą, pereinant visus tiltus tik po vieną kartą, ir sugrįžti į tą vietą, iš kur prasidėjo kelionė. Tai neišsprendžiamas uždavinys. (Pamėginkite paaiškinti, kodėl.)
Mes išspręskime kitokį uždavinį. Pažymėję tiltus raidėmis, sudarykime loginį reiškinį, kuris parodytų, kaip iš vieno kranto (K) patekti į kitą (D), aplankant abi salas.
Galimi keturi trumpiausi keliavimo būdai:

1)  a  and  e  and  g  

3)   f  and  e  and  b

2)  c  and  e  and  g

4)   f  and  and  d

Juos galime užrašyri vienu ilgu loginiu reiškiniu:

a and e and g or c and e and g or f and e and b or f and e and d

Skliaustai nebūtini, nes konjunkcija atliekama pirmiau už disjunkciją.

Mes sužinojome:

    loginis kintamasis

    false

    inversija

    true

    konjunkcija

    boolean

    disjunkcija

    and

    lyginimo operacijos

    or

    operacijų prioritetas

    not

program salyga;
var
age : integer;
begin
write('Pasakyk kiek Tau metu?');
readln(age);
if age > 18 then
writeln('Tu gali ieiti');
else
writeln('Eik namo!');
writeln('Tai galutinis sprendimas');
readln;
end.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 742
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved