ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ си: ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C | Microsoft Docs

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния

Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ содСрТит ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. КаТдая опСрация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ дСйствия. КаТдая опСрация ΠΈΠ»ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ заканчиваСтся символом «;». Если ΠΎΠ΄Π½Π° строка содСрТит нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚ΠΎ такая строка называСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΈ ΠΈΡ… порядок выполнСния Π²Π½ΡƒΡ‚Ρ€ΠΈ выраТСния задаСтся ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. Если Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ содСрТит ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°, Ρ‚ΠΎ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ осущСствляСтся слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ Π² порядкС слСдования. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния выраТСния являСтся число, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ»ΠΈ пространство ΠΈΠΌΠ΅Π½.
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ вычислСниС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ прСдставляСт собой Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² порядкС ΠΈΡ… прСдставлСния Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
НиТС пСрСчислСны Ρ‚ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² порядкС ΠΈΡ… ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
.ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ доступ ΠΊ Ρ‡Π»Π΅Π½Π°ΠΌ класса ΠΈΠ»ΠΈ структуры.
()Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°.
[]Π˜Π½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡ, ΠΈΠ»ΠΈ доступ ΠΊ элСмСнту массива ΠΏΠΎ Π΅Π³ΠΎ индСксу.
++ΠŸΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ (ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π° 1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС Π΅Π³ΠΎ использования).
ΠŸΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π½Π° 1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послС Π΅Π³ΠΎ использования).
newΠ‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°.
typeof()ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡƒΡ‚Π΅ΠΌ Π²Ρ‹Π·ΠΎΠ²Π° стандартного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° GetType() класса Object.
checked(x)Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для явного Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пСрСполнСния ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ арифмСтичСских дСйствий ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
unchecked(x)Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для подавлСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ пСрСполнСния ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ арифмСтичСских дСйствий ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.
default(x)Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ‚ΠΈΠΏΠ° x.
delegate{}Π”Π΅Π»Π΅Π³Π°Ρ‚ (анонимная функция).

Π£Π½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π‘ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΡƒΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π£Π½Π°Ρ€Π½Ρ‹ΠΌΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ производятся Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
+Π—Π½Π°ΠΊ «+».
Π—Π½Π°ΠΊ «-«.
!ЛогичСскоС ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ (выполняСтся Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ логичСского Ρ‚ΠΈΠΏΠ°).
~ΠŸΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΠ΅ логичСскоС ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅ (выполняСтся Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ логичСского Ρ‚ΠΈΠΏΠ°).
++ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° 1.
ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄ использованиСм ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° 1.
(Ρ‚ΠΈΠΏ)xΠ―Π²Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ x ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ.

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π”Π°Π»Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π°Π΄Π΄ΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ. Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ выполнятся Π½Π°Π΄ двумя ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ, Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
*Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅.
/Π”Π΅Π»Π΅Π½ΠΈΠ΅.
%ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ остатка ΠΎΡ‚ дСлСния.
+Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для объСдинСния строк ΠΈΠ»ΠΈ Π΄Π΅Π»Π΅Π³Π°Ρ‚ΠΎΠ².
Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для удалСния Π΄Π΅Π»Π΅Π³Π°Ρ‚ΠΎΠ².

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сдвига

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сдвига ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ арифмСтичСский сдвиг Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число разрядов.
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ сдвига ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ цСлочислСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.
АрифмСтичСский сдвиг ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ сдвигС числа Π²ΠΏΡ€Π°Π²ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ разряды Π·Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ разряда Ссли число прСдставлСно Π² Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈ Π½ΡƒΠ»Π΅ΠΌ Ссли число прСдставлСно Π² Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.
Π‘Π΄Π²ΠΈΠ³ числа Π²Π»Π΅Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ разряд соотвСтствуСт ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ числа Π½Π° 2. Π‘Π΄Π²ΠΈΠ³ Π²Π»Π΅Π²ΠΎ Π½Π° Π΄Π²Π° разряда соотвСтствуСт ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° 4, сдвиг Π½Π° Ρ‚Ρ€ΠΈ разряда — ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½Π° 8 соотвСтствСнно.
Π‘Π΄Π²ΠΈΠ³ числа Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° ΠΎΠ΄ΠΈΠ½ разряд соотвСтствуСт Π΅Π³ΠΎ цСлочислСнному дСлСнию Π½Π° 2 (остаток ΠΎΡ‚ дСлСния Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ разрядной сСтки).

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
xΠ‘Π΄Π²ΠΈΠ³ x Π²Π»Π΅Π²ΠΎ Π½Π° y разрядов.
x >> yΠ‘Π΄Π²ΠΈΠ³ x Π²ΠΏΡ€Π°Π²ΠΎ Π½Π° y разрядов.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сравнСния ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True Ссли условиС сравнСния выполняСтся ΠΈ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
x > yΠ‘ΠΎΠ»ΡŒΡˆΠ΅.
xМСньшС.
x >= yΠ‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ.
xМСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ.
x == yΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° равСнство. yЛогичСскоС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ для ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ логичСского Ρ‚ΠΈΠΏΠ° (поразрядноС).
x && yУсловноС И для ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² логичСского Ρ‚ΠΈΠΏΠ°.
x || yУсловноС Π˜Π›Π˜ для ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² логичСского Ρ‚ΠΈΠΏΠ°.
x ?? yОбъСдинСниС с NULL: Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x, Π½ΠΎ Ссли x=NULL, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ y.
x ? y : zВСрнарная опСрация, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ y Ссли выполняСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x ΠΈΠ»ΠΈ z Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС.

ΠŸΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½Ρ‹Π΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ цСлочислСнными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ поразрядной логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСвСсти ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ Π² Π΄Π²ΠΎΠΈΡ‡Π½ΡƒΡŽ систСму счислСния ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ всСми ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятыми разрядами числа. ΠŸΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½Ρ‹Π΅ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ссли трСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΈΡ‚ Π² числС.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ гСнСрируСтся Π² соотвСтствии с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ истинности:

aba & ba | ba ^ b
00000
01011
10011
11110

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ присваивания ΠΈ Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹


Если арифмСтичСскиС ΠΈΠ»ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΠ²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ присваивания, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ производится Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:
X +=Y; //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ X=X+Y
Π’ качСствС Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· допустимых символов, прСдставлСнных Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅. =

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ послС поразрядного ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ Π˜Π›Π˜.

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ послС сдвига Π²Π»Π΅Π²ΠΎ.>>=

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ послС сдвига Π²ΠΏΡ€Π°Π²ΠΎ.=>

Лямбда-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Π—Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Π›ΠΎΠ³ΠΈΠΊΠ°
курса Алгоритмика

Автор: Вставская Π•Π»Π΅Π½Π° Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ΠΎΠ²Π½Π°

Β 
ΠΠ°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ:

Π˜Π·ΡƒΡ‡Π°Π΅ΠΌ C++. Π’Π΅Ρ‚Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ условныС конструкции

Условная конструкция if позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ инструкции Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Β Ρ‚ΠΎΠΌ случаС, Ссли Π΄Π°Π½Π½ΠΎΠ΅ логичСскоС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΠΎ. ЗаписываСтся эта конструкция Ρ‚Π°ΠΊ:

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΎΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ (ΠΈΠ»ΠΈ Π½Π΅Β Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚) всё, Ρ‡Ρ‚ΠΎ написано Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с вСтвлСниСм:

int a = 5;
int b = 6;

if (a > b)
{
    std::cout << "a is bigger than b \n";
}

if (a < b)
{
    std::cout << "b is bigger than a \n";
}

if (a == b)
{
    std::cout << "a equals b \n";
}

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Π½ΠΎΒ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ слоТно Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ·-Π·Π° большого количСства условных конструкций. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ запись, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else (ΠΈΠ½Π°Ρ‡Π΅).

if (a > b)
{
    std::cout << "a is bigger than b \n";
}
else
{
    std::cout << "a is not bigger than b \n";
}

Else ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ, ΠΊΠ°ΠΊΠΈΠ΅ инструкции Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ссли провСряСмоС ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅Β Π±Ρ‹Π»ΠΎ Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ нСсколько условий, Ρ‚ΠΎΒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ else if.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сначала ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ условиС ΠΈ, Ссли ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Β Π½ΠΈΠΌ else if. Если Π½ΠΈΒ ΠΎΠ΄Π½ΠΎ из условий Π½Π΅Β Π±Ρ‹Π»ΠΎ Π²Π΅Ρ€Π½Ρ‹ΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ инструкции Π²Π½ΡƒΡ‚Ρ€ΠΈ else, поэтому ΠΎΠ½ΠΎ всСгда Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ Π²Β ΠΊΠΎΠ½Ρ†Π΅.

Π’Ρ‹Β ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ условныС конструкции Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… условных конструкций:

if(a > b)
{
    if(a > 100)
    {
   	 
    }
    else
    {
   	 
    }
}

Π•ΡΡ‚ΡŒ ΠΈΒ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ записи. НапримСр, Ссли Π΄ΠΎΠ»ΠΆΠ½Π°Β Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° инструкция, Ρ‚ΠΎΒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

if(a == 5)
    std::cout << "a ==Β 5Β \n";
else
    std::cout << "a !=Β 5Β \n";

Π—Π°ΠΏΠΈΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘ сильнСС, Ссли Π²Ρ‹Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ условиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

int result = 2 > 1 ? 1 : 0;

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ запись Π²ΠΈΠ΄Π°:

пСрСмСнная = условиС ? Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли условиС истинно : Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ссли условиС Π»ΠΎΠΆΠ½ΠΎ;

Π—Π°Π΄Π°Π½ΠΈΠ΅ ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС условных конструкций, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ,Β β€” эта Ρ‚Π΅ΠΌΠ° ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π°.

НОУ ИНВУИВ | ЛСкция | ΠžΡΠ½ΠΎΠ²Ρ‹ языка Π‘ΠΈ: структура Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈ конструированиС Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния

Аннотация: ЛСкция посвящСна ввСдСнию Π² язык Π‘ΠΈ. ΠžΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ построСния Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° h- ΠΈ c-Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚.Π΅. Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ интСрфСйса ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, использованиС прСпроцСссора. ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΡΡ‚ΡΡ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ языка Π‘ΠΈ, конструкции массива ΠΈ указатСля, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚ΠΈΠΏΠΎΠ². Π Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всСвозмоТныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ выраТСния языка Π‘ΠΈ.

ΠžΡΠ½ΠΎΠ²Ρ‹ языка Π‘ΠΈ

Π’ настоящСС врСмя язык Π‘ΠΈ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки
Π΅Π³ΠΎ Π³Ρ€ΡƒΠΏΠΏΡ‹ (ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго C++, Π° Ρ‚Π°ΠΊΠΆΠ΅ Java ΠΈ C#) ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными
Π² практичСском ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Достоинство языка Π‘ΠΈ — это,
ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π΅Π³ΠΎ простота ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ. Π―Π·Ρ‹ΠΊ Π‘ΠΈ Π»Π΅Π³ΠΊΠΎ учится.
Π“Π»Π°Π²Π½Ρ‹Π΅ понятия языка Π‘ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ статичСскиС ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, массивы, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚.Π΄., максимально ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Ρ‹
ΠΊ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². Π’Π°ΠΊ, ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ — это просто адрСс
памяти, массив — нСпрСрывная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ памяти, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ — это
ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, располоТСнныС Π² Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΌ стСкС,
статичСскиС — Π² статичСской памяти. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚,
ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ Π½Π° Π‘ΠΈ, всСгда достаточно Ρ‚ΠΎΡ‡Π½ΠΎ прСдставляСт сСбС, ΠΊΠ°ΠΊ
созданная ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅.
Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, язык Π‘ΠΈ прСдоставляСт программисту
ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ язык Π‘ΠΈ задумывался ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒ АссСмблСра
для написания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π‘ΠΈ — это язык
высокого уровня, Π½Π΅ зависящий ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, тСкст
ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы оказывался Π»Π΅Π³ΠΊΠΎ пСрСносимым с ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π°
Π΄Ρ€ΡƒΠ³ΡƒΡŽ. ΠŸΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, написанной практичСски Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π½Π°
Π‘ΠΈ, Π±Ρ‹Π»Π° систСма Unix. Π’ настоящСС врСмя ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы написаны Π½Π° Π‘ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, срСдства программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ опСрационная систСма
прСдоставляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ (Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ API —
Application Program Interface), — это Π½Π°Π±ΠΎΡ€Ρ‹ систСмных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° языкС Π‘ΠΈ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния языка Π‘ΠΈ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»Π°ΡΡŒ
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. Π―Π·Ρ‹ΠΊ Π‘ΠΈ оказался ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π΅Π½
Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкстов ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π² Π½Π°ΡƒΡ‡Π½Ρ‹Ρ… ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… расчСтах.
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ языки Π½Π° основС Π‘ΠΈ
ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для программирования Π² ΠΎΠΊΠΎΠ½Π½Ρ‹Ρ… срСдах.

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ лишь основныС понятия языка
Π‘ΠΈ (ΠΈ частично C++). Π­Ρ‚ΠΎ Π½Π΅ замСняСт чтСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ
Π‘ΠΈ ΠΈΠ»ΠΈ C++, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ½ΠΈΠ³ [6] ΠΈ [8].

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ компилятор C++ вмСсто CΠΈ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ,
Ρ‡Ρ‚ΠΎ язык Π‘ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² C++, Ρ‚.Π΅. Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°,
написанная Π½Π° Π‘ΠΈ, являСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ C++ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π‘Π»ΠΎΠ²ΠΎ
«Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ содСрТит Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… конструкций,
ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΎΡ‚ Ρ€Π°Π½Π½ΠΈΡ… вСрсий Π‘ΠΈ ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² настоящСС
врСмя. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ C++ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ компилятор Π‘ΠΈ, Ρ‚.ΠΊ.
ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ строгий ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ошибок. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
конструкции C++, Π½Π΅ связанныС с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ,
ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ ΠΈ фактичСски ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ
языка Π‘ΠΈ. Π­Ρ‚ΠΎ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ //, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ
Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ Π±Π»ΠΎΠΊΠ°,
ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ констант Π±Π΅Π· использования ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° #define прСпроцСсора.
ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти возмоТности
C++, ΠΎΡΡ‚Π°Π²Π°ΡΡΡŒ ΠΏΠΎ сущСству Π² Ρ€Π°ΠΌΠΊΠ°Ρ… языка Π‘ΠΈ.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π›ΡŽΠ±Π°Ρ достаточно большая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Π‘ΠΈ (программисты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ) состоит ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ². Π€Π°ΠΉΠ»Ρ‹ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π‘ΠΈ-компилятором нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ-построитСлСм Π·Π°Π΄Π°Ρ‡, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ создаСтся Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ. Π€Π°ΠΉΠ»Ρ‹, содСрТащиС тСксты Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ исходными.

Π’ языкС Π‘ΠΈ исходныС Ρ„Π°ΠΉΠ»Ρ‹ Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²:

  • intuit.ru/2010/edi»>Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅, ΠΈΠ»ΠΈ h-Ρ„Π°ΠΉΠ»Ρ‹;
  • Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ CΠΈ-Ρ„Π°ΠΉΠ»Ρ‹.

ИмСна Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .h «. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ » .c » для языка Π‘ΠΈ ΠΈ » .cpp «, » .cxx » ΠΈΠ»ΠΈ » .cc » для языка C++.

К соТалСнию, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ языка Π‘ΠΈ, программисты Π½Π΅ сумСли Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒΡΡ ΠΎ Π΅Π΄ΠΈΠ½ΠΎΠΌ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ для Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .h » для Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ » .cpp » для Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ описания. ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, это ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ описываСт имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния, число ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΅Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π‘Π°ΠΌ тСкст Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² h-Ρ„Π°ΠΉΠ»Π΅ Π½Π΅ содСрТится. Π’Π°ΠΊΠΆΠ΅ Π² h-Ρ„Π°ΠΉΠ»Π°Ρ… ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΈ Ρ‚ΠΈΠΏΡ‹ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, константы, Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, структуры ΠΈ Ρ‚. ΠΏ. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, h-Ρ„Π°ΠΉΠ»Ρ‹ содСрТат лишь интСрфСйсы, Ρ‚.Π΅. ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для использования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΡƒΠΆΠ΅ написанных Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ программистами (ΠΈΠ»ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ программистом Ρ€Π°Π½ΡŒΡˆΠ΅). Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ лишь ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…. ΠŸΡ€ΠΈ трансляции Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ. НапримСр, Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ нСльзя ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Π‘Ρ‚Ρ€ΠΎΠΊΠ° описания

ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ x, являСтся ошибкой. ВмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ описаниС

ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ пСрСмСнная x ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π³Π΄Π΅-Ρ‚ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π² ΠΊΠ°ΠΊΠΎΠΌ — нСизвСстно). Π‘Π»ΠΎΠ²ΠΎ extern (внСшняя) лишь сообщаСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ внСшнСй ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ Π½Π΅ опрСдСляСт эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ.

Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈΠ»ΠΈ CΠΈ-Ρ„Π°ΠΉΠ»Ρ‹, содСрТат тСксты Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ опрСдСлСния Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Говоря ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½ΠΎ, Π‘ΠΈ-Ρ„Π°ΠΉΠ»Ρ‹ содСрТат сами ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° h-Ρ„Π°ΠΉΠ»Ρ‹ — лишь ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ….

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ исходных тСкстов Π² Π²ΠΈΠ΄Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ структуру. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ слуТат для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями. Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ — это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ создании выполняСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π€Π°ΠΉΠ»Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ описания, содСрТащиСся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. Π‘Π°ΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ прСпроцСссора #include. НапримСр, описания стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строки

(stdio — ΠΎΡ‚ слов standard input/output). Имя h-Ρ„Π°ΠΉΠ»Π° записываСтся Π² ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… скобках, Ссли этот h-Ρ„Π°ΠΉΠ» являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ стандартной Π‘ΠΈ-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ располоТСн Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· систСмных ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². ИмСна h-Ρ„Π°ΠΉΠ»ΠΎΠ², созданных самим программистом Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ располоТСнных Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ — это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ тСкста
нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ трансляциСй. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ прСпроцСссора Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ прСпроцСссора содСрТат символ Π΄ΠΈΠ΅Π· # Π² Π½Π°Ρ‡Π°Π»Π΅
строки. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ h-Ρ„Π°ΠΉΠ»ΠΎΠ².
Π’ Π‘ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° #define для задания
символичСских ΠΈΠΌΠ΅Π½ констант. Π’Π°ΠΊ, строка

Π·Π°Π΄Π°Π΅Ρ‚ символичСскоС имя PI для константы 3.14159265. ПослС этого
имя PI ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто числового значСния. ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€
Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ всС вхоТдСния слова PI Π² тСкст ΠΈ замСняСт ΠΈΡ… Π½Π° константу.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, прСпроцСссор осущСствляСт ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρƒ ΠΎΠ΄Π½ΠΎΠ³ΠΎ тСкста Π΄Ρ€ΡƒΠ³ΠΈΠΌ.
ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ использования прСпроцСссора всСгда ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ
нСдостаточной Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ языка. Π’Π°ΠΊ, Π² любом АссСмблСрС срСдства
прСпроцСссирования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ довольно интСнсивно. Π’ Π‘ΠΈ ΠΏΠΎ возмоТности
слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ увлСчСния ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ прСпроцСссора — это
затрудняСт ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ
исправляСмым ошибкам. Π’ C++ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· использования Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² #define для задания констант. НапримСр, Π² C++ константу PI ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ
с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания

const double PI = 3.14159265;

Π­Ρ‚ΠΎ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ примСнСния компилятора
C++ вмСсто Π‘ΠΈ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ трансляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½Π΅ содСрТащих конструкции
класса.

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ & ΠΈ && Π² C?

&ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈ , Π° &&логичСскоС ΠΈ .

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x && y Π²Π΅Ρ€Π½Π΅Ρ‚ 1 , Ссли ΠΈ x , ΠΈ y Π½Π΅ Ρ€Π°Π²Π½Ρ‹ Π½ΡƒΠ»ΡŽ, ΠΈ 0 Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли x Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ, Ρ‚ΠΎ y Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ x & y Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π°Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±ΠΈΡ‚ΠΎΠΌ Π² x ΠΈ y . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли x -это 1010 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π° y -это 1100 , Ρ‚ΠΎ x & y Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ 1000 . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ x & y Π΄ΠΎΠ»ΠΆΠ½ΠΎ NOT ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Один ΠΈΠ· способов ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ это состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎ & -это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ && ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ Π² ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°Ρ….

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ , Ρ‡Ρ‚ΠΎ & ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Ρ‡Π΅ΠΌ &&, хотя интуиция Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ относится ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ сравнСния, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ < , <= , == , != , >= , > . Π­Ρ‚ΠΎ восходит ΠΊ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° Π² C Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² && ΠΈ || , Π° вмСсто Π½ΠΈΡ… использовались ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ вСрсии. Π’ Ρ‚ΠΎ врСмя это ΠΈΠΌΠ΅Π»ΠΎ смысл, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, это большС Π½Π΅ ΠΈΠΌΠ΅Π»ΠΎ смысла. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‡ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ это ΠΈΠΌΠ΅Π»ΠΎ Π±Ρ‹ большС смысла, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ исправили Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π½Π°Ρ€ΡƒΡˆΠΈΠ»ΠΎ Π±Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄.

Π― Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ true Π² ΠΎΠ΄Π½ΠΎΠΌ сцСнарии ΠΈ false Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· x & y Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Однако ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ (Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ написан ΠΊΠΎΠ΄) Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ логичСский массив. Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа, flags1 ΠΈ flags2 , Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ flags1 & flags2 Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π»Π°Π³ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π² flags1 , Ρ‚Π°ΠΊ ΠΈ Π² flags2 .

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², созданиС схСм Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…


















Новостная Π»Π΅Π½Ρ‚Π°





Microchip Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ экосистСму Arduino-совмСстимой ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ chipKIT


Компания Microchip сообщила ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ экосистСмы ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ chipKIT. Π’ состав Arduino-совмСстимой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ chipKIT вошла высокоинтСгрированная отладочная ΠΏΠ»Π°Ρ‚Π° с Wi-Fi ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ΠΈ ΠΏΠ»Π°Ρ‚Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для управлСния элСктродвигатСлями, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Digilent.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ >>>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: http://www.rlocman.ru

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 28590

Π”Π°Ρ‚Π° добавлСния: 02.10.2014





MicroView — супСр ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Π°Ρ Arduino-совмСстимая отладочная ΠΏΠ»Π°Ρ‚Π° с OLED дисплССм


На ΠΏΠΎΡ€Ρ‚Π°Π»Π΅ Kickstarter прСдставлСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ супСр ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠΉ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Arduino, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Π² Ρ„ΠΎΡ€ΠΌ-Ρ„Π°ΠΊΡ‚ΠΎΡ€Π΅ 16-Π²Ρ‹Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ корпуса DIP ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ встроСнный OLED дисплСй с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 64Γ—48 Ρ‚ΠΎΡ‡Π΅ΠΊ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ отладочная ΠΏΠ»Π°Ρ‚Π° являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ ΠΈΠ»ΠΈ нСпосрСдствСнно Π²ΠΏΠ°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΈ управлСния внСшнСй ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠ΅ΠΉ.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ >>>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: http://www.rlocman.ru

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 27934

Π”Π°Ρ‚Π° добавлСния: 17.04.2014





Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ самого ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½ΠΎΠ³ΠΎ Π² ΠΌΠΈΡ€Π΅ ARM-ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Freescale сократила Π΅Ρ‰Π΅ Π½Π° 15%


Freescale Semiconductor ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΠ»Π° Π½ΠΎΠ²Ρ‹ΠΉ тСхнологичСский ΠΏΡ€ΠΎΡ€Ρ‹Π², Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ сСмСйству Kinetis самый ΠΌΠΈΠ½ΠΈΠ°Ρ‚ΡŽΡ€Π½Ρ‹ΠΉ ΠΈ энСргоэффСктивный Π² ΠΌΠΈΡ€Π΅ 32-разрядный ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Kinetis KL03 с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ ARM. ΠžΡΠ½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ поколСния Kinetis KL02, Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ±ΠΎΡ€ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΡŽ, стал Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π² использовании, ΠΈ ΠΏΡ€ΠΈ этом сократился Π² Ρ€Π°Π·ΠΌΠ΅Ρ€Π°Ρ… Π΄ΠΎ 1.6 Γ— 2.0 ΠΌΠΌ.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ >>>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: http://www.rlocman.ru

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 1871

Π”Π°Ρ‚Π° добавлСния: 17.04.2014





Как Π²Ρ‹Ρ€Π°ΡΡ‚ΠΈΡ‚ΡŒ микросхСму с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π΅Π»ΠΊΠ°


Π‘Π΅Π· крСмния нСмыслимо производство ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ², Π³Π΄Π΅ ΠΎΠ½ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ нарасхват. ΠŸΡ€ΠΈ этом, СстСствСнно, большоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ чистота вСщСства ΠΈ строСниС кристаллов ΠΊΡ€Π΅ΠΌΠ½ΠΈΠ΅Π²Ρ‹Ρ… соСдинСний. Π˜ΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠ· УнивСрситСта Лидса (ВСликобритания) ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ способ выращивания Ρ‚Π°ΠΊΠΈΡ… кристаллов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ молСкулярной Π±ΠΈΠΎΠ»ΠΎΠ³ΠΈΠΈ. По ΠΈΡ… мнСнию, это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ элСктронныС микросхСмы Π±ΠΎΠ»Π΅Π΅ высокого качСства.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ >>>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: http://www.newscientist.com/

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 3019

Π”Π°Ρ‚Π° добавлСния: 06.03.2014





ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π½Π° сайтС MCULAB.RU


На нашСм сайтС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π». Π Π°Π·Π΄Π΅Π» посвящён ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… схСм ΠΏΠΎ ΡΠΎΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². ΠžΡΠ²Π΅Ρ‰Π°Π΅Ρ‚ΡΡ схСмотСхника ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ МК Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройств. Π’ Π΄Π°Π½Π½ΠΎΠΉ области Π΄ΠΎ сих ΠΏΠΎΡ€ отсутствуСт систСматизация, поэтому сдСлана ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π±Π°Π½ΠΊ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² дальнСйшСм ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΡƒΡ‚ΠΎΡ‡Π½ΡΡ‚ΡŒΡΡ, Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒΡΡ.
ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ >>>

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: /

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ΠΎΠ²: 129718

Π”Π°Ρ‚Π° добавлСния: 04.02.2014




На сайтС прСдставлСны ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠ°ΠΊ для ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° схСм Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°. Особо рассматриваСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹. ΠžΡΠ½ΠΎΠ²Π½ΡƒΡŽ массу ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² avr ΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² microchip. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдлагаСтся ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ программирования ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ срСдами программирования: MicroLab, AVRStudio, MikroC, FloweCode.
ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Ρ‹ схСмы Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ: PIC ΠΈ AVR. РассматриваСтся ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство схСм для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Если Π’Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π°Π΄ΠΈΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅Π»ΡŒ, Ρ‚ΠΎ для Вас ΠΌΡ‹ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ….



Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ относятся ΠΊ классу микропроцСссорных устройств. Π’ основС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° дСйствия Ρ‚Π°ΠΊΠΈΡ… элСмСнтов Π»Π΅ΠΆΠΈΡ‚ исполнСниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ². Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ для создания ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹ подходят ΠΏΠ»ΠΎΡ…ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ ΠΏΡ€ΠΈΠ²Π΅Π» ΠΊ появлСнию Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования ΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… компиляторов.


Π’ основС языков программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π»Π΅ΠΆΠ°Ρ‚ классичСскиС языки для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ². ЕдинствСнным ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ становится ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ со встроСнными ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ устройствами. АрхитСктура ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наличия Π±ΠΈΡ‚ΠΎΠ²ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄. ПослСдниС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Ρ„Π»Π°Π³Π°ΠΌΠΈ рСгистров. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€. НапримСр, ядро ARM, Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ примСняСмоС Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, Π½Π΅ содСрТит Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, вслСдствиС Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ доступа.






ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «MikroC»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «FloweCode»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «MicroLab»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «AVR Studio»

png»>

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π’СорСтичСскиС основы эл-ΠΊΠΈ»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «ΠžΡΠ½ΠΎΠ²Ρ‹ МП Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «ΠΠ½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ сигнал»

ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π¦ΠΈΡ„ровая схСмотСхника»



ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ прСдставлСны Π½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ всСм извСстном языкС Π‘ΠΈ. А ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ Π°Π·Ρ‹ программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ схСмотСхнику устройств Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ…, Π°Π²Ρ‚ΠΎΡ€Π°ΠΌ прСдлагаСтся Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ основы микропроцСссорной Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, основы элСктроники, ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠΎΠ²ΡƒΡŽ элСктронику, Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΡƒΡŽ схСмотСхнику, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π°Π·Ρ‹ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ прСдставлСния сигнала. Для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ хочСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ знания Π² области соврСмСнного программирования, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с графичСским языком программирования LabView.


Π’Ρ‹Π±ΠΎΡ€ языка программирования зависит ΠΎΡ‚ мноТСства Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ρ‚ΠΈΠΏΠΎ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ качСством ΠΊΠΎΠ΄Π°. Если Π’Ρ‹ Π²Π΅Π΄Ρ‘Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠ°Π»Ρ‹Ρ… ΠΏΠΎ ΠΎΠ±ΡŠΡ‘ΠΌΡƒ ΠΈ нСслоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ практичСски любой язык. Для ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ АссСмблСр, Π° Ссли ставятся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π‘/Π‘++ практичСски Π½Π΅Ρ‚. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ компилятора. Π’ ΠΈΡ‚ΠΎΠ³Π΅ самым ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ связку АссСмблСра ΠΈ C/C++. Для простого освоСния языков, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. ИспользованиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² программирования упростит ΠΈ ускорит процСсс освоСния программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².


Π‘Ρ…Π΅ΠΌΡ‹ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… позволят Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ тонкости проСктирования, модСлирования ΠΈ программирования ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ².













Новосибирский государствСнный Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ-ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ унивСрситСт — Бибстрин

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΡ‚ΠΎΡ€Π° НГАБУ (Бибстрин) с 1 мая

Π”ΠΎΡ€ΠΎΠ³ΠΈΠ΅ сотрудники, ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ, студСнты, выпускники ΠΈ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹! ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΡŽ вас с 1 мая – ΠŸΡ€Π°Π·Π΄Π½ΠΈΠΊΠΎΠΌ вСсны ΠΈ Ρ‚Ρ€ΡƒΠ΄Π°!

ΠŸΠ΅Ρ€Π²ΠΎΠΌΠ°ΠΉ всСгда Π±Ρ‹Π» ΠΈ остаСтся символом вСсСннСго обновлСния, Сдинства, уваТСния ΠΈ ΠΏΠΎΡ‡Π΅Ρ‚Π° ΠΊ Ρ‚Ρ€ΡƒΠ΄Ρƒ. ВСсСнний Π»ΠΎΠ·ΡƒΠ½Π³ Β«ΠœΠΈΡ€! Π’Ρ€ΡƒΠ΄! Май!Β» всСляСт Π² нас Π½ΠΎΠ²Ρ‹Π΅ силы ΠΈ свСтлыС Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈ наполняСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΌΠΎΠΌ.

Π’ этот дСнь Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ ΠΏΠΎΠ±Π»Π°Π³ΠΎΠ΄Π°Ρ€ΠΈΡ‚ΡŒ Π½Π°ΡˆΠΈΡ… ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡƒΡ‡Π΅Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ своСй Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΏΡ€ΠΎΡΠ»Π°Π²Π»ΡΡŽΡ‚ Бибстрин Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° Π΅Π³ΠΎ стСнами. ΠœΡ‹ гордимся успСхами Π½Π°ΡˆΠΈΡ… Ρ‚Π°Π»Π°Π½Ρ‚Π»ΠΈΠ²Ρ‹Ρ… студСнтов ΠΈ ΠΌΠΎΠ»ΠΎΠ΄Ρ‹Ρ… ΡƒΡ‡Π΅Π½Ρ‹Ρ…, срСди ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ±Π΅Π΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄, конкурсов ΠΈ фСстивалСй Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ уровня…

НГАБУ (Бибстрин) стал самой массовой ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ Β«Π”ΠΈΠΊΡ‚Π°Π½Ρ‚Π° ΠŸΠΎΠ±Π΅Π΄Ρ‹Β» Π² ΠžΠΊΡ‚ΡΠ±Ρ€ΡŒΡΠΊΠΎΠΌ Ρ€Π°ΠΉΠΎΠ½Π΅

29 апрСля 2021 Π³ΠΎΠ΄Π° Новосибирский государствСнный Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ-ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ унивСрситСт (Бибстрин) принял участиС Π²ΠΎ ВсСроссийской патриотичСской Π°ΠΊΡ†ΠΈΠΈ Β«Π”ΠΈΠΊΡ‚Π°Π½Ρ‚ ΠŸΠΎΠ±Π΅Π΄Ρ‹Β».

Β«Π”ΠΈΠΊΡ‚Π°Π½Ρ‚ ΠŸΠΎΠ±Π΅Π΄Ρ‹Β» – ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠ΅ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ всСм ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΠΌ Π³Ρ€Π°ΠΆΠ΄Π°Π½Π°ΠΌ России ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… стран ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свои знания ΠΎ Π’Π΅Π»ΠΈΠΊΠΎΠΉ ΠžΡ‚Π΅Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΉ Π²ΠΎΠΉΠ½Π΅. Β«Π”ΠΈΠΊΡ‚Π°Π½Ρ‚ ΠŸΠΎΠ±Π΅Π΄Ρ‹Β» Π±Ρ‹Π» ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π΅ Β«Π•Π΄ΠΈΠ½ΠΎΠΉ России» Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ„Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Ρ‚ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Β«Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒΒ» совмСстно с Российским историчСским общСством, Российским Π²ΠΎΠ΅Π½Π½ΠΎ-историчСским общСством ΠΈ Β«Π’ΠΎΠ»ΠΎΠ½Ρ‚Π΅Ρ€Π°ΠΌΠΈ ΠŸΠΎΠ±Π΅Π΄Ρ‹Β».

НГАБУ (Бибстрин) Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ присоСдинился ΠΊ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠΉ патриотичСской Π°ΠΊΡ†ΠΈΠΈ, Π½ΠΎ сразу стал самым многочислСнным участником Β«Π”ΠΈΠΊΡ‚Π°Π½Ρ‚Π° ΠŸΠΎΠ±Π΅Π΄Ρ‹Β» Π² ΠžΠΊΡ‚ΡΠ±Ρ€ΡŒΡΠΊΠΎΠΌ Ρ€Π°ΠΉΠΎΠ½Π΅ Π³. Новосибирска.

Команда студСнтов Бибстрина заняла Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто Π² Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π΅ ΠΏΠΎ дисциплинС Β«Π‘ΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ²Β»

29 апрСля 2021 Π³ΠΎΠ΄Π° Π² НовосибирскС Π½Π° Π±Π°Π·Π΅ Бибирского унивСрситСта ΠΏΡƒΡ‚Π΅ΠΉ сообщСния ΠΏΡ€ΠΎΡˆΠ»Π° Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΎΠ»ΠΈΠΌΠΏΠΈΠ°Π΄Π° ΠΏΠΎ ΡΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»Π΅Π½ΠΈΡŽ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² срСди студСнтов тСхничСских Π²ΡƒΠ·ΠΎΠ². Π’ Π½Π΅ΠΉ приняли участиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ НГАБУ (Бибстрин), НГВУ, Π‘Π“Π£ΠŸΠ‘Π°, Π‘Π“Π£Π’Π’Π°, Π‘Π“Π£Π“ΠΈΠ’Π° ΠΈ НГАУ.

Наш унивСрситСт прСдставляли студСнты Π’.Π’. Π‘Π΅Π³ΠΎΠ²Π°Ρ‚ΠΎΠ²Π° (214 Π³Ρ€ΡƒΠΏΠΏΠ°), И.И. Π‘Ρ‚Ρ€Π΅Π»ΡŒΡ†ΠΎΠ² (220 Π³Ρ€ΡƒΠΏΠΏΠ°), Π•.А. Π”ΠΎΡ€ΠΎΠ³Π°Π½ΠΎΠ² (220 Π³Ρ€ΡƒΠΏΠΏΠ°), О.Π’. Π‘ΡƒΡ‚ΡƒΠ·ΠΎΠ²Π° (220 Π³Ρ€ΡƒΠΏΠΏΠ°), Π”.А. Π¨Π°Π΄Ρ€ΠΈΠ½Π° (220 Π³Ρ€ΡƒΠΏΠΏΠ°), А.А. ΠšΡƒΠΏΠΈΠ½Π° (220 Π³Ρ€ΡƒΠΏΠΏΠ°). Команда выступала ΠΏΠΎΠ΄ руководством профСссора ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹ Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ А.А. ΠšΡƒΠ»Π°Π³ΠΈΠ½Π°.

По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ пСрвСнства НГАБУ (Бибстрин) занял II мСсто.

Π’ Π»ΠΈΡ‡Π½ΠΎΠΌ Π·Π°Ρ‡Π΅Ρ‚Π΅ студСнтка нашСго Π²ΡƒΠ·Π° Владислава Π‘Π΅Π³ΠΎΠ²Π°Ρ‚ΠΎΠ²Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π²ΠΎΠ΅Π²Π°Π»Π° Π²Ρ‚ΠΎΡ€ΠΎΠ΅…

ОбъявлСниС ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°Ρ… Π½Π° долТности ΠΈ конкурсном ΠΎΡ‚Π±ΠΎΡ€Π΅ Π½Π° Π·Π°ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π°ΠΊΠ°Π½Ρ‚Π½Ρ‹Ρ… долТностСй профСссорско-ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ состава

ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ трСбования ΠΏΠΎ долТностям пСдагогичСских Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΠΎΠ², относящихся ΠΊ профСссорско-ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ составу

(Π² соотвСтствии с ΠΏΡ€ΠΈΠΊΠ°Π·ΠΎΠΌ ΠœΠΈΠ½Π·Π΄Ρ€Π°Π²ΡΠΎΡ†Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡ Π Π€ ΠΎΡ‚ 11 января 2011 Π³. N 1Π½)

Π—Π°Π²Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ°Ρ„Π΅Π΄Ρ€ΠΎΠΉ

ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ трСбования. Π’Ρ‹ΡΡˆΠ΅Π΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, стаТ Π½Π°ΡƒΡ‡Π½ΠΎ-пСдагогичСской Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² организациях ΠΏΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 5 Π»Π΅Ρ‚, учСная ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΈ ΡƒΡ‡Π΅Π½ΠΎΠ΅ Π·Π²Π°Π½ΠΈΠ΅.

ПисьмСнноС заявлСниС ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ² с ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² подаСтся Π² Π£Π”ΠšΠ  (ΠΊΠ°Π±.127) Π΄ΠΎ 02.06.2021.

Π’Ρ‹Π±ΠΎΡ€Ρ‹ Π·Π°Π²Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ„Π΅Π΄Ρ€ΠΎΠΉ состоятся Π½Π° засСдании ΡƒΡ‡Π΅Π½ΠΎΠ³ΠΎ совСта унивСрситСта 01.07.2021.

логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ — Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ C ++

Π‘ΠΈΡ‚ — это ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ объСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 ΠΈΠ»ΠΈ 0, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт Π»ΠΈΠ±ΠΎ ДА, Π»ΠΈΠ±ΠΎ НЕВ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ΠΈΠ»ΠΈ Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, истинно ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½ΠΎ ΠΈ Ρ‚. Π”., Π’ΠΎ Π΅ΡΡ‚ΡŒ: Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… состояния ΠΎΠ΄ΠΈΠ½ Π½Π°ΠΏΡ€ΠΎΡ‚ΠΈΠ² Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π±Π΅Π· возмоТности ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ². ΠœΡ‹ собираСмся ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π΄Π²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… значСния Π±ΠΈΡ‚Π° — 0 ΠΈ 1.

НСкоторыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ с Π±ΠΈΡ‚Π°ΠΌΠΈ Π»ΠΈΠ±ΠΎ вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ, Π»ΠΈΠ±ΠΎ сами ΠΏΠΎ сСбС.Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ — слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ², Π²Π½Π΅ΡΡˆΠΈΡ… наибольший Π²ΠΊΠ»Π°Π΄ Π² эту ΠΎΠ±Π»Π°ΡΡ‚ΡŒ: Π”ΠΆΠΎΡ€Π΄ΠΆΠ° Буля (1815-1864).

ВсС эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ установлСнноС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΈ всС ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ Π±ΠΈΡ‚Ρƒ, нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ½ΠΈ содСрТат (0 ΠΈΠ»ΠΈ 1). Π”Π°Π»Π΅Π΅ Ρƒ вас Π΅ΡΡ‚ΡŒ список основных логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ со всСми Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ комбинациями Π±ΠΈΡ‚ΠΎΠ².

И

Π­Ρ‚Π° опСрация выполняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π±ΠΈΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π½Π°Π·ΠΎΠ²Π΅ΠΌ a ΠΈ b.Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ примСнСния этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И Π±ΡƒΠ΄Π΅Ρ‚ 1, Ссли ΠΈ a, ΠΈ b Ρ€Π°Π²Π½Ρ‹ 1, ΠΈ 0 Π²ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях (Ρ‚. Π•. Если ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ ΠΎΠ±Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π²Π½Ρ‹ 0).

И (&)

Π˜Π›Π˜

Π­Ρ‚Π° опСрация выполняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π±ΠΈΡ‚Π°ΠΌΠΈ (a ΠΈ b). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 1, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π²ΡƒΡ… Π±ΠΈΡ‚ΠΎΠ² Ρ€Π°Π²Π΅Π½ 1 ΠΈΠ»ΠΈ ΠΎΠ±Π° Ρ€Π°Π²Π½Ρ‹ 1. Если Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² Π½Π΅ Ρ€Π°Π²Π΅Π½ 1, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ 0.

OR (|)

XOR (эксклюзивноС или)

Π­Ρ‚Π° опСрация выполняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π±ΠΈΡ‚Π°ΠΌΠΈ (a ΠΈ b).)

НЕ

Π­Ρ‚Π° опСрация выполняСтся с ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΈΡ‚ΠΎΠΌ. Π•Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ являСтся инвСрсия фактичСского значСния Π±ΠΈΡ‚Π°: Ссли ΠΎΠ½ Π±Ρ‹Π» установлСн Π² 1, ΠΎΠ½ становится 0, Π° Ссли ΠΎΠ½ Π±Ρ‹Π» 0, ΠΎΠ½ становится 1:

НЕ (~)

Π­Ρ‚ΠΎ 4 основныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (AND, OR, XOR ΠΈ NOT). ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ любой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠ· Π΄Π²ΡƒΡ… Π±ΠΈΡ‚ΠΎΠ².

Π’ C ++ эти ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ любого цСлочислСнного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…; логичСская опСрация выполняСтся для всСх Π±ΠΈΡ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ задСйствованной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. НапримСр, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅: a ΠΈ b ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚ΠΈΠΏ unsigned char, Π³Π΄Π΅ a содСрТит 195 (11000011 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅), Π° b содСрТит 87 (ΠΈΠ»ΠΈ 01010111 Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅). Если ΠΌΡ‹ напишСм Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

  1 
2
3
4
   Π±Π΅Π· Π·Π½Π°ΠΊΠ°   char  a = 195;
  Π±Π΅Π· Π·Π½Π°ΠΊΠ°   char  b = 87;
  бСз знака   симв.  c;
с = а и б;  

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΎΠ²Π΅Π»ΠΈ ΠΏΠΎΡ€Π°Π·Ρ€ΡΠ΄Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ И ΠΌΠ΅ΠΆΠ΄Ρƒ a ΠΈ b.ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ выполняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΈΡ‚Π°ΠΌΠΈ Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ: ΠΊΡ€Π°ΠΉΠ½ΠΈΠΉ ΠΏΡ€Π°Π²Ρ‹ΠΉ Π±ΠΈΡ‚ c Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ AND ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΡ€Π°ΠΉΠ½ΠΈΠΌΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ a ΠΈ b:

Π’Π° ΠΆΠ΅ опСрация Ρ‚Π°ΠΊΠΆΠ΅ выполняСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΠΌ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, ΠΏΠΎΠΊΠ° опСрация Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ всСми Π±ΠΈΡ‚Π°ΠΌΠΈ ΠΎΠ±Π΅ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π±ΠΈΡ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ).

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c Ρ€Π°Π²Π½ΠΎ 01000011, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ 67 Π² дСсятичных числах.) с ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Ρ‚ΠΈΠΏΠ° _Bool ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выраТСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ выраТСния равСнства . Если ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ с использованиСм выраТСния Π² скобках.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ нСсовмСстимого ΠΊΠΎΠ΄Π°

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ нСсовмСстимого ΠΊΠΎΠ΄Π° ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ выраТСния равСнства :

 Ссли (! (Getuid () & geteuid () == 0)) {
  / *... * /
}
 

РСшСниС, совмСстимоС с

Π­Ρ‚ΠΎ совмСстимоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ && для логичСской ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² условном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ:

 if (! (Getuid () && geteuid () == 0)) {
  / * ... * /
}
 

ΠžΡ†Π΅Π½ΠΊΠ° рисков

АвтоматичСскоС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅

ΠšΠ»ΡŽΡ‡ здСсь (ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ опрСдСлСния)

ISO

ISO

Π’Π·Π°ΠΈΠΌΠΎΡΠ²ΡΠ·ΡŒ 24772: 2013

Ваксономия

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ таксономии

ВСроятно Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ [KOA] Π”ΠΎ 12. 01.2018: CERT: НСопрСдСлСнная связь
CWE 2.11 CWE-480, использованиС Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° 05.07.2017: CERT: подмноТСство ΠΏΡ€Π°Π²ΠΈΠ» CWE
CWE 2.11 CWE-569 2017-07-06: CERT: подмноТСство ΠΏΡ€Π°Π²ΠΈΠ» CWE

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΊ ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡŽ CERT-CWE

ΠšΠ»ΡŽΡ‡ здСсь для ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠΉ сопоставлСния

CWE-480 ΠΈ EXP46-C

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅ (EXP45-C, EXP46-C) = Ø

CWE-480 = соСдинСниС (EXP46- C, list), гдС list =

  • ИспользованиС Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠΌΠΈΠΌΠΎ s / & / && / ΠΈΠ»ΠΈ s / | / || /

Библиография

[Hatton 1995] Π Π°Π·Π΄Π΅Π» 2.7.2, «Ошибки пропуска ΠΈ добавлСния»

Π˜Π·ΡƒΡ‡Π΅Π½ΠΈΠ΅ C ++: логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹. Π‘ΡƒΠ»Π΅Π²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡβ€¦ | Майкл Макмиллан

Ѐотография Π—ΠΈΠ³ΠΌΡƒΠ½Π΄Π° Π½Π° Unsplash

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для объСдинСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ для выполнСния Π±ΠΎΠ»Π΅Π΅ слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° C ++. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я объясню, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² C ++.

Π’ C ++ Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°:

&& — And
|| — Или
! — Not

Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для объСдинСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ для выполнСния слоТных логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ истинности для этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² (поТалуйста, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΠΉΡ‚Π΅ Π²Π°Π½Π½Ρƒ Π² ΡˆΠΊΠΎΠ»ΡŒΠ½ΡƒΡŽ Π°Π»Π³Π΅Π±Ρ€Ρƒ, хотя я Π½Π΅ ΠΈΠ·ΡƒΡ‡Π°Π» Π»ΠΎΠ³ΠΈΠΊΡƒ Π΄ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ Π² ΠΊΠΎΠ»Π»Π΅Π΄ΠΆΠ΅).

Π’Π°Π±Π»ΠΈΡ†Π° истинности описываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ объСдинСния Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ с логичСским ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° истинности для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° && :

True ΠΈ True Π΄Π°Π΅Ρ‚ True
True ΠΈ False Π΄Π°Π΅Ρ‚ False
False ΠΈ True Π΄Π°Π΅Ρ‚ False
False ΠΈ False Π΄Π°Π΅Ρ‚ False

НапримСр, Ссли x == 100 ΠΈ y == 100 , Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ true .Π›ΡŽΠ±Π°Ρ другая комбинация Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π»ΠΎΠΆΠ½Ρ‹ΠΉ .

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° истинности для || ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ :

True ΠΈΠ»ΠΈ True Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True
True ΠΈΠ»ΠΈ False Π΄Π°Π΅Ρ‚ True
False ΠΈΠ»ΠΈ True Π΄Π°Π΅Ρ‚ True
False ΠΈΠ»ΠΈ False Π΄Π°Π΅Ρ‚ False

НапримСр, Ссли x == 100 ΠΈΠ»ΠΈ y == 200 , Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠ· Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ истинно . ЕдинствСнная комбинация, которая Π΄Π°Π΅Ρ‚ Π»ΠΎΠΆΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, — это Ссли ΠΎΠ±Π° выраТСния ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false .

Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° истинности для ! ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ :

Not True Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ False
Not False Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True

НапримСр, Ссли x == 100 , Ρ‚ΠΎ ! (X == 100) Π΄Π°Π΅Ρ‚ false Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ , Π° Ссли x! = 100 Ρ‚ΠΎΠ³Π΄Π° ! (x! = 100) — это истинноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² использования логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ². Π­Ρ‚ΠΎΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ прСдставляСт собой ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ заявку Π½Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π° для автосалона. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссуду, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄ ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 2 Π»Π΅Ρ‚.Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ эту Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° C ++:

 #include  
using namespace std; int main ()
{
bool Approved;
int заработная ΠΏΠ»Π°Ρ‚Π°;
int yearsOnJob;
cout << «Какая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° соискатСля?Β»;
cin >> заработная ΠΏΠ»Π°Ρ‚Π°;
cout << "Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅?";
cin >> yearsOnJob;
if (Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π°> = 20000) && (yearsOnJob> = 3) {
ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ = true;
}
else {
ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ = лоТь;
}
Ссли (ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ) {
cout << "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π²Ρ‹Π΄Π°Ρ‡Ρƒ ссуды. "<< endl;
}
else {
cout <<" ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ссуда Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π°. "
<< endl;
}
return 0;
}

Π’ΠΎΡ‚ Ρ‚Ρ€ΠΈ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

 Какова заработная ΠΏΠ»Π°Ρ‚Π° заявитСля? 25000 
Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ? 5
Π’ΠΎΠ·ΡŒΠΌΠΈΡ‚Π΅ ссуду Какова Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° заявитСля? 45000
Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ? 1
ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΡ€Π΅Π΄ΠΈΡ‚ Π±Ρ‹Π» ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½. Π§Ρ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π·Π°ΡΠ²ΠΈΡ‚Π΅Π»ΡŒ Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ &&.Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Ρ‹Π» ΠΏΡ€Π°Π²Π΄ΠΎΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3 Π»Π΅Ρ‚. Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½ΠΎ Π½Π΅ для Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ…, поэтому Π² этих случаях ссуда отклоняСтся. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с || ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€. Условия утвСрТдСния заявки Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π° ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ: Ссли ΡΠΎΠΈΡΠΊΠ°Ρ‚Π΅Π»ΡŒ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 5 Π»Π΅Ρ‚, Π΅Π³ΠΎ заявка Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°. Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эту Π»ΠΎΠ³ΠΈΠΊΡƒ: Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π°? 19000
Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅? 5
ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΊΡ€Π΅Π΄ΠΈΡ‚ Π±Ρ‹Π» ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½.

Π­Ρ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ && . Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±Ρ‹Π» ΠΏΡ€Π°Π²Π΄ΠΎΠΉ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 3 Π»Π΅Ρ‚. Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½ΠΎ для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, Π½ΠΎ Π½Π΅ для Π΄Π²ΡƒΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ…, поэтому Π² этих случаях ссуда отклоняСтся.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с || ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ . Условия утвСрТдСния заявки Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π° ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ: Ссли Π·Π°ΡΠ²ΠΈΡ‚Π΅Π»ΡŒ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ 20000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 5 Π»Π΅Ρ‚, Π΅Π³ΠΎ заявка Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°.

Π’ΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ эту Π»ΠΎΠ³ΠΈΠΊΡƒ:

 int main () 
{
bool Approved;
int заработная ΠΏΠ»Π°Ρ‚Π°;
int yearsOnJob;
cout << «Какая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° соискатСля?Β»;
cin >> заработная ΠΏΠ»Π°Ρ‚Π°;
cout << "Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅?";
cin >> yearsOnJob;
if ((Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π°> = 20000) || (yearsOnJob> 5)) {
ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ = true;
}
else {
ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΎ = лоТь;
}
Ссли (ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΎ) {
cout << "ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ Π²Ρ‹Π΄Π°Ρ‡Ρƒ ссуды. "<< endl;
}
else {
cout <<" ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ссуда Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π°. "
<< endl;
}
return 0;
}

Π’ΠΎΡ‚ нСсколько запусков этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, поэтому ΠΌΡ‹ ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΠ°:

 Какова Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° соискатСля? 21000 
Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ? 3
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ссуду.Какова Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° соискатСля? 19500
Бколько Π»Π΅Ρ‚ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ? Ρ€Π°Π±ΠΎΡ‚Π°? 6
ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ссуду. Какая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° заявитСля? 19999
Бколько Π»Π΅Ρ‚ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? 4
ΠžΠ±ΡŠΡΡΠ½ΠΈΡ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ссуду Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΎ.

Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий ссуды, поэтому ссуда Π±Ρ‹Π»Π° ΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°. Π’ послСднСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий ссуды Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, поэтому ссуда Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π°.

Если Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ истинности Or ΠΈΠ· Ρ€Π°Π½Π΅Π΅ упомянутой, Π²Ρ‹ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π½ΠΎΠ΅ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ истинным, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΈΠ· условий Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ истинным. Π’ компилятор C ++ встроСно ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ записано с || , ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ условиС истинно, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ истинным.

Π­Ρ‚Π° функция называСтся сокращСниСм ΠΈ Π΄Π°Π΅Ρ‚ компилятору Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’ || ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹ΡˆΠ΅, всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ условиС оцСниваСтся ΠΊΠ°ΠΊ истинноС, компилятор пропускаСт ΠΎΡ†Π΅Π½ΠΊΡƒ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ условия ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ прямо ΠΊ Π±Π»ΠΎΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… || , ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сначала ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятноС условиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСством ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отрицания (! ) мСняСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΡ†Π΅Π½ΠΊΠΈ рСляционного выраТСния. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ истинно ΠΈ ΠΊ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ примСняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отрицания, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ оцСниваСтся ΠΊΠ°ΠΊ Π»ΠΎΠΆΠ½ΠΎΠ΅. Если рСляционноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎ ΠΈ ΠΊ Π½Π΅ΠΌΡƒ примСняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отрицания, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ†Π΅Π½ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ истинным.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования ! ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅:

 int main () 
{
string password = "letmein";
строка pwd = "";
while (! (Pwd == ΠΏΠ°Ρ€ΠΎΠ»ΡŒ)) {
cout << "Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ:";
cin >> pwd;
}
cout << "Π’Ρ‹ вошли Π² систСму. "<< endl;
return 0;
}

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π² ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, Π° Π·Π°Ρ‚Π΅ΠΌ примСняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ! . ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС.

Π‘ΡƒΠ»Π΅Π²Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π΄Π°ΡŽΡ‚ Π²Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΈ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ использовании логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΌ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠΈ, ΠΏΠΎΠΊΠ° Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ свои рСляционныС выраТСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСимущСствами эффСктивности. обСспСчиваСт ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅.

Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΌΠ½Π΅ с коммСнтариями ΠΈ прСдлоТСниями.

логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ЛогичСский Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… — bool

Π’ C ++ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… bool
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния логичСских Π΄Π°Π½Π½Ρ‹Ρ…. КаТдая константа ΠΈΠ»ΠΈ пСрСмСнная bool содСрТит ΠΎΠ΄Π½ΠΎ ΠΈΠ·
Π΄Π²Π° значСния: истина ΠΈΠ»ΠΈ лоТь .

true ΠΈ false — Π΄Π²Π΅ константы C ++.
true ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 1 .
false ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0 .

Если тСстовоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ относится ΠΊ Ρ‚ΠΈΠΏΡƒ bool ,
ΠΎΠ½ΠΎ автоматичСски приводится ΠΊ Ρ‚ΠΈΠΏΡƒ bool , ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ
ΠΎΡ†Π΅Π½Π΅Π½.
НСнулСвоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ приводится ΠΊ true , Π° Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ — ΠΊ false .

ЛогичСскиС выраТСния

ЛогичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простым логичСским Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅
слоТноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько рСляционных ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π±Π΅Ρ€ΡƒΡ‚ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ связь ΠΌΠ΅ΠΆΠ΄Ρƒ
ΠΈΡ…. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ рСляционныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ
ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ символы C ++.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ
Бимвол C ++ ОписаниС
== Ρ€Π°Π²Π½ΠΎ
! = Π½Π΅ Ρ€Π°Π²Π½ΠΎ
> большС
< ΠΌΠ΅Π½Π΅Π΅
> = большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ
<= мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ

НапримСр, логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

Π½ΠΎΠΌΠ΅Ρ€ 1
оцСниваСтся ΠΊΠ°ΠΊ  true , Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, хранящССся Π²  number1 , Ρ€Π°Π²Π½ΠΎ
мСньшС значСния, хранящСгося Π²  number2 , ΠΈ оцСниваСтся ΠΊΠ°ΠΊ
 Π»ΠΎΠΆΠ½ΠΎ  ΠΈΠ½Π°Ρ‡Π΅. 

Когда ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ° char примСняСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Π³Π΄Π΅ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² сопоставлСниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° символов. НапримСр,

пСрсонаТ1 <пСрсонаТ2
 

оцСниваСтся ΠΊΠ°ΠΊ истина , Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, сохранСнноС Π² символС1, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚
ΠΏΠ΅Ρ€Π΅Π΄ символом, хранящимся Π² символ 2 Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сортировки
ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вычисляСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΅Π΅.
Набор символов ASCII ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ - это Π»ΠΈΠ±ΠΎ логичСская пСрСмСнная, Π»ΠΈΠ±ΠΎ логичСская
константа ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ рСляционныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‰ΠΈΠ΅
Π½Π° истинный ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΉ . Π­Ρ‚ΠΈ простыС логичСскиС выраТСния ΠΌΠΎΠ³ΡƒΡ‚
Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ с использованиСм логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ , ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… для логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΌ
это Ρ‚Ρ€ΠΈ логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°: AND, OR ΠΈ NOT .Π’ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π°
показывая, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² C ++.

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
Бимвол C ++ ОписаниС
&& ЛогичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈ :

  • И - Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя логичСскими выраТСниями.
  • Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π΅Ρ‰Π΅ Π½Π΅ являСтся логичСским Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» ΠΈΠ»ΠΈ «лоТь».
  • Если ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π²Π΅Ρ€Π½Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Π΅Ρ€Π΅Π½.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΆΠ½Ρ‹ΠΌ.
|| ЛогичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ :

  • Или - Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя логичСскими выраТСниями.
  • Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π΅Ρ‰Π΅ Π½Π΅ являСтся логичСским Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» ΠΈΠ»ΠΈ «лоТь».
  • Если ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π²Π΅Ρ€Π½Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Π΅Ρ€Π΅Π½.
  • Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, Ссли ΠΎΠ±Π° ΠΎΠΏΠ΅Ρ€Π°Π½Ρ‚Π° Π»ΠΎΠΆΠ½Ρ‹, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΎΠΆΠ½Ρ‹ΠΌ.
! ЛогичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ , Π° Π½Π΅ .

  • Not мСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ своСго ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°
  • Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅.

  • Π­Ρ‚ΠΎ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ.
  • Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π΅Ρ‰Π΅ Π½Π΅ являСтся логичСским Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «истина» ΠΈΠ»ΠΈ «лоТь».
  • Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ истинный, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π»ΠΎΠΆΠ½Ρ‹ΠΉ.
  • Если ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ Π»ΠΎΠΆΠ½Ρ‹ΠΉ, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ истинный.

Π‘Ρ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΈ логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ
Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² C ++, логичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ НЕ ! ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚,
рСляционныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Π° логичСскиС
ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ AND && ΠΈ OR || Π£ самый Π½ΠΈΠ·ΠΊΠΈΠΉ. ВыраТСния Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках
всСгда ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ
.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ всСх ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² C ++.
ΠΌΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄ΠΎ сих ΠΏΠΎΡ€.

 ΠΠ°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ 
|
() |
|
++ x --x |
|
! Π£Π½Π°Ρ€Π½Ρ‹ΠΉ + Π£Π½Π°Ρ€Π½Ρ‹ΠΉ - |
|
* /% |
|
+ - |
|
<< >> |
|
<<=>> = |
|
==! = |
|
&& |
|
|| |
|
= |
|
x ++ x-- |
V
 НаимСньший ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ 
 

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° "bool" Π² C ++? ”

Π”Π°, логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ , Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ встроСнныС логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ высокого уровня ! , && ΠΈ || , ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства:

  • Π“Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² bool , Ρ‚.Π΅.Π΅. ΠΏΠΎ порядковому Π½ΠΎΠΌΠ΅Ρ€Ρƒ 0 ΠΈ 1 .

  • Π“Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΎΡ†Π΅Π½ΠΊΠ° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ³ΠΎ замыкания , ΠΊΠΎΠ³Π΄Π° вычислСниС выраТСния останавливаСтся, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ становится извСстСн ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.
    Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π»ΠΎΠ³ΠΈΠΊΡƒ с Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ значСниями: True , False ΠΈ Indeterminate .

  • Π§ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ тСкстовыС эквивалСнты , Π° Π½Π΅ , ΠΈ , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ»ΠΈ , Π΄Π°ΠΆΠ΅ Ссли я сам ΠΈΡ… Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ.
    Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ Antimony Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ уровня Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΠΈΡ‚ ΠΈ , Π±ΠΈΡ‚ΠΎΡ€ , xor ΠΈ Π² соотвСтствии с , Π½ΠΎ, Π½Π° ΠΌΠΎΠΉ взгляд, ΠΎΠ½ΠΈ ΠΌΠ΅Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹, Ρ‡Π΅ΠΌ ΠΈ , ΠΈΠ»ΠΈ ΠΈ , Π° Π½Π΅ .c Ρ‚ΠΎ это Π½Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π»ΠΈΠ±ΠΎ a , b , Π»ΠΈΠ±ΠΎ c Π²Π΅Ρ€Π½ΠΎΒ». ВмСсто этого ΠΎΠ½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: «НСчСтноС число ΠΈΠ· a , b ΠΈ c истинно», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… ΠΈΠ»ΠΈ всСми 3…

    Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅, ΠΊΠΎΠ³Π΄Π° a , b ΠΈ c относятся ΠΊ Ρ‚ΠΈΠΏΡƒ bool , просто Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅

      (a + b + c) == 1
      

    ΠΈΠ»ΠΈ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΡ‚ bool , ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² bool :

      (!! a + !! b + !! c) == 1
      

    Π’Ρ‹ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚Π΅,

    «МнС Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΊΠ°ΠΏΠ»ΠΈΠ²Π°Ρ‚ΡŒ логичСскиС значСния, Π° & = ΠΈ | =? ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вСсьма ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.”

    Π§Ρ‚ΠΎ ΠΆ, это соотвСтствуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ соотвСтствия всСм ΠΈΠ»ΠΈ Π»ΡŽΠ±ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ , Π° Π·Π°ΠΊΠΎΠ½ Π΄Π΅ ΠœΠΎΡ€Π³Π°Π½Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ. Π’.Π΅. Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. Π’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ * = Π² качСствС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° && = (ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ, ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» старый Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ Π”ΠΆΠΎΡ€Π΄ΠΆ Π‘ΡƒΠ»ΡŒ, логичСскоС И ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅), Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΎΠ·Π°Π΄Π°Ρ‡ΠΈΠ»ΠΎ Π±Ρ‹ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π²Π΅Π»ΠΎ Π±Ρ‹ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠΎΠ΄.

    Π‘Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅:

      struct Bool
    {
        логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
    
        void operator & = (bool const v) {value = value && v; }
        ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ bool () const {Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅; }
    };
    
    #include 
    
    int main ()
    {
        ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ пространство ΠΈΠΌΠ΅Π½ std;
    
        Bool a = {true};
        Π° & = истина || Π»ΠΎΠΆΠ½Ρ‹ΠΉ;
        Π° & = 1234;
        cout << boolalpha << a << endl;
    
        bool b = {истина};
        b & = истина || Π»ΠΎΠΆΠ½Ρ‹ΠΉ;
        b & = 1234;
        cout << boolalpha << b << endl;
    }
      

    Π’Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Visual C ++ 11.0 ΠΈ g ++ 4.7.1:

    ΠΏΡ€Π°Π²Π΄Π°
    Π»ΠΎΠΆΠ½Ρ‹ΠΉ
     

    ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Ρ… Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ & = Π½Π΅ обСспСчиваСт ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² bool своСго Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€Π°Π²ΠΎΠΉ части.

    Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠ· этих Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ использовании & = ?

    Если ΠΏΠ΅Ρ€Π²ΠΎΠ΅, истинно , Ρ‚ΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅) ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ явноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ выраТСния ΠΏΡ€Π°Π²ΠΎΠΉ части, ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

    ЛогичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

    - Π£Ρ€ΠΎΠΊΠΈ C

    Π’ этом руководствС ΠΏΠΎ C ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ логичСскиС значСния ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π² C явного логичСского Ρ‚ΠΈΠΏΠ°.

    C Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ явного логичСского Ρ‚ΠΈΠΏΠ° , поэтому вмСсто Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ числа. ЛогичСскиС значСния - ИБВИНА ΠΈ Π›ΠžΠ–Π¬, ΠΈΠ»ΠΈ Π’ΠšΠ› ΠΈ Π’Π«ΠšΠ›, ΠΈΠ»ΠΈ 1 ΠΈ 0 соотвСтствСнно. Богласно ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ, 1 считаСтся ИБВИНА, Π° 0 - Π›ΠžΠ–Π¬. Однако любоС Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ считаСтся ИБВИННЫМ, ΠΈ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, являСтся Π»ΠΈ 1 Π±ΠΎΠ»Π΅Π΅ ИБВИННЫМ, Ρ‡Π΅ΠΌ любоС Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

     int a = 10, b = 20;
    
        Ссли)
            Ссли (б)
                printf ("Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a + b Ρ€Π°Π²Π½ΠΎ% d \ n", a + b);
    
        / *
         * Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ a ΠΈ b ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² логичСском контСкстС ΠΊΠ°ΠΊ
         * "Ссли a ИБВИНА, Ρ‚ΠΎ Ссли b ИБВИНА, Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a + b
         * / 

    Рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

     int a = 10, b = 20;
    
        if (a) / * Ссли a Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ * /
            if (b) / * Ссли b Π½Π΅ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ * /
                if (a == b) / * a & b Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа, Π° Π½Π΅ ΠΊΠ°ΠΊ логичСскиС * /
                    printf ("Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a + b; Ρ€Π°Π²Π½ΠΎ% d \ n", a + b); 

    ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ нСсколько Π½Π΅Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ИБВИНА.Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π²Π΅ ΠΏΠ°Ρ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² каТутся эквивалСнтными. НапримСр:

     / *
     * mix_bool_int.c - ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ тСстируСмыС Ρ†Π΅Π»Ρ‹Π΅ числа ΠΊΠ°ΠΊ логичСскиС значСния
     * /
    #include 
    #define ИБВИНА 1
    #define FALSE 0
    
    int main (пусто)
    {
        int flag;
    
        printf ("ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ†Π΅Π»ΠΎΠ΅ число ... \ n");
        scanf ("% d", & Ρ„Π»Π°Π³);
    
        if (flag == FALSE) / * Ссли Ρ„Π»Π°Π³ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ ΠΈΠ»ΠΈ false * /
            (!Ρ„Π»Π°Π³); / * ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³ Π² 1 * /
    
        if (flag == TRUE) / * Ссли Ρ„Π»Π°Π³ 1 ΠΈΠ»ΠΈ истина * /
             (Ρ„Π»Π°Π³); / * Ρ„Π»Π°Π³ True * /
    
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 0;
    } 

    Но вторая ΠΏΠ°Ρ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π½Π΅ эквивалСнтна, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Ссли Ρ„Π»Π°Π³Ρƒ присвоСно любоС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΎΡ‚ 1, условиС Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ.Π­Ρ‚ΠΎ ΠΈΠ·-Π·Π° смСшивания Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ - ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ использования ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ². И явно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° ноль ΠΈΠ»ΠΈ Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. НапримСр, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

     ΠΎΠΊΠ΅ΠΉ = ΠΌΠ°Π»ΡŒΡ‡ΠΈΠΊΠΈ_Π²_классС ()> = 10;
    
        Ссли (Ρ…ΠΎΡ€ΠΎΡˆΠΎ)
            printf (Β«ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! БСгодня приступили ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅! \ nΒ»);
        Π΅Ρ‰Π΅
            printf (Β«Π‘ΠΌΠΎΡ‚Ρ€ΠΈ Π½Π° занятиС Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ дСнь!Β»); 

    Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ рСляционной эксп.Β«Boys_in_class ()> = 10Β» присваиваСтся okey, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Ρ‚Π΅ΠΌ провСряСтся Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ True ΠΈ False.

    Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ C99 прСдставил _Bool Type для логичСских Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ логичСскиС значСния 1 ΠΈΠ»ΠΈ 0 ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 Π±ΠΈΡ‚ΠΎΠΌ, пСрСмСнная Ρ‚ΠΈΠΏΠ° _Bool Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 1 Π±ΠΈΡ‚ Π² памяти. НапримСр:

     / * bool.c --- ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ значСния Ρ‚ΠΈΠΏΠ° _Bool * /
    #include 
    #define ИБВИНА 1
    #define FALSE 0
    
    _Bool new_count ();
    
    int main (пусто)
    {
        _Bool okey;
        int count = 0;
    
        while ((okey = new_count ()) == ИБВИНА) {
            printf ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ% d \ n", ++ count);
        }
    
        printf ("Пока! \ п");
        Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 0;
    }
    
    _Bool new_count ()
    {
        _Bool new;
        int a, b;
    
        printf ("ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π²Π° Ρ†Π΅Π»Ρ‹Ρ… числа... \ n ");
        scanf ("% d% d", & a, & b);
    
        Ссли (а == б)
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ = 1;
        Π΅Ρ‰Π΅
            Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ = 0;
    } 

    Sanfoundry Global Education & Learning Series - Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ 1000 C.

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ всС ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΏΠΎ C, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΌ пособиям ΠΏΠΎ C.

    ΠŸΡ€ΠΈΠΌΠΈΡ‚Π΅ участиС Π² конкурсС сСртификации Sanfoundry, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠŸΠΎΡ‡Π΅Ρ‚Π½ΡƒΡŽ Π³Ρ€Π°ΠΌΠΎΡ‚Ρƒ. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ нашим ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ сСтям Π½ΠΈΠΆΠ΅ ΠΈ Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π² курсС послСдних конкурсов, Π²ΠΈΠ΄Π΅ΠΎ, стаТировок ΠΈ вакансий!

    логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

    логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
    БистСма Π½Π°ΡƒΡ‡Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° XMM-Newton

    selectlib (selectlib-4.76) [xmmsas_20210317_1624-19.1.0]


    Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
    ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ истинным ΠΈΠ»ΠΈ Π»ΠΎΠΆΠ½Ρ‹ΠΌ для всСх строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
    Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ, Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС
    ΠΎΠ½ΠΈ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ допустимого логичСского выраТСния
    ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ Π² языках программирования C / C ++ ΠΈ Fortran:
    Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ состоит ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ…
    с логичСскими ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ && (ΠΈ) ΠΈ || (ΠΈΠ»ΠΈ ΠΆΠ΅).ΠŸΠΎΠ΄Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡ состоят ΠΈΠ· ΠΈΠΌΠ΅Π½ столбцов Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (эквивалСнт
    ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² C / C ++ / Fortran), логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ…
    ΠΈΠ»ΠΈ числовыС константы ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ арифмСтичСскиС выраТСния. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅
    Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны доступныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
    Π² ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ΅ C / C ++ ΠΈΠ»ΠΈ Fortran:

    описаниС C / C ++ Ρ„ΠΎΡ€ΠΌΠ° Π€ΠΎΡ€ΠΌΠ° Fortran
    Ρ€Π°Π²Π½ΠΎ ==. Π­ΠΊΠ².
    Π½Π΅ Ρ€Π°Π²Π½ΠΎ! =.ne.
    ΠΌΠ΅Π½Π΅Π΅ < .lt.
    мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ <= .le.
    большС> .gt.
    большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ> = .ge.
    ΠΈΠ»ΠΈ || .ΠΈΠ»ΠΈ.
    и &&. И.
    логичСскоС ΠΎΡ‚Ρ€ΠΈΡ†Π°Π½ΠΈΠ΅!.Π½Π΅Ρ‚.
    испытаниС Π½Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ дюйм (см. НиТС)

    ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, ΠΊΠ°ΠΊ Π² C / C ++, скобки ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ
    Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ подвыраТСния. Π”Π΅Π»ΠΎ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Ρ‚. Π•.
    .and., .AND. ΠΈ .aNd. всС Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ спСцификации
    для логичСского И-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π€ΠΎΡ€ΠΌΡ‹ C / C ++ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Fortran ΠΌΠΎΠ³ΡƒΡ‚
    ΡΠΌΠ΅ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ.

    Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ логичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.
    Ρ‚Π°ΠΊΠΆΠ΅ доступны.Они ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ряд Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π»ΠΈΠ±ΠΎ истину.
    ΠΈΠ»ΠΈ лоТь. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны доступныС логичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

    имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ
    ifthenelse (expr1, expr2, expr3), Ссли expr1 истинно, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ конструкции Ρ€Π°Π²Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ expr2,
    Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ expr3
    всС Ρ‚Ρ€ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°
    Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ логичСскими выраТСниями
    рядом (val1, val2, tol) Π²Π΅Ρ€Π½ΠΎ, Ссли
    Ρ‚ΠΎΡ‡Π΅ΠΊ (...), строка (...), Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΠ΅ ΠΏΠΎ схСмС "Ρ‚ΠΎΡ‡ΠΊΠ°-Π²-Ρ†ΠΈΡ„Ρ€Π΅" см. НиТС
    gti (...), маска (...), ΠΎΠ±Π»Π°ΡΡ‚ΡŒ (...) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ GTI / Π±Π°Π»Π» Π² Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… тСстах см.

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *