ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ языка Паскаль дСлятся Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PROCEDURE, Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FUNCTION, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ значСния. БинтаксичСски ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ состоят ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Ρ‚Π΅Π»Π°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ставится символ ΠΊΠΎΠ½Ρ†Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «;». Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово PROCEDURE ΠΈΠ»ΠΈ FUNCTION, Π·Π°Ρ‚Π΅ΠΌ слСдуСт имя ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ находится Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ конструкция… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· языков программирования высокого уровня Π‘ΠΈ ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ
  • 1.1 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 1.2 Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • 1.2.1 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹
  • 1.2.2 ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹
  • 1.3 АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
  • 1.4 Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…
  • 1.5 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вСтвлСния
  • 1.5.1 УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ условиями
  • 1.5.2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ
  • 1.6 Π¦ΠΈΠΊΠ»Ρ‹
  • 1.6.1 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ²
  • 1.6.2 БСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄
  • 1.7 ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 1.8 Π˜Ρ‚ΠΎΠ³ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° сравнСния языков программирования Паскаль ΠΈ Π‘ΠΈ
  • 2 ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСализация задания
  • 2.1 ОписаниС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅
  • 2.2 РСализация задания
  • 2.3 Алгоритмы, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

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

Β· постановка Π·Π°Π΄Π°Ρ‡ΠΈ;

Β· сбор Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ;

Β· рСализация Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

Β· трансляция Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ, ΡΠΏΠΎΡΠΎΠ±Π½ΡƒΡŽ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ поставлСнный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· тСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊ ΠΏΠΎΡΡ‚Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅;

Β· Π°Π½Π°Π»ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².

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

2 Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· языков программирования высокого уровня Π‘ΠΈ ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ

Π―Π·Ρ‹ΠΊ высокого уровня — Ρ‚ΠΈΠΏ языка ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠ³ΠΎ программирования. Π―Π·Ρ‹ΠΊΠΈ высокого уровня ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для выраТСния потрСбностСй программиста, Π° Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ абстрактныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ структуры, символичСскиС обозначСния ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. БущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ языков высокого уровня, Π² Ρ‚ΠΎΠΌ числС БСйсик (BASIC), Кобол (COBOL), Паскаль (Pascal), Π€ΠΎΡ€Ρ‚Ρ€Π°Π½ (FORTRAN), Алгол (Algol) ΠΈ Π‘ΠΈ ©. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, написанныС Π½Π° ΡΠ·Ρ‹ΠΊΠ°Ρ… высокого уровня, ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ пСрСвСсти Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄Ρ‹. Рассмотрим Π² ΠΏΡ€ΠΎΡ‚ивопоставлСнии языки высокого уровня Π‘ΠΈ ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ.

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

Для опрСдСлСния мноТСств ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ понятиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ являСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов. ВрСбования ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ:

Β· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ состоит ΠΈΠ· Π»Π°Ρ‚инских Π±ΡƒΠΊΠ² ΠΈ Ρ†ΠΈΡ„Ρ€ (Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΈ ΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ Π½Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ся);

Β· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ с Π±ΡƒΠΊΠ²Ρ‹ («Π°1», Π° Π½Π΅ «1Π°»);

Β· ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π»ΡŽΠ±ΠΎΠ³ΠΎ количСства символов, Π½ΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 63;

Β· слуТСбныС слова запрСщаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° составляСтся ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Паскаля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ символом «;». Для выдСлСния Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки: begin… end. НСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Π΅ скобки, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ составным ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’ Ρ‚СкстС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ Ρ‚СкстС Π»Π΅ΠΊΡ†ΠΈΠΉ Π±ΡƒΠ΄Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки для коммСнтирования.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π’ΡƒΡ€Π±ΠΎ Паскаль:

Β· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ;

Β· описаниС констант;

Β· Π·Π°Π΄Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²;

Β· Ρ€Π°Π·Π΄Π΅Π» объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

Β· описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ;

Β· описаниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€;

Β· Π½Π°Ρ‡Π°Π»ΠΎ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· Ρ‚Π΅Π»ΠΎ основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹;

Β· ΠΊΠΎΠ½Π΅Ρ† основной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ основного Π±Π»ΠΎΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡΠ΅Π³ΠΌΠ΅Π½Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ся Π½ΡƒΠ»Π΅ΠΌ компилятором; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСгмСнта стСка ΠΈ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ся. ВсС Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставляСт собой ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ нСльзя Π²Π½ΠΎΡΠΈΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ работоспособности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π‘ΠΈ-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΡ„Ρ€, Π±ΡƒΠΊΠ² ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π²ΠΎΠΉ стоит Π±ΡƒΠΊΠ²Π° ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ. Для получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ строчныС ΠΈΠ»ΠΈ прописныС Π±ΡƒΠΊΠ²Ρ‹ латинского Π°Π»Ρ„Π°Π²ΠΈΡ‚Π°. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ символом ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ символ подчСркивания «_».

Π”Π²Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, для получСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ строчныС ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡΠ½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ: abc, ABC, A328B, a328b. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ допускаСт всякоС количСство символов Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π΅, Π½ΠΎ Π·Π½Π°Ρ‡ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ 31 символ. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ образуСтся Π½Π° ΡΡ‚Π°ΠΏΠ΅ объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, структуры ΠΈ Ρ‚. ΠΏ. ПослС этого Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°Ρ… Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ совпадСния с Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ словами ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ компилятора языка Π‘И.

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

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π½Π°Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ смыслом. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡΠΎΠΎΡ‚вСтствии со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ, извСстным компилятору языка Π‘И. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌΡΠΏΠΈΡΠΎΠΊΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ…ΡΠ»ΠΎΠ²: auto double intstruct break else long switch register tupedef char extern return void case float unsigned default for signed union do if sizeof volatile continue enum short while. ΠŸΡ€ΠΈ этом Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… вСрсиях Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка Π‘И Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ словами ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: asm, fortran, near, far, cdecl, huge, pascal, interrupt. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова far, huge, near Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΠΎΠ±Π»Π°ΡΡ‚ΠΈ памяти.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова _asm, cdecl, fortran, pascal ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи с Ρ„ункциями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ написаны Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π° Ρ‚Π°ΠΊΠΆΠ΅ для примСнСния ΠΊΠΎΠΌΠ°Π½Π΄ языка ассСмблСра нСпосрСдствСнно Π² Ρ‚Π΅Π»Π΅ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Π‘И. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

1.2 Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

1.2.1 Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡŠΡΠ²Π»ΡΡ‚ΡŒΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌ для этого мСстС — Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Π±Π»ΠΎΠΊΠΎΠ²Ρ‹Ρ… скобок ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова var. Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ собствСнныС Ρ‚ΠΈΠΏΡ‹ (послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова type). ОбъявлСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… стандартного Ρ‚ΠΈΠΏΠ°: ΠΈΠ΄Π΅Ρ‚ допустимоС Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π·Π°Ρ‚Π΅ΠΌ послС двоСточия Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, хранящихся Π² ΡΡ‚ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Паскаля пСрСчислСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… 2.2.1 — 2.2.3[5].

Π’Π°Π±Π»ΠΈΡ†Π° 2.2.1 — ЦСлочислСнныС Ρ‚ΠΈΠΏΡ‹ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π—Π½Π°ΠΊΠΎΠ²ΠΎΡΡ‚ΡŒ

Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

Byte

0.255

Unsigned

ShortInt

— 128.127

Signed

SmallInt

— 32 768.32767

Signed

Word

0.65 535

Unsigned

Integer

— 32 768.32767

Signed

Cardinal

0. 4 294 967 295

Unsigned

LongWord

0. 4 294 967 295

Unsigned

LongInt

?2 147 483 648. 2 147 483 647

Signed

Π’Π°Π±Π»ΠΈΡ†Π° 2.2.2 — ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π—Π½Π°Ρ‡Π°Ρ‰ΠΈΡ… Ρ†ΠΈΡ„Ρ€

Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

Single

7−8

Double

Зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

;

Real

Зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹

;

Extended

19−20

Π’Π°Π±Π»ΠΈΡ†Π° 2.2.3 — Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅

Π’ΠΈΠΏ

ЗначСния

Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

Char

0.255 (символы ASCII)

String

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π½Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 255 символов

1.256

Boolean

true/false

Pointer

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

НС Π²ΡΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ компиляторами ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, компилятор BorlandPascal 7.0 MS-DOS Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ матСматичСского сопроцСссора для использования Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… EXTENDED. Π’Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° CHARнСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ†Π΅Π»ΠΎΡ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΉ, Π΅Π³ΠΎ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΌΠ°Ρ‚СматичСских выраТСниях, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся сугубо ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠΌ для символов. Π’ΠΈΠΏ BOOLEANΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ константныС выраТСния TRUEΠΈ FALSE, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ логичСским 0 ΠΈ 1, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΎΠ½ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π±Π°ΠΉΡ‚. Π’ΠΈΠΏ STRINGΠ²Π΅Π΄Π΅Ρ‚ сСбя ΠΊΠ°ΠΊ массив элСмСнтов Ρ‚ΠΈΠΏΠ° CHAR, Π½ΠΎ ΠΏΡ€ΠΈ этом Π΄Π»ΠΈΠ½Π° этого массива хранится Π² Π½ΡƒΠ»Π΅Π²ΠΎΠΌ элСмСнтС; этим ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρ‹ 255 символами. Π’Π°ΠΊΠΆΠ΅ Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ указатСля POINTER, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉΡΡ отсутствиСм адрСса ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.

Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π‘ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅: всС названия цСлочислСнных Ρ‚ΠΈΠΏΠΎΠ² прСдставляСтся ΠΊΠ°ΠΊ комбинация ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ сразу ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Ρ‚ΠΈΠΏ unsignedshortint ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ΅ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число. ВСщСствСнных Ρ‚ΠΈΠΏΠΎΠ² Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС, Ρ‡Π΅ΠΌ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ (ΠΈΡ… Ρ‚Ρ€ΠΈ), ΠΈ Π΄Π»Ρ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Ρ‚рСбуСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… настроСк компилятора. Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π‘ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… 2.2.4 ΠΈ 2.2.5.

Π’Π°Π±Π»ΠΈΡ†Π° 2.2.4 — Π¦Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π² Π‘ΠΈ

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

(signed) char

— 128…127

unsigned char

0…255

(signed) short (int)

— 32 768…32 767

unsigned short (int)

0…65 535

(signed) long (int)

?2 147 483 648. 2 147 483 647

unsigned long (int)

0. 4 294 967 295

(signed) int

Зависит ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π°

2/4

unsigned (int)

Зависит ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Π°

2/4

Π’Π°Π±Π»ΠΈΡ†Π° 2.2.5 — ВСщСствСнныС Ρ‚ΠΈΠΏΡ‹ Π² Π‘ΠΈ

Π’ΠΈΠΏ

Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½

Π Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

Float

Double

longdouble

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹; Ρ‚ΠΈΠΏ char ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ матСматичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ символ, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° для строк Π½Π΅Ρ‚; строки ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ массивов элСмСнтов Ρ‚ΠΈΠΏΠ° char, ΠΊΠΎΠ½Ρ†ΠΎΠΌ строки считаСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ с Π½Π°Ρ‡Π°Π»Π° строки элСмСнт, содСрТащий ноль. ВслСдствиС этого Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅ MS-DOS Π΄Π»ΠΈΠ½Π° строк ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ сСгмСнта (64 ΠšΠ±Π°ΠΉΡ‚). ЛогичСских Ρ‚ΠΈΠΏΠΎΠ² Π² Π‘ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅Ρ‚; вмСсто этого Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° систСма, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ любоС Ρ†Π΅Π»ΠΎΠ΅ число ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСно Π² Π²ΠΈΠ΄Π΅ логичСской константы: всС, Ρ‡Ρ‚ΠΎ Π½Π΅ «0», эквивалСнтно истинному Π²Ρ‹ΡΠΊΠ°Π·Ρ‹Π²Π°Π½ΠΈΡŽ, ΠΈΠ½Π°Ρ‡Π΅ Π»ΠΎΠΆΠ½ΠΎΠΌΡƒ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² Π‘ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ матСматичСскиС выраТСния Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ логичСских ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Ρ‡Ρ‚ΠΎ добавляСт гибкости языку. Π’ΠΈΠΏΠ° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ POINTERΠ½Π΅Ρ‚, Π²Π·Π°ΠΌΠ΅Π½ прСдоставлСна гибкая систСма ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, зависящих ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ значСния. Π—Π°Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ void, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ отсутствиС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния.

1.2.2 ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹

Π’ ΠΎΠ±ΠΎΠΈΡ… языках Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ псСвдонимы для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΈ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. [7]ΠšΡ€ΠΎΠΌΠ΅ стандартных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Паскаль ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ скалярныС Ρ‚ΠΈΠΏΡ‹, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ самим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. К Π½ΠΈΠΌ относятся пСрСчислимыС Ρ‚ΠΈΠΏΡ‹ (ΠΊΠΎΠ³Π΄Π° нСпосрСдствСнно, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ описания Ρ‚ΠΈΠΏΠΎΠ², Π·Π°Ρ€Π°Π½Π΅Π΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ всС значСния для ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… этого Ρ‚ΠΈΠΏΠ°) ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹Π΅ (ΠΊΠΎΠ³Π΄Π° Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ), ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (ΠΊΡ€ΠΎΠΌΠ΅ Pointer), структурированныС Ρ‚ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹. Π”Π°Π½Π½Ρ‹Π΅ этих Ρ‚ΠΈΠΏΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½ Π±Π°ΠΉΡ‚, поэтому скалярныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 256 элСмСнтов. Π˜Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ поиск ошибок, экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… задаСтся нСпосрСдствСнно пСрСчислСниСм всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ пСрСмСнная Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠŸΡ€ΠΈ описании ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, Π° Π²Π΅ΡΡŒ список Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π²Π΅ константы, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ОбС константы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ стандартному Ρ‚ΠΈΠΏΡƒ (ΠΊΡ€ΠΎΠΌΠ΅ real). Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ — ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ адрСса памяти. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Pointer, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ‚ΠΈΠΏ опрСдСляСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описан Π΄ΠΎ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΡ самого Ρ‚ΠΈΠΏΠ°.

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

[8] Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΏΡΡ‚ΡŒ способов создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

Β· структуры — Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ ΠΎΠ΄Π½ΠΎ имя ΠΈ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΅Ρ‰Π΅ извСстны Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹: соСдинСниС ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π³Π»ΠΎΠΌΠ΅Ρ€Π°Ρ‚;

Β· объСдинСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ участок памяти ΠΊΠ°ΠΊ Π΄Π²Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…;

Β· Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ поля, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ элСмСнта структуры ΠΈΠ»ΠΈ объСдинСния, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π±Π»ΠΎΠΊΠ°ΠΌ;

Β· пСрСчислСния — списка ΠΏΠΎΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ†Π΅Π»Ρ‹Ρ… констант;

Β· ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова typedef, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт Π½ΠΎΠ²ΠΎΠ΅ имя для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°;

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π‘ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ, ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅. Π’ Π‘ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»Π΅ΠΌ пСрСчисляСмого Ρ‚ΠΈΠΏΠ° являСтся Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ список enum, оформляСмый ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово enum, Π·Π°Ρ‚Π΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΡƒΠΌΠ΅Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ списка. ПослС Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках ΠΈΠ΄Π΅Ρ‚ пСрСчислСниС элСмСнтов списка; Ссли элСмСнту Π½Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠ΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π°Π²Ρ‚оматичСски ΠΎΠ½ ΠΏΠ΅Ρ€Π΅Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ся ΠΊΠ°ΠΊ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ элСмСнта. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту списка соотвСтствуСт Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅; Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, ΠΎΠ½ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ся Π½ΡƒΠ»Π΅ΠΌ.

1.3 АрифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

АрифмСтичСская опСрация — Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ опСрация Π½Π°Π΄ числами. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ двумСстныС арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ: слоТСния, вычитания, умноТСния, дСлСния, дСлСния Π½Π°Ρ†Π΅Π»ΠΎ, вычислСниС остатка ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ. ДопустимыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2.3.1.

Π’Π°Π±Π»ΠΈΡ†Π° 2.3.1 ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

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

Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

НазваниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

ЛогичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Not

Not A

«Π½Π΅»

ЛогичСский, Ρ†Π΅Π»Ρ‹ΠΉ

And

A and B

«ΠΈ»

Or

A or B

«ΠΈΠ»ΠΈ»

Xor

A xor B

«ΠΈΡΠΊΠ». ΠΈΠ»ΠΈ»

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

*

A*B

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

Π¦Π΅Π»Ρ‹ΠΉ, вСщСствСнный

A/B

Π”Π΅Π»Π΅Π½ΠΈΠ΅

Div

A div B

Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π±Π΅Π· остатка

Π¦Π΅Π»Ρ‹ΠΉ

Mod

A mod B

ΠžΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ

A+B

Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Π¦Π΅Π»Ρ‹ΠΉ, вСщСствСнный, строки

;

A-B

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

Π¦Π΅Π»Ρ‹ΠΉ, вСщСствСнный

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

=

A=B

Π Π°Π²Π½ΠΎ

Π¦Π΅Π»Ρ‹ΠΉ, вСщСствСнный, логичСский, строки

<>

A<>B

НС Ρ€Π°Π²Π½ΠΎ

>

A>B

Π‘ΠΎΠ»ΡŒΡˆΠ΅

<

A

МСньшС

>=

A>=B

Π‘ΠΎΠ»ΡŒΡˆΠ΅ Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ

<=

A<=B

МСньшС Π»ΠΈΠ±ΠΎ Ρ€Π°Π²Π½ΠΎ

БпСцифичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

@A

АдрСс

Π›ΡŽΠ±ΠΎΠΉ

^

A^

Π Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ

Chl

A chl B

Π‘Π΄Π²ΠΈΠ³ Π²Π»Π΅Π²ΠΎ

Π¦Π΅Π»Ρ‹ΠΉ

Shr

A shr B

Π‘Π΄Π²ΠΈΠ³ Π²ΠΏΡ€Π°Π²ΠΎ

*

A*B

ΠŸΠ΅Ρ€Π΅ΡΠ΅Ρ‡Π΅Π½ΠΈΠ΅

ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ

A+B

ОбъСдинСниС

;

A-B

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

In

A in B

Π’Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ мноТСства

Для строк опСрация слоТСния выступаСт ΠΊΠ°ΠΊ конкатСнация — присоСдинСниС Π²Ρ‚ΠΎΡ€ΠΎΠΉ строки ΠΊ «Ρ…восту» ΠΏΠ΅Ρ€Π²ΠΎΠΉ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ нСявноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², поэтому ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€ΠΎΠ΄Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ ΠΈΠ·-Π·Π° отсутствия логичСских Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΡƒΠΏΡ€Π°Π·Π΄Π½Π΅Π½ΠΈΡ Ρ‚ΠΈΠΏΠΎΠ² строк ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ свои особСнности. Бписок допустимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Π‘ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 2.3.2. Π’ ΡΠ·Ρ‹ΠΊΠ΅ сущСствуСт ТСсткая иСрархия ΠΏΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρƒ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ позволяСт Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ структуру ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π’Π°ΠΊΠΆΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΎ понятиС ассоциативности — ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‚Π°ΠΊ ΠΈ ΡΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ допустимы для всСх Ρ‚ΠΈΠΏΠΎΠ², ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ дСлСния Π±Π΅Π· остатка ΠΈ ΠΎΡΡ‚Π°Ρ‚ΠΎΠΊ ΠΎΡ‚ Π΄Π΅Π»Π΅Π½ΠΈΡ для вСщСствСнных Ρ‚ΠΈΠΏΠΎΠ². ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ языка Π‘ΠΈ ΡΠ²Π»ΡΠ΅Ρ‚ся Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ условия (x?y;z), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ условный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.

Π’Π°Π±Π»ΠΈΡ†Π° 2.3.2 — ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ языка Π‘ΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

НазваниС

Класс

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚

ΠΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

++/-;

Π˜Π½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚

ΠŸΠΎΡΡ‚Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

++/-;

Π˜Π½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚, Π΄Π΅ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚

ΠŸΡ€Π΅Ρ„ΠΈΠΊΡΠ½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

~

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ НЕ

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

!

ЛогичСскоС НЕ

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

— +

ИзмСнСниС знака, плюс

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

&

АдрСс

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

*

Π Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

(имя Ρ‚ΠΈΠΏΠ°)

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°

Π£Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

* / %

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

+ ;

АддитивныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

<<>>

Π‘Π΄Π²ΠΈΠ³ Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

<><= >=

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

== ≠

РавСнство / нСравСнство

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

&

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ И

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

^

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

|

ΠŸΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ Π˜Π›Π˜

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

&&

ЛогичСскоС И

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

||

ЛогичСскоС Π˜Π›Π˜

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

? ;

УсловиС

Π’Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

= += -= *= /= %= <<= >>= &= ^= |=

ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘ΠΏΡ€Π°Π²Π° Π½Π°Π»Π΅Π²ΠΎ

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

НазваниС

Класс

ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚

ΠΡΡΠΎΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ†Π΅Π½ΠΊΠ°

Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ

Π‘Π»Π΅Π²Π° Π½Π°ΠΏΡ€Π°Π²ΠΎ

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Π‘ΠΈ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ автоматичСски Π² Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚Π΅Ρ€ΡŒ. Π’Π°ΠΊ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° char ΠΊ Ρ‚ΠΈΠΏΡƒ float компилятор ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Ρ‚ сам, Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ придСтся Π΄Π΅Π»Π°Ρ‚ΡŒ явно. Π’Π°ΠΊΠΆΠ΅ Π² Π‘ΠΈ Π² ΡΡ€Π°Π²Π½Π΅Π½ΠΈΠΈ с ΠŸΠ°ΡΠΊΠ°Π»Π΅ΠΌ появляСтся адрСсная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° — арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ допустимы для ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях происходит нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ цСлочислСнными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Слями. Однако эти прСобразования ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ Π²ΡΠ΅Π³Π΄Π°. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΡ€ΠΈ присваивании ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ цСлочислСнной константы с Ρ†Π΅Π»ΡŒΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ адрСс компилятор сообщит ΠΎ Π½Π΅ΡΠΎΠΎΡ‚вСтствии Ρ‚ΠΈΠΏΠΎΠ². Π’ Ρ‚Π°ΠΊΠΈΡ… случаях Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅.

1.4 Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ адрСсной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ; Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ Π²Ρ‹Π³ΠΎΠ΄Π°ΠΌ это ΠΏΡ€ΠΈΠ²Π΅Π»ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Под Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ… понимаСтся организация Ρ‚ΠΈΠΏΠ° ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ структуры, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всС элСмСнты ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ массивы ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΈ. Под строки Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² ΡΠ·Ρ‹ΠΊΠ΅ Паскаль ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅. Для обозначСния ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ массива ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-массива ΠΈ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ индСксы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ элСмСнт. Π’ΠΈΠΏ индСкса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ порядковым (ΠΊΡ€ΠΎΠΌΠ΅ LONGINT). Π§Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½). ОписаниС Ρ‚ΠΈΠΏΠ° массива задаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: TYPE имя_Ρ‚ΠΈΠΏΠ° = ARRAY[список индСксов] OF Ρ‚ΠΈΠΏ. Π—Π΄Π΅ΡΡŒ имя Ρ‚ΠΈΠΏΠ° — допустимый ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€; список индСксов — список ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… индСксных Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми; Ρ‚ΠΈΠΏ — любой Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ массивы ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно, Π½Π°Π΄ массивами Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ Π΄Π²Π° массива Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поэлСмСнтно. Π“Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Π°Ρ, поэтому количСство элСмСнтов Π² ΡΠΏΠΈΡΠΊΠ΅ индСксных Ρ‚ΠΈΠΏΠΎΠ² (Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива) Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ 65 520 Π±Π°ΠΉΡ‚.

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

ВСрнСмся нСпосрСдствСнно ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Слям. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ содСрТит адрСс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, это Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ «ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ» доступа ΠΊ ΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ. Унарная опСрация «&» Π² Π‘ΠΈ Π²Ρ‹Π΄Π°Π΅Ρ‚ адрСс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°; эта опСрация ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°ΠΌ массива, конструкции с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ числСнных ΠΈ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹Ρ… констант ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌΠΈ. НСльзя Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс рСгистровой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Унарная опСрация «*» рассматриваСт свой ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΊΠ°ΠΊ адрСс ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚ся ΠΏΠΎ ΡΡ‚ΠΎΠΌΡƒ адрСсу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ содСрТимоС. Π’ΠΈΠΏ указатСля Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связан с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰Π΅ΠΌΡƒΡΡ Π² Π½Π΅ΠΌ адрСсу. НСсколько ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ адрСс, Π½ΠΎ ΠΏΡ€ΠΈ этом информация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ, Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ адрСсной Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠΈ Π² Π‘ΠΈ: ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ указатСля Π½Π° n ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Π±Π°ΠΉΡ‚Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ‚ΠΈΠΏΠ° Ρ€Π°Π·ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ указатСля Π½Π° n. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, любой ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ рассматриваСт всю ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΊΠ°ΠΊ массив элСмСнтов своСго Ρ‚ΠΈΠΏΠ°, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся ΠΏΠΎ ΠΏΠ°ΠΌΡΡ‚ΠΈ поэлСмСнтно. Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅ адрСсная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° отсутствуСт; Π½Π°Π±ΠΎΡ€ допустимых дСйствий с ΡƒΠΊΠ°Π·Π°Ρ‚Слями это Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ адрСса. Π­Ρ‚ΠΈ дСйствия Π±Ρ‹Π»ΠΈ рассмотрСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.3.

1.5 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ вСтвлСния

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ вСтвлСния[12] - ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, конструкция языка программирования, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π½Π°Π±ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ условии истинности Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ логичСского выраТСния, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄ (Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выраТСния.

1.5.1 УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΠΌΠΈ условиями

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Паскаль ΠΈΠΌΠ΅Π΅Ρ‚ мСсто синтаксис, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π² Π²Π΅Ρ‚вях условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для размСщСния Ρ‚Π°ΠΌ большСго количСства ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠ½ΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΎΡΡ‚Π°Π²Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов BEGIN ΠΈ END. Π’Π΅Ρ‚Π²ΡŒ ELSE Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова BEGIN ΠΈ END Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² нСсколько (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΡΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Сдинообразия оформлСния ΠΊΠΎΠ΄Π°). ΠžΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ условного ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° IF … THEN … ELSE выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто выносится ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово IF, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слСдуСт Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π» Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ пСрСмСнная, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ логичСский Ρ‚ΠΈΠΏ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ составноС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ закрываСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом THEN, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ записываСтся ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Π² ΡΠ»ΡƒΡ‡Π°Π΅ истинности условия. Π’ ΡΠ»ΡƒΡ‡Π°Π΅, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠ»ΡƒΡ‡Π°ΠΉ лоТности высказывания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ELSE. ΠŸΠ΅Ρ€Π΅Π΄ ELSE нСдопустим Π·Π½Π°ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «;». ΠŸΡ€ΠΈ нСобходимости послС ELSEдопускаСтся Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ IF, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΉ совокупности с ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ IF.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΡƒΡΠ»ΠΎΠ²Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ структурно Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ условиС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ записано Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках, исчСзаСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово THEN, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов BEGIN ΠΈ END ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки «{}». УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π‘ΠΈ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ условным ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ Паскаля Π² ΡΠ»ΡƒΡ‡Π°Π΅ опрСдСлСния Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π°ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ принадлСТности ΠΊ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Ρƒ IN (Ρ€Π°Π·Π΄Π΅Π» 2.3, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Паскаля) Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС Π΄Π²ΡƒΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² сравнСния с Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π΅ΠΉ мноТСства.

1.5.2 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ

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

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Паскаль Π² ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ допустимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ выраТСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ константы ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹; ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ся. Бинтаксис: Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто выносится ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово CASE, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ слСдуСт Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅Π΅ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом OF. ПослС OF Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… символов начинаСтся пСрСчислСниС ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΊ простыС константныС выраТСния. ПослС самой ΠΌΠ΅Ρ‚ΠΊΠΈ слСдуСт Ρ‡Π΅Ρ€Π΅Π· Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ для этой ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ «ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ» ΠΏΡ€ΠΈ нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово ELSE. Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом END.

Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch. Бинтаксис Π΅Π³ΠΎ описания ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ: Π²Π½Π°Ρ‡Π°Π»Π΅ ставится ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово switch, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках располагаСтся Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ. Π—Π°Ρ‚Π΅ΠΌ начинаСтся Ρ‚Π΅Π»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ, оформляСмоС Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹ΠΌΠΈ скобками. ΠœΠ΅Ρ‚ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова case, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ константноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для опрСдСлСния значСния ΠΌΠ΅Ρ‚ΠΊΠΈ. ПослС ставится Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΠΈ ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², количСство ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ся языком. ΠœΠ΅Ρ‚ΠΊΠ° «ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ» задаСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом default.

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

Π’ ΠΎΠ±ΠΎΠΈΡ… языках ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условных ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ†Π΅Π»Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, Π° Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ Π΄Π°ΠΆΠ΅ допустима Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌΠΈ. ВслСдствиС громоздкости конструкции switch ΠΈΠ·-Π·Π° «ΠΏΡ€ΠΎΠ²Π°Π»ΠΈΠ²Π°Π½ΠΈΡ», Π° Ρ‚Π°ΠΊ ΠΆΠ΅ отсутствия Π² Π‘ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π², ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ прСвосходит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ языка Π‘ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎ ΡƒΠ΄ΠΎΠ±ΡΡ‚Π²Ρƒ использования, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡.

1.6 Π¦ΠΈΠΊΠ»Ρ‹

1.6.1 ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ²

Π¦ΠΈΠΊΠ»[7] - Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ — ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ языка программирования, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ (Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π°). Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚:

— ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ†ΠΈΠΊΠ»ΠΎΠ² с Π·Π°Ρ€Π°Π½Π΅Π΅ извСстным числом ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ;

— Ρ†ΠΈΠΊΠ»Ρ‹ с ΠΏΡ€Π΅Π΄ΡƒΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ;

— Ρ†ΠΈΠΊΠ»Ρ‹ с ΠΏΠΎΡΡ‚условиями.

ВслСдствиС схоТСсти структур рассмотрСниС всСх Ρ‚ΠΈΠΏΠΎΠ² Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΠΎΠ΄Π½ΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ.

Π¦ΠΈΠΊΠ»Ρ‹ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅. [12]Π£ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ Ρ‚Π΅Π»ΠΎ. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ опрСдСляСт, Π΄ΠΎ ΠΊΠ°ΠΊΠΈΡ… ΠΏΠΎΡ€ ΠΈΠ»ΠΈ сколько Ρ€Π°Π· Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Π’Π΅Π»ΠΎ содСрТит выраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ, Ссли Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½ΡƒΠ»ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ истину (True, Π½Π΅ Π½ΠΎΠ»ΡŒ). ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ достигнута послСдняя инструкция Ρ‚Π΅Π»Π°, ΠΏΠΎΡ‚ΠΎΠΊ выполнСния снова возвращаСтся ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΡƒ Ρ†ΠΈΠΊΠ»Π°. Π‘Π½ΠΎΠ²Π° провСряСтся условиС выполнСния Ρ†ΠΈΠΊΠ»Π°. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π»ΠΈΠ±ΠΎ повторяСтся, Π»ΠΈΠ±ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ послС всСго Ρ†ΠΈΠΊΠ»Π°. Π’ ΡΠ·Ρ‹ΠΊΠ΅ программирования Паскаль сущСствуСт Ρ‚Ρ€ΠΈ Π²ΠΈΠ΄Π° цикличСских конструкций. Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° число ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ΠΎ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ происходит Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π°. Π’. Π΅. количСство ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ вычислСно Π·Π°Ρ€Π°Π½Π΅Π΅ (хотя ΠΎΠ½ΠΎ Π½Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ся). Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Π²Π° значСния. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ присваиваСтся Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ-счСтчику, ΠΎΡ‚ ΡΡ‚ΠΎΠ³ΠΎ значСния начинаСтся отсчСт количСства ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ (ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ). ΠžΡ‚ΡΡ‡Π΅Ρ‚ ΠΈΠ΄Π΅Ρ‚ всСгда с ΡˆΠ°Π³ΠΎΠΌ Ρ€Π°Π²Π½Ρ‹ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅. Π’Ρ‚ΠΎΡ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ счСтчика Ρ†ΠΈΠΊΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Ρ†ΠΈΠΊΠ»Π° опрСдСляСтся Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ плюс Π΅Π΄ΠΈΠ½ΠΈΡ†Π°. Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… счСтчик. Π¦ΠΈΠΊΠ» while являСтся Ρ†ΠΈΠΊΠ»ΠΎΠΌ с ΠΏΡ€Π΅Π΄ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ. Π’ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π° находится логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Если ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ρ‚ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° выполняСтся, Ссли false — Ρ‚ΠΎ Π½Π΅Ρ‚. Когда Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, Ρ‚ΠΎ Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ снова возвращаСтся Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ†ΠΈΠΊΠ»Π°. УсловиС выполнСния Ρ‚Π΅Π»Π° снова провСряСтся (находится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ логичСского выраТСния). Π’Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° выполнится ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·, сколько Ρ€Π°Π· логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ true. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π² Ρ‚Π΅Π»Π΅ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ наступала ситуация false. Π˜Π½Π°Ρ‡Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ Π·Π°Ρ†ΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΠ΅, ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡ‹Ρ… нСприятных ошибок Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Π¦ΠΈΠΊΠ» while ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Π½ΠΈ Ρ€Π°Π·Ρƒ, Ссли логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ сразу Π²Π΅Ρ€Π½ΡƒΠ»ΠΎ false. Однако такая ситуация Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ. Π‘Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π΅Π»ΠΎ Ρ†ΠΈΠΊΠ»Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ‚Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π΅Ρ€Π½Π΅Ρ‚ логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ†ΠΈΠΊΠ» repeat — Ρ†ΠΈΠΊΠ» с ΠΏΠΎΡΡ‚условиСм. Π’ Ρ†ΠΈΠΊΠ»Π΅ repeat логичСскоС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ стоит послС Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ†ΠΈΠΊΠ»Π° while, здСсь всё Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚: Π² ΡΠ»ΡƒΡ‡Π°Π΅ true происходит Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, Π² ΡΠ»ΡƒΡ‡Π°Π΅ false — Π΅Π³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅.

Π¦ΠΈΠΊΠ»Ρ‹ Π² ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΠΌΠ°Π»ΠΎ Ρ‡Π΅ΠΌ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Ρ†ΠΈΠΊΠ»ΠΎΠ² языка Паскаль. Π’Π°ΠΊΠΆΠ΅ сущСствуСт Ρ‚Ρ€ΠΈ конструкции для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°; это ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «for (…;…;…)…;», ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «while (…) …;» ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ «do … while (…);». ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° Ρ†ΠΈΠΊΠ»Π° прСдусловныС, послСдний постусловный. ВсС Ρ†ΠΈΠΊΠ»Ρ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ условия продолТСния Ρ†ΠΈΠΊΠ»Π° Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ истину (нСравСнство Π½ΡƒΠ»ΡŽ Π² Π‘ΠΈ). УсловиС Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅ while помСщаСтся Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Ρ€Π°Π²Π½Ρ‹ΠΌ Π½ΡƒΠ»ΡŽ для продолТСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ for Π²Π½ΡƒΡ‚Ρ€ΠΈ скобок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ†ΠΈΠΊΠ»Π° содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ выраТСния: ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ выполняСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ стартом Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ являСтся условиСм для выполнСния Ρ†ΠΈΠΊΠ»Π° (Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ while ΠΎΠ½ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π²Π½ΡΡ‚ΡŒΡΡ Π½ΡƒΠ»ΡŽ), Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ выполняСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ Π² ΠΊΠΎΠ½Ρ†Π΅ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½, ΠΎΠ΄Π½Π°ΠΊΠΎ символ Ρ‚ΠΎΡ‡ΠΊΠΈ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ запрСщаСтся. Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² допускаСтся использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° запятая.

ΠŸΠΎΡΡ‚ΡƒΡΠ»ΠΎΠ²Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ do … while Π² Π‘ΠΈ ΡƒΡΡ‚Ρ€ΠΎΠ΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова do ΡΠ»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°, Π·Π°Ρ‚Π΅ΠΌ послС символа Ρ‚ΠΎΡ‡ΠΊΠΈ с Π·Π°ΠΏΡΡ‚ΠΎΠΉ слСдуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово while с ΡƒΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках. Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ условия Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

Π¦ΠΈΠΊΠ»Ρ‹ Π² ΠΎΠ±ΠΎΠΈΡ… языках ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ сходный синтаксис ΠΈ ΠΌΠ°Π»ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ; ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π²ΡΠ΅Π³ΠΎ ряда составляСт конструкция REPEAT … UNTIL, Π½Π΅ Π²ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π°ΡΡΡ Π² ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ подобия. Из ΡΡ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ»Ρ‹ языка Π‘ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ для восприятия.

1.6.2 БСзусловный ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ BREAK сущСствуСт Π² ΠΎΠ±ΠΎΠΈΡ… языках программирования, ΠΈ Π² ΠΎΠ±ΠΎΠΈΡ… языках ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ½ Π½Π΅ΡΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ — Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠ° Ρ†ΠΈΠΊΠ»Π°. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ BREAK ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для досрочного Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ†ΠΈΠΊΠ»Π°. ΠŸΡ€ΠΈ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ происходит Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ CONTINUE Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π°, осущСствляя ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π“Π»Π°Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ для языков Π‘ΠΈ ΠΈ ΠŸΠ°ΡΠΊΠ°Π»ΡŒ Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Π‘ΠΈ ΡΡ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Π° Π² Ρ€Π°Π½Π½ΠΈΡ… вСрсиях Паскаля (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ BorlandPascal ΠΈ DelphiPascal) это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO ΠΈ ΡΠΈΡΡ‚Π΅ΠΌΠ° ΠΌΠ΅Ρ‚ΠΎΠΊ Ρ‚Π°ΠΊΠΆΠ΅ имССтся Π² ΠΎΠ±ΠΎΠΈΡ… языках. Π’ ΠŸΠ°ΡΠΊΠ°Π»Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GOTO осущСствляСт ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ, ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΠΌΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ, которая отдСляСтся ΠΎΡ‚ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использовано любоС Ρ†Π΅Π»ΠΎΠ΅ число Π±Π΅Π· Π·Π½Π°ΠΊΠ°, содСрТащСС Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ†ΠΈΡ„Ρ€, ΠΈΠ»ΠΈ любоС имя. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ порядкС объявлСна Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·Π΄Π΅Π» начинаСтся слуТСбным словом LABEL, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ ΡΠ·Ρ‹ΠΊΠ΅ Π‘ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Π’ ΠΎΠ±ΠΎΠΈΡ… языках использованиС этих ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² основано Π½Π° Π°Π½Π°Π»ΠΎΠ³Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° языка АссСмблСр, поэтому ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ Π² ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅Ρ‚.

1.7 ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

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

ΠŸΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ языка Паскаль дСлятся Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ PROCEDURE, Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FUNCTION, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ значСния. БинтаксичСски ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ состоят ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Ρ‚Π΅Π»Π°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ставится символ ΠΊΠΎΠ½Ρ†Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° «;». Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ содСрТит ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово PROCEDURE ΠΈΠ»ΠΈ FUNCTION, Π·Π°Ρ‚Π΅ΠΌ слСдуСт имя ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ находится Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ конструкция ΠΈΠ· ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобок для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ списка Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° являСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, Ρ‚ΠΎ Π΄Π°Π»Π΅Π΅ располагаСтся Ρ‚ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния Ρ‡Π΅Ρ€Π΅Π· символ двоСточия. Π’Π΅Π»ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ описания ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π° ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ, ΠΏΡ€ΠΈ этом Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — самоС Π²Π΅Ρ€Ρ…Π½Π΅Π΅ Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅. ВслСд Π·Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ вмСсто Ρ‚Π΅Π»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово FORWARD, это дСлаСтся Π² Ρ‚ΠΎΠΌ случаС, Ссли описаниС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ располагаСтся Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ послС Π΅Ρ‘ Π²Ρ‹Π·ΠΎΠ²Π°, ΠΈ ΡΠ²ΡΠ·Π°Π½ΠΎ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ Π² ΠŸΠ°ΡΠΊΠ°Π»Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ компиляции ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, которая доступна ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ самой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π·ΠΎΠ²Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΅Π΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ.

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

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

1.8 Π˜Ρ‚ΠΎΠ³ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° сравнСния языков программирования Паскаль ΠΈ Π‘ΠΈ

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

2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ рСализация задания

2.1 ОписаниС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

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

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ, установлСнныС для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ:

Β· ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΉΠ»ΠΎΠ²ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;

Β· Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ мСню с ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным графичСским интСрфСйсом;

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Π΅Π· измСнСния исходного ΠΊΠΎΠ΄Π°;

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ поиск всСх ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ максимальной Π΄Π»ΠΈΠ½Ρ‹;

Β· Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

3.2 РСализация задания ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ задания Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π΄Π²Π΅ структуры: для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ posled ΠΈ Π΄Π»Ρ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ поиска ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ search. Бписок Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прСдставлСн Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ 3.2.1. Для удобства доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π² MAIN. CPP описаны макросы для быстрого измСнСния ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²: с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ склСйки строк MSTR (p) для тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΈ DISK (p) для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π° 3.2.1 Π€Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

НазваниС Ρ„Π°ΠΉΠ»Π°

ОписаниС Ρ„Π°ΠΉΠ»Π°

EGAVGA.BGI

Π€Π°ΠΉΠ» графичСского Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°

INCLUDE.H

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, описаниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΡ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

ALG.CPP

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ.

MENU.CPP

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ графичСского интСрфСйса.

MAIN.CPP

Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, содСрТащий Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ main ().

ABOUT.TXT

ВСкстовый Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π΅Π³ΠΎ содСрТимоС отобраТаСтся Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню ABOUT.

OPEN.TXT

Из ΡΡ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° загруТаСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π€ΠΎΡ€ΠΌΠ°Ρ‚ записи:

SAVE.TXT

Π’ ΡΡ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» записываСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ссли Π² ΠΌΠ΅Π½ΡŽ OPTIONS Π±Ρ‹Π»ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ сохранСниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ графичСского интСрфСйса Π±Ρ‹Π»Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π° стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° graphics. h, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ Π²ΠΈΠ΄Π΅ΠΎΠ΄Ρ€Π°ΠΉΠ²Π΅Ρ€ egavga.bgi. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΉ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ 4: menu (), options (), about (), start (). МСню построСно Π½Π° Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΠΎΠΌ ΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎ рСкурсивном ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅. Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π±Ρ‹Π»Π° создана функция отрисовки Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ изобраТСния draw_note ().

Ѐункция menu () содСрТит графичСскоС ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ мСню, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΠΈ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ посрСдством ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. Для этих Ρ†Π΅Π»Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пСрСмСнная Ρ‚ΠΈΠΏΠ° static, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ, ΠΊΠ°ΠΊΠΎΠΉ элСмСнт мСню Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ сСйчас. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ наТатия Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΡƒ enter Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ вызываСтся ΠΎΠ΄Π½Π° ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ start (), options (), about () ΠΈΠ»ΠΈ стандартная функция exit (int). Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΈ СстСствСнном Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ функция menu () Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сама сСбя.

Ѐункция start () запускаСт Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π² ΡΠ΅Π±Π΅ подмСню для опрСдСлСния источника ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «Createwith->File» ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ загруТаСтся ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Z: open.txt. Если этого Ρ„Π°ΠΉΠ»Π° Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° сообщаСт ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΠΌΠ΅Π½ΡŽ. Если Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΡƒΠ½ΠΊΡ‚ мСню «Createwith->Generator», Ρ‚ΠΎ Π’Π°Π±Π»ΠΈΡ†Π° 3.2.2 — Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΠΌΠΈ — ALG. CPP

НазваниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ОписаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

void posled_new (int n, posled*p);

Ѐункция заполняСт структуру posled*p, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡƒΡŽ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ, пустой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° n.

void posled_delete (posled*p);

Ѐункция освобоТдаСт ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.

void posled_rand (posled*p);

Ѐункция заполняСт структуру случайной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, зависящСй ΠΎΡ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

void posl_save (char*path, posled*p)

Ѐункция сохраняСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ с ΠΏΡƒΡ‚Π΅ΠΌ доступа, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ path.

void posl_open (char*path, posled*p)

Ѐункция Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° с ΠΏΡƒΡ‚Π΅ΠΌ доступа, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅ path, Π² ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ p.

search index_search (posled*p, int n)

Ѐункция выполняСт поиск Π΄Π»ΠΈΠ½Π½Π΅ΠΉΡˆΠ΅ΠΉΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… чисСл, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ n-ΠΉ Ρ€Π°Π·. Если Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ Π½Π΅ Π½Π°Ρ…одится, индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ символа ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π²Π΅Π½ -1.

ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ posled_rand (posled*); гСнСрируСтся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· 48 элСмСнтов. ВСрхняя Π³Ρ€Π°Π½ΠΈΡ†Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° чисСл задаСтся Π² «MENU->OPTIONS» ΠΈ Ρ€Π°Π²Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ 10. ПослС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ½Π° распСчатываСтся Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ поиск ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ элСмСнты ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, ΠΈ Π²Π½ΠΈΠ·Ρƒ экрана выводится ΠΈΡ… Π΄Π»ΠΈΠ½Π°. Ѐункция рСкурсивно Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сСбя Π² ΠΊΠΎΠ½Ρ†Π΅ СстСствСнного Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Ѐункция options () создаСт графичСский интСрфСйс для измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ основного Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

Π­Ρ‚ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ — Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (open.txt ΠΈ save. txt) Π»ΠΈΠ±ΠΎ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ (open.txt), Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΠΏΡ€Π΅Π΄Π΅Π» Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° случайных чисСл randmax. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ производится стрСлками Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ Π²Π»Π΅Π²ΠΎ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, Π²Ρ‹Π±ΠΎΡ€ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню — стрСлками Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ randmax ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ [1.99]. Ѐункция рСкурсивна.

Ѐункция about () позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡƒΡŽ Π² Ρ„Π°ΠΉΠ»Π΅ about.txt. Если этого Ρ„Π°ΠΉΠ»Π° Π½Π΅Ρ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΠ± ΡΡ‚ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ послС наТатия любой клавиши вызываСтся функция menu ().

2.3 Алгоритмы, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ

Рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ поиска длиннСйшСй ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… чисСл, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π· Π²Π½ΡƒΡ‚Ρ€ΠΈ основной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π±Ρ‹Π» Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Ρ„Π°ΠΉΠ»Π΅ ALG. CPP Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ searchindex_search (posled*, int).

Для опрСдСлСния длиннСйшСй ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… символов достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°, проходящСго Ρ‡Π΅Ρ€Π΅Π· всю ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ происходит послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… чисСл, ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π»ΠΈΠ±ΠΎ записываСтся вмСсто Π½ΠΎΠ²ΠΎΠ³ΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π΅Π³ΠΎ нахоТдСния, Π»ΠΈΠ±ΠΎ обнуляСтся. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ этой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, достаточно ввСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ Ρ€Π°Π· послС Ρ‡Π΅Ρ€Π΅Π΄Ρ‹ совпадСний допускаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ обнаруТСния Π±ΠΎΠ»Π΅Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ этот счСтчик обнуляСтся. Алгоритм Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню (Ρ„Π°ΠΉΠ» MENU. CPP, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ menu (); start (); options ();).

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ отлавливаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ getch (), ΠΊΠΎΠ΄ клавиши записываСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ. Для опрСдСлСния значимости ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ switch, ΠΎΡ‚Π»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ значСния. Для сохранСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€Π° мСню ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ класса static. Π’ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавиши ΠΎΠ½ΠΈ Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΠΈΠ±ΠΎ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. ПослС наТатия клавиши enter (ΠΊΠΎΠ΄ 13) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‡Π΅Ρ€Π΅Π· switch запускаСтся Ρ‚Π° ΠΈΠ»ΠΈ иная функция, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° return.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½ ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· языков высокого уровня Паскаль ΠΈ Π‘ΠΈ ΠΈ ΡΠ΄Π΅Π»Π°Π½ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² ΡΠΎΠΎΡ‚вСтствии с Π·Π°Π΄Π°Π½ΠΈΠ΅ΠΌ Π²Ρ‹Π³ΠΎΠ΄Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ язык Π‘ΠΈ.

ΠŸΠΎΡΡ‚Π°Π²Π»Π΅Π½Π° Π·Π°Π΄Π°Ρ‡Π° создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π°ΠΌΠΈ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ограничСниями: ΠΌΠ½ΠΎΠ³ΠΎΡ„Π°ΠΉΠ»ΠΎΠ²ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ графичСский интСрфСйс, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ поиска ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… элСмСнтов Π² ΠΌΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ создания графичСских элСмСнтов мСню.

Π‘ΠΎΠ·Π΄Π°Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° поиска ΠΏΠΎΠ΄ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Ρ‹;

Β· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΈΠ±ΠΎ смСТного сохранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π² Ρ„Π°ΠΉΠ»Ρ‹.

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ си ΠΏΠ°ΡΠΊΠ°Π»ΡŒ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Листинг

INCLUDE.H

#include

#include

#include

#include

#include

#include

void menu ();

char*gpath="C:\BORLANDC\Progs\kurs\open.txt" ;

char*gpath1="C:\BORLANDC\Progs\kurs\about.txt" ;

char*gpath2="C:\BORLANDC\Progs\kurs\save.txt" ;

intrandmax=10;

intbool_so=0;

structposled {

int size;

int*element;

};

struct search {

int index;

int size;

};

#include «C:BORLANDCProgskursalg.cpp»

#include «C:BORLANDCProgskursmenu.cpp»

ALG.CPP

voidposled_new (intn, posled*p) {

p->size=n;

p->element=new int[n];

}

voidposled_delete (posled*p) {

delete p->element;

}

voidposled_rand (posled*p) {

for (inti=0;isize;i++) {

p->element[i]=random (randmax);

}

}

searchindex_search (posled*p, intnum) {

intlenmax=1,len=1,indmax=-1;

intnummax=1;

for (inti=1;i<=p->size;i++) {

if (p->element[i]==p->element[i-1]&&isize) len++;

else {

if (len>lenmax) {

lenmax=len;

if (num==1) indmax=i-len;

elseindmax=-1;

nummax=1;

}

else if (len==lenmax) {

nummax++;

if (nummax==num) indmax=i-len;

}

len=1;

}

}

searchsrc={0};

src.index=indmax;

src.size=lenmax;

returnsrc;

}

voidposl_save (char*path, posled*p) {

FILE*f;

f=fopen (path," w+");

if (!f) return;

fprintf (f," %d «, p->size);

for (inti=0;isize;i++) fprintf (f," %d «, p->element[i]);

fclose (f);

}

voidposl_open (char*path, posled*p) {

FILE*f;

intbuf=0,i=0;

f=fopen (path," r");

if (!f) {

posled_new (0,p);

return;

}

fscanf (f," %d «,&buf);

posled_new (buf, p);

while (!feof (f)) {

buf=0;

fscanf (f," %d «,&buf);

p->element[i++]=buf;

}

fclose (f);

}

MENU.CPP

voiddraw_note () {

setfillstyle (1,15);

bar (180,50,460,430);

setfillstyle (1,0);

for (inti=0;i<3;i++) fillellipse (i*80+240,75,10,10);

setfillstyle (1,2);

for (i=0;i<3;i++) {

bar (i*80+236,73,i*80+238,40);

bar (i*80+242,73,i*80+244,40);

}

}

void start () {

staticintstart_set=0;

int work=0;

if (start_set<0) start_set=1;

else if (start_set>1) start_set=0;

cleardevice ();

draw_note ();

settextstyle (0,0,2); setcolor (4);

outtextxy (320,120," Create with:");

setcolor (1);

outtextxy (320,200," File");

outtextxy (320,280," Generator");

setcolor (9);

line (210,140,430,140);

line (240,215+start_set*80,400,215+start_set*80);

posled p={0};

posled*posl=&p;

int key=getch ();

switch (key) {

case 27: menu (); return;

case 80: start_set++; break;

case 72: start_set—; break;

case 13:

work=1;

switch (start_set) {

case 0: posl_open (gpath, posl); break;

case 1: posled_new (48,posl); posled_rand (posl); break;

}

break;

}

if (work) {

draw_note ();

charbuf[15]={0};

int j=1;

search m={0};

if (!posl->size) {

outtextxy (320,220," Cannot open file");

getch (); menu (); return; }

for (inti=0;isize;i++) {

char b1[5]={0};

sprintf (b1," %d", posl->element[i]);

strcat (buf, b1);

outtextxy (220+(i%6)*40,130+(i/6)*30,buf);

buf[0]=0;

}

while (m.index>=0) {

m=index_search (posl, j++);

if (m.index==-1) break;

for (int k=0;k

int l=m.index+k;

rectangle (201+(l%6)*40,116+(l/6)*30,

239+(l%6)*40,144+(l/6)*30);

}

}

sprintf (buf," Size: %d", m. size);

outtextxy (320,125+(i+1)*5,buf);

if (bool_so) posl_save (gpath2, posl);

elseposl_save (gpath, posl);

getch (); menu ();

}

start ();

}

void options () {

draw_note ();

staticintopt_sel=0;

if (opt_sel<0) opt_sel=1; else if (opt_sel>1) opt_sel=0;

settextstyle (0,0,3); setcolor (4);

outtextxy (320,120," OPTIONS");

charbuf[20]={0};

settextstyle (0,0,1); setcolor (1);

sprintf (buf," Max rand num: %d", randmax); outtextxy (320,200,buf);

sprintf (buf," Similar i/o files:%s" ,(bool_so?" yes" :" no"));

outtextxy (320,280,buf);

line (280,215+opt_sel*80,360,215+opt_sel*80);

int key=getch ();

intdir=0;

switch (key) {

case 27: menu (); return;

case 75: dir—; break;

case 77: dir++; break;

case 72: opt_sel—; break;

case 80: opt_sel++; break; }

switch (opt_sel) {

case 0: if (randmax>20) dir*=10; randmax+=dir; break;

case 1: if (dir) bool_so=1-bool_so; break;

}

if (randmax<1) randmax=1; else if (randmax>100) randmax=99;

options ();

}

void about () {

draw_note ();

settextstyle (0,0,2); setcolor (4);

outtextxy (320,100," ABOUT");

FILE*f=fopen (gpath1," r+");

settextstyle (0,0,1);

line (230,130,410,130);

if (f) {

charbuf[30]={0};

inti=0;

while (!feof (f)) {

buf[0]=0;

fgets (buf, 30, f);

buf[strlen (buf)-1]=0;

outtextxy (320,160+i*30,buf);

if (strlen (buf)) i++;

}

line (230,160+i*30,410,160+i*30);

}

else {

char error[50]={0};

sprintf (error," Cannot open «%s» «, gpath1);

outtextxy (320,160,error);

}

getch ();

fclose (f);

menu ();

}

void menu () {

staticintmenu_set=0;

if (menu_set<0) menu_set=3;

else if (menu_set>3) menu_set=0;

cleardevice ();

draw_note ();

settextjustify (CENTER_TEXT, CENTER_TEXT);

settextstyle (0,0,3);

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ