Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы нв вопросы по ТРПП 2_1.docx
Скачиваний:
15
Добавлен:
22.04.2019
Размер:
252.27 Кб
Скачать

33. Ооп. Структуры

Структура — конструкция большинства языков программирования, позволяющая содержать в себе набор переменных различных типов. В языках семейства Pascal структуры традиционно называют записями.

С внедрением концепции объектно-ориентированного программирования понятие структуры было расширено, в частности была добавлена возможность включения в структуру функций-методов, появились ключевые слова для ограничения доступа к элементам структуры. В результате структура стала очень похожа на классы и интерфейсы, однако в большинстве языков сохранила некоторые отличия от них.

Структуры оказываются полезными при организации сложных данных особенно в больших программах, поскольку во многих ситуациях они позволяют сгруппировать связанные данные таким образом, что с ними можно обращаться, как с одним целым, а не как с отдельными объектами.

35. Основные этапы проектирования программы

Проектирование и последующая поддержка программного обеспечения включает несколько этапов:

  1. Разработка спецификации.

Детально анализируется основная цель разработки программы и составляется подробное описание всех действий, которые она должна выполнять.

  1. Проектирование или конструирование программы.

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

  1. Доказательство правильности проекта.

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

  1. Кодирование.

Описание алгоритмов и данных с помощью инструкций выбранного языка про­граммирования.

  1. Отладка и проверка правильности программ.

Устранение логических ошибок. Ос­новным инструментом здесь являются отладчики, кото­рые позволяют проверить программу в некоторых спе­циальных режимах ее выполнения (пошаговый режим).

  1. Доработка и улучшение программ.

Дорабатываются или изменяются некоторые алгоритмы и модули. Усовершен­ствование не должно приводить к повторению цикла разра­ботки с самого начала.

  1. Производство окончательного программного продукта.

После завершения программного продукта он передается пользователям.

  1. Поддержка программного продукта в процессе его ис­пользования.

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

36. Основные направления в программировании

  1. Императивное программирование является отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 1940-х годах. 

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

  1. Объектно-ориентированное программирование – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

  2. Визуально-событийное программирование – развитие ООП в части работы с особыми классами визуальных объектов.

  3. Функциональное программирование – парадигма программирования, в которой выполнение программы представляет собой вычисление некоторого выражения, описывающего применение функций (в математическом понимании) ко входным данным. В отличие от императивного программирования, где выполнение программы рассматривается как последовательная смена состояний в памяти компьютера (т.е. изменение значений переменных), в функциональном программировании нет понятия переменной и присваивания, функция не имеет явного внутреннего состояния, а оперирует только над входными данными. Из-за этого отсутствуют побочные эффекты, программа становится более простой в отладке, а также допускает более естественное распараллеливание на многоядерных процессорах.

  4. Логическое программирование - парадигма программирования, в которой программы пишутся не в виде последовательности инструкций, а в виде множества фактов и правил, а процесс выполнения программы сводится к выводу нужных результатов из этого множества. Логическое программирование относится к декларативному программированию, поскольку программа на нём скорее описывает свойство задачи, нежели алгоритм её решения.