From c431dedd31de0502bf61e65f43dd0f10e5d36957 Mon Sep 17 00:00:00 2001 From: MarkovNiks Date: Mon, 8 Dec 2025 10:28:52 +0300 Subject: [PATCH] test is done --- TEMA8/results.txt | 7 ++++ TEMA8/test.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++ TEMA8/test_func.py | 14 ++++++++ TEMA8/test_main.py | 20 +++++++++++ 4 files changed, 131 insertions(+) create mode 100644 TEMA8/results.txt create mode 100644 TEMA8/test.md create mode 100644 TEMA8/test_func.py create mode 100644 TEMA8/test_main.py diff --git a/TEMA8/results.txt b/TEMA8/results.txt new file mode 100644 index 0000000..38ec2fa --- /dev/null +++ b/TEMA8/results.txt @@ -0,0 +1,7 @@ +1.905148 1.839654 1.753066 +1.652707 1.551128 1.462117 +1.396930 1.362707 1.362707 +1.396930 1.462117 1.551128 +1.652707 1.753066 1.839654 +1.905148 1.948838 1.974766 +1.988582 1.995248 1.998178 diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..ef8cf6a --- /dev/null +++ b/TEMA8/test.md @@ -0,0 +1,90 @@ +# Индивидуальное контрольное задание + +Марков Никита Сергеевич, А-03-23 + +## 11 вариант + +Разработайте анонимную функцию с 5 аргументами: х, a,b,c,d, вычисляющую значение a/(1+exp(-b-c*x-d*x2)). Рассчитайте значения этой функции в диапазоне значений входного параметра х: -20 ≤ x ≤ 20 с шагом 2 при некоторых положительных значениях параметров a,b,c,d. Обеспечьте запись рассчитанных значений в текстовый файл по три значения на строке, разделенных пробелами. + +Разработайте функцию, на ее основе создайте модуль. Создайте второй модуль, в котором должны быть инструкции для ввода/создания исходных данных для проверки работы функции, вызов функции и отображение полученных результатов. + +```py +#test func +import math +f = lambda x, a, b, c, d: a / (1 + math.exp(-b - c * x - d * x**2)) + +def calc_and_save(a, b, c, d, filename="results.txt"): + xs = [x for x in range(-20, 21, 2)] + values = [f(x, a, b, c, d) for x in xs] + + with open(filename, "w", encoding="utf-8") as file: + for i, val in enumerate(values, start=1): + file.write(f"{val:.6f}") + if i % 3 == 0: + file.write("\n") + else: + file.write(" ") + +``` + +```py +#test_main +from test_func import calc_and_save + +def main(): + print("Ввод параметров a, b, c, d (положительные числа):") + a = float(input("a = ")) + b = float(input("b = ")) + c = float(input("c = ")) + d = float(input("d = ")) + + filename = input("Имя выходного файла (по умолчанию results.txt): ").strip() + if not filename: + filename = "results.txt" + + calc_and_save(a, b, c, d, filename) + + print(f"Расчёт завершён. Результаты записаны в файл {filename}.") + +if __name__ == "__main__": + main() + +``` + +results.txt + +1.905148 1.839654 1.753066 +1.652707 1.551128 1.462117 +1.396930 1.362707 1.362707 +1.396930 1.462117 1.551128 +1.652707 1.753066 1.839654 +1.905148 1.948838 1.974766 +1.988582 1.995248 1.998178 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TEMA8/test_func.py b/TEMA8/test_func.py new file mode 100644 index 0000000..38721ad --- /dev/null +++ b/TEMA8/test_func.py @@ -0,0 +1,14 @@ +import math +f = lambda x, a, b, c, d: a / (1 + math.exp(-b - c * x - d * x**2)) + +def calc_and_save(a, b, c, d, filename="results.txt"): + xs = [x for x in range(-20, 21, 2)] + values = [f(x, a, b, c, d) for x in xs] + + with open(filename, "w", encoding="utf-8") as file: + for i, val in enumerate(values, start=1): + file.write(f"{val:.6f}") + if i % 3 == 0: + file.write("\n") + else: + file.write(" ") diff --git a/TEMA8/test_main.py b/TEMA8/test_main.py new file mode 100644 index 0000000..cdcd5cd --- /dev/null +++ b/TEMA8/test_main.py @@ -0,0 +1,20 @@ +from test_func import calc_and_save + +def main(): + print("Ввод параметров a, b, c, d (положительные числа):") + a = float(input("a = ")) + b = float(input("b = ")) + c = float(input("c = ")) + d = float(input("d = ")) + + filename = input("Имя выходного файла (по умолчанию results.txt): ").strip() + if not filename: + filename = "results.txt" + + calc_and_save(a, b, c, d, filename) + + print(f"Расчёт завершён. Результаты записаны в файл {filename}.") + +if __name__ == "__main__": + main() +