Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Составной оператор (оператор варианта)

РефератПомощь в написанииУзнать стоимостьмоей работы

Условный оператор позволяет осуществить ветвление программы только по двум направлениям, одно из которых соответствует выполнению проверяемого условия. Если для переменной необходимо осуществить ряд действий, зависящих от других условий, то надо записывать либо вложенные условные операторы, либо несколько операторов подряд. Для такой операции удобно использовать оператор варианта. Речь идёт… Читать ещё >

Составной оператор (оператор варианта) (реферат, курсовая, диплом, контрольная)

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

Вход в структуру содержит вычисление или ранее полученное значение переменной (индекса варианта). Это значение может совпасть с меткой, стоящей перед оператором на одной из ветвей переключаются. В таком случае выполняется оператор, помеченный этой меткой, и происходит выход из структуры. Оператор бывает простым или составным, ограниченным операторными скобками begin … end; Если значение индекса варианта не совпало ни с одной из меток, то выполняется оператор с номером n + 1 из строки else. Если оператор варианта содержит строку else, то это — полная форма оператора, если такой строки нет, то используется сокращённая форма оператора варианта.

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

В рассмотренных до сих пор алгоритмах и программах все команды (операторы) выполнялись последовательно одна за другой в том порядке, в котором они были записаны. Однако таким образом может быть построен алгоритм для решения далеко не всякой задачи.

В практике хорошо известны задачи, дальнейший ход решения которых зависит от выполнения какого либо условия .

Пример:

Составить программу-решатель.

Дано: молярная масса вещества М, плотность данного вещества Р, масса R или объём V. Требуется найти число молекул К: 1) в единице массы вещества; 2) в теле заданной массой: 3) в единице объёма вещества; 4) в теле заданным объёмом. Для решения задачи воспользуемся формулой:

K = (NА/M)R,.

Где NA = 6,022 * 10Ііг/моль — число Авогадро.

На основании этой формулы получаем расчётные формулы для программы:

1)K=NA/M; 2) K=NAR; 3) K=NAPV/M 4) K=NAP/M.

Программа имеет вид:

Program E20;

Const NA = 6.022 E20;

Var N: integer; M, R, P, V, K: real;

Begin.

Writeln (`зная постоянную Авогадро, Плотность P данного вещества');

Writeln (`и его молярную массу М, можно найти число молекул в');

Writeln (`1. в единице массы вещества');

Writeln (`2. в теле массой R');

Writeln (`3. в единице объёма');

Writeln (`4. в теле объёмом V');

Write (`введите номер решающей задачи');

Readln (N);

Write (`введите исходные данные: М =');

Readln (M);

Case N of.

  • 1: K: = NA / M;
  • 2: begin

Write (`R = `);

Readln ®;

K: = NA *R/M;

End;

3: begin.

write (`плотность вещества Р = ');

Readln (P);

Write (`V = `);

Readln (V);

K: = NA *P *V/M;

End;

4: begin write (`плотность вещества P = ');

Readln (P);

K: = NA *P/V.

End;

End;

Write (`число молекул K = ', K');

End.

Вложенные условия.

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

Рассмотрим задачу: сравнить 3 целых числа и вывести на печать максимальное.

Program chisla;

Var a, b, c: integer;

Begin.

Writeln (`Введите три числа');

Read (a, b, c);

If a.

If a>c then writeln (` максимальное число ', a)

Else if b>c then writeln (b максимально число', b)

Else writeln (`c максимальное число', c);

End.

Логические выражения

Алгоритм решения квадратного уравнения содержит проверку условия D<0. Два значения, D и 0, связаны отношением < - меньше. Если условие выполняется то говорят что соответствующее выражение истинно, если не выполняется то ложь.

Речь идёт о логическом выражении. Примером логических выражений могут служить математические отношения связанные знаками >, <, =, логические выражения имеют два значения True (истина) и False (ложно). Логические выражения такие могут иметь логические операции: отрицания (NOT), конъюнкций (OR) и дизъюнкции (AND).

Логические операции имеют следующую таблицу истинности:

A.

B.

Not (A).

(A) AND (B).

(A) OR (B).

True.

True.

False.

True.

True.

True.

False.

False.

False.

True.

False.

True.

True.

False.

True.

False.

False.

True.

False.

False.

Пусть требуется определить, принадлежит ли точка с координатой x отрезку [a; b]. Если записать это условие двойным неравенством, то читать его надо так: x меньше либо равен b и больше либо равен a (a.

(x>=a) and (x<= b).

Отношения, между которыми стоит логическая операция, заключаются в круглые скобки.

Имеется прямоугольное отверстие со сторонами a и b и кирпичь с рёбрами x, y z. Требуется составить условие прохождения кирпича в отверстие.

Составной оператор (оператор варианта).

Кирпич пройдёт в прямоугольное отверстие, если выполняется сложное условие:

  • (a>=x) and (b>=y) or
  • (a>=y) and (b>=x) or
  • (a>=x) and (b>=z) or
  • (a>=z) and (b>=x) or
  • (a>=y) and (b>=z) or
  • (a>=z) and (b>=y)

Для трёх граней шесть условий получается потому, что можно каждую грань повернуть на 90 и проверить для каждой грани два случая.

Определить принадлёжность точки фигуре. Пусть фигура задана ограничивающими её прямыми.

Составной оператор (оператор варианта).

Для каждой прямой определим полу плоскость, в которой находится фигуратреугольник АВС. Полуплоскость задаётся неравенством.

Полуплоскость, находящаяся выше от оси х определяется неравенством y>0.

Полуплоскость, находящаяся справа от прямой, соединяющей точки (-1,0) и (0,2), задаётся неравенством y-2x-2<0.

Полуплоскость, находящаяся слева от прямой, соединяющей точки (1,0) и (0,2), задаётся неравенством y+2x-2<0.

Условие принадлежности точки (x, y) фигуре :

(y>0) and (y-2*x-2<0) and (y+2*x-2<0).

Приведём пример программы определяющая существования треугольника со сторонами a, b и c. Условие существования треугольника известно из геометрии: сумма двух любых сторон должна быть больше третьей. Следовательно, для всех сторон условие «сумма двух больше третьей» должно выполняться.

Program e4;

Var a, b, c: real;

Begin программирование паскаль оператор ветвление.

Writeln (`дите длины трёх сторон треугольника');

Readln (a, b, С);

Write (`треугольник со сторонами ', a, b, c);

If (a+b>c) and (b+c>a) and (a+c>b).

Then writeln (`существуют').

Else writeln (`не существуюет');

Readln.

End.

Задачи с ветвлением и их решение.

Program vetvlenie;

Var t: integer;

Begin.

Writeln ('Введите температуру сегодня');

Readln (t);

If t<=-30.

Then.

Writeln (`Не идти в школу ').

Else writeln (`Идти в школу');

End.

Программа показывает идти ученику сегодня в школу или нет. С клавиатуры он вводит сегодняшнюю температуру, и если она меньше -30, то не идти в школу, а если больше то выводится сообщение о том чтобы идти в школу. Теперь попробуйте написать программу:

Сделать так чтобы программа выводила сообщение о том у кого больше денег и у кого меньше.

Переделать программу так чтобы вместо денег выводилось сообщение о том кто больше попрыгал. Значения так же вводятся с клавиатуры.

Рассмотри задачу: Для модельного агентства выбираются девушки с объёмами 90 (грудь), 60 (талия), 90 (бёдра). Составить программу для отбора девушек по этим параметрам.

Составной оператор (оператор варианта).
Показать весь текст
Заполнить форму текущей работой