# Общее контрольное задание по теме 4 Коломейцев Дмитрий, А-02-23 ## Задание Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: - Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. - Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. - Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. - Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. - Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. - Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. ## Решение ```py # Punkt 1 import cmath divmod(round(cmath.phase(0.2+0.8j),2)*20,3) (8.0, 2.6000000000000014) # Punkt 2 import time Time = time.time() Time 1760948732.7906492 type(Time) MosTimeSeconds = Time + 3*60*60 MosTimeSeconds 1760959532.7906492 MosTime = time.gmtime(MosTimeSeconds) MosTime time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=11, tm_min=25, tm_sec=32, tm_wday=0, tm_yday=293, tm_isdst=0) type(MosTime) print("Current time: {}:{}".format(MosTime.tm_hour, MosTime.tm_min)) Current time: 11:25 # Punkt 3 import random Days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] random.sample(Days, 3) ['Friday', 'Saturday', 'Wednesday'] # Punkt 4 random.choice(range(14, 33, 3)) 17 # Punkt 5 import math N = math.floor(random.gauss(15, 4)) N 14 import string letters = random.sample(string.ascii_letters, N) letters ['w', 'S', 'v', 'W', 'z', 'F', 'R', 'e', 'u', 'B', 'l', 'X', 'A', 'y'] # Punkt 6 timeDiff = round(time.time() - time.mktime(localTime)) print(timeDiff // 60, "minutes and", timeDiff % 60, "seconds") 3 minutes and 27 seconds current_time = time.time()+3*3600 time_seconds = round(current_time - MosTimeSeconds) time_minutes = round(time_seconds / 60) print("Время, прошедшее с 2 пункта: {}:{}".format(time_minutes, time_seconds%60)) Время, прошедшее с 2 пункта: 15:55 ```