Циклы · 15 из 33
Таблица значений функции
«Протабулировать функцию y = x² − 2x − 3 на отрезке от a до b с шагом h» — задание из любого вузовского задачника. Вика написала его за пять минут, через while x <= b, и на отрезке от 0 до 0,3 с шагом 0,1 у неё потерялась последняя строка таблицы.
Что сделать
Постройте таблицу значений y = x² − 2x − 3 от a до b с шагом h — так, чтобы последняя точка не терялась.
Что приходит
aиb— начало и конец отрезка, дробные числа;aменьшеbh— шаг; отрезок делится им на целое число частей
Что вернуть
Список пар (x, y) от a до b включительно; x и y округлены до четырёх знаков.
Допишите функцию tablica в редакторе справа.
Результат верните через return — то, что
напечатано, на проверку не влияет.
с графикой когда тесты пройдут, ответ вашей функции нарисуется · все задачи с графикой
От −1 до 1 с шагом 0,5 — пять точек: x = −1, −0,5, 0, 0,5, 1. Ответ — [(-1.0, 0.0), (-0.5, -1.75), (0.0, -3.0), (0.5, -3.75), (1.0, -4.0)].
tablica(-1.0, 1.0, 0.5)
[(-1.0, 0.0), (-0.5, -1.75), (0.0, -3.0), (0.5, -3.75), (1.0, -4.0)]
Точек в таблице n + 1, где n = (b − a) / h — число шагов (оно целое, но из-за погрешности дробей может выйти 2,9999999 — округлите его функцией round).
i-я точка: x = a + i · h, y = x² − 2x − 3. Обе величины округлите функцией round(…, 4); y считайте от x до округления.
Прибавлять шаг к x на каждом шаге (x += h) нельзя: погрешность копится, и 0,1 + 0,1 + 0,1 — это 0,30000000000000004, то есть уже больше 0,3.
Обсуждение
Вопросов пока нет.
Войдите, чтобы спросить.