# Модуль для создания тестовых данных import pickle import random import numpy as np def создать_тестовые_файлы(): """ Создает два бинарных файла с тестовыми выборками для проверки программы """ # Первый файл - нормальное распределение print("Создание первого тестового файла...") данные1 = [random.gauss(50, 15) for _ in range(30)] # 30 элементов, μ=50, σ=15 with open('выборка1_M3_27.bin', 'wb') as f: pickle.dump(данные1, f) print(f"Файл 'выборка1_M3_27.bin' создан. Элементов: {len(данные1)}") print(f"Диапазон значений: {min(данные1):.2f} - {max(данные1):.2f}") # Второй файл - равномерное распределение print("\nСоздание второго тестового файла...") данные2 = [random.uniform(-10, 10) for _ in range(25)] # 25 элементов, от -10 до 10 with open('выборка2_M3_27.bin', 'wb') as f: pickle.dump(данные2, f) print(f"Файл 'выборка2_M3_27.bin' создан. Элементов: {len(данные2)}") print(f"Диапазон значений: {min(данные2):.2f} - {max(данные2):.2f}") # Третий файл - с явными min/max для демонстрации print("\nСоздание демонстрационного файла...") данные3 = [2, 8, 3, 1, 9, 4, 7, 5, 6] # Явные min=1, max=9 with open('демо_выборка_M3_27.bin', 'wb') as f: pickle.dump(данные3, f) print(f"Файл 'демо_выборка_M3_27.bin' создан. Элементов: {len(данные3)}") print(f"Значения: {данные3}") print(f"Min: {min(данные3)} (индекс {данные3.index(min(данные3))})") print(f"Max: {max(данные3)} (индекс {данные3.index(max(данные3))})") print("\n") print("Тестовые данные созданы:") print("1. выборка1_M3_27.bin - 30 элементов (нормальное распределение)") print("2. выборка2_M3_27.bin - 25 элементов (равномерное распределение)") print("3. демо_выборка_M3_27.bin - 9 элементов (демонстрационный)") def показать_содержимое_файлов(): """ Показывает содержимое созданных тестовых файлов """ файлы = ['выборка1_M3_27.bin', 'выборка2_M3_27.bin', 'демо_выборка_M3_27.bin'] for имя_файла in файлы: try: with open(имя_файла, 'rb') as f: данные = pickle.load(f) print(f"\n{имя_файла}:") print(f" Элементов: {len(данные)}") print(f" Min: {min(данные):.3f}, Max: {max(данные):.3f}") print(f" Первые 5 элементов: {[f'{x:.3f}' for x in данные[:5]]}") except FileNotFoundError: print(f"\nФайл {имя_файла} не найден. Сначала создайте тестовые данные.") if __name__ == "__main__": print("Создание тестовых данных") создать_тестовые_файлы() print("\nСодержимое созданных файлов:") показать_содержимое_файлов()