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

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

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

Читайте также:
  1. Case <ключ_выбора> of <список_выбора> [else <оператор_иначе>] end
  2. While (выражение) оператор
  3. Арифметические выражения, арифметические операции, стандартные арифметические функции. Оператор присваивания.
  4. Безусловный переход. Оператор выбора.
  5. В каких случаях должна поддерживаться радио- или телефонная связь между оператором подъемника и персоналом в люльке?
  6. В) Права субъекта персональных данных и обязанности оператора
  7. Виды запросов к БД, логические операторы, язык SQL, конструктор запросов.
  8. Вложенные операторы with
  9. Вопрос 23. Сложные типы данных. Массивы. Операторы ввода-вывода.
  10. Вопрос 47. Тестирование ветвей и операторов отношений.

Для задания разветвляющихся вычислительных процессов обычно используются условные операторы, которые относятся к структурированным операторам языка Zonnon. Синтаксис условного оператора приведен на рис. 3.3.

IfStatement = if Expression then StatementSequence
{ elsif Expression then StatementSequence}
[ else StatementSequence]
end.

Рис. 3.3. Синтаксис условного оператора

Условный оператор в стандартной форме состоит из условия (логического выражения) и двух последовательностей операторов, размещенных после символа then и после символа else. Действие всего такого условного оператора совпадает (если при вычислении условия не возникают побочные эффекты, или,что тоже, самое изменения в состоянии памяти -- см. п. 6.1.5) с действием одной из двух составляющих его последовательностей операторов, выбор которой для исполнения осуществляется по значению условия, вычисление которого начинает выполнение условного оператора. Условный оператор назначает к исполнению первую последовательность операторов (он стоит непосредственно после символа then), если на текущем состоянии памяти ВМ условие принимает истинное значение, либо вторую последовательность операторов (она находится за символом else), если условие ложно.

Рис. 3.4. Пример блок-схемы

Например, условный оператор if X Y then Z:= X else Z:= Y end присваивает переменной максимальное из значений переменных и и описывается блок-схемой рис. 3.4.

Рассмотрим задачу вычисления корней уравнения , заданного коэффициентами , и . Предположим, что a и что корни действительны. Тогда возможным решением является следующая программа, использующая правила Виета:

module Корни3;
var A,B,C,X1,X2,D,E: Real;
begin
read(A,B,C);
D:= sqrt(Sqr(B) - 4 A C);
if B>= 0 then X1:= -(B+D)/(2 A) else X1:= (-B+D)/(2 A) end;
X2:= C/(X1 A);
write(X1,X2)
end Корни3.

Предусматривается возможность сокращенной записи вложенности одного условного оператора в другой. Например, оператор

if E1 then S1 else if E2 then S2 else S3 end end,

где E1, E2, E3 - произвольные последовательности операторов, можно записать в виде

if E1 then S1 elsif E2 then S2 else S3 end.

В этом случает говорят, что условный оператор содержит не одну, а две охраняемые последовательности операторов (E1и E2), первая из которых охраняется выражением E1, а вторая - выражением E2. Действие всего такого условного оператора совпадает (если при вычислении условия не возникают побочные эффекты, или,что тоже, самое изменения в состоянии памяти -- см. п. 6.1.5) с действием одной из трех составляющих его последовательностей операторов, выбор которой для исполнения осуществляется по значению условий E1и E2, вычисление которых происходит, начиная с E1. Условный оператор назначает к исполнению первую последовательность операторов S1, если на текущем состоянии памяти ВМ условие E1 принимает истинное значение, вторую последовательность операторов S2, если условие E1 ложно, а E2 истинно, и третью последовательность S3, если условия E1и E2 ложны.

Например, программа распознавания -- равно ли данное натуральное число некоторому нечетному числу, умноженному на два (печатает "ДА", если ответ положительный, и "НЕТ" -- в противном случае) -- может иметь следующий вид:

module Проверка;
var N: integer;
begin read(N);
if odd (N) then write('НЕТ')
elsif N mod 4# 0 then write ('ДА')
else write ('НЕТ')
end
end Проверка.

Ее управляющая структура описывается блок-схемой рис. 3.5.

Рис. 3.5. Блок-схема программы Проверка

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

9 Цикл – это многократно повторяющиеся фрагменты программ. Алгоритм циклической структуры – это алгоритм, содержащий циклы.
В ТР существует три оператора цикла:

· цикл с предусловием;

· цикл с постусловием;

· цикл с параметром.

Для всех циклов характерны следующие особенности:

· значения переменных используемых в цикле, и не изменяющиеся в нем д.б. определены до входа в цикл;

· вход в цикл возможен только через его начало;

· выход их цикла осуществляется как в результате его естественного окончания, так и с помощью операторов перехода.

 




Дата добавления: 2015-01-30; просмотров: 106 | Поможем написать вашу работу | Нарушение авторских прав




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