From fa4da659354a1b965a40716023e0b783886b5c53 Mon Sep 17 00:00:00 2001 From: Pavel Date: Mon, 20 Oct 2025 17:53:53 +0300 Subject: [PATCH] =?UTF-8?q?task:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/task.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 TEMA4/task.md diff --git a/TEMA4/task.md b/TEMA4/task.md new file mode 100644 index 0000000..58bc170 --- /dev/null +++ b/TEMA4/task.md @@ -0,0 +1,78 @@ +# Общее контрольное задание по теме 4 +Анисенков Павел, А-01-23 + +## Задание + +Реализовать, записать в текстовый файл и проанализировать результаты последовательности инструкций, выполняющих следующие действия: + +• Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. + +• Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами. + +• Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. + +• Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3. + +• Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита. + +• Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров. + +## Решение + +```py +# Комплексное число и операции +import math +import cmath +import time +import random + +tup = tuple(math.floor((round(cmath.phase(0.2+0.8j), 2) * 20) / 3), (round(cmath.phase(0.2+0.8j), 2) * 20) % 3) +print(tup) +(8, 2.6000000000000014) + +# Текущее московское время + +moscow_time = time.time() +moscow_time +1760944817.0515099 +mos_real = moscow_time+3*3600 +mos_real = time.gmtime(mos_real) +mos_real +time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=20, tm_sec=17, tm_wday=0, tm_yday=293, tm_isdst=0) + +current_time_str = str(mos_real.tm_hour)+" h "+str(mos_real.tm_min)+" min " +current_time_str +'10 h 20 min ' + +# Случайная выборка дней недели + +dni = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вск'] +random_days = random.sample(dni, 3) +random_days +['вт', 'пт', 'вск'] + +# Случайный выбор числа из последовательности + +chiselki = list(range(14, 33, 3)) +randomchik = random.choice(chiselki) +randomchik +20 + +# Генерация нормально распределенного числа и списка букв + +N = round(random.gauss(15, 4)) +N +18 +import string #азбука. подписаться +random.sample(string.ascii_letters, N) +['g', 'y', 'r', 'D', 'O', 'x', 'k', 'U', 'w', 'n', 'X', 'e', 'M', 'T', 'I', 'p', 'N', 'W'] + +# Временной интервал в минутах + +interval = math.floor((time.time()+3*3600 - (moscow_time+3*3600))/60) +interval +7 +intervalchik = (time.gmtime(time.time()+3*3600 - (moscow_time+3*3600))).tm_min + (time.gmtime(time.time()+3*3600 - (moscow_time+3*3600))).tm_hour * 60 +intervalchik +9 +``` \ No newline at end of file