Циклы и функции

Объявление функций, параметры, несколько возвращаемых значений и область видимости

Содержание курса

Средняя скорость на участке

Велосипедист ведёт журнал своих поездок: после каждого участка маршрута он записывает пройденное расстояние в километрах и время, которое на него ушло, в часах. Из этих двух чисел можно получить среднюю скорость на участке — ключевой показатель, который помогает сравнивать разные отрезки пути между собой.

Расчёт прост: расстояние делится на время. Однако среди записей иногда встречаются ошибочные строки, в которых время указано как ноль, — такое деление лишено смысла и не должно выполняться. Программа обязана отличать корректную запись от ошибочной и сообщать о них по-разному.

Чтобы это различие было явным, результат работы программы включает два элемента: само числовое значение средней скорости и признак того, удалось ли рассчитать его корректно. Если время ненулевое, пользователь видит среднюю скорость в километрах в час; если время равно нулю — понятное сообщение о том, что расчёт невозможен.

Что нужно сделать

Напишите функцию averageSpeed(distance, hours float64) (float64, bool). При hours == 0 она должна вернуть 0, false; иначе — среднюю скорость и true. В main считайте входные данные, вызовите функцию, примите оба результата и выберите нужный вывод по значению bool.

Формат ввода

Два числа float64: расстояние в километрах и время в часах.

Формат вывода

Если время ненулевое, выведите скорость ровно с двумя знаками после точки. Если время равно нулю, выведите расчёт невозможен.

Пример

Ввод:
30 2

Вывод:
15.00
О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

Проверяется тестами (1)
  • Тест 1
    Ввод
    30 2
    
    Ожидаемый вывод
    15.00
    
Решение
Как проверяется решение

Сравнение вывода: Правила исходной проверяющей системы.

Отправьте решение, чтобы увидеть результаты тестов.