Еngee как альтернатива PascalABC
Арифметические операции. Арифметические выражения. Условные операторы. ЛР №2-5
Арифметические операторы в Julia
+x– унарный плюс (операция тождественности);-x– унарный минус (изменение знакаxна противоположный);x + y– сложение;x - y– вычитание;x * y– умножение;x / y– деление;x ÷ y– целочисленное деление (с округлением до целого числа). Получить этот символ можно при помощи команды\divи нажатиемTabв командной строке;x \ y– деление с инверсией (эквивалентноy / x);x ^ y– возведение в степень (xв степениy);x % y– остаток от деленияxнаy;sqrt(x)– квадратный корень изx.
Приоритет действий стандартный: сначала выполняются унарные операции, затем возведение в степень, затем *, /, ÷, \, % и, наконец, сложение и вычитание.
Помещение числового множителя непосредственно перед переменной или скобками, например 2x или 2(x+y), рассматривается как умножение, причем с большим приоритетом, чем у других двоичных операций.
Операторы, выполняемые раньше других близлежащих операторов, отделяются меньшим расстоянием. Например, запись -x + 2 означает, что сначала выполняется инверсия x, а затем к результату прибавляется число 2.
Несколько простых примеров использования арифметических операторов:
123.4 + 567.8 + 910.11
1 - 2 + 3 - 4 + 5
9 * 3 / 12
50 ÷ 17
16 \ 4
pi^2
20 % 3
sqrt(500)
Нахождение значения уравнения. Пример
В качестве примера найдём значение следующей функции в точке (3, 0.5):
using Printf
x=3
y=0.5
z=(1+cos(x+y))/abs(exp(x)-2*y/(1+abs2(x)*abs2(y)))*x^3+asin(y)
@printf("z=%.5f",z)
Условные операторы
Основные условные операторы включают if, elseif, else. Для обозначения условий чаще всего используются логические операции сравнения.
Пример применения условных операторов для условного перехода:
using Printf
x=0.29 # @param{type:"number"}
y=0.29 # @param{type:"number"}
if x==y
k=abs2(x+y)
print("При x=y получаем выражение (x+y)^2=",k)
elseif x>y
k=asin(abs(x)+y)
@printf("При x>y получаем выражение arctg(|x|+y)=%.6f",k)
elseif x<y<10
k=atan(x+abs(y))
print("При x<y<10 получаем выражение arctg(x+|y|)=",k)
end
Программирование разветвляющихся алгоритмов
Ниже предложено небольшое задание по работе с условными операторами.
# Ввод значения x
# Вычисление y
a = exp(x) - sin(x)
y = exp(log(a) / 3)
# Проверка принадлежности точки области
Решение
# Ввод значения x
println("Введите значение x: ")
x = parse(Float64, readline())
# Вычисление y
a = exp(x) - sin(x)
y = exp(log(a) / 3)
# Проверка принадлежности точки области
if (x in -2:0) && (y in -1:0)
println("Значения точки:\nX = $(round(x, digits=4))\nY = $(round(y, digits=4))")
println("Точка принадлежит области")
else
println("Значения точки:\nX = $(round(x, digits=4))\nY = $(round(y, digits=4))")
println("Точка не принадлежит области")
end