# Код на ruby 2.2.3p173 def distance(x1, y1, x2, y2) return ((x1 - x2) ** 2.0 + (y1 - y2) ** 2.0) ** 0.5 end
def zadanie(points) return 0 if points.size < 2
s = 0 for i in 1...points.size s += distance(points[i-1][0], points[i-1][1], points[i][0], points[i][1]) end return s end
# Примеры применения p zadanie([[1,1]]) p zadanie([[1,1],[2,2]]) p zadanie([[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1]]) p zadanie([[0,1],[2,1],[3,2],[4,1],[5,1],[6,1],[7,2],[8,1],[9,1],[7,2],[8,1],[9,1]])
stailwomen31
01.02.2022
Дискретные сигналы (они же цифровые) - принимают конечное число значений функции: примеры дискр: - энергетические уровни атома, - сигналы светофора - символы, слова... и т.д. и т.п. непрерывный (он же аналоговый) - принимает бесконечное количество значений функции, амлитуда и время которого меняются непрерывно. примеры непрерывных: - звуковая волна, - диаграмма изменения влажности, напряжения, и других некоторых физических величин
для преобразования непрерывного сигнала в дискретные производят дискретизацию. Процесс дискретизации сопровождается потерей информации если частота дискретизации в 2 раза меньше максимальной частоты непрерывного сигнала по теореме Найквиста... В России эту теорему называют Котельникова.
def distance(x1, y1, x2, y2)
return ((x1 - x2) ** 2.0 + (y1 - y2) ** 2.0) ** 0.5
end
def zadanie(points)
return 0 if points.size < 2
s = 0
for i in 1...points.size
s += distance(points[i-1][0], points[i-1][1], points[i][0], points[i][1])
end
return s
end
# Примеры применения
p zadanie([[1,1]])
p zadanie([[1,1],[2,2]])
p zadanie([[1,1],[2,1],[3,1],[4,1],[5,1],[6,1],[7,1],[8,1],[9,1]])
p zadanie([[0,1],[2,1],[3,2],[4,1],[5,1],[6,1],[7,2],[8,1],[9,1],[7,2],[8,1],[9,1]])