Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования PASCALΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор АлСксандр Π¦Π²Π΅Ρ‚ΠΊΠΎΠ²

- 8 -

Π’Π΅ΠΌΠ° β„–2 ИспользованиС модуля CRT

Π―Π·Ρ‹ΠΊ Паскаль ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с экраном Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. Она называСтся CRT[5]. Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° содСрТит Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π±ΡƒΠΊΠ², Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ курсор Π² ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Π’ тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ считаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ содСрТит 25 строк ΠΏΠΎ 80 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ символ (Π±ΡƒΠΊΠ²Π°, Ρ†ΠΈΡ„Ρ€Π°, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ). ГрафичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (прямыС, окруТности ΠΈ Ρ‚.ΠΏ.) Π² тСкстовом ΠΎΠΊΠ½Π΅ Π½Π΅ допустимы. ΠœΠΎΠ΄ΡƒΠ»ΡŒ CRT эмулируСт тСкстовый Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ².


ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ осущСствляСтся ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Uses:


Program Card;

Uses CRT; { Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ вставляСтся сразу послС Program }


Π”Π°Π»Π΅Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π°Ρ‚Π΅ΠΌ begin ΠΈ Ρ‚Π΅Π»ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


Рассмотрим использованиС ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ этой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ создания заставки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.


Program Card;

Uses CRT; { ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ CRT }

begin

ClrScr; { ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ экран }

TextColor (White); { Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π΅Π»Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ Π±ΡƒΠΊΠ² }

TextBackGround (Blue); { Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ синий Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° }

GotoXY (36,13); { ΠŸΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ курсор Π² 36 ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, 13 строку }

write (' ΠŸΡ€ΠΈΠ²Π΅Ρ‚ '); { ВывСсти тСкст }

ReadKey; { ΠžΠΆΠΈΠ΄Π°Ρ‚ΡŒ наТатия любой клавиши }

end.


НабСритС тСкст этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π΅Ρ‘.


Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ дСйствия ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€:


* ClrScr – ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ экран ΠΈΠ»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ (ΠΎΡ‚ Π°Π½Π³Π». Clear Screen), Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Ρ Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ Ρ„ΠΎΠ½Π°, установлСнным ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ TextBackGround. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – Ρ†Π²Π΅Ρ‚ экрана Π±Π΅Π»Ρ‹ΠΉ.

* TextColor (Ρ†Π²Π΅Ρ‚) – устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ Π±ΡƒΠΊΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ write ΠΈ writeln. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свСтло-сСрый Ρ†Π²Π΅Ρ‚ Π±ΡƒΠΊΠ².

* TextBackgroud (Ρ†Π²Π΅Ρ‚) – устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ write ΠΈ writeln.

* GotoXY (ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°, строка) – ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ курсор Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ; Π²Ρ‹Π²ΠΎΠ΄, осущСствляСмый ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ write ΠΈΠ»ΠΈ writeln Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с этой ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ экран Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ содСрТит 80 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ 25 строк.

* ReadKey – ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ наТатия Π½Π° Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ (Π΄Π°Π»Π΅Π΅ ΠΌΡ‹ рассмотрим Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ этой ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).


- 9 -

Π’ качСствС Ρ†Π²Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ число ΠΎΡ‚ 0 Π΄ΠΎ 15, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ CRT константами:


Π’Π°Π±Π»ΠΈΡ†Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²

Black

Π§Π΅Ρ€Π½Ρ‹ΠΉ

DarkGray

Π’Π΅ΠΌΠ½ΠΎ-сСрый

Blue

Π‘ΠΈΠ½ΠΈΠΉ

LightBlue

Π‘Π²Π΅Ρ‚Π»ΠΎ-синий

Green

Π—Π΅Π»Π΅Π½Ρ‹ΠΉ

LightGreen

Π‘Π²Π΅Ρ‚Π»ΠΎ-Π·Π΅Π»Π΅Π½Ρ‹ΠΉ

Cyan

НСбСсно Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ

LightCyan

Π―Ρ€ΠΊΠΎ-Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ

Red

ΠšΡ€Π°ΡΠ½Ρ‹ΠΉ

LightRed

Π‘Π²Π΅Ρ‚Π»ΠΎ-красный

Magenta

ΠœΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ

LightMagenta

Π‘Π²Π΅Ρ‚Π»ΠΎ-ΠΌΠ°Π»ΠΈΠ½ΠΎΠ²Ρ‹ΠΉ

Brown

ΠšΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ

Yellow

Π–Π΅Π»Ρ‚Ρ‹ΠΉ

LightGray

Π‘Π²Π΅Ρ‚Π»ΠΎ-сСрый

White

Π‘Π΅Π»Ρ‹ΠΉ


Рассмотрим Π΅Ρ‰Π΅ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.


* Window (x1,y1,x2,y2) – созданиС ΠΎΠΊΠ½Π° Π²Ρ‹Π²ΠΎΠ΄Π°. Π’ случаС задания ΠΎΠΊΠ½Π°, всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ write ΠΈ writeln выводят Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π΅Π³ΠΎ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ClrScr Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это ΠΎΠΊΠ½ΠΎ.

* WhereX, WhereY – Π΄Π²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ мСстонахоТдСния курсора. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования : GotoXY(WhereX+10,WhereY+2).


Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–2:

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ «Визитная ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β», которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° Π±Ρ‹ Π½Π° экран Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ ваши Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: имя, Ρ„Π°ΠΌΠΈΠ»ΠΈΡŽ, Π³ΠΎΠ΄ роТдСния, адрСс, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚Π°, Ρ…ΠΎΡ€ΠΎΡˆΠΎ скомпонуйтС.


Π—Π°Π΄Π°Π½ΠΈΠ΅ β„–2*:

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Sounds содСрТит ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π·Π²ΡƒΠΊΠΎΠΌ:

n:=LoadSound(fname) – Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π·Π²ΡƒΠΊ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ fname Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Π·Π²ΡƒΠΊΠ° Π² Ρ†Π΅Π»ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ n (Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ любой Ρ„ΠΎΡ€ΠΌΠ°Ρ‚);

PlaySound(n) – Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠ° с описатСлСм n;

StopSound(n) – останавливаСт ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ Π·Π²ΡƒΠΊΠ° с описатСлСм n;

RewindSound(n) – "ΠΏΠ΅Ρ€Π΅ΠΌΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚" Π·Π²ΡƒΠΊ с описатСлСм n Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ;

DestroySound(n) – удаляСт Π·Π²ΡƒΠΊ с описатСлСм n ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ Π·Π²ΡƒΠΊΠ° ΠΏΡ€ΠΈ этом становится Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ;

SoundLength(n) – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π²ΡƒΠΊΠ° с описатСлСм n Π² миллисСкундах.


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ возмоТности для Β«ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡΒ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ «Визитная ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β»

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования модуля sound:


Program Player;

Uses Sounds, CRT;

var n: integer;

begin

n:=LoadSound ('C:\WINDOWS\MEDIA\ringin.wav '); // ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ располоТСниС Ρ„Π°ΠΉΠ»Π°

PlaySound (n);

Sleep(SoundLength (n));

DestroySound (n);

end.

- 10 -

Π’Π΅ΠΌΠ° β„–3 ГрафичСский ΠΌΠΎΠ΄ΡƒΠ»ΡŒ GraphABC


БистСма ABC Pascal ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠΉ графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ. Для Π΅Π΅ ΠΌΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ послС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Uses GraphABC. ΠœΠΎΠ΄ΡƒΠ»ΡŒ GraphABC содСрТит константы, Ρ‚ΠΈΠΏΡ‹, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для рисования Π² графичСском ΠΎΠΊΠ½Π΅. Они ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° нСсколько Π³Ρ€ΡƒΠΏΠΏ:

* ГрафичСскиС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Ρ‹

* ДСйствия с ΠΊΠΈΡΡ‚ΡŒΡŽ

* ДСйствия с Ρ†Π²Π΅Ρ‚ΠΎΠΌ

* ДСйствия со ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠΌ

* ДСйствия с Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°ΠΌΠΈ

* ДСйствия с рисунками

* ДСйствия с ΠΏΠ΅Ρ€ΠΎΠΌ

* ДСйствия с графичСским ΠΎΠΊΠ½ΠΎΠΌ


Рассмотрим сразу ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Program Gr01;

Uses GraphABC;

begin

SetWindowSize(256,256);

SetPenColor(RGB(0,0,255));

Line(0,0, WindowWidth, WindowHeight)

Line(0,WindowHeight, WindowWidth, 0)

end.


ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° SetWindowSize устанавливаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ графичСского ΠΎΠΊΠ½Π° 256Γ—256 пиксСлСй.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° SetPenColor опрСдСляСт Ρ†Π²Π΅Ρ‚ рисования Π»ΠΈΠ½ΠΈΠΉ. Ѐункция RGB Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ своими Red, Green, Blue ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Line рисуСт линию ΠΈΠ· Ρ‚ΠΎΡ‡ΠΊΠΈ, Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π² Ρ‚ΠΎΡ‡ΠΊΡƒ, Π·Π°Π΄Π°Π½Π½ΡƒΡŽ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠ°Ρ€ΠΎΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ WindowWidth ΠΈ WindowHeight Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты графичСского ΠΎΠΊΠ½Π° (ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π²Ρ‹ помСняСтС Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ SetWindowSize, Ρ‚ΠΎ Π»ΠΈΠ½ΠΈΠΈ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΈΠ· ΡƒΠ³Π»Π° Π² ΡƒΠ³ΠΎΠ»).


ΠžΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹

* ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° x растСт слСва Π½Π° ΠΏΡ€Π°Π²ΠΎ ΠΎΡ‚ 0 Π΄ΠΎ значСния WindowWidth

* ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° y растСт свСрху Π²Π½ΠΈΠ· ΠΎΡ‚ 0 Π΄ΠΎ значСния WindowHeight


- 11 -


Π—Π°Π΄Π°Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°

Как извСстно восприятиС Ρ†Π²Π΅Ρ‚Π° Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° Ρ‚Ρ€Π΅Ρ…Ρ†Π²Π΅Ρ‚Π½ΠΎΠ΅. ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° этом, Π² графичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Ρ€Π΅Ρ…ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ΅ прСдставлСниС Ρ†Π²Π΅Ρ‚Π°. Π¦Π²Π΅Ρ‚ задаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ rgb(Red, Green,Blue)

Π—Π΄Π΅ΡΡŒ

* Red – число ΠΎΡ‚ 0 Π΄ΠΎ 255, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ интСнсивности красной ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

* Green – число ΠΎΡ‚ 0 Π΄ΠΎ 255, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ интСнсивности Π·Π΅Π»Π΅Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

* Blue – число ΠΎΡ‚ 0 Π΄ΠΎ 255, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ интСнсивности синСй ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹


Ѐункция Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число (integer), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Π΅Π·Π΄Π΅ Π² графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅, Π³Π΄Π΅ трСбуСтся ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ†Π²Π΅Ρ‚Π°. Π•ΡΡ‚ΡŒ нСсколько ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ†Π²Π΅Ρ‚ΠΎΠ²:


clBlack – Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ

clCream – ΠΊΡ€Π΅ΠΌΠΎΠ²Ρ‹ΠΉ

clPurple – Ρ„ΠΈΠΎΠ»Π΅Ρ‚ΠΎΠ²Ρ‹ΠΉ

clAqua – Π±ΠΈΡ€ΡŽΠ·ΠΎΠ²Ρ‹ΠΉ

clWhite – Π±Π΅Π»Ρ‹ΠΉ

clOlive – ΠΎΠ»ΠΈΠ²ΠΊΠΎΠ²Ρ‹ΠΉ

clMaroon – Ρ‚Π΅ΠΌΠ½ΠΎ-красный

clFuchsia – сирСнСвый

clRed – красный

clTeal – синС-Π·Π΅Π»Π΅Π½Ρ‹ΠΉ

clNavy – Ρ‚Π΅ΠΌΠ½ΠΎ-синий

clGray – сСрый

clGreen – Π·Π΅Π»Π΅Π½Ρ‹ΠΉ

clLime – ярко-Π·Π΅Π»Π΅Π½Ρ‹ΠΉ

clBrown – ΠΊΠΎΡ€ΠΈΡ‡Π½Π΅Π²Ρ‹ΠΉ

clLightGray – свСтло-сСрый

clBlue – синий

clMoneyGreen – Ρ†Π²Π΅Ρ‚ Π·Π΅Π»Π΅Π½Ρ‹Ρ… Π΄Π΅Π½Π΅Π³

clSkyBlue – Π³ΠΎΠ»ΡƒΠ±ΠΎΠΉ

clDarkGray – Ρ‚Π΅ΠΌΠ½ΠΎ-сСрый

clYellow – ΠΆΠ΅Π»Ρ‚Ρ‹ΠΉ



Π—Π°Π΄Π°Π½ΠΈΠ΅ стиля ΠΈ Ρ†Π²Π΅Ρ‚Π° ΠΏΠ΅Ρ€Π°

* SetPenColor(Ρ†Π²Π΅Ρ‚) – устанавливаСт Ρ†Π²Π΅Ρ‚ ΠΏΠ΅Ρ€Π°, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ color.

* SetPenWidth(ΡˆΠΈΡ€ΠΈΠ½Π°) – устанавливаСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΠ΅Ρ€Π°.

* SetPenStyle(ΡΡ‚ΠΈΠ»ΡŒ) – устанавливаСт ΡΡ‚ΠΈΠ»ΡŒ ΠΏΠ΅Ρ€Π° (сплошной, ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€ ΠΈ Ρ‚.ΠΏ.), Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ (ΡΡ‚ΠΈΠ»ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΏΠ΅Ρ€Π° 1 пиксСл)


psSolid

psDash

psDashDot

psClear

psDot

psDashDotDot


Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΠ΅Ρ€ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для рисования Π»ΠΈΠ½ΠΈΠΉ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², Π»ΠΎΠΌΠ°Π½Ρ‹Ρ…, окруТностСй, эллипсов, Π΄ΡƒΠ³ ΠΈ Ρ‚.ΠΏ.


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

Program Gr02;

Uses GraphABC;

Var i : integer;

begin

SetWindowSize(512,512);

SetPenStyle(psDash);

SetBrushStyle(bsClear);

Circle (256,256,WindowHeight div 2);

end.

- 12 -


Π—Π°Π΄Π°Π½ΠΈΠ΅ стиля ΠΈ Ρ†Π²Π΅Ρ‚Π° кисти

* SetBrushColor(Ρ†Π²Π΅Ρ‚) – устанавливаСт Ρ†Π²Π΅Ρ‚ кисти

* SetBrushPicture(имя Ρ„Π°ΠΉΠ»Π°) – устанавливаСт Π² качСствС ΠΎΠ±Ρ€Π°Π·Ρ†Π° для закраски ΠΊΠΈΡΡ‚ΡŒΡŽ ΠΎΠ±Ρ€Π°Π·Π΅Ρ†, хранящийся Π² Ρ„Π°ΠΉΠ»Π΅, ΠΏΡ€ΠΈ этом Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†Π²Π΅Ρ‚ кисти ΠΏΡ€ΠΈ закраскС игнорируСтся.