# Индивидуальное контрольное задание Марков Никита Сергеевич, А-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 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"): if a <= 0 or b <= 0 or c <= 0 or d <= 0: raise ValueError("Все параметры должны быть положительными") xs = list(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 in range(0, len(values), 3): chunk = values[i:i+3] line = " ".join(f"{v:.6f}" for v in chunk) file.write(line + "\n") return xs, values ``` ```py from func_module 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 = ")) if a <= 0 or b <= 0 or c <= 0 or d <= 0: print("Ошибка: все параметры должны быть положительными!") return filename = input("Имя выходного файла (по умолчанию results.txt): ").strip() if not filename: filename = "results.txt" try: calc_and_save(a, b, c, d, filename) print(f"Результаты записаны в файл {filename}") except Exception as e: print(f"Ошибка: {e}") if __name__ == "__main__": main() ``` results.txt 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 0.999994 0.880797 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000