ВУЗ:
Мы также примем сокращенный синтаксис этого конструкта:
if (условие) then {действие}
Он будет использоваться в случаях, когда не предусмотрено действие для варианта else. Используем эту схему для
следующего предложения:
В случае уменьшения объема продаж снизить цену на 5 %.
Применение ее позволяет сократить исходный вариант следующим образом:
if (продажи сократились) then {снизить цену на 5 %}
Другая универсальная алгоритмическая структура заключается в необходимости продолжать выполнение последова-
тельности инструкций до тех пор, пока некоторое условие остается верным. Ниже приведено несколько неформальных при-
меров этой структуры.
До тех пор, пока есть билеты для продажи, продолжать продавать билеты.
Пока есть билеты для продажи, продолжать продажу билетов.
Для подобных случаев в нашем псевдокоде будет применяться следующий универсальный шаблон:
while (условие) do {действие}
Коротко говоря, эта инструкция предписывает проверить условие и, если оно верно, выполнить действие, а затем
вновь проверить условие. Если при очередной проверке условие оказывается неверным, следует перейти к инструкции,
следующей за данной структурой. Таким образом, оба предшествующих примера при записи на псевдокоде будут выглядеть
следующим образом:
while (имеются билеты, которые можно продать) do {продавать билеты}
Использование отступов при размещении текста позволяет повысить читабельность программы:
if (товар налогооблагаемый)
then {if (цена > минимум)
then {платить х}
else {платить у}
}
else {платить z}
Эта конструкция воспринимается легче, чем ее эквивалент, приведенный ниже:
if (товар налогооблагаемый) then {if (цена > минимум) then {платить х} else {платить
у}} else {платить z}
Поэтому мы договоримся использовать отступы для отражения структуры текста в нашем псевдокоде. (Заметим, что мы
даже будем выравнивать скобки, связанные с внешней конструкцией then, чтобы отметить начало и окончание этой струк-
туры.)
Мы собираемся использовать наш псевдокод для описания действий, которые могут выступать в роли абстрактных
вспомогательных программ в других приложениях. В компьютерных науках такие программные элементы имеют несколько
различных названий, а именно: подпрограммы, процедуры, модули и функции (значение каждого из них имеет свой смысло-
вой оттенок). Договоримся применять к нашему псевдокоду термин процедура (procedure), используя его для обозначения
заголовка, по которому можно будет распознать данный блок псевдокода. Точнее говоря, мы будем начинать каждый блок
псевдокода со следующей инструкции:
procedure имя
Здесь имя – это конкретное название, присвоенное данному блоку. Ниже будут следовать инструкции, определяющие
выполняемые в этом блоке действия. Например, на рис. 4.4 представлен псевдокод процедуры с именем Приветствие, в
которой трижды печатается сообщение "Привет".
Рис. 4.4. Процедура "Приветствие", записанная на псевдокоде
Когда где-либо в псевдокоде потребуется выполнить действия, реализованные в некоторой процедуре, эта процедура
будет просто вызываться по имени. Например, пусть две процедуры имеют имена Предоставление3айма и Отклоне-
ниеЗаявки, соответственно. Тогда мы сможем включить их выполнение в структуру if-then-else, написав следующую
инструкцию:
if (...)
then {выполнить процедуру Предоставление3айма}
else {выполнить процедуру ОтклонениеЗаявки}
В результате процедура Предоставление3айма будет выполняться, если проверяемое условие истинно, а процедура
Отклонение-Заявки – если это условие ложно.
Процедура должна быть общей насколько это возможно. Например, процедура для сортировки списка имен должна
сортировать любой список, а не какой-то один. То есть она должна быть написана так, чтобы параметры сортируемого спи-
ска задавались не в самой процедуре. Вместо этого в представлении процедуры список должен быть представлен формаль-
procedure Приветствие
Счетчик ← 3
while (Счетчик > 0) do
{напечатать сообщение “Привет”;
Счетчик ← Счетчик - 1}
Страницы
- « первая
- ‹ предыдущая
- …
- 80
- 81
- 82
- 83
- 84
- …
- следующая ›
- последняя »
