# # Код на ruby 2.2.3p173
# x3 переименован в x_step
# x1 переименован в x_start
# x2 переименован в x_end
def f(x)
return Math::sin(x)
end
def zadanie(x_start, x_end, x_step)
s = 0
max = f(x_start)
min = f(x_start)
x = x_start
while x <= x_end do<br> y = f(x)
s = s + y
if y > max
max = y
elsif y < min
min = y
end
# p [x, y, s, min, max] # пошаговые данные
x = x + x_step
end
return [s, min, max]
end
# Примеры применения
p zadanie(-1.0, 1.0, 0.1)
p zadanie(-3.14, 3.14, 0.5)