# # Код на ruby 2.2.3p173# x3 переименован в x_step# x1 переименован в x_start# x2 переименован в x_enddef f(x) return Math::sin(x)enddef 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 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)