Python: 19x β€” Π›ΠΈΠ½Π΅ΠΉΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ (ΠžΠ“Π­)

1. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

a

послС выполнСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 4
b = 6
b = 8 + a * b
a = b / 4 * a

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

a

.

ΠžΡ‚Π²Π΅Ρ‚: 

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 3
b = 6
b = 12 + a * b
a = b / 5 * a

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

.

ΠžΡ‚Π²Π΅Ρ‚: 

3. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

послС исполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

  a = 12
b = 8 + a / 2
a = a – b / 2

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ число β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

.

ΠžΡ‚Π²Π΅Ρ‚: 

4. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 4
b = 15
a = b - a * 3
b = 24 / a * 4

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

.

ΠžΡ‚Π²Π΅Ρ‚: 

5. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

e

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  f = 21
e = 10
f = 5 * f + 5
e = f – 10 – e * 5

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

e

.

ΠžΡ‚Π²Π΅Ρ‚: 

6. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 20
b = 1
a = (a + b) / 3
b = a - 2 * b
a = a - b

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π°

.

ΠžΡ‚Π²Π΅Ρ‚: 

7. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 14
b = 4
a = a / 2 - b
b = (a * b) / 2
b = a + b

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

.

ΠžΡ‚Π²Π΅Ρ‚: 

8. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  b = 5
a = -3
a = 7 + a * b
b = a / 2 + b

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

.

ΠžΡ‚Π²Π΅Ρ‚: 

9. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 7
b = 5
a = b * 4
b = a * 4

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

.

ΠžΡ‚Π²Π΅Ρ‚: 

10. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

послС выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°:

  a = 3
b = 8
a = b - a * 2
b = 24 / a * 4

Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

b

.

ΠžΡ‚Π²Π΅Ρ‚: 

Задания ΠΏΠΎ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌ

Задания 8. Π›ΠΈΒ­Π½Π΅ΠΉΒ­Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, за­пи­сан­ный Π½Π° ал­го­рит­ми­чС­ском языкС

1. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 8. Π’ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΠ΅ Β«:=Β» ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­Π΅Ρ‚ ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ‚ΠΎΡ€ при­сва­и­ва­ния, Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» β€” ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΈ сло­ТС­ния, вы­чи­та­ния, умно­ТС­ния ΠΈ дС­лС­ния. ΠŸΡ€Π°Β­Π²ΠΈΒ­Π»Π° ΠΈ по­ря­док вы­пол­нС­ния ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΉ ΡΠΎΒ­ΠΎΡ‚Β­Π²Π΅Ρ‚Β­ΡΡ‚Π²ΡƒΒ­ΡŽΡ‚ ΠΏΡ€Π°Β­Π²ΠΈΒ­Π»Π°ΠΌ Π°Ρ€ΠΈΡ„Β­ΠΌΠ΅Β­Ρ‚ΠΈΒ­ΠΊΠΈ. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 2

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                            Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

2. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 28.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 5

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                                                    Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

3. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 48.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 4

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                                                   Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

4. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 68.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 6

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                                                Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

5. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 88.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 7

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                                                  Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

6. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 108.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 3

b := 4

Π° := 2*Π° + 3*b

b := a/2*b                                               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

7. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 128.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 1

b := 4

Π° := 2*Π° + 3*b                                                         

b := a/2*b                                              Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

8. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 148.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 4

b := 2

b := a/2*b

a := 2*Π° + 3*b                                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

9. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 168.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 6

b := 1

b := a/2*b

a := 2*Π° + 3*b                                        Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

10. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 188. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 8

b := 2

b := a/2*b

a := 2*Π° + 3*b                                     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

11. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 208.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 10

b := 1

b := a/2*b

a := 2*Π° + 3*b                                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

12. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 228.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 2 b := 4 b := a/2*b a := 2*Π° + 3*b       

                               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

 

Задания 8. Π›ΠΈΒ­Π½Π΅ΠΉΒ­Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, за­пи­сан­ный Π½Π° ал­го­рит­ми­чС­ском языкС

13. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 248. Π’ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΠ΅ Β«:=Β» ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­Π΅Ρ‚ ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ‚ΠΎΡ€ при­сва­и­ва­ния, Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» β€” ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΈ сло­ТС­ния, вы­чи­та­ния, умно­ТС­ния ΠΈ дС­лС­ния. ΠŸΡ€Π°Β­Π²ΠΈΒ­Π»Π° вы­пол­нС­ния ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΉ ΠΈ по­ря­док дСй­ствий ΡΠΎΒ­ΠΎΡ‚Β­Π²Π΅Ρ‚Β­ΡΡ‚Π²ΡƒΒ­ΡŽΡ‚ ΠΏΡ€Π°Β­Π²ΠΈΒ­Π»Π°ΠΌ Π°Ρ€ΠΈΡ„Β­ΠΌΠ΅Β­Ρ‚ΠΈΒ­ΠΊΠΈ. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния:

Π° := 4

b := 4

b := a/2*b

a := 2*Π° + 3*b                                    Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

14. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 268.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 6

b := 2

b := a/2*b

a := 2*Π° + 3*b                                  Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

15. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 288.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 6

b := 4

b := a/2*b

a := 2*Π° + 3*b                                             Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

16. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 308.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 8

b := 3

b := a/2*b                                                                            

a := 2*Π° + 3*b                                        Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

17. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 328.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 4

b := 10

Π° := b β€” a*2

b := 24/a*4                                         Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

18. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 349.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π° послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 5

b := 4

b := 100 β€” a*b

a := b/16*a                                         Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

19. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 369.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π° послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

a := 10

b := 5

b := 100 + a/b

a := b/6*a                                          Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

20. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 389.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π° послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 10

b := 110

b := 110 + b/a

a := b/11*a                                               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

21. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 409.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π° послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:     

Π° := 0

b := 2

b := 2 + a + 4*b

a := b/2*a                                      Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

22. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 429.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 3

b := 5

a := 6 + a*b

b := b + a/3                                    Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

23. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 449.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 17

b := 23

b := Π° + b + 1

Π° := b + Π°                                             Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

24. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 469.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 100

b := 50

b := Π° β€” b/2 Π° := a/5 + b/3               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

 

Задания 8. Π›ΠΈΒ­Π½Π΅ΠΉΒ­Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, за­пи­сан­ный Π½Π° ал­го­рит­ми­чС­ском языкС

25. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 489. Π’ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΠ΅ Β«:=Β» ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­Π΅Ρ‚ ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ‚ΠΎΡ€ при­сва­и­ва­ния, Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» β€”ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΈ сло­ТС­ния, вы­чи­та­ния, умно­ТС­ния ΠΈ дС­лС­ния. ΠŸΡ€Π°Β­Π²ΠΈΒ­Π»Π° вы­пол­нС­ния ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΉ ΠΈ по­ря­док дСй­ствий ΡΠΎΒ­ΠΎΡ‚Β­Π²Π΅Ρ‚Β­ΡΡ‚Π²ΡƒΒ­ΡŽΡ‚ ΠΏΡ€Π°Β­Π²ΠΈΒ­Π»Π°ΠΌ Π°Ρ€ΠΈΡ„Β­ΠΌΠ΅Β­Ρ‚ΠΈΒ­ΠΊΠΈ. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния:

Π° := 1

b := 2

b := 3 + a*b

Π° := b/5*a*4                                         Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

26. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 509.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 1

b := 2 + a

b := a + b

Π° := b/2*2*a β€” 3                                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

27. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 529.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 5

b := 2 + a

Π° := a*b

b := 2*a β€” b                                              Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

28. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 549.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

a := 4

b := 5

a := b + 15

b := 100/a*4                                         Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

29. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 569.. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

b := 8

a := 10

b := b + a*2

a := 29 β€” a                                          Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

30. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 589.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 7

b := 5

Π° := b*4 β€” a*2

b := Π°*4 β€” 4                                             Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

31. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 609.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 7

b := 2

Π° := b*4 + a*3

b := 30 β€” a                                                Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

32. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 629. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 3

b := 8

Π° := b β€” a*2

b := 24/a*4                                      Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

33. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 649.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 2

b := 20

Π° := b + a/2

b := 24 β€” a                                     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

34. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 669.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

b := -5

a := 2

Π° := 11 β€” 2*a β€” b

b := a/3 β€” 3*b                                 Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

35. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 689.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

b := 4

a := -3

b := 7 β€” 2*a β€” b

a := b/3 β€” a                                   Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

36. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 709.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

Π° := 6

b := 2 b := a/2*b a := 2*a + 3*b     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

 

Задания 8. Π›ΠΈΒ­Π½Π΅ΠΉΒ­Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, за­пи­сан­ный Π½Π° ал­го­рит­ми­чС­ском языкС

37. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 752. Π’ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΠ΅ Β«:=Β» ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­Π΅Ρ‚ ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ‚ΠΎΡ€ при­сва­и­ва­ния, Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» β€” ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΈ сло­ТС­ния, вы­чи­та­ния, умно­ТС­ния ΠΈ дС­лС­ния. ΠŸΡ€Π°Β­Π²ΠΈΒ­Π»Π° вы­пол­нС­ния ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΉ ΠΈ по­ря­док дСй­ствий ΡΠΎΒ­ΠΎΡ‚Β­Π²Π΅Ρ‚Β­ΡΡ‚Π²ΡƒΒ­ΡŽΡ‚ ΠΏΡ€Π°Β­Π²ΠΈΒ­Π»Π°ΠΌ Π°Ρ€ΠΈΡ„Β­ΠΌΠ΅Β­Ρ‚ΠΈΒ­ΠΊΠΈ. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния:

Π° := 1

b := 27

a := b/a*2

b := a*2 β€” 8                                      Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

38. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 772.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

b := 6

a := 30

b := b*4–21

a := 100–a–b                                     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

39. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 804.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ n ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:

v := 4

n := 13

v := n–v*3

n := v*14–n                                   Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ n.

40. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 824.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ n ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

v := 1

n := 24

v := n–v*4

n := v*2–n                                  Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ n.

41. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 846. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°:     

a := 4

b := 6

a := ( a / 2 ) * ( b / 2 )

a := 2 * a + b                                     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

42. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 866.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 8

b := 3

a := 3 * a – b

b := ( a / 3 ) * ( b + 2 )                   Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

43. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 887.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ m ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

k := 5

m := 90

k := m-k*2

m := k*3-m                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ m.

44. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 907.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ m ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

k := 3

m := 30

k := m-k*3

m := k*10-m                             Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ m.

45. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 927.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 100

b := 400

a := 2*a+50

b := a*2–b                                  Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

46. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 947.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 100

b :=240

a := 3*a+20

b := a*2–b                           Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

47. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1019.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ e ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

f := 100

e := 25

f := 2*f+50

e := f–150–e*2                      Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ e.

48. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1039.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ e ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

f := 21

e := 10 f := 5*f+5 e := f–10–e*5       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ e.

 

 

Задания 8. Π›ΠΈΒ­Π½Π΅ΠΉΒ­Π½Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ, за­пи­сан­ный Π½Π° ал­го­рит­ми­чС­ском языкС

49. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1059. Π’ ΠΏΡ€ΠΎΒ­Π³Ρ€Π°ΠΌΒ­ΠΌΠ΅ Β«:=Β» ΠΎΠ±ΠΎΒ­Π·Π½Π°Β­Ρ‡Π°Β­Π΅Ρ‚ ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ‚ΠΎΡ€ при­сва­и­ва­ния, Π·Π½Π°ΠΊΠΈ Β«+Β», Β«-Β», Β«*Β» ΠΈ Β«/Β» β€” ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΈ сло­ТС­ния, вы­чи­та­ния, умно­ТС­ния ΠΈ дС­лС­ния. ΠŸΡ€Π°Β­Π²ΠΈΒ­Π»Π° вы­пол­нС­ния ΠΎΠΏΠ΅Β­Ρ€Π°Β­Ρ†ΠΈΠΉ ΠΈ по­ря­док дСй­ствий ΡΠΎΒ­ΠΎΡ‚Β­Π²Π΅Ρ‚Β­ΡΡ‚Π²ΡƒΒ­ΡŽΡ‚ ΠΏΡ€Π°Β­Π²ΠΈΒ­Π»Π°ΠΌ Π°Ρ€ΠΈΡ„Β­ΠΌΠ΅Β­Ρ‚ΠΈΒ­ΠΊΠΈ.ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния:

a := 3

b := 7

b := 9+a*b

a := b/5*a                                 Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

50. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1079. ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 7

с := 3

с := 3 + a * с

a := с / 3 * a                          Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

51. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1102.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 4

b := 8+2*a

a := b/2*a                               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

52. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1122. . ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 1

b := 4

a := 2*a+3*b

b := a/2*b                               Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

53. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1142.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 4

b := 9

b := 6 * b – a

a := b / 5 * 3 – a                     Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a.

54. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1162.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b послС вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 4

b := 15

a := b-a*3

b := 24/a*4                           Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ b.

55. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1241.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 12

b := 8 + a / 2

a := a – b / 2                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ число β€” Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π°.

56. Π—Π°Β­Π΄Π°Β­Π½ΠΈΠ΅ 8 β„– 1261.  ΠžΠΏΡ€Π΅Β­Π΄Π΅Β­Π»ΠΈΒ­Ρ‚Π΅ Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ a ΠΏΠΎΡΠ»Π΅ вы­пол­нС­ния Π°Π»Β­Π³ΠΎΒ­Ρ€ΠΈΡ‚Β­ΠΌΠ°: 

a := 2

b := 6

b := 12+a*b

a := b/4*a                       Π’ ΠΎΡ‚Β­Π²Π΅Β­Ρ‚Π΅ ΡƒΠΊΠ°Β­ΠΆΠΈΒ­Ρ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ число – Π·Π½Π°Β­Ρ‡Π΅Β­Π½ΠΈΠ΅ ΠΏΠ΅Β­Ρ€Π΅Β­ΠΌΠ΅Π½Β­Π½ΠΎΠΉ Π°.

 

Learning with Python, докумСнтация 2-Π³ΠΎ издания

6.1. ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠ΅ присвоСниС

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

 Π‘Ρ€ΡŽΡ = 5
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π±Ρ€ΡŽΡ,
Π‘Ρ€ΡŽΡ = 7
Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π‘Ρ€ΡŽΡ
 

Π’Ρ‹Π²ΠΎΠ΄ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ 5 7, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· Π‘Ρ€ΡŽΡ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ, Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 5, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π· Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ 7. Запятая Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Π΅Ρ† ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ подавляСт Π½ΠΎΠ²ΡƒΡŽ строку послС Π²Ρ‹Π²ΠΎΠ΄Π°, Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ±Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ мноТСствСнноС Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ выглядит Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ состояний:

ΠŸΡ€ΠΈ мноТСствСнном Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ особСнно Π²Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ опСрация присваивания ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ равСнства. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π²Π½Ρ‹Π΅ Π·Π½Π°ΠΊ (=) для присваивания, Π·Π°ΠΌΠ°Π½Ρ‡ΠΈΠ²ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΊ a = b ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ равСнствС. Π­Ρ‚ΠΎ Π½Π΅!

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, равСнство симмСтрично, Π° присваиваниС β€” Π½Π΅Ρ‚. НапримСр, Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ°, Ссли Π° = 7, Ρ‚ΠΎ 7 = Π°. Но Π² Python ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ a = 7 допустимо, Π° 7 = a β€” Π½Π΅Ρ‚.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ равСнствС всСгда истинно. Если Π° = Π± Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, Ρ‚ΠΎΠ³Π΄Π° a всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ b. Π’ Python ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ€Π°Π²Π½Ρ‹, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊΠΈΠΌΠΈ:

 Π° = 5
b = a # a ΠΈ b Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π²Π½Ρ‹
a = 3 # a ΠΈ b большС Π½Π΅ Ρ€Π°Π²Π½Ρ‹
 

Π’Ρ€Π΅Ρ‚ΡŒΡ строка измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a, Π½ΠΎ Π½Π΅ измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π½Π΅ Ρ€Π°Π²Π½Ρ‹. (Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… языках программирования для присваивания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ <- ΠΈΠ»ΠΈ :=, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹.

)

6.2. ОбновлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Одной ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Ρ„ΠΎΡ€ΠΌ мноТСствСнного присвоСния являСтся ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ зависит ΠΎΡ‚ старого.

 Ρ… = Ρ… + 1
 

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ значСния x, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ x Π½ΠΎΠ²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Ρ†Π΅Π½ΠΈΡ‚ΡŒ.

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ сообщСниС ΠΎΠ± ошибкС, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Python ΠΎΡ†Π΅Π½ΠΈΠ²Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΎΠ½ присвоит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ слСва:

 >>> Ρ… = Ρ… + 1
Traceback (послСдний послСдний Π²Ρ‹Π·ΠΎΠ²):
  Π€Π°ΠΉΠ» "", строка 1, Π²
NameError: имя Β«xΒ» Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ
 

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹ смоТСтС ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ , ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простоС присвоСниС:

 >>> x = 0
>>> Ρ… = Ρ… + 1
>>>
 

ОбновлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния 1 называСтся ΠΏΡ€ΠΈΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ; Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ 1 Ρ€Π°Π²Π½ΠΎ называСтся Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠΌ .

6.3. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while

ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π·Π°Π΄Π°Ρ‡. ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π±Π΅Π· ошибок β€” это Ρ‚ΠΎ, с Ρ‡Π΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈ люди ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.

ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°Π±ΠΎΡ€Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² называСтся ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ . ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ итСрация Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространСна, Ρ‡Ρ‚ΠΎ Python прСдоставляСт нСсколько языковых Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ ΠŸΠΎΠ»Π΅Π³Ρ‡Π΅. ΠŸΠ΅Ρ€Π²Π°Ρ функция, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ собираСмся Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, β€” это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while.

Π’ΠΎΡ‚ функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ отсчСта, которая дСмонстрируСт использованиС Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ отсчСт (n):
    ΠΏΡ€ΠΈ n > 0:
        Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏ
        ΠΏ = ΠΏ-1
    ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "ΠžΡ‚Ρ€Ρ‹Π²!"
 

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ while ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½Π° Π±Ρ‹Π»Π° написана Π½Π° английском языкС. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Пока n большС 0, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n, Π° Π·Π°Ρ‚Π΅ΠΌ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n Π½Π° 1. Когда Π²Ρ‹ Π΄ΠΎΠΉΠ΄Π΅Ρ‚Π΅ Π΄ΠΎ 0, ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅ слово Π’Π·Π»Π΅Ρ‚Π°Ρ‚ΡŒ!

Π‘ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π²ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° while:

  1. Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ условиС, Π²Ρ‹Π΄Π°Π² False ΠΈΠ»ΠΈ True.
  2. Если условиС Π»ΠΎΠΆΠ½ΠΎ, Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° while ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅.
  3. Если условиС истинно, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Ρ‚Π΅Π»Π΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ ΠΊ ΡˆΠ°Π³Ρƒ 1.

Π’Π΅Π»ΠΎ состоит ΠΈΠ· всСх ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ с Ρ‚Π΅ΠΌ ΠΆΠ΅ отступ.

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΏΠΎΡ‚ΠΎΠΊΠ° называСтся Ρ†ΠΈΠΊΠ» , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ шаг повторяСтся Π½Π°Π²Π΅Ρ€Ρ…. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли условиС Π»ΠΎΠΆΠ½ΠΎ Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ», ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ.

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

. БСсконСчный источником развлСчСния для спСциалистов ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ являСтся наблюдСниС, Ρ‡Ρ‚ΠΎ указания ΠΏΠΎ ΡˆΠ°ΠΌΠΏΡƒΠ½ΡŽ, Π½Π°ΠΌΡ‹Π»ΡŒΡ‚Π΅, ΠΏΡ€ΠΎΠΌΠΎΠΉΡ‚Π΅, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅, это бСсконСчный Ρ†ΠΈΠΊΠ».

Π’ случаС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ отсчСта ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n становится мСньшС с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Ρ€Π°Π·ΠΎΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅, поэтому Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π΄ΠΎ 0. Π’ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ случаи, это Π½Π΅ Ρ‚Π°ΠΊ Π»Π΅Π³ΠΊΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ для всСх ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… чисСл n:

 def sequence(n):
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ n != 1:
        Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΏ,
        Ссли n % 2 == 0: # n Ρ‡Π΅Ρ‚Π½ΠΎ
            ΠΏ = ΠΏ / 2
        ΠΈΠ½Π°Ρ‡Π΅: # n Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎ
            ΠΏ = ΠΏ * 3 + 1
 

УсловиС для этого Ρ†ΠΈΠΊΠ»Π° n != 1, поэтому Ρ†ΠΈΠΊΠ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° n Ρ€Π°Π²Π½ΠΎ 1, Ρ‡Ρ‚ΠΎ сдСлаСт условиС Π»ΠΎΠΆΠ½Ρ‹ΠΌ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n, Π° Π·Π°Ρ‚Π΅ΠΌ провСряСт, Ρ‡Π΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅. Если ΠΎΠ½ΠΎ Ρ‡Π΅Ρ‚Π½ΠΎΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n дСлится Π½Π° 2. Если ΠΎΠ½ΠΎ Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎΠ΅, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ замСняСтся Π½Π° n * 3 + 1. НапримСр, Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ Π² sequence) Ρ€Π°Π²Π½ΠΎ 3, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ 3, 10, 5, 16, 8, 4, 2, 1.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ n ΠΈΠ½ΠΎΠ³Π΄Π° увСличиваСтся, Π° ΠΈΠ½ΠΎΠ³Π΄Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ, Π½Π΅Ρ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ n ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ достигнСт 1 ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ n, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ†ΠΈΡŽ. НапримСр, Ссли Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π²ΠΎΠΉΠΊΠΈ, Ρ‚ΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ врСмя Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт 1. ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ заканчиваСтся Ρ‚Π°ΠΊΠΈΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, начиная с 16.

Помимо ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, интСрСсСн вопрос, ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Π½Π° всС значСния n. Пока Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ это

ΠΈΠ»ΠΈ ΠΎΠΏΡ€ΠΎΠ²Π΅Ρ€Π³Π½ΡƒΡ‚ΡŒ это!

6.4. ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ этот процСсс, Π΄Π°Π²Π°ΠΉΡ‚Π΅ прослСдим Π²Ρ‹Π·ΠΎΠ² sequence(3) ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π». Π’ Π½Π°Ρ‡Π°Π»Π΅ трассировки Ρƒ нас Π΅ΡΡ‚ΡŒ локальная пСрСмСнная n (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€) с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ 3.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 3 Π½Π΅ Ρ€Π°Π²Π½ΠΎ 1, ΠΏΠΎΠΊΠ° выполняСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°. Выводится 3 ΠΈ оцСниваСтся 3 % 2 == 0. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ оцСниваСтся ΠΊΠ°ΠΊ False, выполняСтся Π²Π΅Ρ‚Π²ΡŒ else ΠΈ 3 * 3 + 1 оцСниваСтся ΠΈ присваиваСтся n.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° всСм этим, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ трассируСтС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, создайтС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ столбца Π½Π° лист Π±ΡƒΠΌΠ°Π³ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, созданной Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ для Π²Ρ‹Π²ΠΎΠ΄Π°. Наша трассировка ΠΏΠΎΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

 Π½ Π²Ρ‹Ρ…ΠΎΠ΄
-- ------
3 3
10
 

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ 10 != 1 оцСниваСтся ΠΊΠ°ΠΊ True, снова выполняСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°, ΠΈ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΎ 10. 10 % 2 == 0 истинно, поэтому Π²Π΅Ρ‚Π²ΡŒ if выполняСтся, ΠΈ n становится Ρ€Π°Π²Π½Ρ‹ΠΌ 5. К ΠΊΠΎΠ½Ρ†Ρƒ трассировки ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ:

 n Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…
-- ------
3 3
10 10
5 5
16 16
8 8
4 4
2 2
1
 

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

6.5. ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ Ρ†ΠΈΡ„Ρ€

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ функция подсчитываСт количСство дСсятичных Ρ†ΠΈΡ„Ρ€ Π² ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ†Π΅Π»ΠΎΠ΅ число, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² дСсятичном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅:

 def num_digits(n):
    количСство = 0
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½:
        количСство = количСство + 1
        ΠΏ = ΠΏ / 10
    количСство Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ²
 

Π’Ρ‹Π·ΠΎΠ² num_digits(710) Π²Π΅Ρ€Π½Π΅Ρ‚ 3. ΠŸΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π­Ρ‚Π° функция дСмонстрируСт Π΄Ρ€ΡƒΠ³ΡƒΡŽ схСму вычислСний, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ счСтчиком . ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ count инициализируСтся 0, Π° Π·Π°Ρ‚Π΅ΠΌ увСличиваСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° выполняСтся Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°. Когда Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, count содСрТит Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ – ΠΎΠ±Ρ‰Π΅Π΅ количСство Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ совпадаСт с количСство Ρ†ΠΈΡ„Ρ€.

Если Π±Ρ‹ ΠΌΡ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹, Ρ€Π°Π²Π½Ρ‹Π΅ 0 ΠΈΠ»ΠΈ 5, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ условного ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ счСтчика Π΄ΠΎΠ±ΡŒΠ΅Ρ‚ΡΡ Ρ†Π΅Π»ΠΈ:

 def num_zero_and_five_digits(n):
    количСство = 0
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π½:
        Ρ†ΠΈΡ„Ρ€Π° = ΠΏ % 10
        Ссли Ρ†ΠΈΡ„Ρ€Π° == 0 ΠΈΠ»ΠΈ Ρ†ΠΈΡ„Ρ€Π° == 5:
            количСство = количСство + 1
        ΠΏ = ΠΏ / 10
    количСство Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠ²
 

ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ num_zero_and_five_digits(1055030250) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 7.

6.7. Π’Π°Π±Π»ΠΈΡ†Ρ‹

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

Когда Π½Π° сцСнС появились ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ€Π΅Π°ΠΊΡ†ΠΈΠΉ Π±Ρ‹Π»ΠΎ: Β«Π­Ρ‚ΠΎ большой! ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ для создания Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ошибки. Π­Ρ‚ΠΎ оказалось ΠΏΡ€Π°Π²Π΄ΠΎΠΉ (Π² основном), Π½ΠΎ нСдальновидно. ВскорС послС этого, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ распространСны, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ устарСли.

Ну, ΠΏΠΎΡ‡Ρ‚ΠΈ. Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ вычислСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π² Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π±Ρ‹Π»ΠΈ ошибки, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстныС ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Intel Pentium ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для выполнСния дСлСния с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой.

Π₯отя Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΆΡƒΡ€Π½Π°Π»Π° ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΠΊΠ°ΠΊ ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ, ΠΎΠ½Π° ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΏΠΎΠ»Π΅Π·Π½Π°. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π»Π΅Π²Ρ‹ΠΉ столбСц ΠΈ 2 Π² стСпСни этого значСния Π² ΠΏΡ€Π°Π²ΠΎΠΌ столбцС:

 x = 1
ΠΏΠΎΠΊΠ° Ρ… < 13:
    Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ…, '\t', 2**Ρ…
    Ρ… += 1
 

Π‘Ρ‚Ρ€ΠΎΠΊΠ° '\t' прСдставляСт собой символ табуляции . Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚Ρ‹ Π² '\t' ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ . Escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдставлСния Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… символов, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ табуляция ΠΈ новая строка. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ \n прСдставляСт новая строка .

Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² любом мСстС строки; Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠ° escape-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” это СдинствСнноС, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² строкС. Как Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π²Ρ‹ прСдставляСтС обратная косая Ρ‡Π΅Ρ€Ρ‚Π° Π² строкС?

Когда символы ΠΈ строки ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° экранС, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ курсор отслСТиваСт, ΠΊΡƒΠ΄Π° ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ символ. ПослС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, курсор ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π°Ρ‡Π°Π»ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ линия.

Π‘ΠΈΠΌΠ²ΠΎΠ» табуляции ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π²ΠΏΡ€Π°Π²ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ достигнСт ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· табуляция останавливаСтся. Π’ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для выравнивания столбцов тСкста, ΠΊΠ°ΠΊ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅. ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

 1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096
 

Из-Π·Π° символов табуляции ΠΌΠ΅ΠΆΠ΄Ρƒ столбцами ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ столбца Π½Π΅ зависит ΠΎΡ‚ количСства Ρ†ΠΈΡ„Ρ€ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ столбцС.

6.8. Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ДвумСрная Ρ‚Π°Π±Π»ΠΈΡ†Π° β€” это Ρ‚Π°Π±Π»ΠΈΡ†Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ считываСтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° пСрСсСчСнии строки ΠΈ столбца. Π’Π°Π±Π»ΠΈΡ†Π° умноТСния являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния для Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‚ 1 Π΄ΠΎ 6.

Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ способ Π½Π°Ρ‡Π°Ρ‚ΡŒ β€” Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ числа, ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ 2, всС Π½Π° ΠΎΠ΄Π½Π° строка:

 я = 1
пока я <= 6:
    Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ 2 * я, ' ',
    я += 1
Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ
 

ΠŸΠ΅Ρ€Π²Π°Ρ строка ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ i, которая дСйствуСт ΠΊΠ°ΠΊ счСтчик ΠΈΠ»ΠΈ пСрСмСнная Ρ†ΠΈΠΊΠ»Π° . По ΠΌΠ΅Ρ€Π΅ выполнСния Ρ†ΠΈΠΊΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i увСличиваСтся с 1 Π΄ΠΎ 6. Когда i Ρ€Π°Π²Π½ΠΎ 7, Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» ΠΎΠ½ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 * i, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, запятая Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ подавляСт Π½ΠΎΠ²ΡƒΡŽ строку. ПослС Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ строку.

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

 2 4 6 8 10 12
 

Пока всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг β€” ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ .

6.9. Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ β€” это процСсс помСщСния Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° ΠΊΠΎΠ΄Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, позволяя Π²Π°ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми прСимущСствами Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Ρ‹ Π²Ρ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° инкапсуляции: print_parity Π² Π³Π»Π°Π²Π΅ 4; ΠΈ is_divisible Π² Π³Π»Π°Π²Π΅ 5.

ΠžΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ взятиС Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… ΠΈΠ· 2, ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½Ρ‹Π΅ Π»ΡŽΠ±ΠΎΠΌΡƒ Ρ†Π΅Π»ΠΎΠ΅ число.

Π­Ρ‚Π° функция инкапсулируСт ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ» ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΊΡ€Π°Ρ‚Π½ΠΎ n:

 def print_multiples(n):
    я = 1
    пока я <= 6:
        Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ n * i, '\t',
        я += 1
    Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ
 

Для инкапсуляции всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, это Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку, которая ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠžΠ±ΠΎΠ±Ρ‰Π°Ρ, всС, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 2 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ n.

Если ΠΌΡ‹ Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ 2, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅. Π‘ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ 3 Π²Ρ‹Π²ΠΎΠ΄:

 3 6 9 12 15 18
 

Π‘ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ 4 Π²Ρ‹Π²ΠΎΠ΄:

 4 8 12 16 20 24
 

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, догадались, ΠΊΠ°ΠΊ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния β€” ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² print_multiples с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. На самом Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ†ΠΈΠΊΠ»:

 i = 1
пока я <= 6:
    print_multiples (я)
    я += 1
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, насколько этот Ρ†ΠΈΠΊΠ» ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ†ΠΈΠΊΠ» Π²Π½ΡƒΡ‚Ρ€ΠΈ print_multiples. ВсС ΠΌΡ‹ сдСлал, Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся Ρ‚Π°Π±Π»ΠΈΡ†Π° умноТСния:

 1 2 3 4 5 6
2 4 6 8 10 12
3 6 9 12 15 18
4 8 12 16 20 24
5 10 15 20 25 30
6 12 18 24 30 36
 

6.10. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± инкапсуляции

Π§Ρ‚ΠΎΠ±Ρ‹ Π΅Ρ‰Π΅ Ρ€Π°Π· ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, возьмСм ΠΊΠΎΠ΄ ΠΈΠ· послСднСго Ρ€Π°Π·Π΄Π΅Π»Π°. ΠΈ Π·Π°Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ print_mult_table():
    я = 1
    пока я <= 6:
        print_multiples (я)
        я += 1
 

Π­Ρ‚ΠΎΡ‚ процСсс являСтся ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΠ»Π°Π½ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ . ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠ΄, написав строки ΠΊΠΎΠ΄Π° Π²Π½Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Π²ΠΎΠ΄Π° ΠΈΡ… Π² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€. Когда ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ ΠΈ Π·Π°Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π­Ρ‚ΠΎΡ‚ ΠΏΠ»Π°Π½ развития особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ссли Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π²Π°ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΈΠ΄Π΅Ρ‚Π΅ Π²ΠΏΠ΅Ρ€Π΅Π΄.

6.11. Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

Π’Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ i Π² ΠΎΠ±ΠΎΠΈΡ… print_multiples ΠΈ print_mult_table. НС Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ?

НСт, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ i Π² print_multiples ΠΈ i Π² print_mult_table - это , Π° Π½Π΅ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ пСрСмСнная.

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° стСка для этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ i Π½Π΅ ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ пСрСмСнная. Они ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ значСниям, ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π΅ влияСт Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i Π² print_mult_table измСняСтся ΠΎΡ‚ 1 Π΄ΠΎ 6. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ это оказываСтся 3. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π· Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» это Π±ΡƒΠ΄Π΅Ρ‚ 4. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ», print_mult_table Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ print_multiples с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ я Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ присваиваСтся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ n.

Π’Π½ΡƒΡ‚Ρ€ΠΈ print_multiples Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ i измСняСтся ΠΎΡ‚ 1 Π΄ΠΎ 6. Π’ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, это 2. ИзмСнСниС этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π΅ влияСт Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· i Π² print_mult_table.

ΠžΠ±Ρ‰Π΅ΠΏΡ€ΠΈΠ½ΡΡ‚ΠΎ ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π·Π°ΠΊΠΎΠ½Π½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ с Ρ‚ΠΎ ΠΆΠ΅ имя. Π’ частности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, ΠΊΠ°ΠΊ i ΠΈ j, часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»Π°. Если Π²Ρ‹ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚Π΅ ΠΈΡ… использования Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ использовали ΠΈΡ… Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС, Π²Ρ‹, вСроятно, Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

6.12. Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ

Π’ качСствС Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° обобщСния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния любого Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΡˆΠ΅ΡΡ‚ΡŒ Π½Π° ΡˆΠ΅ΡΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² print_mult_table:

 def print_mult_table(high):
    я = 1
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ я <= высокий:
        print_multiples (я)
        я += 1
 

ΠœΡ‹ Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 6 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ high. Если ΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠΌ print_mult_table с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ 7 Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚:

 1 2 3 4 5 6
2 4 6 8 10 12
3 6 912 15 18
4 8 12 16 20 24
5 10 15 20 25 30
6 12 18 24 30 36
7 14 21 28 35 42
 

Π­Ρ‚ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹, вСроятно, Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Ρ‹Π»Π° ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠΉ β€” с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ количСство строк ΠΈ столбцов. Для этого Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π² print_multiples, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, сколько столбцов Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠ°Ρ‚ΡŒ, ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ высоким, дСмонстрируя, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ (Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅). Π’ΠΎΡ‚ ΠΈ вся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°:

 ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ print_multiples(n, high):
    я = 1
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ я <= высокий:
        Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ n*i, '\t',
        я += 1
    Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ
def print_mult_table (высокий):
    я = 1
    Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ я <= высокий:
        print_multiples (я, высокий)
        я += 1
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π½Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ мСсто, Π³Π΄Π΅ функция вызываСтся Π² print_mult_table.

Как ΠΈ оТидалось, эта ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ сСмь Π½Π° сСмь:

 1 2 3 4 5 6 7
2 4 6 8 10 12 14
3 6 9 12 15 18 21
4 8 12 16 20 24 28
5 10 15 20 25 30 35
6 12 18 24 30 36 42
7 14 21 28 35 42 49
 

Когда Π²Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±ΠΎΠ±Ρ‰Π°Π΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ часто ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ab = ba всС записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Π²Π°ΠΆΠ΄Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π½ΠΈΠ»Π°, распСчатав Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° стола. Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ всСго лишь ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ строку print_mult_table. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ

 print_multiples(i, высокий)
 
ΠΎΡ‚

Π΄ΠΎ

 print_multiples(i, i)
 

ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅:

 1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
 

6.13. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

НСсколько Ρ€Π°Π· ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ ΠΎΠ±ΠΎ всСм, для Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. К Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсно, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ это Π·Π° Π²Π΅Ρ‰ΠΈ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΈΡ…:

  1. ΠŸΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠΈ ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ.
  2. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ позволяСт Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅.
  3. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ использованиС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ.
  4. Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ часто ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

6.14. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΡŒΡŽΡ‚ΠΎΠ½Π°

Π¦ΠΈΠΊΠ»Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ числСнныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, начиная с ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ Π΅Π³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

НапримСр, ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов вычислСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΡ€Π½Π΅ΠΉ являСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΡŒΡŽΡ‚ΠΎΠ½Π°. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΈΠ· n. Если Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ с любого ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°:

 Π»ΡƒΡ‡ΡˆΠ΅ = (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ + n/ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ)/2
 

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

 def sqrt(n):
    ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ = n/2,0
    Π»ΡƒΡ‡ΡˆΠ΅ = (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ + n/ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ)/2,0
    Π° Π»ΡƒΡ‡ΡˆΠ΅ != ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ:
        ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ = Π»ΡƒΡ‡ΡˆΠ΅
        Π»ΡƒΡ‡ΡˆΠ΅ = (ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ + n/ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ)/2,0
    Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ
 

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с 25 Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 5. 0.

6.15. Алгоритмы

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΡŒΡŽΡ‚ΠΎΠ½Π° являСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° : это мСханичСский процСсс для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС для вычислСния ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΊΠΎΡ€Π½Π΅ΠΉ).

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ нСпросто. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ это Π½Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ. Когда Π²Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹Π΅ числа, Π’Ρ‹, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π²Ρ‹ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ умноТСния. По сути, Π²Ρ‹ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠ»ΠΈ 100 ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ Π½Π΅ являСтся алгоритмичСским.

Но Ссли Π²Ρ‹ Π±Ρ‹Π»ΠΈ Π»Π΅Π½ΠΈΠ²Ρ‹, Π²Ρ‹, вСроятно, ΠΎΠ±ΠΌΠ°Π½ΡƒΠ»ΠΈ, ΠΈΠ·ΡƒΡ‡ΠΈΠ² нСсколько Ρ‚Ρ€ΡŽΠΊΠΎΠ². Для Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ n ΠΈ 9, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ n - 1 ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ Π° 10 - n ΠΊΠ°ΠΊ вторая Ρ†ΠΈΡ„Ρ€Π°. Π­Ρ‚ΠΎΡ‚ Ρ‚Ρ€ΡŽΠΊ являСтся ΠΎΠ±Ρ‰ΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ любого ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ³ΠΎ числа Π½Π° 9. Π­Ρ‚ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ!

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ слоТСния с пСрСносом, вычитания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ с заимствованиСм ΠΈ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π² Π΄Π»ΠΈΠ½Ρƒ β€” всС это Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹. Один ΠΈΠ· ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° для Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ мСханичСскиС процСссы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ шаг Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ· послСдниС ΠΏΠΎ простому Π½Π°Π±ΠΎΡ€Ρƒ ΠΏΡ€Π°Π²ΠΈΠ».

По Π½Π°ΡˆΠ΅ΠΌΡƒ мнСнию, стыдно, Ρ‡Ρ‚ΠΎ люди Ρ‚Π°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ проводят Π² школС Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π°.

Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² интСрСсСн, ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ слоТной ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

НСкоторыС Π²Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ люди Π΄Π΅Π»Π°ΡŽΡ‚ СстСствСнно, Π±Π΅Π· Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΎΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ мысли Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π΅ всСго Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚ΡŒ алгоритмичСски. ПониманиС СстСствСнного язык являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ. ΠœΡ‹ всС это Π΄Π΅Π»Π°Π΅ΠΌ, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΡ‹ это Π΄Π΅Π»Π°Π΅ΠΌ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π½Π΅ Π² Π²ΠΈΠ΄Π΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

6.16. Глоссарий

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

6.17. УпраТнСния

  1. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ΄Π½Ρƒ строку, которая:

     ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚
    этот
    Π²Ρ‹Ρ…ΠΎΠ΄.
     
  2. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sqrt, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 6.14, которая ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ вычисляСтся. НазовитС свой ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с 25 Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

  3. ΠžΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ послСднСй вСрсии print_mult_table ΠΈ рисунка ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

  4. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print_triangular_numbers(n), которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ n Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… чисСл. Π’Ρ‹Π·ΠΎΠ² print_triangular_numbers(5) произвСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄:

     1 1
    2 3
    3 6
    4 10
    5 15
     

    (подсказка : ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Π΅Π±-поиск, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число. )

  5. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ ch06.py ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

    , Ссли __name__ == '__main__':
        ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ доктСст
        doctest.testmod()
     

    ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ is_prime, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ цСлочислСнный Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚. ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ являСтся простоС число ΠΈ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. ДобавляйтС doctests Π² свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

  6. Π§Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ num_digits(0)? Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 1 для этого случай. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹Π·ΠΎΠ² num_digits(-24) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ бСсконСчному Ρ†ΠΈΠΊΠ»Ρƒ (подсказка : -1/10 Ρ€Π°Π²Π½ΠΎ -1 )? Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ num_digits, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ с Π»ΡŽΠ±Ρ‹ΠΌ цСлочислСнным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² ch06.py Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ создали Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΈ:

     ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ num_digits(n):
        """
          >>> число_Ρ†ΠΈΡ„Ρ€ (12345)
          5
          >>> число_Ρ†ΠΈΡ„Ρ€ (0)
          1
          >>> число_Ρ†ΠΈΡ„Ρ€ (-12345)
          5
        """
     

    Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² num_digits ΠΈ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ доктСсты.

  7. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ch06.py ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

     ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ num_even_digits(n):
        """
          >>> число_Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…_Ρ†ΠΈΡ„Ρ€ (123456)
          3
          >>> число_Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…_Ρ†ΠΈΡ„Ρ€ (2468)
          4
          >>> число_Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…_Ρ†ΠΈΡ„Ρ€ (1357)
          0
          >>> число_Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…_Ρ†ΠΈΡ„Ρ€ (2)
          1
          >>> число_Ρ‡Π΅Ρ‚Π½Ρ‹Ρ…_Ρ†ΠΈΡ„Ρ€ (20)
          2
        """
     

    ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π΅Π»ΠΎ для num_even_digits, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

  8. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² ch06.py ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

     ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ print_digits(n):
        """
          >>> print_digits(13789)
          9 8 7 3 1
          >>> print_digits(39874613)
          3 1 6 4 7 8 9 3
          >>> print_digits(213141)
          1 4 1 3 1 2
        """
     

    ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ‚Π΅Π»ΠΎ для print_digits, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ ΠΏΡ€ΠΎΡˆΠ»ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ doctests.

  9. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ sum_of_squares_of_digits, которая вычисляСт сумму ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Ρ†ΠΈΡ„Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΅ΠΌΡƒ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа. НапримСр, sum_of_squares_of_digits(987) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 194, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ 9**2 + 8**2 + 7**2 == 81 + 64 + 49 == 194.

     ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ sum_of_squares_of_digits(n):
        """
          >>> сумма_ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²_Ρ†ΠΈΡ„Ρ€(1)
          1
          >>> сумма_ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²_Ρ†ΠΈΡ„Ρ€(9)
          81
          >>> сумма_ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²_Ρ†ΠΈΡ„Ρ€ (11)
          2
          >>> сумма_ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²_Ρ†ΠΈΡ„Ρ€ (121)
          6
          >>> сумма_ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ²_Ρ†ΠΈΡ„Ρ€ (987)
          194
        """
     

    ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ своС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° соотвСтствиС doctests Π²Ρ‹ΡˆΠ΅.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ пСрСмСнная Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ?

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

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

ΠŸΡ€ΠΈ присвоСнии ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ = . Имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ΄Π΅Ρ‚ слСва, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠ΄Π΅Ρ‚ справа.

 irb :001 > first_name = 'Π”ΠΆΠΎ'
=> "Π”ΠΆΠΎ"
 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ присвоили Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 'Π”ΠΆΠΎ' , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся строкой, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ first_name . Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΠΎΡΠ»Π°Ρ‚ΡŒΡΡ Π½Π° эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

 irb :002 > имя_имя
=> "Π”ΠΆΠΎ"
 

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ сохранили строку 'Joe' Π² памяти для использования Π²ΠΎ всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ ΠΏΡƒΡ‚Π°Π΅Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ присваивания ( = ) с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ равСнства ( == ). ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ символ = присваиваСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° символ == провСряСт, Ρ€Π°Π²Π½Ρ‹ Π»ΠΈ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ сСанс irb.

 ΠΈΡ€Π± :001 > Π° = 4
=> 4
ΠΈΡ€Π± :002 > Π± = Π°
=> 4
ΠΈΡ€Π± :003 > Π° = 7
=> 7
 

Каково Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ этот сСанс Π² irb, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ.

Π’Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b остаСтся 4, Π° ΠΈ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π° 7. Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° значСния Π² памяти ΠΈ Π½Π΅ сильно связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Если это сбиваСт с Ρ‚ΠΎΠ»ΠΊΡƒ, Π½Π΅ Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ для вас, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ясной ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ. А Ссли ΡΠΎΠΌΠ½Π΅Π²Π°Π΅Ρ‚Π΅ΡΡŒ, всСгда ΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π² irb.

Π”ΠΎ сих ΠΏΠΎΡ€ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Однако Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди ΠΌΠΎΠ³Π»ΠΈ интСрСсным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с вашими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ. Для этого ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ с этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.

Один ΠΈΠ· способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ gets . ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку», ΠΈ это ΠΎΡ‡Π΅Π½ΡŒ вСсСло. Когда Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΆΠ΄Π΅Ρ‚, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ 1) Π²Π²Π΅Π΄Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ 2) Π½Π°ΠΆΠΌΠ΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π²ΠΎΠ΄Π°. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ эти ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² irb, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

 irb :001 > имя = ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚
Π‘ΠΎΠ±
=> "Π‘ΠΎΠ±\n"
 

ПослС ΠΊΠΎΠ΄Π° name = gets ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΆΠ΄Π°Π», ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠœΡ‹ Π½Π°Π±Ρ€Π°Π»ΠΈ Β«Π‘ΠΎΠ±Β», Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠ°Π»ΠΈ Π²Π²ΠΎΠ΄, ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Π΅Ρ€Π½ΡƒΠ»Π° 9.0497 "Π‘ΠΎΠ±\n" . \n Π² ΠΊΠΎΠ½Ρ†Π΅ являСтся символом Β«Π½ΠΎΠ²ΠΎΠΉ строки» ΠΈ прСдставляСт собой ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π²ΠΎΠ΄Π°. Но ΠΌΡ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это Π±Ρ‹Π»ΠΎ Ρ‡Π°ΡΡ‚ΡŒΡŽ нашСй строки. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ chomp , ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с gets , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этого β€” Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ .chomp послС любой строки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символы Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅.

 irb :001 > имя = gets.chomp
Π‘ΠΎΠ±
=> "Π‘ΠΎΠ±"
 

Ну Π²ΠΎΡ‚! Π­Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ красивСС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ name ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.

 irb :001 > имя = gets.chomp
Π‘ΠΎΠ±
=> "Π‘ΠΎΠ±"
irb :002 > имя + 'супСр Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ!'
=> "Π‘ΠΎΠ± просто супСр!"
 

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСт, Π³Π΄Π΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ пСрСмСнная доступна для использования. ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся Ρ‚Π΅ΠΌ, Π³Π΄Π΅ пСрСмСнная инициализируСтся ΠΈΠ»ΠΈ создаСтся. Π’ Ruby ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ опрСдСляСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠΌ . Π£ Π½ΠΈΡ… Ρ€Π°Π·Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ области видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ области видимости ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²

ΠœΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… ΠΊΠ°ΠΊ ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π²ΠΎ врСмя своСго выполнСния. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² выглядят ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

 имя = 'ΠšΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅'
def print_full_name(first_name, last_name)
  имя = имя_имя + ' ' + фамилия
  ставит имя
ΠΊΠΎΠ½Π΅Ρ†
 

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями для first_name ΠΈ last_name :

 print_full_name 'ΠŸΠΈΡ‚Π΅Ρ€', 'Π“Π΅Π½Ρ€ΠΈ' # ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠŸΠΈΡ‚Π΅Ρ€Π° Π“Π΅Π½Ρ€ΠΈ
print_full_name 'Π›ΠΈΠ½Π½', 'Π‘Π»Π΅ΠΉΠΊ' # ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Π›ΠΈΠ½Π½ Π‘Π»Π΅ΠΉΠΊ
print_full_name 'Kim', 'Johansson' # ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Ким Йоханссон
вставляСт имя # ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ Somebody Else
 

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ области дСйствия, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ· Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, нСдоступны Π²Π½Π΅ Ρ‚Π΅Π»Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π­Ρ‚ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π½Π΅ΠΏΡ€ΠΎΠ½ΠΈΡ†Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡƒΠ·Ρ‹Ρ€ΡŒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ name пСрСмСнная ΠΈΠ· строки 1 ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π° print_full_name . Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠΌΠ΅Π½ΠΈ , которая локально привязана ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ строки 4 ΠΈ 5 Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±Π΅Π· измСнСния значСния name ΠΈΠ· строки 1.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ дСйствия ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π±Π»ΠΎΠΊΠΈ

Π‘Π»ΠΎΠΊ β€” это Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слСдуСт Π·Π° Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками {} ΠΈΠ»ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ/Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ :

 всСго = 0
[1, 2, 3].ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ { |число| всСго += число }
ставит Ρ‚ΠΎΡ‚Π°Π» # 6
 
 всСго = 0
[1, 2, 3].each do |number|
  всСго += число
ΠΊΠΎΠ½Π΅Ρ†
ставит Ρ‚ΠΎΡ‚Π°Π» # 6
 

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… { |число| . .. } β€” это Π±Π»ΠΎΠΊ, ΠΊΠ°ΠΊ ΠΈ do |number| ... ΠΊΠΎΠ½Π΅Ρ† . Π₯отя ΠΎΠ½ΠΈ выглядят ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΎ. Π’ ΠΎΠ±ΠΎΠΈΡ… случаях ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½Π΅ Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠ±Π° Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всСго . Однако Π»ΡŽΠ±Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΠΌΠ΅Ρ€ ) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ доступСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ внСшнСго ΠΊΠΎΠ΄Π°.

Для Π±Π»ΠΎΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΡŒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ: ВнутрСнняя ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π²ΠΎ внСшнСй области, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

Взглянув Π½Π° ΠΊΠΎΠ΄, Π²Ρ‹ прояснитС это. Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ scope.rb .

 #scope.rb
a = 5 # пСрСмСнная инициализируСтся Π²ΠΎ внСшнСй области видимости
3.Ρ€Π°Π· ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ |n| # Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π±Π»ΠΎΠΊΠΎΠΌ
  a = 3 # доступСн здСсь, Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ области видимости?
ΠΊΠΎΠ½Π΅Ρ†
ставит
 

Каково Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° экран? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a Ρ€Π°Π²Π½ΠΎ 3. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ a доступно для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ области видимости, созданной 3.times do ... end , Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΊΠΎΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ a . На самом Π΄Π΅Π»Π΅ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π» Π½Π° 3.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅. ΠœΡ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ исходный ΠΊΠΎΠ΄ scope.rb :

 # scope.rb
Π° = 5
3.Ρ€Π°Π· ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ |n| # Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π±Π»ΠΎΠΊΠΎΠΌ
  Π° = 3
  b = 5 # b инициализируСтся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ области видимости
ΠΊΠΎΠ½Π΅Ρ†
ставит
puts b # доступСн Π»ΠΈ b здСсь, Π²ΠΎ внСшнСй области видимости?
 

Какой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹? Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСниС ΠΎΠ± ошибкС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ содСрТания:

 scope.rb:11:in `
': нСопрСдСлСнная локальная пСрСмСнная ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ `b' для main:Object (ИмяОшибка)

Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ пСрСмСнная b нСдоступна Π²Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° с Π±Π»ΠΎΠΊΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. Когда ΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ , ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ b , ΠΎΠ½ нСдоступСн Π² этой внСшнСй области.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сущСствуСт ΠΏΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Π₯отя Π²Π°ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ слСдуСт слишком сильно Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎΠ± этих Ρ‚Π΅ΠΌΠ°Ρ…, Π²ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ….

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния константы:

 MY_CONSTANT = 'Π― доступСн Π²ΠΎ всСм вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. '
 

Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ начинаСтся со Π·Π½Π°ΠΊΠ° Π΄ΠΎΠ»Π»Π°Ρ€Π° ( $ ). Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π²ΠΎ всСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, пСрСопрСдСляя всС Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ области. Рубисты ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ подальшС ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΠΈΡ… использовании ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ слоТности.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

 $var = 'Π― Ρ‚Π°ΠΊΠΆΠ΅ доступСн Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.'
 

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ класса:

 @@instances = 0
 

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Π΅ΠΌ Π½Π°Ρ‡Π°Π»Π° ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° @ . Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ доступны Π²ΠΎ всСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ экзСмплярС Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ области, Π½ΠΎ Π½Π΅ всС ΠΈΠ· Π½ΠΈΡ…. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± этом большС, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎ Ρ‚Π΅ΠΌ ООП, ΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ экзСмпляра, ΠΏΠΎΠΊΠ° Π½Π΅ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Π½ΠΈΡ… большС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ экзСмпляра:

 @var = 'Π― доступСн Π²ΠΎ всСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ экзСмплярС этого класса.'
 

Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ β€” это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ, ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Ρ‡ΠΈΠ½ΡΡŽΡ‚ΡΡ всСм Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌ области видимости. Π­Ρ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ, начиная имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΈ с $ , Π½ΠΈ с @ , Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π²ΠΎ всСм ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ объявлСния локальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

 var = 'Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ области видимости.'
 

Π’ этой Π³Π»Π°Π²Π΅ ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ использования ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.