Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅: 7.20. Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния?

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

7.20. Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния?

Главная  >Β Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽΒ  > ЭнциклопСдия Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎΒ  >Β ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Π΅ дисциплины  >Β Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°Β  > ЭлСктронная вСрсия ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ 10-11Β  >Β Π“Π»Π°Π²Π° 1.7. Алгоритмы. Алгоритмизация. АлгоритмичСскиС языки Β  >Β 7.20. Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния?

АрифмСтичСскиС выраТСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:

  • Β 
    • НСльзя ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π·Π½Π°ΠΊ умноТСния ΠΌΠ΅ΠΆΠ΄Ρƒ сомноТитСлями ΠΈ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ рядом Π΄Π²Π° Π·Π½Π°ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.
    • Π˜Π½Π΄Π΅ΠΊΡΡ‹ элСмСнтов массивов Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… (ΡˆΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΉ АЯ, Pascal) ΠΈΠ»ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… (Basic) скобках.
    • Для обозначСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π±ΡƒΠΊΠ²Ρ‹ латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°.
    • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² порядкС ΡΡ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²Π°: сначала вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π² послСднюю ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ — слоТСниС ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅.
    • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΡ‚Π°Ρ€ΡˆΠΈΠ½ΡΡ‚Π²Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ
      . z ΠΊΠ°ΠΊ exp(exp(z*ln(y))*ln(x)).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ записи арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ запись Π—Π°ΠΏΠΈΡΡŒ Π½Π° школьном алгоритмичСском языкС
x*y/z
x/(y*z) ΠΈΠ»ΠΈ x/y/z
(a**3+b**3)/(b*c)
(a[i+1]+b[i-1])/(2*x*y)
(-b+sqrt(b*b-4*a*c))/(2*a)
(x<0) sign(x)*abs(x)**(1/5)
0.49*exp(a*a-b*b)+ln(cos(a*a))**3
x/(1+x*x/(3+(2*x)**3))

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки Π² записи Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ:

5x+1
a+sin x
((a+b)/c**3
ΠŸΡ€ΠΎΠΏΡƒΡ‰Π΅Π½ Π·Π½Π°ΠΊ умноТСния ΠΌΠ΅ΠΆΠ΄Ρƒ 5 ΠΈ Ρ…
АргумСнт x Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sin x Π½Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² скобки
НС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобки

Π”Ρ€ΡƒΠ³ΠΈΠ΅ записи

10. 06.2016. 7.11. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Ρ‹?

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ случаи, ΠΊΠΎΠ³Π΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚. Π΅. ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ». Вакая структура ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»Π° Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ влоТСнных…

10.06.2016. 7.12. Π§Π΅ΠΌ отличаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ способ записи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…? 7.13.Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ языка программирования?

7.12. Π§Π΅ΠΌ отличаСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ способ записи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ…? ΠŸΡ€ΠΈ записи Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² словСсной Ρ„ΠΎΡ€ΠΌΠ΅, Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊ-схСмы ΠΈΠ»ΠΈ Π½Π° псСвдокодС допускаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ» ΠΏΡ€ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄.…

10.06.2016. 7.14. КакиС Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… языков достоинства ΠΈ нСдостатки? 7.15. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ язык ассСмблСра? 7.16. Π’ Ρ‡Π΅ΠΌ прСимущСства алгоритмичСских языков ΠΏΠ΅Ρ€Π΅Π΄ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌΠΈ?

7.14. КакиС Ρƒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… языков достоинства ΠΈ нСдостатки? ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ свой ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ язык, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ свою ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄, которая отличаСтся количСством адрСсов Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, назначСниСм…

10.

06.2016. 7.17. КакиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ алгоритмичСский язык? 7.18. КакиС понятия ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ алгоритмичСскиС языки?

7.17. КакиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ алгоритмичСский язык? АлгоритмичСский язык (ΠΊΠ°ΠΊ ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ язык) ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ Π΅Π³ΠΎ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅: Π°Π»Ρ„Π°Π²ΠΈΡ‚, синтаксис ΠΈ сСмантика. Алфавит — это фиксированный…

10.06.2016. 7.19. Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ стандартная функция?

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

Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ / Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ :: Бингоскул

АрифмСтичСскиС строковыС ΠΈ логичСскиС выраТСния: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ

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

ЛогичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ – Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, состоящСС ΠΈΠ· логичСских ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… числа, строки. АрифмСтичСский конструктив всСгда приводится ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈΠ· Π΄Π²ΡƒΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – ΠΏΡ€Π°Π²Π΄Π° ΠΈΠ»ΠΈ лоТь. Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° английском языкС – true, false.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ конструкции логичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈΠ· языков программирования. Для умноТСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ And, слоТСниС обозначаСтся Or, опСрация отрицания – Not. Если структура слоТная, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ скобками. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ логичСской конструкции:


5>3Anda=b=лоТь;
5 Not5>3=лоТь.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ – тСория, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

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

Как Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ прСдставлСны основныС условия ΠΈ Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡ… записи Π½Π° языкС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°

Π£ΡΠ»ΠΎΠ²ΠΈΡΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ записи Π½Π° языкС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Π΄ΠΎΠ»ΠΈ вСщСствСнного Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π‘=0int(с) = 0
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ являСтся Ρ†Π΅Π»Ρ‹ΠΌ, Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ числомmod(с,2) = 0
ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ – цСлая, нСчСтная Ρ†ΠΈΡ„Ρ€Π°mod(с,2) = 1
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа Π‘ ΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ 6mod(с,6) = 0
ΠŸΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π°, са>0, (с>0)
ΠŸΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π°, с – ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎ 0((a>0) ΠΈ (с
Один ΠΈΠ· ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π°,Π±,с – ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠ°
ЧисловоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρƒ находится ΠΌΠ΅ΠΆΠ΄Ρƒ 2,5Ρƒβ‰₯2, (Ρƒ
ΠšΠΎΡΡ„Ρ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ Π± соотвСтствуСт Π°(Π±>=Π°), (Π±
Для Ρ†Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл Π°, с Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Π° идСнтичная Ρ‡Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ((mod(a,2)=0),(mod(с,2)=0) ΠΈΠ»ΠΈ
((mod(a,2)=1), (mod(с,2)=1))
ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ (Π±,ΠΊ) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ†Π΅Π½Ρ‚Ρ€Ρƒ ΠΊΡ€ΡƒΠ³Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ радиус Π  Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (Π°,с)(Π±-a)**2+(ΠΊ-с)**2*r

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ строковая запись выраТСния – Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

АрифмСтичСскиС строковыС ΠΈ логичСскиС выраТСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с рядом ΠΏΡ€Π°Π²ΠΈΠ». Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ использованиС строковых Π΄Π°Π½Π½Ρ‹Ρ… для опрСдСлСния ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ². Π’ состав ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ:

  • ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅;
  • ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹;
  • ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ обозначСния;
  • Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ДоступныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ – слоТСниС, ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅. Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ строки. Π•ΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ выраТСния – 255 символов. Π‘Ρ†Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ являСтся ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ.Β 

НапримСр, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ максимально:

  • 318 + 1000002
  • 168 + 1011002
  • 418 + 11112
  • 448 + 110002Β 

Для расчСта считаСм сумму ΠΊΠ°ΠΆΠ΄ΠΎΠΉ конструкции:Β 

  • 318 + 1000002 = 1000320;
  • 168 + 1011002 = 1011170;
  • 418 + 11112 = 11530;
  • 448 + 110002 = 110450.

ΠžΡ‚Π²Π΅Ρ‚: максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ выраТСния.

ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях:

27 мая 2021, 14:43

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ°

Could not load xLike class!



ВычислСниС арифмСтичСского выраТСния β€” Ρ‚Π΅ΠΌΡ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

ΠžΠ±Π·ΠΎΡ€

АрифмСтичСскиС выраТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² 3 Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… нотациях β€” инфиксной, прСфиксной ΠΈ постфиксной. Π’ прСфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ записываСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Postfix ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ послС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. ВыраТСния ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ с использованиСм стСка.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ примСнСния

  • ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ вычислСния арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².
  • Польская (прСфиксная) ΠΈ обратная польская (постфиксная) Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ.
  • ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ· инфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€Π΅Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ ΠΈ ΠΏΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ.

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

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

Π›ΡŽΠ±ΠΎΠ΅ арифмСтичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, записанноС Π² инфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, оцСниваСтся ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ².

Однако, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΡΠΊΠΈΡ… (ΠΈΠ»ΠΈ прСфиксных) Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΡΠΊΠΈΡ… (ΠΈΠ»ΠΈ постфиксных) Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ.

Π’ΠΈΠΏΡ‹ вычислСния выраТСния Π² C

Π’ языкС программирования C сущСствуСт Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Ρ‚ΠΈΠΏΠ° вычислСния выраТСния:

  1. ВычислСниС арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ β€” АрифмСтичСскиС выраТСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ числовыС значСния. НапримСр: 30/630/630/6.
  2. ВычислСниС рСляционных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ β€” РСляционныС выраТСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для сравнСния Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ². НапримСр: (a+b)>=(cβˆ—d)(a + b) >= (c * d)(a+b)>=(cβˆ—d).
  3. ΠžΡ†Π΅Π½ΠΊΠ° логичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ — ЛогичСскиС выраТСния Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ значСния true ΠΈΠ»ΠΈ false. НапримСр: (a
  4. ВычислСниС условных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ β€” Если условноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно, ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€/Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Но Ссли ΠΎΠ½ΠΎ Π»ΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€/Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. НапримСр: (10 > 3)? Β«Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно» : Β«Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎΒ». Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 10 > 3 истинно, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Β«* Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ истинно». Если Π±Ρ‹ это Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ, Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Β«Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π»ΠΎΠΆΠ½ΠΎΒ».

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎΠ± вычислСнии арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ вычислСния арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Для вычислСния арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ компилятор ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ вычисляСт любоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΡ†Π΅Π½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ слСдуСт компилятор:

  • Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ выраТСния со скобками. Если Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, скобки ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. Π’ случаС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… скобок самыС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ скобки ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ, Π° самыС внСшниС β€” послСдними.

  • Если ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, порядок вычислСния выраТСния основан Π½Π° ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ ассоциативности:

    Precedence Operator Associativity
    1 Unary plus, Unary minus Left to Right
    1 Built-in functions Left to Right
    2 Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ
    3 Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния выраТСния, Π° Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚.

Π’ этом случаС порядок ΠΎΡ†Π΅Π½ΠΊΠΈ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся Π² этой Ρ‚Π΅ΠΌΠ΅ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ инфиксной записи:

 
 8 * sqrt(25) - -3
 

ΠžΡ‚Π²Π΅Ρ‚:

Π¨Π°Π³ΠΈ для вычислСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ выраТСния:

  1. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΡƒΠ½Π°Ρ€Π½Ρ‹ΠΉ минус ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π—Π½Π°Ρ‡ΠΈΡ‚, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½Π° Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ упростится Π΄ΠΎ: 8 * sqrt(25) + 3.
  2. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ sqrt(25) являСтся встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄: 8βˆ—5+38 * 5 + 38βˆ—5+3.
  3. Π”Π°Π»Π΅Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ станСт 40 + 3.
  4. НаконСц, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅. Π˜Ρ‚Π°ΠΊ, ΠΎΡ‚Π²Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ 43.

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

 
 7 * (5 + 15) / (2 * 5) - 3;
 

ΠžΡ‚Π²Π΅Ρ‚:

Π¨Π°Π³ΠΈ для вычислСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ выраТСния:

  1. Π‘ΠΊΠΎΠ±ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°ΠΈΠ²Ρ‹ΡΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, выраТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ. ПослС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ всС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ упрощаСтся Π΄ΠΎ: 7*20/10-37 * 20/10 — 37*20/10-3.
  2. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π²ΠΈΠ΄: 140/10-3140 / 10 — 3140/10-3.
  3. Π”Π°Π»Π΅Π΅, ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄ 14βˆ’314 β€” 314βˆ’3.
  4. НаконСц, ΠΌΡ‹ Π²Ρ‹Ρ‡Ρ‚Π΅ΠΌ 3 ΠΈΠ· 14, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ 11 Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Польская (ΠΈΠ»ΠΈ прСфиксная) нотация

Π’ польской ΠΈΠ»ΠΈ прСфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ записываСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ вычислСниС выраТСния выполняСтся Π² стСкС. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ порядок выполнСния для вычислСния арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ быстрСС, Ρ‡Π΅ΠΌ ΠΈΠ½Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈΠ»ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π°.

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² польской записи выглядит Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ эквивалСнтно X * Y Π² инфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Π³Π΄Π΅ X ΠΈ Y β€” Π΄Π²Π° арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, Π° * β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

Π¨Π°Π³ΠΈ для вычислСния прСфиксного выраТСния ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выполняСм для вычислСния инфиксного выраТСния. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стСк. Π’ΠΎΡ‚ шагов для вычислСния значСния прСфиксного выраТСния:

  1. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ var Π² послСдний элСмСнт выраТСния.
  2. Если пСрСмСнная var ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°:
    • ΠžΠΏΠ΅Ρ€Π°Π½Π΄, помСститС этот элСмСнт Π² стСк.
    • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ X ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄Π²Π° элСмСнта (ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°) ΠΈΠ· стСка ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° X . ПослС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ помСститС вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² стСк.
  3. Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° 1.
  4. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ шаги 2 ΠΈ 3 Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹ всС элСмСнты.
  5. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ СдинствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π² стСкС Π² ΠΊΠΎΠ½Ρ†Π΅.

Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ возьмСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ арифмСтичСскиС выраТСния с использованиСм прСфиксной записи.

 
 * / + 9 7 8 2
 

ΠžΡ‚Π²Π΅Ρ‚:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ описанныС Π²Ρ‹ΡˆΠ΅ шаги, ΠΌΡ‹ вычислим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого выраТСния.

Π¨Π°Π³ 1: ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° послСдний элСмСнт, Ρ‚. Π΅. Π½Π° 2 Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.

Π¨Π°Π³ 2: ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 2 являСтся ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, ΠΌΡ‹ помСстим Π΅Π³ΠΎ Π² стСк. Π‘Ρ‚Π΅ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π¨Π°Π³ 3: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля Π½Π° 1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π» Π½Π° послСднСС число, Ρ€Π°Π²Π½ΠΎΠ΅ 8. И снова 8 являСтся ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, поэтому ΠΌΡ‹ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ Π΅Π³ΠΎ Π² стСк. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ эти шаги Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° стСк Π½Π΅ станСт Ρ‚Π°ΠΊΠΈΠΌ:

Π¨Π°Π³ 4: Π•Ρ‰Π΅ Ρ€Π°Π· ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля Π½Π° 1, ΠΌΡ‹ столкнСмся с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ, Ρ‚. Π΅. +. Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΡƒΠ΄Π°Π»ΠΈΠΌ ΠΈΠ· стСка Π΄Π²Π° Π²Π΅Ρ€Ρ…Π½ΠΈΡ… элСмСнта (9ΠΈ 7) ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΈΡ…. 16 ( 9 + 7 ) Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Π² стСк. Π’Π΅ΠΏΠ΅Ρ€ΡŒ стСк выглядит Ρ‚Π°ΠΊ:

Π¨Π°Π³ 5: Π•Ρ‰Π΅ Ρ€Π°Π· ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ шаги. Π’ ΠΈΡ‚ΠΎΠ³Π΅, провСдя всС расчСты, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

Π¨Π°Π³ 6: Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π² стСкС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΡ‚Π²Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ 4.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ польская (ΠΈΠ»ΠΈ постфиксная) нотация

Π’ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ польской ΠΈΠ»ΠΈ постфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ записываСтся послС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’ этой Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ скобки Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ порядок выполнСния выраТСния ΡƒΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² стСкС. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² постфиксной записи выглядит Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΡˆΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ эквивалСнтно X + Y , Π³Π΄Π΅ X ΠΈ Y β€” Π΄Π²Π° арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°, Π° + β€” ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€.

ВычислСниС арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² постфиксной записи Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡŽ арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² прСфиксной записи. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стСк. Π’ΠΎΡ‚ шагов для вычислСния значСния постфиксного выраТСния:

  1. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт строки.
  2. Если ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°:
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ X ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄Π²Π° Π²Π΅Ρ€Ρ…Π½ΠΈΡ… элСмСнта (ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°) ΠΈΠ· стСка ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ X .
  • ΠžΠΏΠ΅Ρ€Π°Π½Π΄, помСститС этот элСмСнт Π² стСк.
  1. Π£Π²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля Π½Π° 1.
  2. ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡˆΠ°Π³Ρƒ 2, Ссли Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ элСмСнты для сканирования.
  3. Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, хранящийся Π² стСкС.

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ арифмСтичСскиС выраТСния:

 
 5 3 7 * + 4 -
 

ΠžΡ‚Π²Π΅Ρ‚:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ шаги, описанныС Π²Ρ‹ΡˆΠ΅, вычислим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого выраТСния.

Π¨Π°Π³ 1: ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт, 5.

Π¨Π°Π³ 2: ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 5 являСтся ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, помСститС Π΅Π³ΠΎ Π² стСк. Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТит — [5].

Π¨Π°Π³ 3: Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля Π½Π° 1. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ элСмСнт, 3. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 3 являСтся ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ, помСститС Π΅Π³ΠΎ Π² стСк. Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТит — [5 3] (снизу Π²Π²Π΅Ρ€Ρ…).

Π¨Π°Π³ 4: ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ процСсс шага 3. Π’Π΅ΠΏΠ΅Ρ€ΡŒ стСк содСрТит — [5 3 7]

Π¨Π°Π³ 5: Π•Ρ‰Π΅ Ρ€Π°Π· ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° * . Π˜Ρ‚Π°ΠΊ, Π²Ρ‹Π½ΠΈΠΌΠ°Π΅ΠΌ ΠΈΠ· стСка Π΄Π²Π° Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° (7, 3) ΠΈ выполняСм Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ умноТСния. Π—Π°Ρ‚Π΅ΠΌ помСститС вычислСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² стСк. Π‘Ρ‚Π΅ΠΊ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ содСрТит — [5 21].

Π¨Π°Π³ 6: ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ шаги, Ρ‡Ρ‚ΠΎΠ±Ρ‹ стСк содСрТал — [4 26].

Π¨Π°Π³ 7 : Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ указатСля для выполнСния послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ большС Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ элСмСнтов, ΠΈ [22] β€” СдинствСнный элСмСнт, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠΉΡΡ Π² стСкС. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΎΡ‚Π²Π΅Ρ‚ 22.

Π’Π°Π±Π»ΠΈΡ†Π° для прСобразования инфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€Π΅Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ ΠΈ ΠΏΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½ΡƒΡŽ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ

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

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

9007 4 9. 9. 9. 9007 4 9. 9. 9007 4 9. 9007 4 9. 9007 4 9. 9
Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ Π˜Π½Ρ„ΠΈΠΊΡΠ½Π°Ρ нотация ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Π°Ρ нотация ΠŸΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½Π°Ρ нотация
1 m + n + m n m n +
2 m βˆ— (n + o) βˆ— m + n o m n o + βˆ—
3 (m + N) βˆ— o βˆ— + M N O M N + O βˆ—
4 (M + N) βˆ— (O + P) βˆ— + M N + O P M N + O P + βˆ—
5 ΠΌ/Π½ + ΠΎ/Ρ€ +/ΠΌ Π½/ΠΎ Ρ€ ΠΌ Π½/ΠΎ Ρ€/+
Left to Right
2 Division and Multiplication / \* Left to Right
3 Addition and Subtraction + — Left to Right

The Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ вычислСния арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок. Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этих арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стСка

РСзюмС

  • АрифмСтичСскиС выраТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² 3-Ρ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… нотациях — инфиксной, прСфиксной ΠΈ постфиксной.
  • Π’ прСфиксной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ записываСтся ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠΌ Π² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Postfix ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ послС ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°.
  • ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Ρ‹Π΅ ΠΈ постфиксныС Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ быстрСС, Ρ‡Π΅ΠΌ инфиксныС.
  • ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ инфиксныС Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π² прСфиксныС ΠΈΠ»ΠΈ постфиксныС ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

3.4 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ β€” ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ программирования Π² Ruby [ΠΊΠ½ΠΈΠ³Π°]

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ классы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π±Ρ‹Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ? Как ΠΈ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ языков, Ruby ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ мноТСство матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’ Π’Π°Π±Π»ΠΈΡ†Π΅ 3-1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ruby Π² качСствС ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€.

Π’Π°Π±Π»ΠΈΡ†Π° 3-1. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

Π‘ΠΈΠΌΠ²ΠΎΠ»

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

+

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Ρ… = 6 + 2

8

-

Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅

Ρ… = 3 - 2

1

*

Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅

Ρ… = 5 * 2

10

/

ΠžΡ‚Π΄Π΅Π»

Ρ… = 16/8

2

%

ΠœΠΎΠ΄ΡƒΠ»ΡŒ

Ρ… = 5 % 3

2

**

ΠœΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ

Ρ… = 2 ** 4

16

ВсС пСрСчислСнныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ, Ρ‚. Π΅. ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π°. НапримСр, ΠΊΠΎΠΌΠ°Π½Π΄Π° A + B β€” это бинарная опСрация, Π³Π΄Π΅ A ΠΈ B β€” это Π΄Π²Π° ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Π° ΠΈ + являСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ матСматичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π΅ Ruby учитываСтся порядок дСйствий. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ порядок ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ввСсти Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ line:

 irb  (    main    ):    001    :    0    >     x     =     10     +     4     /     2   

Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ? Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² подсказка:

 irb  (    main    ):    001    :    0    >     x     =     (    10     +     4    )     /     2  

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌΠΈ.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

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

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