Π—Π°ΠΊΠ°Π·Π°Ρ‚ΡŒ курсовыС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅, Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚Ρ‹...
ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° Π·Π°ΠΊΠ°Π·. НСдорого!

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ. 
АлгоритмичСский язык Π’ΡƒΡ€Π±ΠΎ-Паскаль

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

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

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ. АлгоритмичСский язык Π’ΡƒΡ€Π±ΠΎ-Паскаль (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ состоит Π² Π±Ρ‹ΡΡ‚Ρ€ΠΎΠΌ воспроизвСдСнии Π½Π° ΡΠΊΡ€Π°Π½Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Ρ… рисунков (ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π΅Ρ€Π²Ρ‹ Π½Π΅ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ < 1/6 сСк., Ρ‚ΠΎ, быстрая смСна ΠΊΠ°Π΄Ρ€Π° (изобраТСния Π½Π° ΡΠΊΡ€Π°Π½Π΅) Π½Π΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ся Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ.

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ Π² Π³Ρ€Π°Ρ„ичСском Ρ€Π΅ΠΆΠΈΠΌΠ΅ обСспСчиваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ (Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠžΠ—Π£) ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ массивы пиксСлов. Π­Ρ‚ΠΈ массивы ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π»ΡŽΠ±ΠΎΠΌ мСстС экрана Π² Π½ΡƒΠΆΠ½ΠΎΠ΅ врСмя.

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ с Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ части экрана

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ экрана, ΠΏΠΎΠ΄ Π½Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ отвСсти ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ€Π°Π·ΠΌΠ΅Ρ€ (Size) ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Size: = ImageSize (X1, Y1, X2, Y2); {Ρ‚ΠΈΠΏ Word}.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ImageSize ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области графичСского экрана ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Rectangle. Ѐункция опрСдСляСт число Π±Π°ΠΉΡ‚ для хранСния этой области. Π­Ρ‚ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ :

(X2-X1+1)*(Y2-Y1+1). Π Π°Π·ΠΌΠ΅Ρ€ ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΠΎΠΉ памяти Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ мСньшС 64 ΠšΠ±Π°ΠΉΡ‚.

Π”Π°Π»Π΅Π΅ опрСдСляСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ P (Ρ‚ΠΈΠΏΠ° pointer), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ адрСс области памяти (Π±ΡƒΡ„Π΅Ρ€Π°) Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ «Size», ΠΎΡ‚Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для хранСния Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области экрана ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ: GetMem (P, Size);

БохраняСм Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области Π² ΠžΠ—Π£ (Π±ΡƒΡ„Π΅Ρ€Π΅) ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ: GetImage (X1, Y1, X2, Y2, P^);

Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½Π½Ρ‹ΠΉ массив пиксСлов ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ: PutImage (X, Y, P^, N);

Π—Π΄Π΅ΡΡŒ X, Y — позиция Π²Ρ‹Π²ΠΎΠ΄Π° Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡƒΠ³Π»Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области,.

P^ - ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ содСрТимоС Π±ΡƒΡ„Π΅Ρ€Π° с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ адрСсом «Π » ,.

N — Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π²ΠΎΠ΄Π°:

N = 0 (CopyPut) — Π·Π°ΠΌΠ΅Π½Π° изобраТСния Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°.

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π΅ΠΆΠΈΠΌΡ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ логичСским опСрациям с Π±ΠΈΡ‚Π°ΠΌΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌΠΈ Ρ†Π²Π΅Ρ‚ пиксСлов Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ†Π²Π΅Ρ‚Π° пиксСлов, выводящихся ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°:

N = 1 (XorPut) — «ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜» (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 1, Ссли значСния Π±ΠΈΡ‚ΠΎΠ² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹),.

N = 2 (OrPut) — «Π˜Π›Π˜» (Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 1, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² Ρ€Π°Π²Π΅Π½ 1),.

N = 3 (AndPut) — «Π˜ «(Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π²Π΅Π½ 1, Ссли ΠΎΠ±Π° Π±ΠΈΡ‚Π° Ρ€Π°Π²Π½Ρ‹ 1),.

N = 4 (NotPut) — «ΠΠ•» (Π·Π°ΠΌΠ΅Π½Π° изобраТСния Π½Π° ΡΠΊΡ€Π°Π½Π΅ инвСрсным ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°).

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

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

ОсвобоТдСниС (очистка) участков памяти Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ «Size», начиная с Π°Π΄Ρ€Π΅ΡΠ°, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ «Π », производится ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ: FreeMem (P, Size);

ЗначСния P ΠΈ P^ послС этого Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹.

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ — ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ GetImage, PutImage, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° XorPut:

uses Graph, Crt;

var Gd, Gm, i, j, k, Size, x, y, Xmax, Ymax: Integer;

P1, P2: Pointer; { Ρ‚ΠΈΠΏ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ }.

Begin.

Gd := VGA; Gm:=2; InitGraph (Gd, Gm, 'c: p7gi');

Size := ImageSize (0, 0, 20, 100); { Ρ€Π°Π·ΠΌΠ΅Ρ€ области }.

SetLineStyle (0, 0, 3); { рисуСм толстыми линиями }.

PieSlice (10, 10, 0, 360, 10); { Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³ }.

FillEllipse (10, 40, 10, 20); { Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ эллипс }.

Line (8, 60, 0, 100); Line (12, 60, 20, 100); { Π»ΠΈΠ½ΠΈΠΈ }.

{ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· }.

PieSlice (60, 10, 0, 360, 10);

FillEllipse (60, 40, 10, 20);

Line (60, 60, 60, 100);

{ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Ρ€Π°Π· }.

GetMem (P1, Size); { P1 — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ адрСса для хранСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°}.

GetImage (0, 0, 20, 100, P1^);{P1^ - содСрТимоС (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) ΠΎΠ±Ρ€Π°Π·Π°}.

GetMem (P2, Size); { P2 — ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ адрСса для хранСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°}.

GetImage (50, 0, 70, 100, P2^);{P2^ - содСрТимоС (Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) ΠΎΠ±Ρ€Π°Π·Π° }.

x:=0; y:=200; { ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ }.

Readln; ClearDevice; Line (0, 300, 600, 300); { «Π΄ΠΎΡ€ΠΎΠ³Π°» }.

Repeat { имитация двиТСния Ρ‡Π΅Ρ€Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² со ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ }.

PutImage (x, y, P1^, 1); delay (50); PutImage (x, y, P1^, 1);

x:=x+10; { смСщаСм ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π° ΠΏΠΎΠ»ΡˆΠ°Π³Π° }.

PutImage (x, y, P2^, 1); delay (50); PutImage (x, y, P2^, 1);

x:=x+10.

Until x > GetmaxX — 20; { достиТСниС края }.

FreeMem (P1, Size); FreeMem (P2, Size); CloseGraph.

End.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ заносятся Π΄Π²Π° ΠΎΠ±Ρ€Π°Π·Π° Ρ‡Π΅Π»ΠΎΠ²Π΅Ρ‡ΠΊΠ° с Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ³. Π­ΠΊΡ€Π°Π½ очищаСтся ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ происходит ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² со ΡΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ ΠΎΡΠΈ «Ρ…». КаТдоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ хранится Π½Π° ΡΠΊΡ€Π°Π½Π΅ 0, 05 с., Π·Π°Ρ‚Π΅ΠΌ исчСзаСт, вслСдствиС пСрСрисовки Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ XorPut.

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