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

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

Читайте также:
  1. Turbo Pascal. Операторы цикла.
  2. Альтернативный оператор условия.
  3. В курсовой работе примем, что подталкивания и двойной тяги нет, а условный пробег составляет 5% пробега во главе поездов. Все пробеги локомотивов определяются за год.
  4. Векторные дифференциальные операции первого порядка. Оператор Гамильтона. Перечислить векторные дифференциальные операции второго порядка.
  5. Вкладений оператор IF
  6. До появления Операторов
  7. Дружественная функция-оператор

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

Существует обычная и расширенная формы оператора if в SciLab.

Обычный if имеет вид

If условие

Операторы1

Else

Операторы2

End

Здесь

условие - логическое выражение,

операторы1, операторы2 - операторы языка SciLab или встроенные функции

Оператор if работает по следующем алгоритму: если условие истинно, то выполняются операторы1, если ложно - операторы2.

В SciLab для построения логических выражений могут использоваться условные операторы:

& and - логическое и
| or - логическое или
~ not - логическое отрицание

и операторы отношения

< меньше
> больше
== равно
~=, <> не равно
<= меньше или равно
>= больше или равно

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

If условие1

Операторы1

Elseif условие2

Операторы2

Elseif условие 3

Операторы3

Elseif условие n

Операторыn

Else

Операторы

End

В этом случае оператор if работает так если условие1, истинно то выполняются операторы1, иначе проверяется условие2, если оно истинно то выполняются операторы2, иначе проверяется условие3 и т д.

Если ни одно из условий по веткам elseif не выполняется, то выполняются операторы по ветке else.

В качестве примера программирования разветвляющегося процесса рассмотрим решение биквадратного уравнения

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

Входными данными этой задачи являются коэффициенты биквадратного уравнения .

Выходными данными являются корни уравнения , или сообщение о том, что действительных корней нет

Алгоритм состоит из следующих этапов

1. Ввод коэффициентов уравнения .

2. Вычисление дискриминанта уравнения .

3. Если , определяются и , а иначе вывод сообщения «Корней нет»

4. Если и , то вывод сообщения «Корней нет».

5. Если и то вычисляются четыре корня по формулам , . и выводятся значения корней

6. Если условия и не выполняются, то необходимо проверить знак .

7. Если неотрицательно то вычисляются два корня по формуле , иначе оба корня вычисляются по формуле .

Программа решения биквадратного уравнения

//Ввод значений коэффициентов биквадратного уравнения

a= input ('a=');

b= input ('b=');

c= input ('c=');

//Вычисляем дискриминант

d=b^2-4*a*c;

//Если дискриминант отрицателен, то выводим сообщение

if d<0 then

disp('Корней нет')

end

//иначе вычисляем корни соответствующего

//квадратного уравнения

x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

//Если оба корня отрицательны,то сообщение

//об отсутствии действительных корней

if (x1<0)&(x2<0) then

disp('Нет действительных корней')

elseif (x1>=0)&(x2>=0)

disp('Четыре действительных корня')

y1=sqrt(x1);

y2=-y1;

y3=sqrt(x2);

y4=-y3;

disp(y1,y2,y3,y4);

else disp('Два действительных корня')

//Проверка знака x1

if x1>=0 then

y1=sqrt(x1);

y2=-y1

disp(y1,y2)

else

y1=sqrt(x2);

y2=-y1;

disp(y1,y2)

end

end

Решения биквадратного уравнения

a=-6

b=9

c=-1

Четыре действительных корня

- 1.1743734

1.1743734

- 0.3476307

0.3476307


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


<== предыдущая страница | следующая страница ==>
Оператор присваивания| Оператор альтернативного выбора

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