diff --git a/TEMA8/func_module.py b/TEMA8/func_module.py new file mode 100644 index 0000000..5f7d79a --- /dev/null +++ b/TEMA8/func_module.py @@ -0,0 +1,18 @@ +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 diff --git a/TEMA8/main_module.py b/TEMA8/main_module.py new file mode 100644 index 0000000..37adc22 --- /dev/null +++ b/TEMA8/main_module.py @@ -0,0 +1,25 @@ +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() diff --git a/TEMA8/results.txt b/TEMA8/results.txt new file mode 100644 index 0000000..ac265e9 --- /dev/null +++ b/TEMA8/results.txt @@ -0,0 +1,7 @@ +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 diff --git a/TEMA8/test.md b/TEMA8/test.md new file mode 100644 index 0000000..e69de29