Logické výrazy a logické operace. Booleovské (pravda a nepravda) hodnoty v Perlu Co znamená pravda a nepravda

Aby byl program nelineární (tj. v závislosti na situaci, různé pokyny) programovací jazyky používají logické výrazy, jejichž výsledek může být buď true (true) nebo false (false). Výsledek logických výrazů se obvykle používá k určení cesty provádění programu.

Jednoduché logické výrazy jsou výsledkem relačních operací mezi dvěma operandy (hodnotami). V příkladech níže jsou operandy hodnoty proměnných x a y. Operandy mohou být čísla, znaky nebo jiné datové typy. Vše, co se dá mezi sebou porovnávat. Porovnávat reálná čísla se však nedoporučuje vzhledem k charakteru jejich uložení v paměti počítače.

Pascal poskytuje následující relační operátory:

  • méně než: x< y
  • větší: x > y
  • rovná se: x = y
  • nerovná se: x<>y
  • menší nebo rovno: x<= y
  • větší nebo rovno: x >= y

Booleovské typy

Výsledkem logického výrazu je vždy booleovská (logická) hodnota. Datový typ Boolean může nabývat pouze dvou hodnot (true nebo false). Tyto hodnoty jsou seřazeny následovně: false< true. Это значит, что данные булевого типа являются не только результатом операций отношения, но и могут выступать в роли операндов операции отношения. Также к ним можно применять функции ord, succ, pred, процедуры inc и dec.

Booleovská hodnota zabírá v paměti 1 bajt.

V příkladu jsou šesti booleovským proměnným přiřazeny hodnoty jednoduchých booleovských výrazů. Hodnoty uložené v těchto proměnných se pak zobrazí na obrazovce.

Kromě typu boolean představil Pascal další tři booleovské typy - bytebool (zabírá 1 bajt), wordbool (zabírá 2 bajty) a longbool (zabírá 4 bajty).
Pro všechny booleovské typy je false 0 a true je jakákoli nenulová hodnota. Booleovské proměnné patřící k různým booleovským typům se chovají odlišně, když jsou s nimi prováděny operace. Níže je uveden příklad implementovaný ve FreePascal (výsledek se zobrazí v komentářích).

var b: boolean ; wb: wordbool; begin b: = false ; b: = před(b) ; writeln(b, "", ord(b)); // TRUE 255 writeln (b= true ) ; // TRUE wb: = false ; wb:=pred(wb); writeln(wb, " ", ord(wb)); // TRUE -1 b: = true ; b:=succ(b) ; writeln(b, "", ord(b)); // TRUE 2 wb: = true ; wb:=succ(wb); writeln(wb, " ", ord(wb)); // FALSE 0 konec .

Logické operace

K vytvoření složitých logických výrazů můžete použít logické operátory. Logické operátory se často používají ve vztahu k jednoduchým booleovským výrazům.

Programovací jazyk Pascal poskytuje následující logické operace:

true xor true = nepravda
pravda nebo nepravda = pravda
nepravda nebo pravda = pravda
false xor false = false

  • Konjunkce (logické násobení, průnik) - a. Výraz aab se vyhodnotí jako pravdivý pouze v případě, že aab jsou pravdivé. Ve všech ostatních případech je hodnota výrazu aab nepravdivá.

    pravda a pravda = pravda pravda a nepravda = nepravda nepravda a pravda = nepravda nepravda a nepravda = nepravda

  • Disjunkce (logické sčítání, sjednocení) – popř. Výraz a nebo b se vyhodnotí jako nepravda, pouze pokud jsou a a b vyhodnoceny jako nepravda. Ve všech ostatních případech je výsledek pravdivý.

    pravda nebo pravda = pravda pravda nebo nepravda = pravda nepravda nebo pravda = pravda nepravda nebo nepravda = nepravda

  • Negace (inverze) – ne. Výraz ne a má opačný význam než a.

    nepravda = nepravda nepravda = pravda

  • Exkluzivní OR – xor. Výraz a xor b se vyhodnotí jako pravdivý, pouze pokud je pouze jeden z jeho operandů vyhodnocen jako pravdivý.

Posloupnost provádění logických operátorů: not, and, or.

V Pascalu jsou první kroky logické operátory(a, nebo, xor, ne), a teprve potom relační operátory (>, >=,<, <=, <>, =), takže nezapomeňte umístit závorky do složitých logických výrazů.

Složité booleovské výrazy nemusí být zpracovány úplně, pokud pokračující vyhodnocování nezmění výsledek. Pokud musí být booleovský výraz zpracován až do konce, je to zajištěno zahrnutím direktivy kompilace (B+).

Standardní booleovské funkce

  • odd(x) = true, pokud x je liché (x je celočíselný typ);
  • eoln(x) = true, pokud je zjištěn konec řádku textového souboru x;
  • eof(x) = true, pokud je zjištěn konec souboru x.

V ostatních případech mají tyto funkce hodnotu false.

Perl nemá speciální booleovský typ, ale dokumentace často uvádí, že funkce vrací "booleovskou" hodnotu. Někdy je jednoduše napsáno, že funkce vrací true nebo false.

Kde je tedy pravda?

V Perlu není žádný speciální booleovský typ, ale jakákoli skalární hodnota při testování -li vrátí true nebo false. Takže můžete psát

If ($x eq "foo") ( )

Pokud ($x) ( )

první výraz kontroluje, zda se obsah proměnné shoduje x $ s řetězcem "foo" a druhý zkontroluje, zda je samotná hodnota $x pravdivá.

Jaké hodnoty jsou v Perlu považovány za pravdivé nebo nepravdivé?

Je to docela jednoduché. Podívejme se na dokumentaci:

Číslo 0, řetězce "0" a "", prázdný seznam "()" a "undef" jsou v booleovském kontextu považovány za nepravdivé. Všechny ostatní hodnoty jsou považovány za pravdivé. Negovat pravý význam pomocí "!" nebo "not" vrátí speciální false hodnotu. Když je použit jako řetězec, je považován za "", a když je použit jako číslo, je považován za 0.

Z perlsyn, sekce "Pravda a lež".

Následující skalární hodnoty jsou tedy považovány za nepravdivé:

  • undef - nedefinovaná hodnota
  • 0 je číslo 0, i když jej napíšete jako 000 nebo 0,0
  • "" prázdný řádek.
  • "0" je řetězec obsahující jediné číslo 0.

Všechny ostatní skalární hodnoty jsou pravdivé, včetně těchto:

  • 1 libovolné číslo jiné než nula
  • " " řetězec s jednou nebo více mezerami
  • "00" dvě nebo více 0 v řádku
  • "0\n" 0 a posun řádku
  • "skutečný"
  • "false" ano, dokonce i řetězec "false" je považován za pravdivý.

Myslím, že je to proto, že Larry Wall, tvůrce Perlu, má obecně pozitivní pohled na svět.Zjevně věří, že jen velmi málo věcí na světě je skutečně špatných a falešných a většina z nich je pravdivých.

Nepravda, a. 1. Vyslovování nepravdy; neuvěřitelný; dán klamu; misnest; jako falešný svědek.... Collaborative International Dictionary of English

Nepravdivé- adj 1: není pravý, autentický nebo legitimní porovnat padělek 2 a: není pravdivý nebo správný; esp: úmyslně nebo vědomě nepravdivý nebo nesprávně zraněný falešným obviněním b: záměr uvést v omyl nebo klamat: oklamat … Slovník práva

Nepravdivé- W3S3 adj ▬▬▬▬▬▬▬ 1¦(nepravda)¦ 2¦(špatně)¦ 3¦(neskutečné)¦ 4¦(neupřímné)¦ 5 falešná hospodárnost 6 pod falešnou záminkou 7 falešný pohyb/krok 8 nepravda uvěznění/zatčení ▬▬▬▬▬▬▬ adj. nepravdivý, nepravdivý 1. nepravdivý; omylem; nesprávný; pomýlený 2. nepravdivý; ležící; nečestný 3. neloajální; nevěrný přídavné jméno ** 1.) nepravda: Zpráva byla zamítnuta jako zcela nepravdivá. nepravdivé prohlášení/tvrzení/obvinění ─ naproti PRAVDIVÉ 2.) vytvořené tak, aby vypadalo jako něco skutečného: UMĚLÉ: umělé řasy a) nejsou skutečné a určené k oklamání lidí: a… … Použití slov a frází v moderní angličtině

Nepravdivé- přídavné jméno 1. není pravdivé nebo skutečné, ale má vypadat jako skutečné, aby podvedl lidi: falešné a zavádějící reklamy Firmy vydávající falešné certifikáty mohou být předmětem soudních sporů. 2. falešná ekonomika něco, co si... ... Finanční a obchodní podmínky

Tento článek je o unixovém nástroji. Článek o esoterickém programovacím jazyce se nazývá FALSE. false (přeloženo z angličtiny jako „false“) je konzolový příkaz operačních systémů kompatibilních s UNIX, jehož jedinou akcí je vrátit hodnotu 1, ... ... Wikipedia

Nepravdivé- je antonymum přídavného jména true.False je 2. album Gorefestu, False (album). False může také odkazovat se na: * FALSE, esoterický stack orientovaný programovací jazyk * false, také nástroj Unix* Contradiction * Falsity * Lež * Falešná práce,... ... Wikipedie

Nepravdivé- fȯls adj, fals·er; nepravdivé 1) neodpovídající pravdě nebo realitě test na HIV, který poskytl falešné výsledky 2) uměle vyrobené falešné zuby 3) druhu příbuzného nebo podobného jinému druhu, který je usu. určené... ... Lékařským slovníkem

knihy

  • Falešná pochoutka, komedie, Kelly Hugh. Kniha je dotiskem. Navzdory skutečnosti, že bylo vynaloženo velké úsilí na obnovení původní kvality publikace, některé stránky mohou obsahovat...
  • Falešný Dmitrij, ruská romance a tragédie popsaná britskými očitými svědky, 1604-1612, Howe Sonia E. Kniha je reprintem. Navzdory skutečnosti, že bylo vynaloženo velké úsilí na obnovení původní kvality publikace, některé stránky mohou obsahovat...

Pravda-nepravda [͵tru:ʹfɔ:ls] A log.

pravdivý; mít pravdivé hodnoty „pravda“ a „nepravda“

pravdivé-nepravdivé otázky – otázky „ano-ne“.


Nový velký anglicko-ruský slovník. 2001 .

Podívejte se, co je "pravda-nepravda" v jiných slovnících:

    pravda-nepravda- přídavné jméno nabízející řadu výroků, z nichž každý má být posouzen jako pravdivý nebo nepravdivý pravdivý nepravdivý test Ant: výběr z více možností * * * pravda nepravda „TROO FLS“, přídavné jméno. mající co činit nebo obsahující výroky, které musí být označeny buď... ... Užitečný anglický slovník

    pravda-nepravda- přídavné jméno Povolit pouze odpovědi pravdivé nebo nepravdivé. Nějak se mu spletla jedna pravdivá falešná otázka z dvaceti... Wikislovník

    test pravda-nepravda- pravdivý′ nepravdivý′ test č. edu test vyžadující označení výroků jako pravdivé nebo nepravdivé Etymologie: 1920–25 … Od formální angličtiny ke slangu

    test pravda-nepravda- ☆ pravdivý nepravdivý test n. test, který se obvykle zadává ve škole, skládající se ze série výroků, které mají být identifikovány jako „pravdivé“ nebo „nepravdivé“ … anglický světový slovník

    Filmový festival pravda/nepravda- Infobox Název festivalu = True/False Film Festival Titulek = zahájení = ukončení = ocenění přijato = ocenění uděleno = filmy = režiséři = producenti = scénáristé = hlavní role = hostitel = Ragtag Programming for Film and Media Art datum = číslo = 40 50… … Wikipedia

    test pravda-nepravda- (ˈ) ̷ ̷ˈ ̷ ̷ podstatné jméno: objektivní test sestávající z řady výroků, z nichž každý má být označen buď jako pravdivý nebo nepravdivý * * * /trooh fawls /, Eduk. test vyžadující označení výroků za pravdivé nebo nepravdivé. ** n. test… …užitečný anglický slovník

    test pravda-nepravda- podstatné jméno Datum: 1924 test sestávající ze série výroků, které mají být označeny jako pravdivé nebo nepravdivé… Nový vysokoškolský slovník

    test pravda-nepravda- /trooh slepice/, Vych. test vyžadující označení výroků za pravdivé nebo nepravdivé. * * * …Universalium

    Pravá falešná identita- Infobox Album | Jméno = Pravdivý falešný typ identity = Umělec alba = T Bone Burnett Vydáno = 2006 Nahráno = Žánr = Délka rocku = 59:30 Label = Producent DMZ = Recenze T Bone Burnett = * Hodnocení Allmusic|3,5|5… … Wikipedia

    Nepravdivé- je antonymum přídavného jména true.False je 2. album Gorefestu, False (album). False může také odkazovat se na: * FALSE, esoterický stack orientovaný programovací jazyk * false, také nástroj Unix* Contradiction * Falsity * Lež * Falešná práce,... ... Wikipedie

    pravdivý-nepravdivý- pravdivý falešný test (tro͞oʹfôlsʹ) n. Test, ve kterém mají být výroky označeny jako pravdivé nebo nepravdivé. * * * …Universalium

knihy

  • Pravé modré zákony Connecticutu a New Havenu a falešné modré zákony vynalezené Rev. Samuel Peters, ke kterému jsou přidány ukázky zákonů a... modrých zákonů Anglie za vlády Jakuba I., Trumbulla J Hammonda. Kniha je dotiskem. Navzdory skutečnosti, že bylo vynaloženo velké úsilí na obnovení původní kvality publikace, některé stránky mohou obsahovat...