Π­ΠΊΠ·Π°ΠΌΠ΅Π½Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π±ΠΈΠ»Π΅Ρ‚ β„–21

1.ΠŸΠ»Π΅ΠΊΡΡ‹ ΠΊΠ°ΠΊ прСдставлСниС рисунков, состоящих ΠΈΠ· Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… ΠΈΡ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ²

Π’ качСствС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ основныС гСомСтричСскиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ – Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ Ρ‚.Π΄.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ описаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ (ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ€, радиус ΠΈ Π΄Ρ€.). Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, описаниС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠΎΡ€Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ гСомСтричСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для задания ΠΈ измСнСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²; Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°ΠΌΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ скрытия Ρ„ΠΈΠ³ΡƒΡ€.

Π‘Ρ…Π΅ΠΌΠ° ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ гСомСтричСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

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

Боставной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – Π½Π°Π±ΠΎΡ€ гСомСтричСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ составных), рассматриваСмых ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

ГСомСтричСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сконструирован с использованиСм ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ломаная ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ²).

ГСомСтричСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ сборки ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – рассмотрим Π΄Π°Π½Π½Ρ‹ΠΉ способ построСния Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ рисунков (Ρ‡Π΅Ρ€Ρ‚Π΅ΠΆΠ΅ΠΉ), ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π²ΡƒΡ… Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²: Ρ‚ΠΎΡ‡Π΅ΠΊ ΠΈ Π»ΠΈΠ½ΠΈΠΉ

2. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈ списковой структур хранСния

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:

Класс TStack обСспСчиваСт Ρ€Π΅Π°Π»Π·Π°Ρ†ΠΈΡŽ динаммичСской структуры стСк.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ - Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ осущСствляСтся Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ пямяти ΠΎΡ‚ ΠΌΠ»Π°Π΄ΡˆΠΈΡ… элСмСнтов ΠΊ ΡΡ‚Π°Ρ€ΡˆΠΈΠΌ. ИндСкс послСднСго занятого элСмСнта Π² Π²Π΅ΠΊΡ‚ΠΎΡ€Π΅ пямяти фиксируСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ .

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹:

#define MemSize 25 // Ρ€Π°Π·ΠΌΠ΅Ρ€ памяти для стСка
class TStack
{
 protected:
    int Mem[MemSize]; // ΠΏΠ°ΠΌΡΡ‚ΡŒ для Π‘Π”
    int Top; // индСкс послСднСй занятой ячСйки
 public:
    TStack () { Top = -1; }
    int IsEmpty (void) const { Top == -1; }
    int IsFull (void) const { Top == MemSize-1;}
    void Put ( const int Val ) { Mem[++Top] = val; }
    TData Get (void) { return Mem[Top--]; }
};

ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ

ΠžΡ‡Π΅Ρ€Π΅Π΄ΡŒ (вставка Π² ΠΊΠΎΠ½Π΅Ρ† ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ‡Π°Π»Π° - FIFO - first in, first out)

Вставка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ происходит Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ - с ΠΊΠΎΠ½Ρ†Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ => для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ трСбуСтся 2 индСкса.

Π’ Ρ…ΠΎΠ΄Π΅ вычислСний ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ситуация = = n - 1. Π’ΠΎΠ³Π΄Π° вставка Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°, Π° = 0.

Бпособы достиТСния ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ использования памяти

Π‘Π΄Π²ΠΈΠ³ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ послС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ значСния (Ρ‚.Π΅. обСспСчСниС =0) – возрастаниС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов, использованиС Π»Π΅Π²ΠΎΠ³ΠΎ участка свободной области ΠΏΡ€ΠΈ достиТСнии =n-1 (Ρ‚.Π΅. ΠΏΡ€ΠΈ отсутствии свободной памяти справа).

ЦикличСский ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ - структура хранСния, получаСмая ΠΈΠ· Π²Π΅ΠΊΡ‚ΠΎΡ€Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ слСдования ΠΏΠ°Ρ€ΠΎΠΉ . РСализация ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° логичСски ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ обСспСчСна ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ индСксов ΠΈ ΠΏΡ€ΠΈ достиТСнии Π³Ρ€Π°Π½ΠΈΡ‡Π½ΠΎΠ³ΠΎ значСния MemSize-1 Π½Π° индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ элСмСнта Π²Π΅ΠΊΡ‚ΠΎΡ€Π° памяти.