BOOL (1131514)
Текст из файла
8.7. ’à á«ïæ¨ï «®£¨ç¥áª¨å ¢ëà ¦¥¨©
‹®£¨ç¥áª¨¥ ¢ëà ¦¥¨ï, ¢ª«îç î騥 «®£¨ç¥áª®¥ 㬮¦¥¨¥, «®£¨ç¥áª®¥ á«®¦¥¨¥ ¨ ®âà¨æ ¨¥, ¬®¦® ¢ëç¨á«ïâì ª ª ¥¯®á।á⢥®, ¨á¯®«ì§ãï â ¡«¨æë ¨á⨮áâ¨, â ª ¨ á ¯®¬®éìî ãá«®¢ëå ¢ëà ¦¥¨©, ¯®«ì§ãïáì ®ç¥¢¨¤ë¬¨ ¯à ¢¨« ¬¨:
A & B íª¢¨¢ «¥â® if A then B else False,
A v B íª¢¨¢ «¥â® if A then True else B.
…᫨ ¢ ª ç¥á⢥ ª®¬¯®¥â ¢ëà ¦¥¨© ¬®£ã⠢室¨âì äãªæ¨¨ á ¯®¡®çë¬ íä䥪⮬, â®, ¢®®¡é¥ £®¢®àï, १ã«ìâ â ¢ëç¨á«¥¨ï ¬®¦¥â § ¢¨á¥âì ®â ᯮᮡ ¢ëç¨á«¥¨ï. ‚ ¥ª®â®àëå ï§ëª å ¯à®£à ¬¬¨à®¢ ¨ï ¥ ®£®¢ ਢ ¥âáï, ª ª¨¬ ᯮᮡ®¬ ¤®«¦ë ¢ëç¨á«ïâìáï «®£¨ç¥áª¨¥ ¢ëà ¦¥¨ï ( ¯à¨¬¥à, ¢ � ᪠«¥), ¢ ¥ª®â®àëå âॡã¥âáï, çâ®¡ë ¢ëç¨á«¥¨ï ¯à®¨§¢®¤¨«¨áì ⥬ ¨«¨ ¨ë¬ ᯮᮡ®¬ ( ¯à¨¬¥à, ¢ Œ®¤ã«¥-2 âॡã¥âáï, çâ®¡ë ¢ëà ¦¥¨ï ¢ëç¨á«ï«¨áì ¯® ¯à¨¢¥¤¥ë¬ ä®à¬ã« ¬), ¢ ¥ª®â®àëå ï§ëª å ¥áâì ¢®§¬®¦®áâì  § ¤ âì ᯮᮡ ¢ëç¨á«¥¨ï (‘¨, €¤ ). ‚ëç¨á«¥¨¥ «®£¨ç¥áª¨å ¢ëà ¦¥¨© ¥¯®á।á⢥® ¯® â ¡«¨æ ¬ ¨á⨮á⨠«®£¨ç® ¢ëç¨á«¥¨î à¨ä¬¥â¨ç¥áª¨å ¢ëà ¦¥¨©, ¯®íâ®¬ã ¬ë ¥ ¡ã¤¥¬ ¨å à áᬠâਢ âì ®â¤¥«ì®. � áᬮâਬ ¯®¤à®¡¥¥ ᯮᮡ ¢ëç¨á«¥¨ï á ¯®¬®éìî ¯à¨¢¥¤¥ëå ¢ëè¥ ä®à¬ã« (¡ã¤¥¬ §ë¢ âì ¥£® "¢ëç¨á«¥¨ï á ãá«®¢ë¬¨ ¯¥à¥å®¤ ¬¨"). ˆ®£¤ â ª®© ᯮᮡ à áᬠâਢ îâ ª ª ®¯â¨¬¨§ æ¨î ¢ëç¨á«¥¨ï «®£¨ç¥áª¨å ¢ëà ¦¥¨©.
� áᬮâਬ á«¥¤ãîéãî âਡãâãî £à ¬¬ ⨪ã á® ¢å®¤ë¬ ï§ëª®¬ «®£¨ç¥áª¨å ¢ëà ¦¥¨©:
RULE
Expr ::= BoolExpr
SEMANTICS
FalseLab<1>:=False; TrueLab<1>:=True.
RULE
BoolExpr ::= BoolExpr '&' BoolExpr
SEMANTICS
FalseLab<1>:=FalseLab<0>; TrueLab<1>:=NodeLab<3>;
FalseLab<3>:=FalseLab<0>; TrueLab<3>:=TrueLab<0>.
RULE
BoolExpr ::= BoolExpr 'V' BoolExpr
SEMANTICS
TrueLab<1>:=TrueLab<0>; FalseLab<1>:=NodeLab<3>;
FalseLab<3>:=FalseLab<0>; TrueLab<3>:=TrueLab<0>.
RULE
BoolExpr ::= F
SEMANTICS
GOTO FalseLab<0>.
RULE
BoolExpr ::= T
SEMANTICS
GOTO TrueLab<0>.
‡¤¥áì ¯à¥¤¯®« £ ¥âáï, çâ® ¢á¥ ¢¥àè¨ë ¤¥à¥¢ § 㬥஢ ë ¨ ®¬¥à ¢¥àè¨ë ¤ ¥â âਡãâ NodeLab. Œ¥âª¨ ¢¥àè¨ ¯¥à¥¤ îâáï, ª ª íâ® ¨§®¡à ¦¥® à¨á. 8.20.
TrueLab TrueLab
FalseLab\ FalseLab\
/ | \\ /| \\
/ / \ \\ // \ \\
/ / & \ \\ // V \ \\
/ / \ \\ // \ \\
FalseLab / \ \TrueLab TrueLab/ \ \TrueLab
/ \FalseLab / \ FalseLab
TrueLab<-------NodeLabel FalseLab<---NodeLabel
�¨á. 8.20.
‘®¯®áâ ¢¨¬ ª ¦¤®¬ã âਡãâ¨à®¢ ®¬ã ¤¥à¥¢ã ¢ í⮩ âਡã⮩ £à ¬¬ ⨪¥ ⥪áâ (âà á«ïæ¨î), ¯®«ãç¥ë© á«¥¤ãî騬 ®¡à §®¬ ¢ १ã«ìâ ⥠®¡å®¤ ¤¥à¥¢ ᢥàåã ¢¨§ á«¥¢ ¯à ¢®: ¯à¨ ¢å®¤¥ ¢ ¢¥àè¨ã ¡ã¤¥¬ £¥¥à¨à®¢ âì ¥¥ ®¬¥à, ¢ ¢¥à訥 F ¡ã¤¥¬ £¥¥à¨à®¢ âì ⥪áâ GOTO § 票¥ âਡãâ FalseLab<0>, ¢ ¢¥à訥 T - GOTO § 票¥ âਡãâ TrueLab<0>. � ¯à¨¬¥à, ¤«ï ¢ëà ¦¥¨ï F V ( F & T & T ) V T ¯®«ã稬 âਡãâ¨à®¢ ®¥ ¤¥à¥¢® ¨ âà á«ïæ¨î, ¨§®¡à ¦¥ë¥ à¨á. 8.21 ¨ 8.22.:
F V ( F & T & T ) V T
| FalseLab=False
1 TrueLab=True
/
TrueLab=True / V \
FalseLab=2 / \ FalseLab=False
F 2 TrueLab=True
/ \
TrueLab=True / V \
FalseLab=3 / \
/ \
4 3
/ \ |
TrueLab=5 / & \ T
FalseLab=3 / \ TrueLab=True
/ \ FalseLab=3
F 5
/ \
TrueLab=6 / & \ 1: GOTO 2
FalseLab=3 / \ TrueLab=True 2:
/ \ FalseLab=3 4: GOTO 3
T 6 5: GOTO 6
| 6: GOTO True
T 3: GOTO True
�¨á. 8.21 �¨á. 8.22
�âã «¨¥ ਧ®¢ ãî § ¯¨áì ¬®¦® âà ªâ®¢ âì ª ª ¯à®£à ¬¬ã ¢ëç¨á«¥¨ï «®£¨ç¥áª®£® § 票ï: ª ¦¤ ï áâப ¬®¦¥â ¡ëâì ¯®¬¥ç¥ ®¬¥à®¬ ¢¥àè¨ë ¨ ᮤ¥à¦ âì «¨¡® ¯¥à¥å®¤ ¤àã£ãî áâபã, «¨¡® ¯¥à¥å®¤ True ¨«¨ False, ç⮠ᮮ⢥âáâ¢ã¥â § ç¥¨î ¢ëà ¦¥¨ï true ¨«¨ false, «¨¡® ¯ãáâ®. �㤥¬ £®¢®à¨âì, çâ® ¯®«ãç¥ ï ¯à®£à ¬¬ ¢ëç¨á«ï¥â (¨«¨ ¨â¥à¯à¥â¨àã¥â) § 票¥ ¢ëà ¦¥¨ï, ¥á«¨ ¢ १ã«ìâ ⥠¥¥ ¢ë¯®«¥¨ï (®â ¯¥à¢®© áâப¨) ¬ë ¯à¨¤¥¬ ª áâப¥, ᮤ¥à¦ 饩 GOTO True ¨«¨ GOTO False.
“⢥ত¥¨¥ 1. „«ï ª ¦¤®£® ¡®à ¢å®¤ëå ¤ ëå «î¡®£® «®£¨ç¥áª®£® ¢ëà ¦¥¨ï ¯à®£à ¬¬ , ¯®«ãç¥ ï ¢ १ã«ìâ ⥠®¡å®¤ ¤¥à¥¢ í⮣® ¢ëà ¦¥¨ï, § ¢¥àè ¥âáï á® § 票¥¬ «®£¨ç¥áª®£® ¢ëà ¦¥¨ï ¢ ®¡ë箩 ¨â¥à¯à¥â 樨, â.¥. ®áãé¥á⢫ï¥âáï ¯¥à¥å®¤ True ¤«ï § 票ï, à ¢®£® T, ¨ ¯¥à¥å®¤ ¬¥âªã False ¤«ï § 票ï F.
�â® ã⢥ত¥¨¥ ï¥âáï ç áâë¬ á«ãç ¥¬ á«¥¤ãî饣®.
“⢥ত¥¨¥ 2. ‚ १ã«ìâ ⥠¨â¥à¯à¥â 樨 ¯®¤¤¥à¥¢ á ¥ª®â®à묨 § 票ﬨ âਡã⮢ FalseLab ¨ TrueLab ¢ ¥£® ª®à¥ ¢ë¯®«ï¥âáï ª®¬ ¤ GOTO TrueLab, ¥á«¨ § 票¥ ¢ëà ¦¥¨ï ¨á⨮, ¨ ª®¬ ¤ GOTO FalseLab, ¥á«¨ § 票¥ ¢ëà ¦¥¨ï «®¦®.
„®ª § ⥫ìá⢮ ¬®¦® ¯à®¢¥á⨠¨¤ãªæ¨¥© ¯® ¢ëá®â¥ ¤¥à¥¢ . „«ï ¤¥à¥¢ì¥¢ ¢ëá®âë 1, ᮮ⢥âáâ¢ãîé¨å ¯à ¢¨« ¬ BoolExpr ::= F ¨ BoolExpr ::= T, ã⢥ত¥¨¥ ®ç¥¢¨¤® ¨§ ¯à ¢¨« £à ¬¬ ⨪¨. �ãáâì ¤¥à¥¢® ¨¬¥¥â ¢ëá®âã n>1. ‡ ¢¨á¨¬®áâì âਡã⮢ ¤«ï ¤¨§êîªæ¨¨ ¨ ª®êîªæ¨¨ ¯à¨¢¥¤¥ à¨á. 8.23
| FalseLab0
| TrueLab0
/ \
/ & \
FalseLab1=FalseLab0 / \ FalseLab2=FalseLab0
TrueLab1=NodeLab2 / \ TrueLab2=TruLab0
/\ /\
/ \ / \
---- ----
| FalseLab0
| TrueLab0
/ \
/ V \
FalseLab1=NodeLab2 / \ FalseLab2=FalseLab0
TrueLab1=TruLab0 / \ TrueLab2=TruLab0
/\ /\
/ \ / \
---- ----
�¨á. 8.23
…᫨ ¤«ï ª®êîªæ¨¨ § 票¥ «¥¢®£® ¯®¤¤¥à¥¢ «®¦® ¨ ¯® ¨¤ãªæ¨¨ ¢ëç¨á«¥¨¥ «¥¢®£® ¯®¤¤¥à¥¢ § ¢¥àè ¥âáï ª®¬ ¤®© GOTO FalseLab1, â® ¨ ¨â¥à¯à¥â æ¨ï ¢á¥£® ¤¥à¥¢ § ¢¥àè ¥âáï ª®¬ ¤®© GOTO FalseLab0 (=FalseLab1). …᫨ § 票¥ «¥¢®£® ¯®¤¤¥à¥¢ ¨á⨮, â® ¥£® ¨â¥à¯à¥â æ¨ï § ¢¥àè ¥âáï ª®¬ ¤®© GOTO TrueLab1 (=NodeLab2). …᫨ § 票¥ ¯à ¢®£® ¯®¤¤¥à¥¢ «®¦®, â® ¨â¥à¯à¥â æ¨ï ¢á¥£® ¤¥à¥¢ § ¢¥àè ¥âáï ª®¬ ¤®© GOTO FalseLab0 (=FalseLab2). …᫨ ¦¥ ®® ¨á⨮, ¨â¥à¯à¥â æ¨ï ¢á¥£® ¤¥à¥¢ § ¢¥àè ¥âáï ª®¬ ¤®© GOTO TrueLab0 (=TrueLab2). € «®£¨ç® - ¤«ï ¤¨§êîªæ¨¨.
„®ª § ⥫ìá⢮ ã⢥ত¥¨ï 1 á«¥¤ã¥â ¨§ ⮣®, çâ® ¬¥âª ¬¨ ¢¥àè¨ë ¤¥à¥¢ «®£¨ç¥áª®£® ¢ëà ¦¥¨ï ïîâáï TrueLab=True ¨ FalseLab=False.
„®¡ ¢¨¬ ⥯¥àì ®¢®¥ ¯à ¢¨«® ¢ ¯à¥¤ë¤ãéãî £à ¬¬ ⨪ã:
BoolExpr ::= Ident
SEMANTICS
<if Ident=T then GOTO TrueLab<0> else GOTO FalseLab<0>>;
’®£¤ , ¯à¨¬¥à, ¤«ï ¯à¥¤ë¤ã饣® ¢ëà ¦¥¨ï ¯®«ã稬 á«¥¤ãîéãî ¯à®£à ¬¬ã:
1: if Ident=T then GOTO True else GOTO 2
2:
4: if Ident=T then GOTO 5 else GOTO 3
5: if Ident=T then GOTO 6 else GOTO 3
6: if Ident=T then GOTO True else GOTO 3
3: if Ident=T then GOTO True else GOTO False
�ਠª ¦¤®¬ ª®ªà¥â®¬ ¡®à¥ ¤ ëå íâ ¯à®£à ¬¬ ¯à¥¢à é ¥âáï ¢ ¯à®£à ¬¬ã ¢ëç¨á«¥¨ï «®£¨ç¥áª®£® § 票ï.
“⢥ত¥¨¥ 3. ‚ ª ¦¤®© áâப¥ ¯à®£à ¬¬ë, áä®à¬¨à®¢ ®© ¯à¥¤ë¤ã饩 âਡã⮩ á奬®©, ®¤ ¨§ ¬¥â®ª ᮢ¯ ¤ ¥â á ¬¥âª®© á«¥¤ãî饩 áâப¨.
„¥©á⢨⥫ì®, ¯® ¯à ¢¨« ¬ á«¥¤®¢ ¨ï âਡã⮢ TrueLab ¨ FalseLab, ¢ ¯à ¢¨« å ¤«ï ¤¨§êîªæ¨¨ ¨ ª®êîªæ¨¨ «¨¡® FalseLab, «¨¡® TrueLab ¯à¨¨¬ ¥â § 票¥ ¬¥âª¨ á«¥¤ãî饣® ¯®¤¤¥à¥¢ . Šà®¬¥ ⮣®, ª ª § 票¥ FalseLab, â ª ¨ § 票¥ TrueLab, ¯¥à¥¤ îâáï ¢ ¯à ¢®¥ ¯®¤¤¥à¥¢® ®â ¯à¥¤ª . ’ ª¨¬ ®¡à §®¬, á ¬ë© ¯à ¢ë© ¯®â®¬®ª ¢á¥£¤ ¨¬¥¥â ®¤ã ¨§ ¬¥â®ª TrueLab ¨«¨ FalseLab, à ¢ãî ¬¥âª¥ ¯à ¢®£® ¡à â ᮮ⢥âáâ¢ãî饣® ¯®¤¤¥à¥¢ . “ç¨âë¢ ï ¯®à冷ª £¥¥à 樨 ª®¬ ¤, ¯®«ãç ¥¬ ã⢥ত¥¨¥.
„®¯®«¨¬ ⥯¥àì âਡãâãî £à ¬¬ ⨪ã á«¥¤ãî騬 ®¡à §®¬:
RULE
Expr ::= BoolExpr
SEMANTICS
FalseLab<1>:=False; TrueLab<1>:=True;
Sign<1>:=false.
RULE
BoolExpr ::= BoolExpr & BoolExpr
SEMANTICS
FalseLab<1>:=FalseLab<0>; TrueLab<1>:=NodeLab<3>;
FalseLab<3>:=FalseLab<0>; TrueLab<3>:=TrueLab<0>;
Sign<1>:=false; Sign<3>:=Sign<0>.
RULE
BoolExpr ::= BoolExpr V BoolExpr
SEMANTICS
TrueLab<1>:=TrueLab<0>; FalseLab<1>:=NodeLab<3>;
FalseLab<3>:=FalseLab<0>; TrueLab<3>:=TrueLab<0>;
Sign<1>:=true; Sign<3>:=Sign<0>.
RULE
BoolExpr ::= not BoolExpr
SEMANTICS
FalseLab<1>:=TrueLab<0>; TrueLab<1>:=FalseLab<0>;
Sign<1>:=not Sign<0>.
RULE
BoolExpr ::= F
SEMANTICS
GOTO FalseLab<0>.
RULE
BoolExpr ::= T
SEMANTICS
GOTO TrueLab<0>.
RULE
BoolExpr ::= Ident
SEMANTICS
if Sign<0>
then <if Ident=T then GOTO TrueLab<0> else GOTO FalseLab<0>>
else <if Ident=F then GOTO FalseLab<0> else GOTO TrueLab<0>>;
�à ¢¨« á«¥¤®¢ ¨ï âਡãâ Sign ¯à¨¢¥¤¥ë à¨á. 8.24.
false | true | false | true |
or or and and
/\ /\ /\ /\
/ \ / \ / \ / \
/ \ / \ / \ / \
true false true true false false false true
true | false |
| |
not not
| |
| |
false true
�¨á. 8.24
�à®£à ¬¬ã ¦¥« â¥«ì® áä®à¬¨à®¢ âì â ª¨¬ ®¡à §®¬, ç⮡ë else-¬¥âª ¡ë« ª ª à § ¬¥âª®© á«¥¤ãî饩 ¢¥àè¨ë. Š ª íâ® ¬®¦® ᤥ« âì, á«¥¤ã¥â ¨§ ã⢥ত¥¨ï 4.
“⢥ত¥¨¥ 4. ‚ ª ¦¤®© â¥à¬¨ «ì®© ¢¥à訥, ¬¥âª ¡«¨¦ ©è¥£® ¯à ¢®£® ¤«ï ¥¥ ¯®¤¤¥à¥¢ à ¢ § 票î âਡãâ FalseLab í⮩ ¢¥àè¨ë, ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ § 票¥ âਡãâ Sign í⮩ ¢¥àè¨ë à ¢® true, ¨ ®¡®à®â, ¬¥âª ¡«¨¦ ©è¥£® ¯à ¢®£® ¤«ï ¥¥ ¯®¤¤¥à¥¢ à ¢ § 票î âਡãâ TrueLab í⮩ ¢¥àè¨ë, ⮣¤ ¨ ⮫쪮 ⮣¤ , ª®£¤ § 票¥ âਡãâ Sign à ¢® false.
�⨠¤¢ ã⢥ত¥¨ï ¯®§¢®«ïîâ § ¬¥¨âì ¯®á«¥¤¥¥ ¯à ¢¨«® âਡã⮩ £à ¬¬ ⨪¨ á«¥¤ãî騬 ®¡à §®¬:
RULE
BoolExpr ::= Ident
SEMANTICS
if Sign<0>
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.
















