Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Орлов_Технологии разработки программного обеспе...doc
Скачиваний:
106
Добавлен:
07.09.2019
Размер:
4.57 Mб
Скачать

Процедуры вывода

В операторе вызова можно указывать не только фактические параметры, но и сопоставления формальных и фактических параметров в виде

Put (<ФактическийПараметр1>,

<ФормальныйПараметрЗ> => <ФактическийПараметрЗ>, ...);

При такой форме порядок записи параметров безразличен.

Например, по оператору вызова

Ada.Text_IO.Put ( Item => Var3 )

значение переменной Var3 (типа Character) отображается на дисплее, а курсор перемещается в следующую позицию.

По оператору вызова

Ada.Integer_Text_IO.Put ( Var4. Width => 4 )

на экране отображается значение целой переменной Var4, используются текущие Width позиций (в примере — 4). Если значение (включая знак) занимает меньше, чем Width, позиций, ему предшествует соответствующее количество пробелов. Если значение занимает больше, чем Width, позиций, то используется реальное количество позиций. Если параметр Width пропущен, то используется ширина, заданная компилятором по умолчанию.

Основные операторы

Оператор присваивания

<ИмяПеременной> := <Выражение>;

предписывает: вычислить значение выражения и присвоить это значение переменной, имя которой указано в левой части.

Условный оператор

if <условие 1> then

<последовательность операторов 1>

elsif <условие 2> then

<последовательность операторов 2>

else

последовательность операторов 3>

end if;

обеспечивает ветвление — выполнение операторов в зависимости от значения условий.

ПРИМЕЧАНИЕ

Возможны сокращенные формы оператора (отсутствует ветвь elsif, ветвь else).

Оператор выбора позволяет сделать выбор из произвольного количества вариантов, имеет вид

case < выражение > is

when <список выбора 1> =>

<последовательность операторов 1>

when <список выбора n> =>

<последовательность операторов n>

when others =>

<последовательность операторов n+1>

end case;

Порядок выполнения оператора:

  1. вычисляется значение выражения;

  2. каждый список выбора (от первого до последнего) проверяется на соответствие значению;

  3. если найдено соответствие, то выполняется соответствующая последовательность операторов, после чего происходит выход из оператора case;

  4. если не найдено соответствие, то выполняются операторы, указанные после условия when others.

Элементы списка выбора отделяются друг от друга вертикальной чертой ('|') и могут иметь следующий вид:

  • <выражение>;

  • <выражение n>..<выражение m>.

Примеры:

case Number is

when 1 | 7 => Put ("Is 1 or 7");

when 5 => Put ("Is 5");

when 25..100 => Put ("Is number between 25 and 100");

when others => Put ("Is unknown number");

end case;

case Answer is

when 'A'..'Z' | 'a'..'z' => Put_Line ("It's a letter!");

when others => Put_Line ("It's not a letter!")

end case;

Оператор блока объединяет последовательность операторов в отдельную структурную единицу, имеет вид

declare

<последовательность объявлений>

begin

<последовательность операторов>

end;

ПРИМЕЧАНИЕ

Объявления из раздела declare действуют только внутри раздела операторов блока.

Пример:

declare

Ch : Character;

begin

Ch := 'A';

Put ( Ch );

end;