- •Вопросы по Алгоритмизации и Программированию
- •Ответы на билеты по предмету Алгоритмизация.
- •Этапы решения задачи:
- •Основные алгоритмические структуры структурного программирования:
- •Структура программы на Delphi:
- •Переменные и их идентификаторы
- •Стандартные типы данных
- •Условный оператор
- •Арифметические выражения
- •Программирование ветвлений
- •Циклические структуры
- •Операторы циклов
- •Оператор цикла с предусловием в Паскале
- •Оператор цикла с постусловием в языке Паскаль
- •Оператор цикла с параметром в языке Паскаль
- •Стандартные алгоритмы обработки строк
- •Все остальное я не нашел. Либо у меня нету той лекции.
- •Массивы: одномерные, многомерные, динамические
- •Стандартные алгоритмы обработки массивов.
- •Одномерные массивы.
- •Двумерные массивы.
- •Методы сортировок.
- •Процедуры.
- •Трансляторы.
- •Интегрированные среды разработки.
- •Классификация языков программирования.
- •Сравнительная характеристика языков программирования высокого уровня.
- •Концепция структурного программирования.
- •Концепция модульного программирования.
- •Концепция объектно-ориентированного программирования.
- •Понятие класса и объекта.
- •Визуальное программирование. Разработки форм пользовательского интерфейса.
Концепция модульного программирования.
Суть модульного программирования состоит в разбиении сложной задачи на некоторое число более простых подзадач и составлении программ для решения достаточно независимо друг от друга. Модульность является одним из основных принципов построения программных проектов. В общем случае модуль - отдельная функционально законченная программная единица, некоторым образом идентифицируемая и объединяемая с другими, средство определения логически связанной совокупности объектов, средство их выделения и изоляции. Модуль является средством декомпозиции не только структур управления, но и структур данных. Этому в значительной мере способствовало развитие понятия "тип данных".
Концепцию модульного программирования можно сформулировать в виде нескольких понятий и положений:
Функциональная декомпозиция задачи - разбиение большой задачи на ряд более мелких, функционально самостоятельных подзадач - модулей. Модули связаны между собой только по входным и выходным данным.
Модуль - основа концепции модульного программирования. Каждый модуль в функциональной декомпозиции представляет собой "черный ящик" с одним входом и одним выходом. Модульный подход позволяет безболезненно производить модернизацию программы в процессе ее эксплуатации и облегчает ее сопровождение. Дополнительно модульный подход позволяет разрабатывать части программ одного проекта на разных языках программирования, после чего с помощью компоновочных средств объединять их в единый загрузочный модуль.
Реализуемые решения должны быть простыми и ясными. Если назначение модуля непонятно, то это говорит о том, что декомпозиция начальной или промежуточной задачи была проведена недостаточно качественно. В этом случае необходимо еще раз проанализировать задачу и, возможно, провести дополнительное разбиение на подзадачи. При наличии сложных мест в проекте их нужно подробнее документировать с помощью продуманной системы комментариев. Этот процесс нужно продолжать до тех пор, пока действительно не удастся добиться ясного понимания назначения всех модулей задачи и их оптимального сочетания.
Назначение всех переменных модуля должно быть описано с помощью комментариев по мере их * определения.
Концепция объектно-ориентированного программирования.
Объектно-ориентированное программирование или ООП (object-oriented programming) -- методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из который является реализацией определенного типа, использующая механизм пересылки сообщений и классы, организованные в иерархию наследования.
Центральный элемент ООП -- абстракция. Данные с помощью абстракции преобразуются в объекты, а последовательность обработки этих данных превращается в набор сообщений, передаваемых между этими объектами. Каждый из объектов имеет свое собственное уникальное поведение. С объектами можно обращаться как с конкретными сущностями, которые реагируют на сообщения, приказывающие им выполнить какие-то действия.
ООП характеризуется следующими принципами (по Алану Кею):
все является объектом;
вычисления осуществляются путем взаимодействия (обмена данными) между объектами, при котором один объект требует, чтобы другой объект выполнил некоторое действие; объекты взаимодействуют, посылая и получая сообщения; сообщение -- это запрос на выполнение действия, дополненный набором аргументов, которые могут понадобиться при выполнении действия;
каждый объект имеет независимую память, которая состоит из других объектов;
каждый объект является представителем класса, который выражает общие свойства объектов данного типа;
в классе задается функциональность (поведение объекта); тем самым все объекты, которые являются экземплярами одного класса, могут выполнять одни и те же действия;
классы организованы в единую древовидную структуру с общим корнем, называемую иерархией наследования; память и поведение, связанное с экземплярами определенного класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
