From 573a86dc116c9644a1afeaf89e4a92e1392c7302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9F=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82?= =?UTF-8?q?=D0=B5=D0=BB=D1=8C=20=E2=84=96=2013=20=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D0=9A-522?= Date: Mon, 6 Oct 2025 12:01:48 +0300 Subject: [PATCH] =?UTF-8?q?=D1=87=D0=B0=D1=81=D1=82=D1=8C=20=D0=BE=D0=B1?= =?UTF-8?q?=D1=89=D0=B5=D0=B3=D0=BE=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TEMA4/report.md | 151 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 TEMA4/report.md diff --git a/TEMA4/report.md b/TEMA4/report.md new file mode 100644 index 0000000..0a95c00 --- /dev/null +++ b/TEMA4/report.md @@ -0,0 +1,151 @@ +# Отчёт по теме 4 + +Киреев Юрий А-02-23 + +## 1. Запуск интерактивной оболочки IDLE + +В задании просят создать файл протокола, отчёт по лабораторной работе записан в файле report.md, который Вы сейчас читаете. + +## 2. Стандартные функции + +Они находятся в модуле builtins, который становится доступным без импорта при запуске среды IDLE. + +### 2.1. Функция round + +Получим справку по назначению этой функции. +```py +>>> help(round) +Help on built-in function round in module builtins: + +round(number, ndigits=None) + Round a number to a given precision in decimal digits. + + The return value is an integer if ndigits is omitted or None. Otherwise + the return value has the same type as the number. ndigits may be negative. +``` +Попробуем использовать эту функцию на примерах: +```py +>>> round(123.456,1) +123.5 +>>> round(123.456,0) +123.0 +>>> type(round(123.456,1)) + #вещественный тип +>>> type(round(123.456,0)) + +``` +Вычисления данной функции имеют вещественный тип, отличие в округлении. +Первое вычисление - округление до 1го знака после запятой, а второе - округление до запятой. + +Попробуем выполнить такую инструкцию: +```py +>>> round(123.456) +123 +>>> type(round(123.456)) + #целый тип +``` + +### 2.2. Функция range + +Пример + +```py +>>> gg=range(76,123,9) +>>> gg +range(76, 123, 9) +``` +Аргументами функции являются границы диапазона значений и шаг. При этом правая граница в создаваемую последовательность включена не будет. +Чтобы увидеть получившуюся последовательность чисел, его надо преобразовать, например, в список, обычным способом: +```py +>>> list(gg) +[76, 85, 94, 103, 112, 121] +``` +Обратим внимание на возможность вызова функции range с одним аргументом: +```py +>>> range(23) +>>> range(0, 23) +>>> type(range(0, 23)) + +>>> list(range(0, 23)) +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +``` +Получился объект со значениями от 0 до 22, границы - от 0 до 23, где 23 - не включительно, шаг - 1. +Аргументами range(23) является граница и шаг 1. + +### 2.3. Функция zip + +Пример использования: +```py +>>> qq = ['Kireev', 'Bezhenar', 'Kuzmenko','Dobrovolska'] +>>> ff=zip(gg,qq) +>>> ff + +>>> tuple(ff) +((76, 'Kireev'), (85, 'Bezhenar'), (94, 'Kuzmenko'), (103, 'Dobrovolska')) +``` +Здесь получается «итерируемый объект» класса zip, поэтому, чтобы увидеть результат вычисления функции, превратили его в кортеж. +В кортеже получилось 4 элемента, что является минимальным числом элементов из gg и qq. + +К объекту zip нельзя обратиться по индексу поскольку он не является последовательностью. +```py +>>> ff[1] +Traceback (most recent call last): + File "", line 1, in + ff[1] +TypeError: 'zip' object is not subscriptable +``` + +### 2.4. Функция eval + +Пример использования +```py +>>> fff=float(input('коэффициент усиления=')); dan=eval('5*fff-156') +коэффициент усиления=3.4 +>>> dan +-139.0 +``` + +### 2.5. Функция exec + +Пример: +```py +>>> exec(input('введите инструкции:')) +введите инструкции:perem=-123.456;gg=round(abs(perem)+98,3) +>>> gg +221.456 +``` + +### 2.6. Функции abs, pow, max, min, sum, divmod, len, map. + +Покажем на примерах, за что отвечает каждая функция: +```py +>>> abs(-5) #Абсолютное значение +5 +>>> pow(2,3) #Возведение в степень +8 +>>> max(1,5,2,8) #Нахождение максимального значения +8 +>>> min(1,5,2,8) #Нахождение минимального значения +1 +>>> sum([1,5,2,8]) #Нахождение суммы +16 +>>> divmod(15,4) #Нахождение частного и остатка от делния +(3, 3) +>>> len('Hello') #Нахождение длины объекта +5 +>>> numbers = [1,2,3,4,5] +>>> string_numbers = list(map(str, numbers)) #map-применяет функцию (в данном случае str) к каждому элементу +>>> string_numbers +['1', '2', '3', '4', '5'] +``` + +## 3. Функции из стандартного модуля math + +Запустим модуль math с помощью инструкции: + +```py +import math +dir(math) +['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'cbrt', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'exp2', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp'] +``` +