
Вопрос 55
Условный оператор.
Условный оператор реализует одну из базовых алгоритмических конструкций — ветвление или выбор. Ветвление выполняется в зависимости от того, истинно или ложно некоторое условие.
Выделяют две формы условного оператора, реализующие неполное н полное ветвление.
Синтаксис неполного ветвления имеет вид:
If условие then
begin
оператор1;
оператор2;
…..
операторN;
end;
На естественном языке логика выполнения неполного ветвления формулируется следующим образом: если условие истинно, то выполняются операторы, заключенные в операторные скобки begin...end. Если условие ложно, происходит переход к следующему оператору программы.
Пример:
if a>b then
begin
b:=2*b;
а:=a+b;
writeln(a,' ',b);
end;
Если внутри составного блока должен находиться один оператор, то операторные скобки можно опустить. В этом случае оператор примет вид:
If условие then оператор;
В качестве условия может выступать логическая константа, переменная или выражение, имеющее логический тип. Если условие является составным, то каждое простое условие заключается в круглые скобки, например:
if (a>b) and (а>с) then writeln ('a - наибольшее');
Синтаксис полного ветвления имеет вид:
If условие then
begin
оператор1;
оператор2;
операторN;
end
else
begin
оператор1;
оператор2;
…………..
операторN;
end;
На естественном языке логика выполнения полного ветвления формулируется следующим образом: если условие истинно, то выполняются операторы составного блока ветки then, иначе выполняются операторы составного блока ветки else.
Как и в случае неполного ветвления, если в операторных скобках then- и е1sе-частей находится одни оператор, то зарезервированные слова begin и end можно опустить.
Оператор условия примет вид
If условие then оператор1 else оператор2;
Замечание В случае полного ветвления символ ; (точка с запятой) перед зарезервированным словом else не ставится.
Пример:
if (a>b) and (а>с) then writeln('a – наибольшее’) else writeln('a - не наибольшее');.
Условные операторы могут быть вложенными друг в друга. При этом общий синтаксис сохраняется как для внешнего, так и для внутреннего оператора. Однако, если then- или else-ветвь состоит только из одного вложенного условного оператора, то операторные скобки begin...end использовать необязательно. Например, синтаксически верной будет следующая конструкция:
if условие1 then
if условие2 then оператор1 else оператор2
else
if условие3 then оператор3;.
Замечание. Если then- или else-ветвь состоит только из одного вложенного оператора цикла for, while или until, то операторные скобки begin...end так же использовать необязательно.
Вопрос 56
Массив (в некоторых языках программирования также таблица, ряд) — набор однотипных компонентов (элементов), расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексам. В отличие от списка, массив является структурой с произвольным доступом. Массив — структурированный тип данных, состоящий из фиксированного числа элементов одного типа. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Описание массивов Для описания массива служат служебные слова array of. Описать массив можно двумя способами. Первый — ввести новый тип данных, а потом описать переменные нового типа. В этом случае формат оператора type следующий: type имя_типа = array [тип_индекса] of тип_компонентов ; В качестве типа_индекса следует использовать перечислимый тип. Тип_компонентов — это любой ранее определённый тип данных, например: type massiv = array [0..12] of real; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Можно не вводить новый тип, а просто описать переменную следующим образом: |
|
Var имя_массива:array [размер] of базовый_тип;,
где имя_массива—идентификатор массива, базовый_тип—тип данных элементов массива, размер: [начальный индекс . . конечный индекс ])