Главная » Просмотр файлов » Лекции по информатике

Лекции по информатике (984119), страница 32

Файл №984119 Лекции по информатике (Лекции по информатике) 32 страницаЛекции по информатике (984119) страница 322015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 32)

сх, су: геа1): ТЪ'а1пе; маг Х: РТг!апа!е; Ьенш пеи (Х); Х .Л.х; ах; Х .Л.у: ау; Х".В.х: Ьх; Х".В.у: Ьу; Х".С.х: сх; Х".С.у: су: й! 1й 1г1апа!е Холл Тг!аглд!е: ТЧа!пс(Х); ( Здесь треуголььлллковьллл элемент приводится, к илиму же универсалтлому типу элементов очереди л! епс1; Гппсйюп 1челгЕхеспьаЫе(Т: 1-'Ргосейпге): ТЧа1пе; айаг Х: РЕхеспгаЫе: 400 Ьеиш пеи (Х); Х".РгосРсг:=Т; Х дс)г- 1с11ьхеспсаЫе; Хев ЕхеспФаЫск -21'Чс!пе(Х); ( Здесь приведение. также возмозя;ао, поскольку все указатели в ЕэХепсЭесЭ, Разса1 росЭствентсъс сг епс1; Для правильного уничтожения объектов очереди необходимо использовать процедуру РевсгоуОЬ)ес1, а не стандартную процедуру с11ярояе: ргосес1пге ПевугоуОЬ|ест(айаг Р: ТЧа1пе); Ьеиш саяе РПЭНесогс1(Р) зс1 оГ ( для, отсределения, писпа реального обвекта используется привесЭепие указатпеля.

на него к идентифицируюгцему типу РПЖссотсс ~С 1с1С1гс1е: с11врове(РС1гс1е(Р)): 1сГГг1ащ1е: с11врове(РТг1аггд1е(Р))1 сс1ЕхеспгаЫе: с11врове(РЕхессгьа1>1е(1')); ( Если бы. не было бьс приведения гпипов, д1зрозе не смог бы вычиссслсть размер уссичтозссаелсого обвекта и корректно его удалипсь 3 епс1; епс1; Рассмотрим пример добавления нескольких разнородных элементов в очередь: ргосес1пге Ехапгр1е1Эгаи", ( Этно единственная процедура, насаей програлслсьс, являлосцесйся обьектом, а пе субяектпом.

Зтпо кслселпанта простейисего проиедурного тпипа, копсорая может быть согласна и разыменоьана. Чтобы вьсзвать процедурную переметсную, надо употребить ее и ия (процесЭуртсой переменной, а, не конкретнойс процедурьсЦ с фактичесъими параметрами вызова и с точкой с запятой. Если процедурная переменная, доступна по ссылке, ее надо Разыменоватпь сг Ьеиш тьтйе1п('ВЫПОЛНЯЕМЫЙ' ); ( Здесь можно было бы сбацать на Роз1Ясттр1 чтпо — то вьссокохудожестпвенное или фрактальное. т епс1; айаг Ч: Чпепе; РпвЬЯ, Хеч С1гс!е(10,10,5)): РпвЩ, ХежТг1апц!е(1,2,3,4,5,6)); РпвЬ(СЕ. Хеи ЕхеспьаЫе(ОЕхагпр!е1Эгач )); 1Э1вр1ау(®; 401 7.3.8.2 Реализация с использованием указателей процедурного типа В предыдущем варианте для реализации действий с элементами очереди использовались процедуры (например, Ртам ), выполняющие определенные действия над объектом в зависимости от типа объекта.

Такой подход неудобен тем, что при добавлении нового обьекта приходится модифицировать все соответствующие процедуры (ЕЕгаъ., ВезсгоуОЬ1есС и др). Кроме того, процедуры, присущие обьектам, концептуально отделяготся от самих обьектов. В данном примере процедуры, присущие объектам, задаются в самих обьектах как поля процедурного типа. Кроме того, добавляются догюлнительпые свойства объектов, необходимые для реализации сортировки. Необходимость в идентификаторе оЬ)есСЮ отпадает: 1' Осдро1 уор2: Сошников Д.В.

) Суре ТРо1пг -- гесогс1 х,у: геа1 епсЕ; !' тип, то'чки, используемый в описании геометрических фигур ) Суре СгпрТуре — (!езз, Ес1па!, Моге, Хо1Ес1па1, Хо!Сотар); !' результат сравнения ключей ) !' тип ТОЕуесг заменяет используемую в предыдущем примере ТП)ЛесогсЕ ) 1' он содержит поля — ссь лки на родовые процедуры. которые должны располагаться в том же порядке, что и в самих обьектах ) Суре РОЬ)есС вЂ” "ТОЬ1есс; Суре ТСп1рГппсС1оп == СппсСЕоп (1ЕХ: РОЬ)есС): СпгрТуре; РСгпррппс! юп 'ГСпгрГппсС1огц Суре ТРгоссс1пге РгосесЕпге(Р: РОЬ1ес1,); 1' процедурный тип, ) РРгосес1пгс -- ТРгосес1пге; ТУгаяРгос — Ргосес1п'е; 1' процедурный тпип для Тс:хссигаЬ1е ) РЕЕгая Ргос — " '1'Е)гаъ.Ргос; '!" О Ь) есС вЂ” гесогс1 1)гам: РРгоссс1пге; Согпраг: РСгпрГппсС1огц епсЕ; Суре РС1гс!е - ТС1гс1е; ТС1гс!е -- гесогс1 !Егия: РРгосес1пге; Согпраге: РСпгрГппсСЕоп; сеп1,ег: ТРо1п1;, гас11пз: геа1; епс1; Суре ТТС1агц,1е - гесогс1 1Эгагг: РРгосес1пге; Сопграге: РСшрГппссюп; А, В, С: ТРо1ггС! епс1; РТг1апй!е 'Г! г1ащ1е; Суре ТЕхеспсаЫе — гесогс1 !)гагт; РРгосес1пге; Сошрагс: РСпгрГггпсС!огг; РгосРСг: РЕ)гагг Ргос; епс1; РЕхеспсаЫе ТЕхесггсаЫе; Тип данных для элемента очереди ТЪа1гге теперь определяется как указатель на абстрактный объект ТОЬгесС.

Необходимость в бестиповом указателе отпадает: Суре ТЪа!гге РО!>1есС; Везде. где для печати элемента очереди вызывается процедура ъ.г1Се!и, необходимо заменить се на. вызов процедуры, на ксггоруго ссылается поле Пгагя конкретной записи. Начальные значения этому полю присваиваются в процедурах инициализапии. ргосес1пге ИгагтС1гс1е(Р: РОЬ1есг): !' соответствует типу ТРгоседиге ~ 1' Особенности отрисовки или вывода объекта на экране определяются конкретной реализацией.

В данном примере мы просто печатаем геометрическое описание. гг ггаг Т: РСггс!е; Ьеиш Т:=- РСггс1е(Р): глт1Се1п('ОКРУЖНОСТЬ(Х=-',Т".сепсег.х,', У-=-',Т".Сеггсег.у,', В,-=', Т .гаг11гга); епс1; ргосес1пге 1ЗгаггТг1ап~!е(Р; РОЬ1ес!); маг Г: РТг1атц,!е: Ьеиш Т; РТг!ап~!е(Р); от!Се('ТРЕУГ(А (',Т .А.х,'.,„',Т,Л.у, '),'); глгг1Се('В (',Т .В.х,',. ',Т .В.у, ').,'): ът1Се1п('С (',Т .С.х,',„',Т .С.у, ') '); епс1; ргосес1пге 11гагтЕхесггСаЫе(Р: РОЬгесС); Ьеиш 11' РЕхеспуаЫе(Р) ".РгосРСг<:>ш! СЬеп РЕхеспгаЫе(Р) .Ргосргг"; 1' выполнение процедуры по указателю эг епс1; Для печати (отрисовки) объекта следует использовать конструкцинх Р) Л)гаго)' (Р), где Р -- указатель на объект типа, РОЬ1'есй К солсалению, каждый раз приходится пе- редавать в процедуру ВгавО указатель на сам ооьект, т.

к. процедура Огаы() не молсет о|гределить, по указателю из какой конкретной записи она была вызвана. Объектноориентированный ггодход, рассмотренный в следующем примере, избавляет нас от такой необходимости. Определение процедур сравнения: йшсС1оп ЕЧТуре(11, Ъ': РОЬ)есС): Ьоо1еап; 1'проверка эквивалентпности типов3 Ьеиш Ес1Туре: =(В .Ргали == Ъ' .1)гам); 1' если указатели на родовые процедуры совпадают — типы одииаковы! г епс1; ГппсСюп СгпрС1гс1е(С1Х: РОЬ1есг): СпгрТуре; 1' соответствуегп ТСтрРипс 1 Ьеиш 1Г поС Ес1Туре(ЕХ) СЬеп СгпрС1гс1е:==1ч1оССогпр е1ве Ьепш 1Г РС1гс!е(11)".гас11па - РС1гс1е®".гас1йгз СЬеп Сп1рСпс1е:-- Ес1па1; 1Г РСьгс!е(В),гас1шв < РС1гс1с(Ъ)".гас1йга СЬеп Сп1рС1гс1е:-- 1.езз1 1Г РС1гс!е(11)".га<11па > РС1гс1с('ч')".гас11па СЬеп СшрС1гс1е:-- Моте; епс1:, епс1; ГппсСюп с11з1(Л,В: ТРо1пС): геа1: (расстояписс между точками ~ Ьеиш с11ьт: вс1гС(зс1г(Л,х — В.х)+юг(Л.у — В.у)ч-зс1г(Л.и — В.и)); епс1; ГппсС1оп Впш(Е: ТТг1ащ1о): геа1; (срмма длин стоРон — кРитеРий сРагвнспил тРвУгольников зс Ьеи1п Вптп::-с11зС(с1.АЛ1.В) — , 'с11з1(Е.С, С1.А)-'с11зС(Е.В, Е.С); епс1; ГппсС1оп СгпрТг1апи1е(ЕХ: РОЬ1ес1): СшрТуре; 1'соогпветспгвует ТСгпрРигс3 Ьеиш 1Г поС Ес1Туре(ЕХ) СЬеп СгпрТг1ап~1еэ- г1оССогпр е1ве Ьеиш 1Г Вппг(РТг1апа!е(Е)") -- Яппг(РТг1апц1е® ) СЬеп СгпрТг1апи1е: — Ес1па1; 1Г Впгп(РТг1апо!е(В)") < Яшп(РТг1апр1е(Ъ') ) СЬеп СгпрТг1апи1е:-- 1.езз; 1Г Впгп(РТг1апи!е(Е) ) > Яшп(РТг1апр1е(Ъ) ) СЬеп СгпрТг1ап~1е:-- Моте; епс1; епс1; ГппсСюп СпгрЕхеспСа1э1е(ЕХ: РОЬ)есС): СшрТуре: Ьеиш 404 1Г поФ !'.с!Туре(11,Ч) ФЬеп Ехссп1аЫе: — Ко1,Сопср е1ве 1Г РЕхесп1аЫе(1с) ".РгосР! г — РЕхесп1 а!>1е(Ъ') ".РгосР1г ФЬеп Опр1"хесп$аЫе:--Евана! е1ве СпсрЕхесШаЫс; — Хо1Ес1па1; епс1; епс1; Для сравнения объектов Ьг и ч' (где ГУ и ч' типа РОЬ)ес1 -- указатели на объекты) следует вызывать функцию сравнения в виде У '( .Ссчпраге(У, 'ч') либо ч''!" .Сотраге(К 'ч'); кроме того, для сравнения можно гсереопределить операции =, (, >: орегс1сог — (11,'ч': РОЬ1есг) С: Ьоо1еап; Ьеиш С: -(с1 .Соспраге(1.'.,Ъ') -Ес1па!); епс1; орегалог < (с,',ч': РОЬ1есг) С: Ьоо1еап; Ьеиш С: --(сэ' .Ссипраге(13,7) -1.евв); епс1; орега$ог ъ (Е,У: РОЬ1есг) С: Ьоо1еап; Ьеиш С: — (11 .Согпраге(с1,'ч')--Моте); епс1; Для создания нового объекта и помещения его в очередь используются следующие функции-конструкторы: ГппсС1оп ХеччС1гс1е(х,у,г: геа1): Тчга1пе; чаг Х: РСгс;1е; Ьеи1гг ггелч(Х); !' создание нового обвекпса типа ТСлтс1е у' Х".сепгсг.х; х; Х".сепсег.у: у; Х .гас!!ив:--г; Х" .Огалч; -- оозйгалс С1 гс1е; Х ".

Сопсрагс: - -'с1СпгрС1гс1е„ МеччС1гс1е: =-Т'чга1пе(Х); !' приведение типа к типу элементов очереди 3 епс1; Гппсс1оп Хе~чТг1апд1е(ах,ау,Ьх,Ьу,сх,су: геа1): Т'ча1це; чаг Х: РТг1апи1е; Ьеиш пелч(Х); Х".А.х:---ах; Х".А.у: — -ау; Х .В.х:=--Ьх; Х .В.у::-Ьу; Х .С.х:=-сх; Х .С.у: — су: Х .1Эгаччг-1эгаччТг!апо!е; Х".Соп1раге: - СгпрТг!ащ1е; МеччТг1апГ!е: -ТЧа!пе(Х); епс1; 405 ГппсС1оп ХсвЕхесп!аЫе('Г: РРгосес1пге): ТЪа1пе; айаг Х: РЕхеспса!з!е; Ьеи1п пеж(Х); Х ".

Ргос Р! г: — Т; Х .Пгаж; Пгая ЕхеспсаЫе; Х .Сошраге; СшрЕхес1йаЫе; Хея ЕхесшаЫс'. ТЧа!пе(Х); епс1; Программа добавления разнородных объектов в очередь; пример идентичен предыдущему, хотя очередь реализована совершенно по-другому: ргосес1пге Ехап1р!еРга1т! Ье! 1п иггйе1п('ВЬ1 ПОЛН ЯКМЫЙ'); епс1; айаг Ч: Чпепе; Рпй(ц. Хев С!гс!е(10,10.,5)!! Рпэ!1 Я, .Хси Тг!ап а!е(1,2,3, 1,5,6Я; Рцэр. Хеи ЕхесгпаЫе(ОЕхагпр!е1)гав))! П!эр!ау(®; 7.4 Объектно-ориентированное программирование 7.4.1 Наследование До сих пор мы интересовались созданием программ «с пуля>, не учитывая гютребпость использовать имеющиеся программные услуги при создании новых. Соответствующее свойство языка принято называть развиваемостью !2Ц.

Характеристики

Тип файла
DJVU-файл
Размер
675,15 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее