Рейтинговая работа расчетно-аналитическое задание по "Алгоритмизации и программированию"
Автор: Graf Raven • Февраль 12, 2023 • Контрольная работа • 844 Слов (4 Страниц) • 307 Просмотры
Титульный лист рейтинговой работы
[pic 1]
Кафедра ___информационных систем_________________________
Рейтинговая работа расчетно-аналитическое задание______________
(домашняя творческая работа, расчетно-аналитическое задание, реферат, контрольная работа)
по дисциплине ____Алгоритмизация и программирование____________
Задание/вариант № ____2________
Тема* _____________________________________________________________
Выполнена обучающимся группы
______________________________________
(фамилия, имя, отчество)
Преподаватель____________
(фамилия, имя, отчество)
Москва – 2022 г.
УСЛОВИЕ ЗАДАЧИ
Дана функция, вычисляющая значение переменной y в зависимости от переменной x. Дан интервал целых чисел, которые может принимать переменная x. Необходимо написать программу на языке Python, которая выведет в текстовый файл result.txt значения переменной y для каждого из предложенных x. Точность значений у при распечатке установить в 3 знака после запятой. Кодировка в текстовом файле должна быть Unicode. Путь к входному и выходному файлу в коде программы нужно сделать относительным.
Список значений x, подготавливается заранее в текстовом файле source_data.txt и представлены следующим образом:
x=-15
x=-14
x=-13
x=-12
x=-11
x=-10
x=-9
x=-8
x=-7
x=-6
x=-5
x=-4
x=-3
x=-2
x=-1
x=0
x=1
x=2
x=3
x=4
x=5
x=6
x=7
К каждому числу из интервала [-15, 7] необходимо применить следующую функцию:
[pic 2]
Выходные данные должны быть представлены в текстовом файле result.txt следующим форматом:
При x = -3 значение y = 2.348
При x = -2 значение y = 7.928
При x = -1 значение y = -6.122
При x = 0 значение y = -4.115
При x = 1 значение y = -7.254
АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
- Считываем файл исходных данных построчно.
- Для каждого числа мы применяем функцию, описанную выше, если значение есть, то мы добавляем его, иначе проставляем пустое значение.
- Создаем пустой текстовый файл result.txt, в котором будут представлены выходные данные.
1. Блок-схема алгоритма
[pic 3]
ЛИСТИНГ ПРОГРАММЫ
# фунция нахождения значения функции
def findValY(x):
if x < -5:
return ((80 * x ** 7 + 61 * x ** 2 + 17) ** 5 + 16 * x ** 7) / ((32 * x ** 3 + x ** 3) ** 6 - (36 * x ** 2 + 54) ** 4)
elif -5 <= x < 1:
return ((24 * x ** 7 + 44 * x ** 2 + 93) ** (5 / 2) - 37 * x ** 4) / ((31 * x ** 5 + x ** 2) ** 5 + (26 * x ** 2 - 52) ** 5)
else:
return ((45 * x ** 8 + 33 * x ** 2 + 12) ** 4 - 47 * x ** 5) / ((36 * x ** 8 - x ** 3) ** 4 + (91 * x - 29) ** (3 / 2))
# функция чтения данных и записи в результатов в файл
def writeValFile():
ff1 = open('source_data.txt', 'r')
ff2 = open('result.txt', 'w')
for line in ff1.readlines():
x = int(line.split('=')[1])
y = findValY(x)
# если не комплексное число проверка (так как корень может быть отрицательным)
if not isinstance(y, complex):
ff2.write("При x = " + str(x) + " , Значение y = %.3f" % y + '\n')
# закрытие файлов
ff1.close()
ff2.close()
# вызов основной функции
writeValFile()
...