import math
import time
import random
import cmath

print("=== ВЫПОЛНЕНИЕ КОНТРОЛЬНОГО ЗАДАНИЯ ===\n")


print("1. Вычисление фазы комплексного числа и последующие операции:")
result = math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3
print(f"Результат: {result}")
print()


print("2. Создание объекта struct_time для московского времени:")
moscow_time = time.localtime()
print(f"Московское время: {moscow_time}")
time_str = time.asctime(moscow_time)
print(f"Строка с часом и минутами: '{time_str}'")
print()


print("3. Случайная выборка дней недели:")
week_days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
random_days = random.sample(week_days, 3)
print(f"Дни недели: {week_days}")
print(f"Случайная выборка: {random_days}")
print()


print("4. Случайный выбор числа из последовательности:")
sequence = list(range(14, 33, 3))
random_number = random.choice(sequence)
print(f"Последовательность: {sequence}")
print(f"Случайно выбранное число: {random_number}")
print()


print("5. Генерация нормально распределенного числа и создание списка букв:")
N = round(random.gauss(15, 4))
# Создаем список букв латинского алфавита
alphabet = [chr(i) for i in range(65, 91)]  # A-Z
random_letters = random.choices(alphabet, k=N)
print(f"N = {N}")
print(f"Случайные буквы: {random_letters}")
print()


print("6. Определение временного интервала в минутах:")
time_diff = (time.time() - time.mktime(moscow_time)) / 60
print(f"Прошло минут: {time_diff:.2f}")


with open('TEMA4/results_analysis.txt', 'w', encoding='utf-8') as file:
    file.write("АНАЛИЗ РЕЗУЛЬТАТОВ\n")
    file.write("=" * 40 + "\n\n")
    
    file.write("1. КОМПЛЕКСНОЕ ЧИСЛО:\n")
    file.write(f"Результат: {result}\n")
    file.write("Анализ: Вычислена фаза комплексного числа 0.2+0.8j, выполнены\n")
    file.write("последовательные операции округления, умножения, деления\n")
    file.write("с получением целой части и остатка. Результат - кортеж.\n\n")
    
    file.write("2. ВРЕМЯ:\n")
    file.write(f"struct_time: {moscow_time}\n")
    file.write(f"Временная строка: {time_str}\n")
    file.write("Анализ: Создан объект struct_time с текущим московским временем.\n")
    file.write("Преобразован в читаемую строку с помощью asctime().\n\n")
    
    file.write("3. ДНИ НЕДЕЛИ:\n")
    file.write(f"Исходный список: {week_days}\n")
    file.write(f"Выборка: {random_days}\n")
    file.write("Анализ: random.sample() выполнил случайную выборку 3 дней\n")
    file.write("без повторений из полного списка дней недели.\n\n")
    
    file.write("4. СЛУЧАЙНОЕ ЧИСЛО:\n")
    file.write(f"Последовательность: {sequence}\n")
    file.write(f"Выбранное число: {random_number}\n")
    file.write("Анализ: random.choice() выбрал случайное число из\n")
    file.write("арифметической прогрессии от 14 до 32 с шагом 3.\n\n")
    
    file.write("5. СЛУЧАЙНЫЕ БУКВЫ:\n")
    file.write(f"N = {N}\n")
    file.write(f"Буквы: {random_letters}\n")
    file.write("Анализ: random.gauss() сгенерировал число с нормальным\n")
    file.write("распределением (μ=15, σ=4). random.choices() создал список\n")
    file.write("из N случайных заглавных латинских букв.\n\n")
    
    file.write("6. ВРЕМЕННОЙ ИНТЕРВАЛ:\n")
    file.write(f"Интервал: {time_diff:.2f} минут\n")
    file.write("Анализ: Измерено время между созданием struct_time и\n")
    file.write("моментом вычисления. time.mktime() преобразует struct_time\n")
    file.write("в секунды с эпохи для вычисления разницы.\n\n")
    
    file.write("ОБЩИЙ ВЫВОД:\n")
    file.write("Все операции выполнены успешно. Продемонстрирована работа\n")
    file.write("с математическими функциями, временем, случайными числами\n")
    file.write("и различными структурами данных Python.\n")

print("\nРезультаты записаны в файл 'results_analysis.txt'")