Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВОПРОСЫ ГОСУДАРСТВЕННОГО ЭКЗАМЕНА.docx
Скачиваний:
319
Добавлен:
12.04.2015
Размер:
5.76 Mб
Скачать

Записи (структуры)

Записи- это структурированный тип, состоящий из фиксированного числа компонент (называемых полями) разного типа.

Обычно запись содержит совокупность разнотипных атрибутов, относящихся к одному объекту.

Обращение к компоненту записи: <имя переменной>.<имя поля>Любая обработка записей (в том числе ввод и вывод) производитсяпутем обращения к отдельным полям.

public struct Point

{

public double x;

public double y;

}

Type V= record

P1 : T1;

P2 : T2;

. . .

Pn : Tn;

end;

где V- имя записи, Pi - имя поля , Ti - тип поля

Множества

Множества - это наборы однотипных логически связанных друг с другом объектов.

Элементы множества не пронумерованы, не упорядочены. Действия можно выполнять только над множеством в целом. Множество может содержать от 0 до 255 элементов.

Нельзя вводить и выводить значения переменных множественного типа с помощью операторов ввода-вывода. Множественная переменная может получить конкретное значение только в результате выполнения оператора :=. Вывод элементов множества осуществляется перебором и проверкой на вхождение всевозможных значений элементов множества.

Операции над множествами:

Объединение "+". Пересечение "*". Разность "-". Операции отношения. Операция вхождения (x in M).

Пример (аналог на C#):

enum Colors

{

Red = 0,

Green = 0,

Blue = 255

};

type

colors = (red, green, blue);

var

c: set of colors

begin

c := [red];

end.

Или :

Var cl: set of (red, green, blue);

Литература: [1], [2].

6. Этапы развития технологии программирования

1 этап: методологии программирования нет. 2 этап: структурное программирование. 3 этап: модульное программирование. 4 этап: объектно-ориентированное программирование.

Развитие технологии проектирования программ опиралось на языки программирования как средство для их осуществления.

Эволюция технологии проектирования программ - это

  • эволюция методологий проектирования программ;

  • эволюция языков программирования.

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

1 этап

Методологии программирования нет, программирование считается искусством.

Архитектура программы имеет следующий вид:

Проблемы, возникшие на данном этапе:

  • Данные общедоступны, а следовательно велика вероятность их ошибочного изменения (например, одновременное использование одной и той же переменной для различных целей)

  • В больших программах без структурирования очень сложно разобраться.

2 этап

Методология - структурный подход.

Архитектура программы имеет следующий вид:

Проблемы, возникшие на данном этапе:

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

  • При достаточно большом размере программ структурирование действий с помощью подпрограмм не уменьшает растущей сложности, что так же не полностью решает данную проблему.

  • Разработчики объединяются в группы, что предполагает дальнейшее развитие методологии программирования. Появилась необходимость в методологии, позволяющей программистам эффективно использовать совместно разработанный код программы.

Проблемы, решенные на данном этапе:

  • Появился метод проектирования программ – метод пошаговой детализации.

  • Выделены три основных алгоритмических конструкции (следование, ветвление и цикл), достаточных для построения любого алгоритма.

3 этап

Методология - модульный подход.

Архитектура программы имеет следующий вид:

Проблемы, возникшие на данном этапе:

  • Область данных в модуле может быть закрыта от внешнего использования, но это не всегда бывает удобно, т.к. не позволяет удобно использовать данные модуля. Мы можем иметь либо полностью доступные, либо полностью недоступные данные.

Проблемы, решенные на данном этапе:

  • Повысился уровень систематизации, что позволило существенно уменьшить уровень сложности при проектировании программ.

  • Частично решена проблема зашиты данных внутри модуля.

В результате данных этапов эволюции технологии проектирования программ наметились следующие тенденции их развития:

  • необходимо мобильное (избирательное) ограничение доступности данных;

  • все больше внимания стали уделять проектированию данных, а уже потом алгоритма для их оперирования

Все это потребовало разработки новой методологии проектирования программ, которая существенным образом отличается от всех других тем, что в ней используется новая модель данных - модель «активных» данных.

4 этап

Методология - объектно- ориентированный подход.

Архитектура программы имеет следующий вид:

Проблемы, возникшие на данном этапе:

  • Громоздкость описания требует больших аппаратных ресурсов, а так же ограничивает область применения данного подхода задачами со сложной предметной областью (не эффективно применять для решения малых задач).

Проблемы, решенные на данном этапе:

  • Данный подход не отрицает два предыдущих, а основывается на них:

    • программа состоит из модулей

    • модули содержат описание классов и объектов («активных» данных)

    • методы (алгоритмы) активных данных строятся на основе

  • В программе может отсутствовать область общих глобальных данных

  • Основой при конструировании программы служат «активные» данные.

  • Защита в описываемых «активных» данных стала более мобильная.

Литература: [2], [4].

КОМПЬЮТЕРНАЯ АЛГЕБРА