## Общее контрольное задание по Теме 4

Кузьменко Елена, А-02-23

## Задание

   1)Напишите и исполните единое выражение, реализующее последовательное выполнение следующих операций: вычисление фазы комплексного числа 0.2+0.8j, округление результата до двух знаков после запятой, умножение полученного значения на 20, получение кортежа из двух значений: округленное вниз значение от деления результата на 3 и остатка от этого деления. 

   2)Создайте объект класса struct_time с временными параметрами для текущего московского времени. Создайте строку с текущим часом и минутами.

   3)Создайте список с элементами – названиями дней недели. Сделайте случайную выборку из этого списка с тремя днями недели. 

   4)Напишите инструкцию случайного выбора числа из последовательности целых чисел от 14 до 32 с шагом 3.

   5)Сгенерируйте нормально распределенное число N с математическим ожиданием 15 и стандартным отклонением 4 и округлите его до целого значения. Создайте список с N элементами – случайно выбранными буквами латинского алфавита.

   6)Напишите инструкцию для определения временного интервала в минутах, прошедшего с момента предыдущего (из п.2) определения временных параметров.
   

## Решение

### 1.Исполнение выражения.

```py
>>> import math
>>> import cmath
>>> divmod(math.floor(round(cmath.phase( 0.2+0.8j ), 2)) * 20), 3)
(8, 2)
```

### 2.Объект с временными параметрами.

```py
>>> import time
>>> t = time.gmtime(time.time() + 3 * 3600); t
>>> time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=36, tm_sec=20, tm_wday=0, tm_yday=293, tm_isdst=0)
>>> print('часов: ' + str(t.tm_hour) + '\nминут: ' + str(t.tm_min))
>>> часов: 10
>>> минут: 36
```

### 3.Список.Случайная выборка.

```py
>>> import random
>>> days = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']
>>> v = random.sample(days,3); v
['Понедельник', 'Четверг', 'Пятница']
```

### 4.Случайный выбор чисел из последовательности.

```py
>>> r1 = random.choice(list(range(14, 32, 3))); r1
17
```

### 5.Нормальное распределение.Список с латинскими буквами.

```py
>>> n = round(random.gauss(15,4)); n
10
>>> alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> l = random.sample(alphabet * n, n); l
['K', 'I', 'B', 'I', 'L', 'D', 'W', 'O', 'Q', 'X']
```

### 6.Временной интервал в минутах.

```py
>>> t2 = time.gmtime(time.time() + 3 * 3600); t2
time.struct_time(tm_year=2025, tm_mon=10, tm_mday=20, tm_hour=10, tm_min=37, tm_sec=53, tm_wday=0, tm_yday=293, tm_isdst=0)
>>> t_2 = (t2.tm_hour*3600+t2.tm_min*60+t2.tm_sec); t_2
38273
>>> t_1 = (t.tm_hour*3600+t.tm_min*60+t.tm_sec); t_1
38180
>>> t_3 = math.floor((t_2 - t_1)/60); t_3
1
```

