Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Case myFigure.form of

,

где КТср - средняя за период величина долгосрочных кредитов и займов;

k5R отражает эффективность использования капитала, вложенного в деятельность фирмы на длительный срок (как собственного, так и заёмного).

 

Контрольные вопросы

Type

TShape = (circle, triangle, rectangle);

TColor = (red, green, blue);

 

TFigure = record

filled: boolean;

color: TColor;

Case form: TShape of

circle: (diameter: real);

triangle: (leftside: integer; rightside: integer; angle: real);

rectangle: (sidel: integer; side2: integer)

end;

 

Var

myFigure: TFigure;

Здесь переменная myFigure содержит метку form и память, достаточную для хранения наибольшего вари­анта переменной myFigure. В нашем случае наибольшим вариантом является поле triangle, состоящее из двух целых чисел и одного вещественного. Во время выполне­ния программы метка должна указывать, какой из вариантов в данный момент содержит­ся в переменной myFigure. Если значение варианта нужно вывести на экран, используется следующая последовательность команд:

case myFigure.form of

circle: writeln ('Это окружность; ее диаметр равен: ', myFigure.diameter);

triangle:

Begin

writeln ('Это треугольник');

writeln (' Его стороны равны: ', myFigure.leftside, myFigure.rightside);

writeln ('Угол между сторонами равен:', myFigure.angle);

end;

rectangle:

Begin

writeln ('Это прямоугольник');

writeln ('Его стороны равны:', myFigure.sidel, myFigure.side2)

End

end;

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

Вторая проблема заключается в том, что программист имеет право не указывать метку в структуре вариантной записи, делая ее свободным объединением. Рассмотрим следующую последовательность команд:

Type

TFigure = record




Дата добавления: 2014-12-23; просмотров: 94 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.797 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав