Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по программированию с 55 по 64.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
43.69 Кб
Скачать

Вопрос 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 базовый_тип;,

где имя_массива—идентификатор массива, базовый_тип—тип данных элементов массива, размер:  [начальный индекс . . конечный индекс ])