10.08 Числа и строки

Задачи

  1. "Рисование": вывести в терминале с заданными габаритами "текстовый график" заданной функции для заданного интервала значений по оси Х, с заданным масштабом по осям X и Y; масштаб задается через граничные значения по осям

    • задано:
      • габариты терминала (в символах) по горизонтали и вертикали (считается, что терминал открыт не менее чем на эти габариты)
      • минимальное и максимальное значение по оси Х (определяет интервал изменения аргумента функции, также используется для вычисления масштаба по оси Х)
      • минимальное и максимальное значение по оси Y (используется для вычисления масштаба по оси Y)
      • график рисуется символами '*'

    • Задача_1a:
      • функция: sin(x)
      • габариты терминала: 80х25 (ширина x высота)
      • диапазон значений по оси X: [-4, 4]
      • диапазон значений по оси Y: [-1, 1]
      • ось X направлена вниз, ось Y направлена вправо (рисовать оси не нужно)
    • Задача_1b: аналогично задаче_1a, со следующим отличием:
      • ось X направлена вправо, ось Y направлена вверх (рисовать оси не нужно)
    • Задача_1c - на дом:
      • функция подаётся на вход в виде питоновского выражения от переменной x
      • габариты терминала: 80х25
      • диапазон значений по оси X: подаётся на вход
      • диапазон значений по оси Y: подаётся на вход
      • ось X направлена вправо, ось Y направлена вверх (рисовать оси не нужно)
      • пример подачи данных на вход программе: { echo "sin(x)/x"; echo "-14,14,-2,2"; } | python myprog.py

  2. Fractions:

    • https://docs.python.org/3/library/fractions.html

    • Заданы два многочлена от х (А(х), В(х)) с рациональными коэффициентами, а также рациональные числа s и w. Проверить, является ли s решением уравнения A(x)/B(x)=w

    • Структура ввода: s, w, степень_А, коэффициенты_А, степень_В, коэффициенты_В. Числа задаются в виде m или m/n, где m, n - целые, n - положительное.

    • Оформить решение в виде функции, способной работать как с рациональными, так и с вещественными числами, и возвращающей True или False.

    • Продемонстрировать пример, когда с одними и теми же вводимыми значениями, при передаче их функции как вещественных чисел, функция выдаёт неверный результат, а при передаче как рациональных чисел - верный результат.
    • Тестовый пример 1:
      • уравнение: $$ (x^2 -(5/2)x + 1) / (x+3) = -1/8; s=1 $$; результат проверки: True

      • вход: 1, -1/8, 2, 1, -5/2, 1, 1, 1, 3

    • Тестовый пример 2:
      • уравнение то же; s=11/12; результат проверки: False

    • Тестовый пример_3:
      • уравнение то же; s=-3; результат проверки: False

  3. Форматирование: см. тут

LecturesCMC/PythonIntro2020/Prac/05_StringsNumbers (last edited 2020-10-08 14:23:26 by FrBrGeorge)