И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина





НазваниеИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина
страница2/32
Дата публикации01.09.2013
Размер1.4 Mb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   2   3   4   5   6   7   8   9   ...   32

Введение


Эта часть учебного курса "Основы программирования на языке Си++" предназначена для первоначального знакомства с методами объектно-ориентированного программирования (ООП) на языке Си++. В первых лекциях кратко рассматривается история развития ООП и наиболее важные свойства объектно-ориентированного проектирования (проектирование на основе распределения обязанностей), которое является необходимым условием эффективной разработки программного обеспечения с использованием ООП. Далее основное внимание уделяется введению понятий классов, объектов, пересылки сообщений и наследования и соответствующим синтаксическим особенностям Си++. Множественное наследование не рассматривается ввиду сложности вопроса и отсутствия подходящих примеров, пригодных для использования в процессе начального изучения программирования на Си++.

На практических занятиях используется среда разработки Microsoft Visual C++ на ПК под управлением Windows 95/98/NT. Все программы, рассматриваемые в качестве примеров в лекциях, и ответы к упражнениям написаны на стандартном ANSI Си++ и проверены в среде Microsoft Visual C++ 5.0 на ПК под управлением Windows 98.

Лекция 1. Основные понятия ООП

1. Появление объектно-ориентированных языков программирования


Первые объектно-ориентированные языки программирования появились в конце 60-х гг. (Симула-67, Смоллток), но быстрое развитие технологии ООП, в результате которого эта технология стала общепринятым стандартом, началось лишь в середине 80-х гг. Побуждающим мотивом для развития стала постоянно возрастающая сложность программного обеспечения, с которой все хуже справлялись традиционные средства процедурного программирования.

Большинство программистов знают процедурные языки вроде Си и Паскаля, поэтому особую популярность завоевали не специальные ОО-языки (Смоллток, CLOS), а ОО-расширения уже известных языков – Си++ и Объектный Паскаль. Тот факт, что эти языки основаны на хорошо известных языках, создает иллюзию о простоте усвоения ООП программистами, знающими процедурные языки.

Язык Си++ очень быстро развивался, начиная с середины 80-х гг. (первая версия была разработана Бьярном Страуструпом в 1979 г.). В 1994 г. комитетом по стандартизации ANSI/ISO был принят стандарт языка Си++. В начале 90-х гг. на основе языка Си++ был разработан язык Java, предназначенный для написания программ для Интернет.

Язык Объектный Паскаль был особенно популярен, пока фирма Apple применяла его в качестве основного языка программирования для компьютеров Macintosh, но потом утерял этот статус. Объектный Паскаль продолжает применяться на IBM-совместимых ПК в составе среды быстрой разработки программ Inprise Delphi.

2. Причины популярности ООП


Возлагается надежда, что метод ООП упростит написание более сложных программ. Парадоксальность ООП заключается в том, что:

  1. это новая идея о том, что собственно называется вычислениями, а также того, как мы можем структурировать информацию в памяти компьютера;

  2. это эволюционный шаг, естественным образом вытекающий из предшествующей истории развития средств абстракции данных.

Можно выделить три основных причины популярности ООП:

  1. надежда, что ООП приведет к быстрому росту продуктивности программистов и повышению надежности программ (решение "кризиса программного обеспечения");

  2. желание перейти от существующих языков к новой технологии;

  3. сходство с методами проектирования, применяющимися в других инженерных областях (сборка изделия из готовых блоков).

Под термином "кризис программного обеспечения" подразумевается то, что в научных, технических и экономических приложениях требуется разрабатывать все более сложные программные системы, требующие усилий большого количества программистов, которых сложно координировать. Затраты на обмен информацией об отдельных частях проекта быстро начинают превышать выигрыш от увеличения количества разработчиков (Ф. Брукс).

На первых компьютерах для написания программ сначала применялись машинные коды, а затем язык ассемблера. Но этот язык не соответствует сегодняшним стандартам. По мере роста сложности программ оказалось, что разработчики не в состоянии помнить всю информацию, нужную для отладки и совершенствования их программ. Какие значения хранятся в регистрах? Есть ли уже переменная с этим именем? Какие переменные надо инициализировать, перед тем как передать управление следующему коду?

Частично эти проблемы решили первые языки высокого уровня: Фортран, Кобол, Алгол (например, в них было введено автоматическое управление локальными переменными и неявное присваивание значений). Но рост сложности программ продолжался, и появились проекты, в которых ни один программист не мог удержать в голове все детали. Над проектами стали работать команды программистов.

Значительная взаимозависимость частей ПО мешает создавать ПО по типу конструирования материальных объектов. Например, здание, автомобиль и электроприборы обычно собираются из готовых компонент, которые не надо разрабатывать "с нуля". Многократное использование ПО – цель, к которой постоянно стремятся, но и которой редко достигают. Из программной системы тяжело извлечь независимые фрагменты. ООП облегчает эту задачу.

1   2   3   4   5   6   7   8   9   ...   32

Похожие:

И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПротокол №5 От 12 января 2012 г Заседания кафедры электроники и вычислительной...
Зав кафедрой Хакимова Г. Г. сообщила, что кафедра проводит 2-й Чемпионат по цифровой схемотехнике
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по подготовке, оформлению, предзащите и...
В. А. Усков, заместитель декана естественно-географического факультета по развитию, доцент кафедры физической географии и методики...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПроблемы коммуникации
М. Е. Евсевьева (зав кафедрой, доцент А. А. Ветошкин); С. А. Борисова, директор Института международных отношений Ульяновского государственного...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
Елена Святославовна Симакова, кандидат педагогических наук, доцент кафедры гуманитарных и естественнонаучных дисциплин Рязанского...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма курса по выбору «Орнитология» предназначена для студентов...
Автор программы: к б н., доцент, зав кафедрой биологии и химии Марина Николаевна Харламова
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРоссийской Федерации Федеральное государственное образовательное...
Петренко И. М., зав кафедрой экономической теории, д-р экон наук профессор Дулин М. П., зав кафедрой педагогики и психологии, д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРахманкулова Людмила Кузьминична, кандидат филологических наук, доцент...
Автор программы: С. А. Виноградова, кандидат филологических наук, доцент, зав кафедрой английского языка и английской филологии
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconЛингвистические проблемы
Московского государственного педагогического института иностранных языков им. М. Тореза (зав кафедрой доцент Ю. А. Денисенко); д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМгпу учебно-методический комплекс дисциплины
А. В. Прялухина, кандидат психологических наук, доцент, зав кафедрой психологии Российского государственного социального университета...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «теория экономического анализа»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «международный менеджмент»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по написанию курсовых работ дисциплине
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной техники Рязанского государственного педагогического университета им. С. А. Есенина iconУчебное пособие Краснодар 2008
В. А. Оробец); кафедра паразитологии и ветсанэкспертизы Донского государственного аграрного университета (зав кафедрой, проф., к...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск