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

Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ курс Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΒ» для ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΉ ΡˆΠΊΠΎΠ»Ρ‹

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

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PutImage (x1, y1, x2, y2: integer, var Buf, Mode: word) Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ мСсто экрана копию Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΡƒΡŽ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ GetImage. X, Y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Ρ‚ΠΎΠ³ΠΎ мСста Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ скопирован Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ изобраТСния; BufΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, ΠΎΡ‚ΠΊΡƒΠ΄Π° бСрСтся ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Mode — способ копирования. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π°… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ курс Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΒ» для ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΉ ΡˆΠΊΠΎΠ»Ρ‹ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ВСорСтичСскиС основы программирования Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ

НСсомнСнно, ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ курс Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, ΠΎ Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ дСтям. Π’ ΠΎΡΠ½ΠΎΠ²Ρƒ любого курса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π»ΠΎΠΆΠ΅Π½ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ тСорСтичСский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π». Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ тСорСтичСский ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΎΠΏΠΈΡ€Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ курс «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ».

Π“Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Pascal.

Π­ΠΊΡ€Π°Π½ дисплСя ΠŸΠš прСдставляСт собой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, состоящСС ΠΈΠ· Π±ΠΎΠ»ΡŒΡˆΠΎΠ³ΠΎ количСства Ρ‚ΠΎΡ‡Π΅ΠΊ. ДисплСй ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Ρ‚Скстовом ΠΈ Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…. Но Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Скстового Ρ€Π΅ΠΆΠΈΠΌΠ° Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ процСсс графичСского программирования Π±ΠΎΠ»Π΅Π΅ эффСктивным, Ρ„ΠΈΡ€ΠΌΠ° Borland International Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Graph (Π² ΡΡ‚ΠΎΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅Ρ‡Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ содСрТится 79 графичСских ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… стандартных констант ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…), Π½Π°Π±ΠΎΡ€ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠ², ΠΈ Π½Π°Π±ΠΎΡ€ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° Π³Ρ€Π°Ρ„ичСский экран тСкстов Ρ€Π°Π·Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Аппаратная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠŸΠš обСспСчиваСтся двумя основными модулями: Π²ΠΈΠ΄Π΅ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΎΠΌ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ. Какой Π±Ρ‹ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ Π½ΠΈ Π±Ρ‹Π» установлСн Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€ графичСских ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Turbo Pascal благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΈΡ… ΠΊΠΎΠ½Π΅Ρ‡Π½Π°Ρ настройка Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ осущСствляСтся автоматичСски. Π­Ρ‚Ρƒ настройку Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ графичСскиС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹.

Запуск ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Π³Ρ€Π°Ρ„ичСской систСмС осущСствляСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • 1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Graph (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ графичСских ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€): uses Graph;
  • 2. Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ графичСский Ρ€Π΅ΠΆΠΈΠΌ: — описываСм ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ графичСский Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€: var gd, gm: integer; - Π·Π°Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠŸΠš для самовыбора Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: gd := Detect; (detect — Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ сам опрСдСляСт Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ) — ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ графичСский Ρ€Π΅ΠΆΠΈΠΌ: InitGraph (gd, gm, 'указываСтся ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ (ΠΏΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ пустым)') Π‘ ΡΡ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° всС графичСскиС срСдства доступны ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.
  • 3. Π—Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² Π³Ρ€Π°Ρ„ичСской систСмС: CloseGraph;

Π‘ΠΎΠ²Π΅Ρ‚: Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ вопросов Π²Ρ€ΠΎΠ΄Π΅ «Ρ Π²ΡΡ‘ дСлаю, ΠΊΠ°ΠΊ написано, Π° ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?». Π’Π°ΠΊ Π²ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм графичСского Ρ€Π΅ΠΆΠΈΠΌΠ°, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ bgi Π² ΠΏΠ°ΠΏΠΊΡƒ, ΠΊΡƒΠ΄Π° Ρƒ Π²Π°Ρ компилируСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚ Π»ΠΈ Π½Π° Ρ„Π°ΠΉΠ»Π΅ bgi Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Read Only (Ρ‚ΠΎΠ»ΠΊΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅) ΠΈ Π΅ΡΠ»ΠΈ стоит, Ρ‚ΠΎ ΡƒΠ±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ.

Π­ΠΊΡ€Π°Π½ ΠΈ ΠΎΠΊΠ½ΠΎ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Скстовыми Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ графичСский экран ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ большоС ΠΈΠ»ΠΈ нСсколько ΠΌΠ΅Π½ΡŒΡˆΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠΊΠΎΠ½. ПослС установки ΠΎΠΊΠ½Π° вся ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ экрана ΠΊΠ°ΠΊ Π±Ρ‹ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, ΠΈ Π²Π΅ΡΡŒ Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΊΠ½ΠΎ. Π’ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ ΠΎΠΊΠ½ΠΎ. Если ΠΎΠΊΠΎΠ½ нСсколько, Π·Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ программист. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠΊΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ вСсь экран, значСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΈ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ автоматичСски ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ InitGraph. Если трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ, слСдуСт Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ SetViewPort (x1, y1, x2, y2 integer, Clip: boolean); Π³Π΄Π΅ x1, y1 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π°, x2, y2. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΎΠΊΠ½Π°. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Clip опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ рисунок ΠΎΡ‚ΡΠ΅ΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΎΠΊΠ½Π° (Clip:= True) ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (Clip:=False). ПослС создания ΠΎΠΊΠ½Π° Π·Π° Ρ‚ΠΎΡ‡ΠΊΡƒ отсчСта принимаСтся Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ Π»Π΅Π²Ρ‹ΠΉ ΡƒΠ³ΠΎΠ» ΠΎΠΊΠ½Π°, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (0,0).

Π€Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ курс Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈΒ» для ΡΡ‚Π°Ρ€ΡˆΠ΅ΠΉ ΡˆΠΊΠΎΠ»Ρ‹.

НСобходимо ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚Скстовых ΠΎΠΊΠΎΠ½ графичСскиС ΠΎΠΊΠ½Π° послС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ установки Ρ„ΠΎΠ½Π° SetBkColor ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ClearViewPort ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ„ΠΎΠ½ вмСстС с ΠΎΠ±Ρ‰ΠΈΠΌ Ρ„ΠΎΠ½ΠΎΠΌ экрана. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ„ΠΎΠ½ (Ρ‚ΠΎΡ‡Π½Π΅Π΅ «Π·Π°ΠΊΡ€Π°ΡΠΊΡƒ») графичСского ΠΎΠΊΠ½Π° слСдуСт ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ SetFillStyle ΠΈ SetFillPattern.

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Ρ„ΠΈΠ³ΡƒΡ€ Π’Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΡ‡ΠΊΠΈ КакиС Π±Ρ‹ изобраТСния Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π½Π° ΡΠΊΡ€Π°Π½, всС ΠΎΠ½ΠΈ построСны ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ, тСорСтичСски ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ любоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΌ построСния Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†Π²Π΅Ρ‚Π° Π² Π½ΡƒΠΆΠ½ΠΎΠΌ мСстС экрана. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Graph Π²Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΎΡ‡ΠΊΠΈ осущСствляСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ PutPixel (x, y: integer, color: word);Π³Π΄Π΅ x, y: ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ располоТСния Ρ‚ΠΎΡ‡ΠΊΠΈ, color — Ρ†Π²Π΅Ρ‚.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Color ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

Π¦Π²Π΅Ρ‚.

Код.

Π¦Π²Π΅Ρ‚.

Код.

Black — Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ.

DarkGray — Ρ‚Π΅ΠΌΠ½ΠΎ-сСрый.

Blue — синий.

LightBlue — Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ.

Green — Π·Π΅Π»Π΅Π½Ρ‹ΠΉ.

LightGreen — ярко-Π·Π΅Π»Π΅Π½Ρ‹ΠΉ.

Gyan — Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ.

LightGyan — ярко-Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ.

Red — красный.

LightRed — ярко-красный.

Magenta — ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ.

LightMagenta — ярко-ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ.

Brown — ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ.

Yellow — ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ.

LightGray — свСтло-сСрый.

White — Π±Π΅Π»Ρ‹ΠΉ.

Π’Ρ‹Π²ΠΎΠ΄ Π»ΠΈΠ½ΠΈΠΈ Из Ρ‚ΠΎΡ‡Π΅ΠΊ строятся Π»ΠΈΠ½ΠΈΠΈ (ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ прямых). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Line (x1, y1, x2, y2 :integer); Π³Π΄Π΅ x1, y1 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»Π°, x2, y2— ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ†Π° Π»ΠΈΠ½ΠΈΠΈ.

Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Line Π½Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° для установки Ρ†Π²Π΅Ρ‚Π°. Π’ ΡΡ‚ΠΎΠΌ случаС Ρ†Π²Π΅Ρ‚ задаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ SetColor (Ρ†Π²Π΅Ρ‚: word); Π³Π΄Π΅ Ρ†Π²Π΅Ρ‚ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Для чСрчСния Π»ΠΈΠ½ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹: LineTo ΠΈ LineRel. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° LineTo (x, y: integer) строит линию ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ полоТСния указатСля Π² Ρ‚ΠΎΡ‡ΠΊΡƒ с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ x, y. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° LineRel (dx, dy: integer) ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ линию ΠΎΡ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ располоТСния указатСля (x, y) Π² Ρ‚ΠΎΡ‡ΠΊΡƒ x+dx, y+dy.

Turbo Pascal позволяСт Π²Ρ‹Ρ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ½ΠΈΠΈ самого Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ стиля: Ρ‚ΠΎΠ½ΠΊΠΈΠ΅, ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅, ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²Ρ‹Π΅, ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Ρ‹Π΅ ΠΈ Ρ‚. Π΄. Установка стиля производится ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ SetLineStyle (a, b, c: word), Π³Π΄Π΅ a ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ строки, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅; b — ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, с — Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° Π»ΠΈΠ½ΠΈΠΈ, опрСдСляСмая константами, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. Если примСняСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Ρ… стилСй, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b Ρ€Π°Π²Π½ΠΎ 0. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ собствСнный ΡΡ‚ΠΈΠ»ΡŒ, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ b =4. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сам ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² (ΠΎΠ±Ρ€Π°Π·Π΅Ρ†), ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ строится линия. Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ° школа.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ОписаниС.

SolidLn.

НСпрСрывная линия.

DottedLn.

Линия ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ.

CenterLn.

Линия ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ Ρ‚ΠΈΡ€Π΅.

DashedLn.

Штриховая линия.

UserBitLn.

Π’ΠΈΠΏ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

NormWidth.

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Π° (1 пиксСль).

ThickWidth.

Жирная линия (3 пиксСля).

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Для построСния ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€ имССтся нСсколько ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· Π½ΠΈΡ… — Π²Ρ‹Ρ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°: Rectangle (x1, y1, x2, y2:integer), Π³Π΄Π΅ x1, y1 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π°, x2, y2— ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. ΠžΠ±Π»Π°ΡΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π½Π΅ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π° ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ ΠΏΠΎ Ρ†Π²Π΅Ρ‚Ρƒ с Ρ„ΠΎΠ½ΠΎΠΌ.

Π‘ΠΎΠ»Π΅Π΅ эффСктныС для восприятия ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Bar (x1, y1, x2, y2:integer), которая рисуСт Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. Π¦Π²Π΅Ρ‚ закраски устанавливаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SetFillStyle. Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° эффСктная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°: Bar3D (x1, y1, x2, y2, d: integer, a: boolean) Π²Ρ‹Ρ‡Π΅Ρ€Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»Π΅ΠΏΠΈΠΏΠ΅Π΄). ΠŸΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏ ΠΈ Ρ†Π²Π΅Ρ‚ закраски, установлСнныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SetFillStyle. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ d ΠΏΡ€Π΅Π΄ΡΡ‚авляСт собой число пиксСлСй, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΡ… Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚ΡƒΡ€Π°. Π§Π°Ρ‰Π΅ всСго Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° (d:= (x2 — x1) div 4). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ a ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π°Π΄ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ (Π°:=True) ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (a:=False).

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ самыми Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ способами, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Line. Однако Π² Π’ΡƒΡ€Π±ΠΎ ПаскалС имССтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° DrawPoly, которая позволяСт ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚Π°, стиля ΠΈ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹. Она ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ DrawPoly (a: word, var PolyPoints).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ PolyPoints являСтся Π½Π΅Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пСрСсСчСния Π² ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π° Π·Π°Π΄Π°Π΅Ρ‚ число ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² PolyPoints. НСобходимо ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для вычСрчивания Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΠΉ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ с N Π²Π΅Ρ€ΡˆΠΈΠ½Π°ΠΌΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ DrawPoly N+1 ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ, Π³Π΄Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ N Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π΅ Π²Π΅Ρ€ΡˆΠΈΠ½Ρ‹ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡΠΊΡ€Π°Π½Π΅ появится красный Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ Π½Π° Ρ‡Π΅Ρ€Π½ΠΎΠΌ Ρ„ΠΎΠ½Π΅. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΠ½ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ FillPoly (a: word, var PolyPoints). ЗначСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Π΅ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ DrawPΠΎly. ДСйствиС Ρ‚ΠΎΠΆΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Ρ„ΠΎΠ½ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π΄ΡƒΠ³ ΠΈ ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° вычСрчивания окруТности Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: Cicrle (x, y, r: word), Π³Π΄Π΅ x, y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π° окруТности, r — Π΅Π΅ Ρ€Π°Π΄ΠΈΡƒΡ.

Π”ΡƒΠ³ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡Π΅Ρ€Ρ‚ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Arc (x, y: integer, Π°, b, R: integer), Π³Π΄Π΅ x, yΡ†Π΅Π½Ρ‚Ρ€ окруТности, a, bΠ½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΡƒΠ³Π»Ρ‹ Π² Π³Ρ€Π°Π΄ΡƒΡΠ°Ρ…, R — радиус. Для задания ΡƒΠ³Π»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ полярная систСма ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

Π¦Π²Π΅Ρ‚ для вычСрчивания устанавливаСтся ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ SetColor. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ a=0 ΠΈ b=360, вычСрчиваСтся полная ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ.

Для построСния эллиптичСских Π΄ΡƒΠ³ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ellipse (x, y: integer, a, b, Rx, Ry: integer), Π³Π΄Π΅ x, y — Ρ†Π΅Π½Ρ‚Ρ€ эллипса, Rx, Ry: Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ оси. Π’ ΡΠ»ΡƒΡ‡Π°Π΅ a=0 ΠΈ b=360 вычСрчиваСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ эллипс.

Π€ΠΎΠ½ Π²Π½ΡƒΡ‚Ρ€ΠΈ эллипса совпадаСт с Ρ„ΠΎΠ½ΠΎΠΌ экрана. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ эллипс, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° FillEllipse (x, y: integer, Rx, Ry: integer). Закраска эллипса осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SetFillStyle (a, b: word), Π³Π΄Π΅, Π° — ΡΡ‚ΠΈΠ»ΡŒ закраски (Ρ‚Π°Π±Π»ΠΈΡ†Π°), b — Ρ†Π²Π΅Ρ‚ закраски (Ρ‚Π°Π±Π»ΠΈΡ†Π°).

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Маска.

EmptyFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°.

SolidFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ.

LineFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символами —, Ρ†Π²Π΅Ρ‚ — color.

LtslashFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символами // Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹, Ρ†Π²Π΅Ρ‚ — color.

SlashFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символами // ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹, Ρ†Π²Π΅Ρ‚ — color.

BkslashFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символами ΡƒΠ΄Π²ΠΎΠ΅Π½Π½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹, Ρ†Π²Π΅Ρ‚ — color.

LtbkSlahFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ символами Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΠ»Ρ‰ΠΈΠ½Ρ‹, Ρ†Π²Π΅Ρ‚ — color.

HatchFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ-Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΊΠΎΠΉ Ρ‚ΠΎΠ½ΠΊΠΈΠΌΠΈ линиями, Ρ†Π²Π΅Ρ‚ — color.

XhatchFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΊΠΎΠΉ крСст-накрСст ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ «Ρ€Π΅Π΄ΠΊΠΈΠΌΠΈ» Ρ‚ΠΎΠ½ΠΊΠΈΠΌΠΈ линиями, Ρ†Π²Π΅Ρ‚ — color.

InterLeaveFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΊΠΎΠΉ крСст-накрСст ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ «Ρ‡Π°ΡΡ‚Ρ‹ΠΌΠΈ» Ρ‚ΠΎΠ½ΠΊΠΈΠΌΠΈ линиями, Ρ†Π²Π΅Ρ‚ — color.

WideDotFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ «Ρ€Π΅Π΄ΠΊΠΈΠΌΠΈ» Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.

CloseDotFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ «Ρ‡Π°ΡΡ‚Ρ‹ΠΌΠΈ» Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.

UserFill.

Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ маскС заполнСния, Ρ†Π²Π΅Ρ‚ — color.

Для построСния сСкторов ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹: PieSlice (x, y: integer, a, b, R: word), которая рисуСт ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ сСктор ΠΊΡ€ΡƒΠ³Π°. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x, y — Ρ†Π΅Π½Ρ‚Ρ€ окруТности, сСктор рисуСтся ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° a Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° b, Π° Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ происходит ΠΏΡ€ΠΈ использовании ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€; Sector (x, y: integer, a, b, Rx, Ry: word), которая создаСт ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ сСктор Π² ΡΠ»Π»ΠΈΠΏΡΠ΅. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ x, y — Ρ†Π΅Π½Ρ‚Ρ€, Rx, Ry — Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ радиусы, ΠΈ ΡΠ΅ΠΊΡ‚ΠΎΡ€ вычСрчиваСтся ΠΎΡ‚ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° a Π΄ΠΎ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° b.

Π Π°Π±ΠΎΡ‚Π° с Ρ‚Скстом Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π° ΡΠΊΡ€Π°Π½ изобраТСния Π»ΡƒΡ‡ΡˆΠ΅ всСго ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ тСкстом. Π’ Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ OutText ΠΈ OutTextXY. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° OutText (Textst: string) Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ строку тСкста, начиная с Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ полоТСния указатСля. НСдостаток этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ — нСльзя ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ ΡΡ‚ΠΎΠΌ случаС ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ OutTextXY (x, y: integer, Textst: string), Π³Π΄Π΅ x, y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π²ΠΎΠ΄Π° тСкста, Textst — константа ΠΈΠ»ΠΈ пСрСмСнная Ρ‚ΠΈΠΏΠ° String. НапримСр, OutTextXY (60, 100, `НаТмитС Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ').

Π’Ρ‹Π²ΠΎΠ΄ числСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Graph Π½Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π²Ρ‹Π²ΠΎΠ΄Π° числСнных Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для Π²Ρ‹Π²ΠΎΠ΄Π° чисСл сначала Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Str, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ посрСдством `+' ΠΊ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ строкС. Для удобства ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ цСлочислСнных ΠΈ Π²Π΅Ρ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΡ‚Ρ€ΠΎΠΊΡƒ Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ спСциализированными ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ функциями IntSt ΠΈ RealSt:

function IntSt (Int: integer): string;

var Buf: string[10];

begin.

Str (Int, Buf);

IntSt := Buf;

end;

function RealSt (R: real, Dig, Dec: integer): string;

var Buf: string[20];

begin.

Str (R: Dig: Dec, Buf);

RealSt := Buf;

end;

Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… OutText ΠΈ OutTextXY.

Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹ Π’Ρ‹Π²ΠΎΠ΄ тСкста Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ стандартными (Ρ‚Π°Π±Π»ΠΈΡ†Π°) ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ ΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΌΠΈ. Π Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ²: растровыС ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅. Растровый ΡˆΡ€ΠΈΡ„Ρ‚ задаСтся ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ΠΉ Ρ‚ΠΎΡ‡Π΅ΠΊ, Π° Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹ΠΉ — рядом Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… символ.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ графичСского Ρ€Π΅ΠΆΠΈΠΌΠ° устанавливаСтся растровый ΡˆΡ€ΠΈΡ„Ρ‚ DefaultFont, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, являСтся ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.

Π¨Ρ€ΠΈΡ„Ρ‚.

Π€Π°ΠΉΠ».

TriplexFont.

Trip.chr.

SmallFont.

Litt.chr.

SansSerifFont.

Sans.chr.

GothicFont.

Goth.chr.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ стандартных ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ русских символов. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΆΠ΅ собствСнных ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² — довольно слоТный ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ΅ΠΌΠΊΠΈΠΉ процСсс. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ускорСн, Ссли Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ спСциализированными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ TurboFont, BgiToolKit.

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ SetTextStyle (Font, d, c:word), Π³Π΄Π΅ Font — Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΡˆΡ€ΠΈΡ„Ρ‚, d — Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ (Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅), с — Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… символов. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π΄Π²ΡƒΡ… ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² прСдставлСны Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. ΠŸΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π½Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹Π²ΠΎΠ΄Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ MoveTo, Ρ‚ΠΎ Ρ‚Скст начинаСтся с Π½ΠΈΠΆΠ½Π΅ΠΉ строки экрана ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ся Π²Π²Π΅Ρ€Ρ…. Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° символов устанавливаСтся коэффициСнтом Ρ. Если с=1, Ρ‚ΠΎ ΡΠΈΠΌΠ²ΠΎΠ» строится Π² ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ 8×8, Ссли с= 2, Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° 16×16 ΠΈ Ρ‚. Π΄. Π΄ΠΎ 10-ΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ увСличСния.

Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях трСбуСтся Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ строки Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ символы Π²Ρ‹ΡˆΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ SetTextJustify (Horiz, Vert: word) ΠΊΠ°ΠΊ ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ посрСдством задания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Horiz ΠΈ Vert (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅).

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ.

Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅.

LeftText.

Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π²Π»Π΅Π²ΠΎ.

CenterText.

Π¦Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

RightText.

Π’Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π²ΠΏΡ€Π°Π²ΠΎ.

Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅.

BottomText.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠ·.

CenterText.

Π¦Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

TopText.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π²Π΅Ρ€Ρ….

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

Π”ΠΎ ΡΠΈΡ… ΠΏΠΎΡ€ ΠΏΡ€ΠΈ создании рисунков использовали Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Π½Ρ‚ систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Для построСния Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ измСнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ хотя Π±Ρ‹ Π² Π΄Π²ΡƒΡ… ΠΊΠ²Π°Π΄Ρ€Π°Π½Ρ‚Π°Ρ…. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ систСму ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Π»ΡŽΠ±ΠΎΠΉ части плоскости, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ наглядно Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π΅Π΅ Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ экрана. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях, установив Π½Π°Ρ‡Π°Π»ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ (x0, y0) Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ (x, y) ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΡ€ΠΈΠ²ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒΡŽ (x-x0, y-y0). ПослС этого Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ значСния. Рисунок получаСтся малСньким, поэтому трСбуСтся ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± изобраТСния. Если для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ использован вСсь экран, Π½Π°Π΄ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ рисунок ΠΏΠΎ x ΠΈ ΠΏΠΎ y Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ экрана.

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± увСличСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

  • — ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (для этого вводятся Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ области Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ся максимальноС ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΉ области опрСдСлСния, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ разности максимального ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ ΡΠ²Π»ΡΡŽΡ‚ся Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° соотвСтствСнно);
  • -ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± (сначала ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΌΠ°ΡΡˆΡ‚Π°Π±Ρ‹ изобраТСния ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ экрана ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅: ΠΌΠ°ΡΡˆΡ‚Π°Π± (Π³/Π²) = Ρ€Π°Π·ΠΌΠ΅Ρ€ экрана (ΠΏΠΎ Π³/Π²) / Ρ€Π°Π·ΠΌΠ΅Ρ€ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (ΠΏΠΎ Π³/Π²), Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ· Π½ΠΈΡ… выбираСтся мСньший, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ся Π·Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±. Π’ Π½Π°ΡˆΠ΅ΠΌ случаС графичСский экран ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ 640 Π½Π° 480).Π’ любом случаС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ, Π½Π°Π΄ΠΎ Π²Π·ΡΡ‚ΡŒ x, Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ абсциссС y ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ рисованиС Ρ‚ΠΎΡ‡ΠΊΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ лишь ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ…, Ρ‚ΠΎ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π°.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ случайных процСссов. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ€Π΅Π³ΡƒΠ»ΡΡ€Π½Ρ‹ΠΌΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌ случайныС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Ρ†Π²Π΅Ρ‚, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. Для этого имССтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция Random: Она Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ случайныС числа ΠΈΠ· [0, 1). Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Random (I: word), которая Π²Ρ‹Π΄Π°Π΅Ρ‚ число ΠΈΠ· Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° 0… I. На ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ псСвдослучайных чисСл, ΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ иллюзии ΠΏΠΎΠ»Π½ΠΎΠΉ «ΡΠ»ΡƒΡ‡Π°ΠΉΠ½ΠΎΡΡ‚ΠΈ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Randomize, которая измСняСт Π±Π°Π·Ρƒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° случайных чисСл.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ иллюзии двиТСния Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ двиТСния изобраТСния Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ нСсколькими способами. Рассмотрим Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ….

I ΡΠΏΠΎΡΠΎΠ±. Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ двиТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π·Π° ΡΡ‡Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π°Π±ΠΎΡ€Π° дСйствий: Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ — ΠΏΠ°ΡƒΠ·Π° — ΡΡ‚Π΅Ρ€Π΅Ρ‚ΡŒ (Π½Π°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ мСстС Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°) — ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ полоТСния рисунка.

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ составлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ описаниС «Π΄Π²ΠΈΠ³Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ измСнСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ измСнСния ΠΈ ΡˆΠ°Π³.

II ΡΠΏΠΎΡΠΎΠ±. Иллюзия двиТСния создаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Ѐункция ImageSize (x1, y1, x2, y2: integer):word Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти Π² Π±Π°ΠΉΡ‚Π°Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для размСщСния ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Π³Π΄Π΅ x1, y1 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΠΈ x2, y2 — ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»ΠΎΠ² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° GetImage (x1, y1, x2, y2: integer, var Buf) ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ копию ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Π³Π΄Π΅ x1, ., y2 — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΡƒΠ³Π»ΠΎΠ² Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Buf — ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° копия видСопамяти с Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ изобраТСния. Buf Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅Π½ΡŒΡˆΠ΅ значСния, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ImageSize с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PutImage (x1, y1, x2, y2: integer, var Buf, Mode: word) Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ мСсто экрана копию Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° изобраТСния, Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΡƒΡŽ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ GetImage. X, Y — ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Ρ‚ΠΎΠ³ΠΎ мСста Π½Π° ΡΠΊΡ€Π°Π½Π΅, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ скопирован Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ изобраТСния; BufΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСрСмСнная, ΠΎΡ‚ΠΊΡƒΠ΄Π° бСрСтся ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Mode — способ копирования. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΡ€Π°Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ся, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π½Π° ΡΠΊΡ€Π°Π½ ΠΊΠΎΠΏΠΈΠΈ изобраТСния. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ, лишь Π±Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ копия ΡƒΠΌΠ΅ΡΡ‚ΠΈΠ»Π°ΡΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… экрана (Ссли копия Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ся Π½Π° ΡΠΊΡ€Π°Π½Π΅, Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ся, ΠΈ ΡΠΊΡ€Π°Π½ остаСтся Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Mode опрСдСляСт способ взаимодСйствия Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠΉ с ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

ПояснСния.

NormalPut.

Π—Π°ΠΌΠ΅Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π° ΠΊΠΎΠΏΠΈΡŽ.

Π‘Ρ‚ΠΈΡ€Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ экрана ΠΈ Π½Π° ΡΡ‚ΠΎ мСсто ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ копию.

XorPut.

Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ.

РисуСт сохранСнный ΠΎΠ±Ρ€Π°Π· ΠΈΠ»ΠΈ стираСт Ρ€Π°Π½Π΅Π΅ нарисованный, сохраняя Ρ„ΠΎΠ½.

OrPut.

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ.

НакладываСт сохранСнный ΠΎΠ±Ρ€Π°Π· Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ.

AndPut.

ЛогичСскоС ΠΈ.

ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ сохранСнный ΠΎΠ±Ρ€Π°Π· ΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π° ΡΠΊΡ€Π°Π½Π΅.

NotPut.

Π˜Π½Π²Π΅Ρ€ΡΠΈΡ изобраТСния.

Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ 0, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ копия выводится Π² ΠΈΠ½Π²Π΅Ρ€ΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

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