diff --git a/TEMA3/test.md b/TEMA3/test.md new file mode 100644 index 0000000..1da517e --- /dev/null +++ b/TEMA3/test.md @@ -0,0 +1,98 @@ + # Выполнение модульного задания +Филиппов Даниил Юрьевич, А-01-23 + + # Задание +M1_3 +1) Как можно запустить на выполнение программу, исходный код которой находится в текстовом файле? + +2) Создайте объект-словарь с 6 элементами: ключи - названия звеньев в схеме регулятора ("инерционное звено1",:) (названия могут повторяться с точностью до порядкового номера), значения - список параметров соответствующего звена. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Напишите инструкцию отображения списка атрибутов созданного объекта. + +3) Напишите инструкцию, позволяющую увеличить в два раза второй параметр инерционного звена в словаре. Отобразите на экране получившийся объект. + +4) Напишите инструкции, позволяющие создать список названий звеньев из словаря. Преобразуйте этот список во множество. Отобразите полученный объект. Добавьте к полученному множеству элемент "гистерезис". + +5) Напишите инструкцию, позволяющую подсчитать число элементов в схеме. Удалите из словаря один из его элементов. Отобразите результат. + + # Выполнение + ## 1. Как можно запустить на выполнение программу, исходный код которой находится в текстовом файле? +Данный текстовый файл должен иметь расширение .py, тогда его можно запустить несколькими способами в IDLE Python. +Первый способ: открыть в меню интерактивной оболочке IDLE: File - Open - выбрать текстовый файл с кодом - Запустить модуль. +Второй способ: в командном окне запустить инструкцию `import <текстовый файл с кодом>`. +Третий способ: при открытом окне редактора нажать на клавишу F5. + + ## 2. Создание объекта-словаря с 6 элементами: ключи - названия звеньев в схеме регулятора ("инерционное звено1",:) (названия могут повторяться с точностью до порядкового номера), значения - список параметров соответствующего звена. Напишите инструкцию, доказывающую, что создан объект именно требуемого типа. Написание инструкции отображения списка атрибутов созданного объекта. + +```py +>>> dct1={'инерционное звено1':[5,0.5,3], 'инерционное звено2':[4,6,5], 'динамическое звено1':[7,8,10], 'интегрирующее звено1':[3,0.5,0.7], 'инерционное звено3':[5,6,2.5], 'безынерционное звено1':[2,3,2.5]} #Создание словаря +>>> dct1 +{'инерционное звено1': [5, 0.5, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'интегрирующее звено1': [3, 0.5, 0.7], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} + +>>> type(dct1) #Определение типа объекта + + +>>> dir(dct1) #Отображение списка атрибутов +['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values'] +``` + + ## 3. Написание инструкции, позволяющей увеличить в два раза второй параметр инерционного звена в словаре. Отображение на экране получившегося объекта. +```py +>>> dct1['инерционное звено1'][1] *=2 +>>> dct1 +{'инерционное звено1': [5, 1.0, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'интегрирующее звено1': [3, 0.5, 0.7], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} +``` + + ## 4. Написание инструкции, позволяющей создать список названий звеньев из словаря. Преобразование этого списка во множество. Отображение полученного объекта. Добавление к полученному множеству элемента "гистерезис". +```py +>>> spis1=list(dct1) #Создание списка ключей словаря +>>> spis1 +['инерционное звено1', 'инерционное звено2', 'динамическое звено1', 'интегрирующее звено1', 'инерционное звено3', 'безынерционное звено1'] + +>>> nmoz1=set(spis1) #Преобразование множества в список +>>> nmoz1 +{'интегрирующее звено1', 'инерционное звено2', 'динамическое звено1', 'безынерционное звено1', 'инерционное звено1', 'инерционное звено3'} + +>>> nmoz1.add('гистерезис') #Добавление к множеству нового элемента +>>> nmoz1 +{'гистерезис', 'интегрирующее звено1', 'инерционное звено2', 'динамическое звено1', 'безынерционное звено1', 'инерционное звено1', 'инерционное звено3'} +``` + + ## 5. Написание инструкции, позволяющей подсчитать число элементов в схеме. Удаление из словаря одного из его элементов. Отображение результата. +```py +>>> len(dct1) +6 +>>> dct1.pop('интегрирующее звено1') #Удаление ключа словаря, возвращает значения удалённого ключа +[3, 0.5, 0.7] +>>> dct1 +{'инерционное звено1': [5, 1.0, 3], 'инерционное звено2': [4, 6, 5], 'динамическое звено1': [7, 8, 10], 'инерционное звено3': [5, 6, 2.5], 'безынерционное звено1': [2, 3, 2.5]} +``` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +