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

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

Читайте также:
  1. Арест имущества должника, основания применения, составные части, основные правила.
  2. Вопрос 50. Обращение взыскания на им-во дол-ка: составные части
  3. Вопрос № 13: Составные элементы личности.
  4. Вот они - “источники и составные части” обеспечения материально-технической базы братвы, неоскудения “общаков” и процветания госчиновников...
  5. Высказывания. Элементарные и составные высказывания
  6. К пяти годам у детей сформированы такие способы построения игры, как условные действия с игрушками, ролевое поведение.
  7. Метагалактика Пассионарность УО Силы Скорость Света Часть Человека Условные обозначения

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

Для организации ветвлений в программах используют операторы передачи управления (операторы перехода).

Допускается запись условного оператора в двух формах - пол­ной и краткой.

Полная форма условного оператора if предназначена для программирования разветвлений и имеет вид:

If Логическое выражение then оператор 1 else оператор 2;

где опера­тор1, оператор2 простые (в том числе и условные) или составные операторы. Здесь используются ключевые слова: if – если; then [зен] – тогда (то); else [элз] – иначе.

В дальнейшем для удобства изложения оператор 1 будем называть then-ветвью, а оператор 2 - else-ветвью. Подчеркнем, что в каждой из ветвей может находиться только один оператор. Перед else символ ’; ’ не ставится никогда.

Оператор if выполняется так:

1) вычисляется значение логического выражения, результат вычислений анализи­руется;

2) если результатом является true, выполняется опера­тор 1, если falseоператор 2.

После выполнения любой из ветвей выполняется следующий по порядку оператор программы.

Пример 3.8. Составить программу нахождения максимального из двух чисел.

var a, b, max: real;

Begin

write ('введите числа a,b'); readln(a, b);

if a > b then max:=a else max:=b;

writeln (max:10:2)

End.

Если a > b, то выполняется оператор max:=a (ветвь then), в против­ном случае – оператор max:=b (ветвь else). После выполнения любой ветви следующим будет выполнен оператор вывода.

Если в одной или в обеих ветвях оператора if необходимо раз­местить не один, а несколько операторов, то каждую такую группу следует представить в виде одного составного оператора.

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

Составной оператор начинается служебным словом begin и за­канчивается словом end. Между этими словами размещаются необходи­мые для вычислений операторы. Слова begin и end играют в составном операторе роль скобок и называются, поэтому операторными скобками. Например

Begin

c:=a; a:=b; b:=c

End

Пример 3.9. Решить уравнение ax2 + bx + c = 0 (a ¹ 0)

Var

a, b, c, x1, x2, d: real;

Begin

write ('введите a,b,c '); readln (a,b,c);

d:= sqr(b) – 4*a*c;

if (d < 0) then write ('корни комплексные ')

Else

Begin

d:= sqrt (d); a:=2*a;

x1:= (- b + d) / a; x2:= (- b – d) / a;

writeln (x1:10:2, x2:10:2)

End

End.

Если условие d < 0 истинно, выводится сообщение «корни комп­лексные», после чего работа программы заканчивается. В противном случае выполняется else-ветвь, содержащая составной оператор (че­тыре оператора присваивания и оператор вывода).

Краткая форма условного оператора if. Эта форма используется при программировании ответвлений и имеет вид:

if Логическое выражение then оператор 1;.

Если логическое выражение есть tru e, то выполняется опера­тор 1, в противном случае выполняется следующий оператор програм­мы.

Пример 3.10. Даны два числа. Если второе число больше первого – уменьшить его в два раза.

var a, b: real;

Begin

write ('введите a, b '); readln (a, b);

if a < b then b:= b / 2;

writeln (a:10:2, b:10:2)

end.

 

В операторе if непосредственно за ключевыми словами then и else могут следовать любые операторы, в том числе и операторы if. В этом случае они называются вложенными. Ниже приведены примеры, в которых используются вложенные операторы if.

Пример 3.11. Вычислить значение функции у по формуле при a > b.

 

Блок-схема алгоритма приведена на рис. 4.1. Здесь в линейную структуру вложена ветвящаяся, ветвь «нет» которой, в свою очередь, составляет еще одна ветвящаяся структура. Глубина вложения такой ветвящейся структуры равна 2.

 

 
 

 

 


           
 
 
   
     
 


 
 
Рис. 3.1. Алгоритм с тремя ветвями

 


Программа имеет следующий вид.

 

Var

x, y, a, b: real;

Begin

writeln ('введите x, a, b ');


Дата добавления: 2015-07-18; просмотров: 110 | Нарушение авторских прав


Читайте в этой же книге: Конструктивные элементы языка PASCAL | Структура программы на языке PASCAL | Пример 2.2. | Порядок выполнения операций | Ввод числовых данных с клавиатуры | Вывод данных на экран монитора | K: integer; | Readln (x, eps); | Пример 4.1 | I : integer; |
<== предыдущая страница | следующая страница ==>
Пример 3.4| Вычисление сумм

mybiblioteka.su - 2015-2024 год. (0.009 сек.)