Loginiai patikrinimo operatoriai
Apie loginius patikrinimo operatorius
Loginiai operatoriai naudojami norint patikrinti kelias sąlygas vienu metu (o ne iš eilės kaip tai vyktų su else if
). Pavyzdžiui:
- Ar vartotojas prisijungęs IR ar vartotojas turi atitinkamą rolę?
- Ar failas egzistuoja failų sistemoje ARBA yra nustatytas atsarginis failas?
- Ar studentas turi užtektinai pinigų ant bilieto IR turi galiojantį LSP?
- Ar skaičius patenka į rėžius (yra didesnis už pradžią IR yra mažesnis už pabaigą)?
- Ar prie produkto yra įrašyta kaina ARBA produktas pažymėtas kaip nemokamas?
- ...
Sintaksė naudojant loginius patikrinimo operatorius
- sąlyga - bet kokia sąlyga, kuri grąžina
true
arba false
atsakymą. Pavyzdžius: 4 > 2
, gražina true
atsakymą. - operatorius - iš anksto numatytas operatorius, leidžiantis apjungti kelias sąlygas norimu būdu.
Galima apjungti ir daugiau sąlygų:
Taip pat, galima su skliaustais nurodyti prioritetus apjungiant sąlygas:
Pirma bus patikrintos sąlygos, esančios tarp skliaustų, o vėliau likusi dalis.
Loginiai operatoriai
Operatorius | Pavadinimas | Pavyzdys | Apibūdinimas |
&& | ir | x && y | grąžins true jei x ir y bus teisingi |
|| | arba | x || y | grąžins true jei x arba y bus teisingas |
! | ne | !x | grąžins true jei x nėra true |
Operatorius &&
(ir)
false && false = false
false && true = false
true && false = false
true && true = true
X | Y | X and Y |
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Operatorius ||
(arba)
false || false = false
false || true = true
true || false = true
true || true = true
X | Y | X or Y |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Operatorius !
(ne)
!true = false
!false = true
Pasitikrinkite
Kaip manote, kam bus lygios (true
/ false
) tokios sąlygos?
(10 > 9) && (9 > 10) = ???
(10 > 9) || (9 > 10) = ???
!true = ???
(10 > 9) && (!(9 > 10)) = ???
Kam bus lygus (10 > 9) && (9 > 10)
?
(10 > 9)
bus true
, todėl: true && (9 > 10)
(9 > 10)
bus false
, todėl: true && false
- Naudojant operatorių
&&
visos sąlygos dalys turi būti true
, kad visa sąlyga būtų true
, todėl galutinis rezultatas: false
Apibendrinus: (10 > 9) && (9 > 10) = false
Kam bus lygus (10 > 9) || (9 > 10)
?
(10 > 9)
bus true
, todėl: true || (9 > 10)
(9 > 10)
bus false
, todėl: true || false
- Naudojant operatorių
||
bent viena sąlygos dalis turi būti true
, kad visa sąlyga būtų true
, todėl galutinis rezultatas: true
Apibendrinus: (10 > 9) || (9 > 10) = true
Kam bus lygus !true
?
!
dalis reiškia priešingą veiksmą, todėl !true
keičiasi į tiesiog false
Apibendrinus: !true = false
Kam bus lygus (10 > 9) && (!(9 > 10))
?
(10 > 9)
bus true
, todėl: true && (!(9 > 10))
(9 > 10)
bus false
, todėl: true && (!false)
(!false)
dalis verčiasi į priešingą jai, t. y. į true
, todėl: true && true
- Naudojant operatorių
&&
visos sąlygos dalys turi būti true
, kad visa sąlyga būtų true
, todėl galutinis rezultatas: true
Apibendrinus: (10 > 9) && (!(9 > 10)) = true
Pavyzdžiai
Pavyzdys 1
Kodas:
Rezultatai:
Pavyzdys 2
Kodas:
Rezultatas 1:
Rezultatas 2:
Pavyzdys 3
Kodas:
Rezultatas 1:
Rezultatas 2:
Rezultatas 3:
Pavyzdys 4
Kodas:
Rezultatas 1:
Rezultatas 2:
Rezultatas 3:
Pavyzdys 5
Kodas:
Rezultatas 1:
Rezultatas 2:
Rezultatas 3:
Pavyzdys 6
Kodas:
Rezultatai:
Pavyzdys 7
Kodas:
Rezultatai:
Pavyzdys 8
Kodas:
Rezultatai:
Pavyzdys 9
Kodas:
Rezultatai:
Pavyzdys 10
Kodas:
Rezultatai:
Pavyzdys 11
Kodas:
Rezultatai:
Pavyzdys 12
Kodas:
Rezultatai:
Pavyzdys 13
Kodas:
Rezultatai:
Pavyzdys 14
Kodas:
Rezultatas 1:
Rezultatas 2:
Rezultatas 3:
Užduotys
Užduotis 1
Susikurkite du kintamuosius rėžių pradžiai ir pabaigai saugoti. Liepkite vartotojui įvesti skaičių. Patikrinkite ar skaičius patenka į nurodytus rėžius.
Užduotis 2
Liepkite vartotojui įvesti bet kokį teigiamą skaičių. Patikrinkite ar skaičius yra teigiamas (didesnis už nulį) ir ar yra lyginis (dalinasi iš 2).
Užduotis 3
Liepkite vartotojui įvesti bet kokį skaičių. Patikrinkite ar skaičius dalinasi iš 2 arba 5 arba 7.
Užduotis 4
Liepkite vartotojui įvesti tris skaičius. Raskite kuris iš šių skaičių yra didžiausias.
Užduotis 5
Liepkite vartotojui įvesti tris skaičius. Raskite kuris iš šių skaičių yra mažiausias.
Užduotis 6
Liepkite vartotojui įvesti trijų egzaminų rezultatus. Suraskite pažymių vidurkį. Atlikite šiuos patikrinimus:
- ar gautas vidurkis yra [8-10];
- ar gautas vidurkis yra [5-8);
- ar gautas vidurkis yra < 5.
Užduotis 7
Liepkite įvesti du skaičius. Patikrinkite, naudojant 4 atskiras if sąlygas:
- ar pirmas skaičius yra didesnis už antrąjį, arba yra lygus 0;
- ar antras skaičius yra didesnis už pirmąjį, arba yra lygus 5;
- ar pirmas skaičius yra didesnis už antrąjį ir yra lygus 20;
- ar antras skaičius yra didesnis už pirmąjį ir yra mažesnis už 100;