From ba21b92ec3f8f4468e2037f7ff3d5e48080cecb0 Mon Sep 17 00:00:00 2001 From: Ogarkov Ilya Date: Thu, 2 Oct 2025 17:41:20 +0300 Subject: [PATCH] doc: --- TEMA3/report.txt | 415 ++++++++++++++++++ ...Тест по модулю 1 ПОАС.docx | Bin ...Тест по модулю 2 ПОАС.docx | Bin ...Тест по модулю 3 ПОАС.docx | Bin 4 files changed, 415 insertions(+) create mode 100644 TEMA3/report.txt rename Тест по модулю 1 ПОАС.docx => Tests/Тест по модулю 1 ПОАС.docx (100%) rename Тест по модулю 2 ПОАС.docx => Tests/Тест по модулю 2 ПОАС.docx (100%) rename Тест по модулю 3 ПОАС.docx => Tests/Тест по модулю 3 ПОАС.docx (100%) diff --git a/TEMA3/report.txt b/TEMA3/report.txt new file mode 100644 index 0000000..5c3c87f --- /dev/null +++ b/TEMA3/report.txt @@ -0,0 +1,415 @@ +# Отчёт по теме 3. Операция с объектами + +Выполнил Огарков Илья, А-03-23 + +## 1. Начало работы + +Создание текстового файла report.md + +## 2. Преобразование простых базовых типов объектов + +2.1 Преобразование в логический тип с помощью функции bool(<Объект>). + +logiz1=bool(56) +logiz2=bool(0) +logiz3=bool("Beta") +logiz4=bool("") +logiz1,logiz2,logiz3,logiz4 +(True, False, True, False) + +2.2 Преобразование в целое десятичное число объекта с заданной системой счисления + +tt1=int(198.6) +tt1 +198 +tt2=int("-76") +tt2 +-76 +tt3=int("B",16);tt3 +11 +tt4=int("71",8);tt4 +57 +tt5=int("98.76");tt5 + +Преобразование целых чисел или строк символов в вещественное число + +flt1=float(789);flt1 +789.0 +flt2=float(-6.78e2) +flt2 +-678.0 +flt3=float("Infinity");flt3 +inf +flt4=float("-inf");flt4 +-inf + +2.3 Преобразование десятичных чисел в другие системы счисления + +hh=123 +dv1=bin(hh);dv1 +'0b1111011' +vos1=oct(hh);vos1 +'0o173' +shs1=hex(hh);shs1 +'0x7b' +int(dv1,2) +123 +int(vos1,8) +123 +int(shs1,16) +123 + +## 3. Изучение преобразования более сложных базовых типов объектов + +3.1 Преобразование в строку символов с помощью функции str + +strk1=str(23.6) +strk2=str(logiz3);strk2 +'True' +strk3=str(["A","B","C"]);strk3 +"['A', 'B', 'C']" +strk4=str(("A","B","C"));strk4 +"('A', 'B', 'C')" +strk5=str({"A":1,"B":2,"C":9});strk5 +"{'A': 1, 'B': 2, 'C': 9}" + +3.2. Преобразование элементов объекта в список с помощью функции list + +spis1=list("Строка символов");spis1 +['С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в'] +spis2=list((124,236,-15,908));spis2 +[124, 236, -15, 908] +spis3=list({"A":1,"B":2,"C":9});spis3 +['A', 'B', 'C'] +spis3_values = list({"A":1,"B":2,"C":9}.values());spis3_values +[1, 2, 9] + +3.3. Преобразование элементов объектов в кортеж с помощью функции tuple + +kort7=tuple('Строка символов');kort7 +('С', 'т', 'р', 'о', 'к', 'а', ' ', 'с', 'и', 'м', 'в', 'о', 'л', 'о', 'в') +kort8=tuple(spis2);kort8 +(124, 236, -15, 908) +kort9=tuple({"A":1,"B":2,"C":9});kort9 +('A', 'B', 'C') + +3.4. Удаление объектов + +del strk5, kort8 +strk5;kort8 +Traceback (most recent call last): + File "", line 1, in + strk5;kort8 +NameError: name 'strk5' is not defined. Did you mean: 'strk1'? +familiya = "Ogarkov IA" +familiya = list(familiya);familiya +['O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A'] +familiya = tuple(familiya);familiya +('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A') +familiya = str(familiya);familiya +"('O', 'g', 'a', 'r', 'k', 'o', 'v', ' ', 'I', 'A')" + +## 4. Арифметические операции + +4.1. Сложение и вычитание (+ и -) + +12+7+90 +109 +5.689e-1 - 0.456 +0.11289999999999994 +23.6+54 +77.6 +14-56.7+89 +46.3 + +4.2. Умножение (*) + +-6.7*12 +-80.4 + +4.3. Деление + +-234.5/6 +-39.083333333333336 +a=178/45;a +3.9555555555555557 + +4.4. Деление с округлением вниз + +b = 178//45 +b +3 +c=-24.6//12.1;c +-3.0 + +4.5. Получение остатка от деления (%) + +148%33 +16 +12.6%3.8 +1.2000000000000002 + +4.6. Возведение в степень (**) + +14**3 +2744 +e=2.7**3.6;e +35.719843790663525 + +## 5. Операции с двоичными представлениями целых чисел + +5.1. Двоичная инверсия (~) + +dv1=9 +dv2=~dv1;dv2 +-10 +bin(dv2);bin(dv1) +'-0b1010' +'0b1001' + +5.2. Двоичное «И» (&) + +bin(7&9) +'0b1' +bin(7&8) +'0b0' + +5.3. Двоичное «ИЛИ» (|) + +bin(7|9 ) +'0b1111' +bin(7|8) +'0b1111' +bin(14|5) +'0b1111' + +5.4. Двоичное «исключающее ИЛИ»(^) + +bin(14^5) +'0b1011' +14^5 +11 + +5.5. Сдвиг двоичного представления на заданное число разрядов влево (<<) или вправо (>>) с дополнением нулями, соответственно справа или слева. + +h=14 +g=h<<2 +g1=h>>1 +g2=h>>2 +bin(g2) +'0b11' +bin(h) +'0b1110' +bin(g) +'0b111000' +bin(g1) +'0b111' +# Число A: 1011001 (7 знаков) = 89 в десятичной +a = 0b1011001 +# Число B: 11011010 (8 знаков) = 218 в десятичной +b = 0b11011010 + +print(f"a = {a} (binary: {bin(a)})") +print(f"b = {b} (binary: {bin(b)})") + +## 6. Операции при работе с последовательностями (строками, списками, кортежами) + +6.1. Объединение последовательностей (конкатенация)(+) + +'Система '+'регулирования' +'Система регулирования' +['abc','de','fg']+['hi','jkl'] +['abc', 'de', 'fg', 'hi', 'jkl'] +('abc','de','fg')+('hi','jkl') +('abc', 'de', 'fg', 'hi', 'jkl') + +6.2. Повторение (*) + +'ля-'*5 +'ля-ля-ля-ля-ля-' +['ку','-']*3 +['ку', '-', 'ку', '-', 'ку', '-'] +('кис','-')*4 +('кис', '-', 'кис', '-', 'кис', '-', 'кис', '-') +signal1=[0]*3+[1]*99 +signal1 +[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +signal2=(0,)*3+(1,)*5+(0,)*7 +signal2 +(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0) + +6.3. Проверка наличия заданного элемента в последовательности (in) + +stroka='Система автоматического управления' +'автомат' in stroka +True +'ку' in ['ку','-']*3 +True +'ля-' in ('abc', 'de', 'fg', 'hi', 'jkl') +False + +6.4. Подстановка значений в строку с помощью оператора «%» + +stroka='Температура = %g %s %g' +stroka % (16,' меньше ',25); stroka +'Температура = 16 меньше 25' +stroka='Температура = %(zn1)g %(sravn)s %(zn2)g' +stroka % {'zn1':16,'sravn':' меньше ','zn2':25} +'Температура = 16 меньше 25' + +## 7. Оператор присваивания + +7.1. Обычное присваивание значения переменной (=) + +zz=12 +zz +12 + +7.2. Увеличение значения переменной на заданную величину (+=) или уменьшение (-=) + +zz=12 +zz +12 +zz+=5;zz +17 +zz-=3;zz +14 +stroka='Система' +stroka+=' регулирования';stroka +'Система регулирования' + +7.3. Умножение текущего значения переменной на заданную величину (*=) или деление (/=) + +zz/=2;zz +7.0 +zz*=5;zz +35.0 + +7.5. Множественное присваивание + +w;v +10 +10 +n1,n2,n3=(11,-3,'all');n1;n2;n3 +11 +-3 +'all' +n1,n2,n3="Str" +n1;n2;n3 +'S' +'t' +'r' +n1,n2,n3=[1,2,3];n1;n2;n3 +1 +2 +3 +n1,n2,n3={1:"one",2:"two",3:"three"};n1;n2;n3 +1 +2 +3 +n1,n2,n3 = (1,2,3);n1;n2;n3 +1 +2 +3 + +## 8. Логические операции – при создании логических выражений, дающих в результате вычисления значения True или False + +8.1. Операции сравнение + +w>v +False + +8.2. Проверка наличия заданного элемента в последовательности или во множестве, а также проверка наличия ключа в словаре (in) + +mnoz1={'pen','book','pen','iPhone','table','book'} +'book' in mnoz1 +True +'cap' in mnoz1 +False +dic1={'Saratov':145, 'Orel':56, 'Vologda':45} +'Vologda' in dic1 +True +'Pskov' in dic1 +False +56 in dic1.values() +True +dct1={'Institut':['AVTI','IEE','IBB'],'Depart':['UII','PM','VMSS','MM'],'gruppa': ['A-01-15','A-02-15']} +'UII' in dct1['Depart'] +True +dct1['Depart'][1] == 'MM' +False + +8.3. Создание больших логических выражений с использованием соединительных слов: логическое «И» (and), логическое «ИЛИ» (or), логическое «НЕ» (not) + +a=17 +b=-6 +(a>=b) and ('book' in mnoz1) and not ('Pskov' in dic1) +True + +8.4. Проверка ссылок переменных на один и тот же объект (is) + +w=v=10 +w is v +True +w1=['A','B'] +v1=['A','B'] +w1 is v1 +False +w1,v1=['A','B'] ;w1 is v1 +False + +## 9. Операции с объектами, выполняемые с помощью методов + +stroka='Микропроцессорная система управления' +dir(stroka) +['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] + +9.1. Методы для работы со строками + +stroka.find('пр') +5 +stroka.count("с") +4 +stroka.replace(' у',' автоматического у') +'Микропроцессорная система автоматического управления' +spis22=stroka.split(' ') +spis22 +['Микропроцессорная', 'система', 'управления'] +stroka.upper() +'МИКРОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ' +stroka3=" ".join(spis22) +stroka3 +'Микропроцессорная система управления' +stroka3.partition("с") +('Микропроце', 'с', 'сорная система управления') +stroka3.rpartition("с") +('Микропроцессорная си', 'с', 'тема управления') +strk1='Момент времени {}, значение = {}' +strk1 +'Момент времени {}, значение = {}' +strk1.format(1,89.7) +'Момент времени 1, значение = 89.7' +strk2='Момент времени {1}, значение = {0}:{2}' +strk2.format(36.7,2,'норма!') +'Момент времени 2, значение = 36.7:норма!' +strk3='Момент времени {num}, значение = {znch}' +strk3.format(znch=89.7,num=2) +'Момент времени 2, значение = 89.7' + +9.2. Методы для работы со списками + +spsk = [1,2,3,4,5] +spsk.pop(2) +3 +spsk +[1, 2, 4, 5] +spsk.append('c') +spsk +[1, 2, 4, 5, 'c'] +spsk.insert(2,'a') +spsk +[1, 2, 'a', 4, 5, 'c'] +spsk.count('a') +1 +dir(spsk) +['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] \ No newline at end of file diff --git a/Тест по модулю 1 ПОАС.docx b/Tests/Тест по модулю 1 ПОАС.docx similarity index 100% rename from Тест по модулю 1 ПОАС.docx rename to Tests/Тест по модулю 1 ПОАС.docx diff --git a/Тест по модулю 2 ПОАС.docx b/Tests/Тест по модулю 2 ПОАС.docx similarity index 100% rename from Тест по модулю 2 ПОАС.docx rename to Tests/Тест по модулю 2 ПОАС.docx diff --git a/Тест по модулю 3 ПОАС.docx b/Tests/Тест по модулю 3 ПОАС.docx similarity index 100% rename from Тест по модулю 3 ПОАС.docx rename to Tests/Тест по модулю 3 ПОАС.docx