IfЛогическое_выражение_1 then
Инструкции_1
ElseifЛогическое_выражение_2 then
Инструкции_2
Else
Инструкции_3
End
В этом случае оператор if работает так: если логическое выражение_1истинно, то выполняются инструкции_1, а затем инструкции, стоящие после оператора end. Если логическое выражение_2 является истиной, то выполняются инструкции 2, а затем инструкции, стоящие после оператора end. Если ни одно из логических выражений не является истиной, то выполняются инструкции, стоящие после слова else.
Частные случаи:
If Логическое_выражение then Инструкции , end
Примеры:
-->if x>5 then y=8, end
-->if x>5 then y=8;t=6; end
If Логическое_выражение then Инструкции_1, else Инструкции_2, end
Пример:
-->if x>5 then y=8,t=6; else y=x^2 ,end
If Логическое_выражение then
Инструкции
End
Замечание: слово thenв составе условного оператора ifне является обязательным.
Пример. Вычислить функцию y при x=0.397, если
Решение:
x=0.397;
if x.^2<=25*cos(x.^3) then
y=sin(3*x)
else
y=(2*x – tan(x))./sqrt(x.^2+2)
end
Набрав этот файл в редакторе Scipad и запустив его на выполнение командой Execute/Load into Scilab, получим:
y =
0.9287402
В качестве примера программирования разветвляющегося процесса рассмотрим решение квадратного уравнения .
Входными данными этой задачи являются коэффициенты квадратного уравнения a, b, c. Выходными данными являются корни уравнения x1 , x2или сообщение о том, что действительных корней нет.
Алгоритм состоит из следующих этапов:
1. Ввод коэффициентов уравнения a, b и с.
2. Проверка, является ли уравнение квадратным (а≠0).
3. Вычисление дискриминанта уравнения d.
4. Если d=0, то выводится сообщение: уравнение имеет два равных корня и печатается значение корня.
5. Если d>0, определяются x1 и x2
6. Если d<0, то выводится сообщение «Корней нет».
Программа решения квадратного уравнения
clc
a=input('a=');
b=input('b=');
c=input('c=');
if a==0 then
disp("Уравнение не является квадратным")
else
// Вычисляем дискриминант.
d=b*b-4*a*c;
// Если дискриминант отрицателен,
if d<0
// то вывод сообщения,
disp(' Действительных корней нет');
elseif d==0
//иначе-вычисление корней соответствующего
// квадратного уравнения.
disp("уравнение имеет два равных корня") ;x=-b/(2*a)
else
x1=(-b+sqrt(d))/2/a
x2=(-b-sqrt(d))/2/a
end
end
a=-->1
b=-->2
c=-->-5
x1 =
1.4494897
x2 =
- 3.4494897
Найти все корни квадратного уравнения можно и без оператора if, воспользовавшись тем, что в Scilab определены операции над комплексными числами.
clc
a=input('a=');
b=input('b=');
c=input('c=');
d=b*b-4*a*c;
x1=(-b+sqrt(d))/2/a;
x2=(-b-sqrt(d))/2/a;
disp(x1,x2);
a=-->1
b=-->2
c=-->3
- 1. - 1.4142136i
- 1. + 1.4142136i
Комплексные корни квадратного уравнения
Дата добавления: 2015-02-07; просмотров: 1214;