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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. 
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Скстового Ρ„Π°ΠΉΠ»Π°, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π΄Π»ΠΈΠ½Ρƒ. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСстополоТСниС любой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ прямой доступ ΠΊ ΡΡ‚ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌ рядом чисСл 0,1,2,3,…ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ устанавливаСтся Π½Π° Π½ΡƒΠ»Π΅Π²ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ. ПослС… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° № 2.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

ЦСль: 1. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Pascal. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ аналитичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ.

2. ΠžΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΡ‘ΠΌΡ‹ структурирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π—Π°Π΄Π°Π½ΠΈΠ΅:

1. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка Pascal для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ прямого ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ доступа.

2. Богласно Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρƒ Π² Ρ„Π°ΠΉΠ»Π°Ρ… прямого доступа.

3. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π»ΠΈΠ±ΠΎ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°.

4. Π’Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ вывСсти Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ‚Скстовый Ρ„Π°ΠΉΠ».

5. ΠŸΡ€ΠΈ написании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ IOResult.

6. УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ исполнитСля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдоставлСны Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

7. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ аналитичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ:

Найти количСство окруТностСй Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… пСрСсСчСниС с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ стороны ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ осям ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

2. Алгоритм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

3. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

4. Π­ΠΊΡ€Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

1. По ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ доступа ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΏΡ€ΡΠΌΡ‹Π΅. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, начиная с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’ ΠΏΡ€ΡΠΌΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π»ΡŽΠ±ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ, ΡƒΠΊΠ°Π·Π°Π² Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€ Π² Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€ΠΈ этом ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π΅ Ρ‚рСбуСтся. По Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅.

Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²:

1) Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ ΠΆΠ΅ΡΡ‚ΠΊΡƒΡŽ структуру;

2) тСкстовыС, состоящиС ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈ ΡΡ‚Ρ€ΠΎΠΊ;

3) Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅, рассматриваСмыС ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ².

Π’ Π’ΡƒΡ€Π±ΠΎ-ПаскалС ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для записи, Π° Ρ‚Π°ΠΊΠΆΠ΅ для чтСния ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Reset, Rewrite, Append.

Reset (F) — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если это тСкстовый Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅Ρ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°; для Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° допустимы ΠΊΠ°ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΠΈΡΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π’ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π°. Если Ρ„Π°ΠΉΠ» F ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Reset этот Ρ„Π°ΠΉΠ» сначала закрываСтся, Π° Π·Π°Ρ‚Π΅ΠΌ открываСтся. ΠŸΡ€ΠΈ этом ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° устанавливаСтся Π² Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Ρ„Π°ΠΉΠ»Π°.

Rewrite (F) — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Если это тСкстовый Ρ„Π°ΠΉΠ», Ρ‚ΠΎ Π΄ΠΎΠΏΡƒΡΠΊΠ°Π΅Ρ‚ся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ запись Π² Ρ„Π°ΠΉΠ»; для Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° допустимы ΠΊΠ°ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΏΠΈΡΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Если Ρ„Π°ΠΉΠ» F ΡƒΠΆΠ΅ сущСствуСт, Ρ‚ΠΎ ΠΏΡ€ΠΈ срабатывании ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Rewrite Ρ„Π°ΠΉΠ» F ΡƒΠ½ΠΈΡ‡Ρ‚оТаСтся.

Append (F) — ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ тСкстового Ρ„Π°ΠΉΠ»Π° для добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°. Если Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Ρ€Π°Π½Π΅Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Reset ΠΈΠ»ΠΈ Rewrite, Ρ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Append Π²Π½Π°Ρ‡Π°Π»Π΅ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ для добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ„Π°ΠΉΠ»ΠΎΠ² любого Ρ‚ΠΈΠΏΠ°:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Close (F). ВыполняСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° F. Если Π±ΡƒΡ„Π΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Ρ‚ΠΎ Π΅Π³ΠΎ содСрТимоС пСрСносится Π² Ρ„Π°ΠΉΠ» F, послС Ρ‡Π΅Π³ΠΎ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти удаляСтся слуТСбная информация ΠΎ Ρ„Π°ΠΉΠ»Π΅ F.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Rename (F, newname). Π’Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ, связанному с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ F, присваиваСтся Π½ΠΎΠ²ΠΎΠ΅ имя, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π² ΡΡ‚Ρ€ΠΎΠΊΠ΅.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Erase (F). Π€Π°ΠΉΠ» F ΡƒΠ½ΠΈΡ‡Ρ‚оТаСтся. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Erase ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Ѐункция Eof (F):boolean. Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли достигнут ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°; Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ false.

Ѐункция IOResult:word (Input-Output-Result). Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ условный ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ послСднСй ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, Ссли опСрация Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Truncate (F). Π€Π°ΠΉΠ» усСкаСтся ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ указатСля. Π’ ΡΡ‚Ρƒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ записываСтся ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ eof.

Для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ‚Скстовых Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Read,Readln,Write,Writeln.

Π’Π°ΠΊΠΆΠ΅ для тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€ΠΈ прСдописанныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Π΅ для Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°: Eoln, SeekEoln ΠΈ SeekEof.

Ѐункция Eoln (F):boolean Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²ΠΎ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ достигнут ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ†Π° строки eol.

Ѐункция SeekEoln (F):boolean пропускаСт всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π·Π½Π°ΠΊΠΈ табуляции Π΄ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ†Π° строки eol ΠΈΠ»ΠΈ Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π°Ρ‰Π΅Π³ΠΎ символа ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½.

Ѐункция SeekEof (F):boolean пропускаСт всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π·Π½Π°ΠΊΠΈ табуляции ΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ ΠΊΠΎΠ½Ρ†Π° строки Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π° ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° eof ΠΈΠ»ΠΈ Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π°Ρ‰Π΅Π³ΠΎ символа ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½.

ВсС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Скстового Ρ„Π°ΠΉΠ»Π°, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π΄Π»ΠΈΠ½Ρƒ. Π­Ρ‚ΠΎ позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСстополоТСниС любой ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ„Π°ΠΉΠ»Π° ΠΏΠΎ Π΅Π΅ Π½ΠΎΠΌΠ΅Ρ€Ρƒ ΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ прямой доступ ΠΊ ΡΡ‚ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½ΡƒΠΌΠ΅Ρ€ΡƒΡŽΡ‚ΡΡ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹ΠΌ рядом чисСл 0,1,2,3,…ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ устанавливаСтся Π½Π° Π½ΡƒΠ»Π΅Π²ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ. ПослС выполнСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ опСрациичтСния ΠΈΠ»ΠΈ записи ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ сдвигаСтся Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.

Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Read ΠΈ Write (Π½ΠΎ Π½Π΅ Readln, Writeln).

Для Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ прСдописанныС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Seek ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FileSize,FilePos.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Seek (F, k) ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»Π° F Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ k. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ k Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ longint.

Ѐункция FileSize (F):longint Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° F (количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π°).

Ѐункция FilePos (F):longint Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° F.

НСтипизированныС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для высокоскоростного ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ диском ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Для этих Ρ„Π°ΠΉΠ»ΠΎΠ² вмСсто ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Read ΠΈ Write ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ BlockRead ΠΈ BlockWrite.

2. Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· ΡƒΡΠ»ΠΎΠ²ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Π°) ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π° окруТности;

b) Π”Π»ΠΈΠ½Π° радиуса окруТности;

c) ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠΉ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΏΡ€Π°Π²ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π΅Π³ΠΎ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ.

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

Для хранСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² окруТности создадим Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» circle. dat, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π° составных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… Ρ‚Ρ€ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x ΠΈ y Ρ†Π΅Π½Ρ‚Ρ€Π° окруТности ΠΈ R — радиус окруТности. Π’ΠΈΠΏ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊ запись, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

CircleType = record

x : integer;

y : integer;

R : word

end;

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π° окруТности x ΠΈ y Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, поэтому для Π½ΠΈΡ… Π²Ρ‹Π±Ρ€Π°Π½ Ρ‚ΠΈΠΏ integer. Радиус окруТности R Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для Π½Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½ Ρ‚ΠΈΠΏ word — Ρ†Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ измСнСния 0. 65 535.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ массив окруТностСй Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ:

CircleAr: array[1.Nmax] of CircleType;

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

CircleFile : file of CircleType;

Для Π²Π²ΠΎΠ΄Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» rectangle. dat с Π΄Π²ΡƒΠΌΡ элСмСнтами Ρ‚ΠΈΠΏΠ° запись:

RectangleType=record

x: integer;

y: integer;

end;

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ„Π°ΠΉΠ»Π° состоит ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ x ΠΈ y ΡƒΠ³Π»ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, массив Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ:

RectangleAr: array[1.2] of RectangleType;

RectangleFile: file of RectangleType;

3. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выдаётся запрос ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° «ΠžΡ‚ΠΊΡƒΠ΄Π° произвСсти Π²Π²ΠΎΠ΄ исходных Π΄Π°Π½Π½Ρ‹Ρ…? f — Ρ„Π°ΠΉΠ», k-ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°». Π’ ΡΠΎΠΎΡ‚вСтствии с Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ клавишСй осущСствляСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ Π²Π²ΠΎΠ΄Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

4. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ выводятся Π½Π° ΡΠΊΡ€Π°Π½ ΠΈ Π² Ρ‚Скстовый Ρ„Π°ΠΉΠ» result. txt, создаваСмый Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°.

5. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ осущСствляСтся ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ числового ΠΎΡ‚Π²Π΅Ρ‚Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ сущСствуСт опрСдСлСнная Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±ΡƒΠΊΠ²Π° вмСсто Ρ†ΠΈΡ„Ρ€Ρ‹). ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΎΡ‚Π²Π΅Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Read это Π²Ρ‹Π·Π²Π°Π»ΠΎ Π±Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ, ΠΊΠ°ΠΊ слСдствиС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ запуска. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Π²Π²ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ReadInt, ReadWord Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ стандартной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ IOResult ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ числа. ΠŸΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ReadInt, ReadWord Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π° ΡΠΊΡ€Π°Π½ сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄.

6. ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ прСдставлСны условия Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ исполнитСля, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ участком ΠΊΠΎΠ΄Π°:

ClrScr;

Writeln ('—————————————————-');

Writeln ('- Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° № 2 -');

Writeln ('- студСнта Π³Ρ€. -');

Writeln ('- -');

Writeln ('—————————————————-');

Writeln ('- УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΈΡ‚ичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ: -');

Writeln ('- Найти количСство окруТностСй Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ -');

Writeln ('- ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… пСрСсСчСниС с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ стороны -');

Writeln ('- ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ осям ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. -');

Writeln ('—————————————————');

8. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ: FrazaReadError, ReadWord, ReadInt, PrintInData, Cross1, Cross2, PrintHead.

2. Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Program Lab2;

uses Crt;

label ExitFromCalc;

Const Nmax=100;

Type

CircleType = record

x: integer;

y: integer;

R: word

end;

RectangleType=record

x: integer;

y: integer;

end;

Var

CircleAr: array[1.Nmax] of CircleType;

CircleFile: file of CircleType;

RectangleAr: array[1.2] of RectangleType;

RectangleFile: file of RectangleType;

ResultFile: text;

n: word; {Кол-Π²ΠΎ окруТностСй для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ}

i: byte; {ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ†ΠΈΠΊΠ»Π°}

S: byte; {счётчик пСрСсСчСний окруТностСй с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ}

ch: char;

size: longint;

{ —————————————————————————————— }

Procedure FrazaReadError (k:integer);

{ Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ числа с ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ }

{ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ сигнала }

Begin

If k<>0 then

Begin

Writeln (#7'ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ числа');

Writeln ('ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄');

End;

End { FrazaReadError };

{ —————————————————————————————— }

Procedure ReadWord (Var Number: word);

{ Π’Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° word}

Var k: word;

Begin

Repeat

{$I-} Read (Number); {$I+}

k:=IOResult;

FrazaReadError (k);

Until k=0;

End { ReadWord };

{ —————————————————————————————— }

Procedure ReadInt (Var Number: integer);

{ Π’Π²ΠΎΠ΄ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΈΠΏΠ° integer }

Var k: integer;

Begin

Repeat

{$I-} Read (Number); {$I+}

k:=IOResult;

FrazaReadError (k);

Until k=0;

End { ReadInt };

{ —————————————————————————————— }

Procedure PrintInData;

Var i: byte;

Begin

Writeln (' Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅');

Writeln ('ΠžΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΠΈ:');

For i:=1 to n do

Begin

Write (i,':','R=', CircleAr[i]. R,' (', CircleAr[i]. x,':', CircleAr[i].x,')','; ');

End;

Writeln;

Writeln ('ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ:');

Writeln ('ВСрхняя правая Ρ‚ΠΎΡ‡ΠΊΠ°: (', RectangleAr[1]. x,':', RectangleAr[1].y,')');

Writeln ('ВСрхняя правая Ρ‚ΠΎΡ‡ΠΊΠ°: (', RectangleAr[2]. x,':', RectangleAr[2].y,')');

End {PrintInData};

{ —————————————————————————————— }

Function Cross1(Var R: word; P, C: integer):boolean;

Begin

Cross1:=false;

if (R*R-(P-C*C))>=0 then Cross1:=true;

End {Cross1};

{ —————————————————————————————— }

Function Cross2(Var Inter1, Inter2:integer; R: word; P, C1, C2:integer):boolean;

Var Buf: real;

Begin

Cross2:=false;

Buf:=sqrt (R*R-(P-C1*C1))+C2;

if Buf<=Inter2 then

if Buf>=Inter1 then Cross2:=true;

End {Cross2};

{ —————————————————————————————— }

Procedure PrintHead;

Begin

ClrScr;

Writeln ('—————————————————————————-');

Writeln ('- Лабораторная Ρ€Π°Π±ΠΎΡ‚Π° № 2 -');

Writeln ('- студСнта Π³Ρ€-');

Writeln ('- -');

Writeln ('—————————————————————————-');

Writeln ('- УсловиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Π°Π½Π°Π»ΠΈΡ‚ичСской Π³Π΅ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ: -');

Writeln ('- Найти количСство окруТностСй Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ -');

Writeln ('- ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… пСрСсСчСниС с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ стороны -');

Writeln ('- ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ осям ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. -');

Writeln ('—————————————————————————-');

End { ReadInt };

{ —————————————————————————————— }

Begin

PrintHead;

Writeln ('ΠžΡ‚ΠΊΡƒΠ΄Π° произвСсти Π²Π²ΠΎΠ΄ исходных Π΄Π°Π½Π½Ρ‹Ρ…?');

Writeln ('f — Ρ„Π°ΠΉΠ», k-ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°');

Repeat

ch:=ReadKey;

Until ((ch='k') or (ch='f'));

if (ch='k') then

Begin

Writeln ('Набор ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π°Π²Π΅Ρ€ΡˆΠ°ΠΉΡ‚Π΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ клавиши Enter');

Write ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ количСство окруТностСй:'); ReadWord (n);

For i:=1 to n do

Begin

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π° ', i,' окруТности.');

Write ('x='); ReadInt (CircleAr[i]. x);

Write ('y='); ReadInt (CircleAr[i]. y);

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ радиус ', i,' окруТности.');

Write ('R='); ReadWord (CircleAr[i]. R);

End;

For i:=1 to 2 do

Begin

Writeln ('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ', i,' Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°');

Write ('x='); ReadInt (RectangleAr[i]. x);

Write ('y='); ReadInt (RectangleAr[i]. y);

End;

PrintHead;

PrintInData;

Writeln ('Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…?');

Writeln ('(y — Π”Π°, n — НСт)');

Repeat

ch:=ReadKey;

Until ((ch='y') or (ch='n'));

if (ch='y') then

Begin

Assign (CircleFile,'circle.dat'); Rewrite (CircleFile);

Assign (RectangleFile,'rectangl.dat'); Rewrite (RectangleFile);

For i:=1 to n do

Write (CircleFile, CircleAr[i]);

size:=FileSize (CircleFile);

Writeln ('Π€Π°ΠΉΠ» circle. dat пСрСзаписан!!! Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ', size,' ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.');

For i:=1 to 2 do

Write (RectangleFile, RectangleAr[i]);

Writeln ('Π€Π°ΠΉΠ» rectangle. dat пСрСзаписан!!!');

Close (RectangleFile); Close (CircleFile);

End;

End

else

Begin

Assign (CircleFile,'circle.dat'); Reset (CircleFile);

Assign (RectangleFile,'rectangl.dat'); Reset (RectangleFile);

size:=FileSize (CircleFile);

n:=size;

For i:=1 to n do

Read (CircleFile, CircleAr[i]);

For i:=1 to 2 do

Read (RectangleFile, RectangleAr[i]);

Close (RectangleFile); Close (CircleFile);

Writeln ('Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹!!!');

PrintInData;

End;

S:=0;

{Π¦ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ}

For i:=1 to n do

Begin

if Cross1(CircleAr[i]. R, RectangleAr[1].y, CircleAr[i].y) then

Begin

if Cross2(RectangleAr[1]. x, RectangleAr[2].x, CircleAr[i].R, RectangleAr[1].y, CircleAr[i].y, CircleAr[i].x) then

Begin

S:=S+1; GoTo ExitFromCalc;

End

End;

if Cross1(CircleAr[i]. R, RectangleAr[2].y, CircleAr[i].y) then

Begin

if Cross2(RectangleAr[1]. x, RectangleAr[2].x, CircleAr[i].R, RectangleAr[2].y, CircleAr[i].y, CircleAr[i].x) then

Begin

S:=S+1; GoTo ExitFromCalc;

End

End;

if Cross1(CircleAr[i]. R, RectangleAr[1].x, CircleAr[i].x) then

Begin

if Cross2(RectangleAr[1]. y, RectangleAr[2].y, CircleAr[i].R, RectangleAr[1].x, CircleAr[i].x, CircleAr[i].y) then

Begin

S:=S+1; GoTo ExitFromCalc;

End

End;

if Cross1(CircleAr[i]. R, RectangleAr[2].x, CircleAr[i].x) then

Begin

if Cross2(RectangleAr[1]. y, RectangleAr[2].y, CircleAr[i].R, RectangleAr[2].x, CircleAr[i].x, CircleAr[i].y) then

Begin

S:=S+1; GoTo ExitFromCalc;

End

End;

ExitFromCalc:

End;

{ΠšΠΎΠ½Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ}

Writeln ('Π‘ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ', S,' окруТности (Π΅ΠΉ) ΠΈΠ· ', n,'.');

Assign (ResultFile,'result.txt');

Rewrite (ResultFile);

Write (ResultFile,'Π‘ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΡΠ΅ΠΊΠ°ΡŽΡ‚ΡΡ ', S,' окруТности (Π΅ΠΉ) ΠΈΠ· ', n,'.');

Close (ResultFile);

Readln;

End.

4. Π­ΠΊΡ€Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹:

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