Тестовые задания для проведения административной контрольной работы по дисциплине «Основы алгоритмизации и программирования» Группа ИСП-25 Курс 2 Ф.И.О. Специальность: 09.02.07 Информационные системы и программирование Контрольную работу обучающийся выполняет в программе MyTest, в которой предусмотрена случайная генерация заданий. Задание #1 Вопрос: Какие выражения являются истинными, а какие ложными? Укажите истинность или ложность вариантов ответа: __ Циклическая структура, в которой число повторений цикла заранее известно, называется итеративной. __ Формулы, позволяющие вычислять последующие значения чего-либо на основе предыдущего значения, называются рекурентными. __ Циклическая структура while является итеративной. __ Кортежи аналогичны массивам. __ последовательность данных, объединённая в кортеж, позволяет изменять свои значения. __ Нумерация элементов кортежа начинается с 1. __ Элементами одного и того же кортежа в Python могут быть и строки, и числа, и звуковые файлы, и файлы изображений. Задание #2 Вопрос: Дана программа реализующая срез кортежа: Пользователь ввёл начальное значение индекса среза - 2, а конечное значение индекса среза - 4. Какие элементы будут выведены в результате? (Ответ введите через запятую без пробелов) Запишите ответ:__________________________________________ Задание #3 Вопрос: Найдите соответствие между синтаксисом и названием: Укажите соответствие для всех 4 вариантов ответа: 1) Синтаксис объявления кортежей __ Имя=[элемент1, элемент2, ...элементN] __ Имя={ключ: значение, 2) Синтаксис создания словаря __ Имя=(элемент1, элемент2, ...элементN) ключ: значение, 3) Синтаксис объявления списков . . ключ: значение} __ Имя=("Элемент1", "Элемент2", "ЭлементN") Задание #4 Вопрос: Выберите не верное утверждение относительно программного кода, оформленного в виде функции: Выберите один из 7 вариантов ответа: 1) созданные пользовательские функции позволяют связать часто используемую группу операторов программного кода со знакомым именем; 2) созданные пользовательские функции устраняют повторы фрагментов программного кода, т. е. можно один раз определить функцию и вызывать (обращаться к ней) любое количество раз; 3) создание пользовательских функций упрощает разработку проектов, так как проект, разделенный на логические (функциональные) единицы, легче разрабатывать и отлаживать; кроме того, если программный проект готовится группой разработчиков, то можно обмениваться готовыми функциями и модулями; 4) код становится более простым и легко читаемым, так как, разделенный на небольшие части, он легче воспринимается; 5) пользовательские функции, созданные программистом доступны в других программах; 6) расширяет язык программирования (пользовательские функции могут выполнять задачи, которые не могут быть выполнены встроенными функциями языка). Задание #5 Вопрос: Для объявления функции используется следующий синтаксис. def ИмяФункции(Параметр(ы)): Операторы функции _______ возвращаемое значение Напишите пропущенное служебное слово. Запишите ответ:__________________________________________ Задание #6 Вопрос: Ниже приведен код программы, в котором разработана функция, определяющая наибольшее число из двух заданных. 1) def maximum(a,b): 2) if a>=b: 3) max=a 4) else: 5) max=b 6) return max 7) a=int(input("\nВведите первое число ")) 8) b=int(input("\nВведите второе число ")) 9) rez=maximum(a,b) 10) print("\nМаксимальное из двух чисел =", rez) Введите с клавиатуры номер строки, в которой задается имя функции. Запишите ответ:__________________________________________ Задание #7 Вопрос: Выберите верные утверждения относительно модуля в Python: Выберите несколько из 6 вариантов ответа: 1) модуль представляет собой обычную программу, написанную на Python. 2) модуль устраняет повторы фрагментов программного кода, т. е. можно один раз создать модуль и вызывать (обращаться к нему) любое количество раз; 3) при использовании модуля код становится больше; 4) модули, созданные программистом доступны в других программах; 5) можно обмениваться готовыми модулями, если программный проект готовится группой разработчиков; 6) расширяет язык программирования (модули могут выполнять задачи, которые не могут быть выполнены встроенными средствами языка). Задание #8 Вопрос: С помощью какого оператора вызывается модуль? Запишите ответ:__________________________________________ Задание #9 Вопрос: По представленному коду программы укажите соответствие созданных функций и их назначений: import random def rnd(n,m): a=[] for i in range(n): a.append([]) for j in range(m): a[i]=random.sample(range(-10,10),m) return a def prnt(a,n,m): for i in range (n): for j in range (m): print(" %3d " % a[i][j],end='') print() def task(a,n,m): k=0 kol=0 summ=0 for i in range (n): for j in range (m): if a[i][j]==0: k+=1 if a[i][j]>0: summ=summ+a[i][j] kol+=1 if kol==0: 2 print("Нет положительных чисел") else: srarifm=summ/kol print('\nСреднее арифметическое положительных элементов =', srarifm) print('\nКоличество элементов, равных нулю =', k) return srarifm,k Укажите соответствие для всех 3 вариантов ответа: 1) вывод элементов последовательности на экран __ rnd(n,m) 2) поиск количества элементов, равных нулю, и нахождение среднего __ prnt(a,n,m) арифметического значения __ task(a,n,m) 3) генерация элементов вложенной последовательности Задание #10 Вопрос: Укажите верные и не верные высказывания: Укажите истинность или ложность вариантов ответа: __ Два основных аспекта объектно-ориентированного программирования - методы и объекты. __ Класс создает новый тип, а объекты являются экземплярами класса. __ Переменные, принадлежащие объекту или классу, называют полями. __ Функции, принадлежащие классу, в ООП принято называть полями класса. __ Поля бывают двух типов: они могут принадлежать каждому отдельному экземпляру объекта класса или всему классу. __ Типы полей в ООП называются переменными экземпляра и переменными класса. Задание #11 Вопрос: В листинге показано создание простейшего класса. Найдите соответствие строк кода и их комментариев. class Student: pass st1=Student() st1.name="Сергей" st1.age=18 st1.univer="МТУСИ" print (st1.name,st1.age,st1.univer) Укажите соответствие для всех 4 вариантов ответа: 1) pass __ #Создаем экземпляр класса 2) st1.name="Сергей" __ #Ключевое слово, необходимое при создании пустого класса 3) st1=Student() __ #Обращение к атрибутам класса 4) print (st1.name,st1.age,st1.univer) __ #Создаем атрибуты экземпляра класса Задание #12 Вопрос: Синтаксис создания метода: Выберите несколько из 4 вариантов ответа: 1) def init (self, значение1, …значениеN): инструкции 2) def __init__(self, значение1, …значениеN): инструкции 3) def _init_(self, значение1, …значениеN): инструкции 4) def __init__(self): инструкции Задание #13 Вопрос: Найдите соответствие свойств и их характеристик: Укажите соответствие для всех 4 вариантов ответа: 1) Инкапсуляция 2) Наследование __ В производном классе будет доступ ко всем атрибутам и методам базового класса. __ Скрытие внутреннего устройства объектов __ Предоставляет возможность создавать класс с полями, свойствами и методами, которые могут быть использованы в других классах. __ Позволяет обезопасить внутренние данные (поля) объекта от изменений (возможно, разрушительных) со стороны других объектов. Задание #14 Вопрос: Найдите соответствующие определения для терминов, указанных во втором столбце: Укажите соответствие для всех 4 вариантов ответа: 1) интерфейс __ действия, которые может выполнить объект 2) виджет __ совокупность характеристик, описывающих объект 3) свойства __ визуальный объект 4) методы __ совокупность средств, обеспечивающих взаимодействие пользователя и программ вычислительной системы Задание #15 Вопрос: Дан код, по которому создается форма и виджет Кнопка. Запишите команду создания рамки из этого кода, внутри которой могут располагаться элементы управления. from tkinter import * root = Tk() root.title("Создание окна") 3 root.geometry("300x200") app=Frame(root) app.grid() def vivod(): print ("Привет, мир!") btn=Button(app,text="Ok",width=20,height=5,command=vivod) btn.grid() root.mainloop() Запишите ответ:__________________________________________ Задание #16 Вопрос: Даны определения: 1. __________ - это совокупность средств, обеспечивающих взаимодействие пользователя и программ вычислительной системы. 2. __________ - это совокупность характеристик, описывающих объект. 3. __________ - это те действия, которые может выполнить объект. Определение какого понятия находится под цифрой 1? Выберите один из 4 вариантов ответа: 1) Объект 2) Свойства 3) Метод 4) Интерфейс Задание #17 Вопрос: Какой метод необходимо использовать для получения данных из текстового окна? Выберите один из 5 вариантов ответа: 1) insert() 4) DoubleVar() 2) get() 5) BooleanVar() 3) IntVar() Задание #18 Вопрос: Какой метод отвечает за вставку текста в текстовое окно, расположенное на форме? Выберите один из 5 вариантов ответа: 1) insert() 4) DoubleVar() 2) get() 5) BooleanVar() 3) IntVar() Задание #19 Вопрос: Дан код, по которому создается форма и виджет Кнопка. Введите название кроссплатформенной графической библиотеки, которая используется в Python для создания приложений с графическим интерфейсом. from tkinter import* root = Tk() root.title("Создание окна") root.geometry("300x200") app=Frame(root) app.grid() def vivod(): print ("Привет, мир!") btn=Button(app,text="Ok",width=20,height=5,command=vivod) btn.grid() root.mainloop() Запишите ответ:__________________________________________ Задание #20 Вопрос: В какой строке кода (напишите номер строки), указываются параметры, высоты и ширины кнопки, ее название, а также привязка к вышеопределенной функции-обработчику. 1. from tkinter import* 2. root = Tk() 3. root.title("Создание окна") 4. root.geometry("300x200") 5. app=Frame(root) 6. app.grid() 7. def vivod(): 8. print ("Привет, мир!") 9. btn=Button(app,text="Ok",width=20,height=5,command=vivod) 10. btn.grid() 11. root.mainloop() Запишите ответ:__________________________________________ Задание #21 Вопрос: В одной из строк кода указывается метод, который изменяет заголовок окна. Напишите название этого метода. 1. from tkinter import* 2. root = Tk() 3. root.title("Создание окна") 4 4. root.geometry("300x200") 5. app=Frame(root) 6. app.grid() 7. def vivod(): 8. print ("Привет, мир!") 9. btn=Button(app,text="Ok",width=20,height=5,command=vivod) 10. btn.grid() 11. root.mainloop() Запишите ответ:__________________________________________ Результат тестирования – оценка_________________________________________________ «____» ________________ 2023 г. 1) Верные ответы: Нет; Да; Да; Да; Нет; Нет; Да; 2) Верный ответ: "19,8,62". 3) Верные ответы: 3; 1; 2; 1; 4) Верные ответы: 5; 5) Верный ответ: "return". 6) Верный ответ: "1". 7) Верные ответы: 1; 2; 4; 5; 6; 8) Верный ответ: "import". 9) Верные ответы: 3; 1; 2; 10) Верные ответы: Нет; Да; Да; Нет; Да; Да; Преподаватель ___________ Ответы: 11) Верные ответы: 3; 1; 4; 2; 12) Верные ответы: 2; 4; 13) Верные ответы: 2; 1; 2; 1; 14) Верные ответы: 4; 3; 2; 1; 15) Верный ответ: "app=Frame(root)". 16) Верные ответы: 4; 17) Верные ответы: 2; 18) Верные ответы: 1; 19) Верный ответ: "tkinter". 20) Верный ответ: "9". 21) Верный ответ: "title". КРИТЕРИИ ОЦЕНИВАНИЯ ЗНАНИЙ ПРИ ПРОВЕДЕНИИ АДМИНИСТРАТИВНОЙ КОНТРОЛЬНОЙ РАБОТЫ по дисциплине «Основы алгоритмизации и программирования» специальность: 09.02.07 Информационные системы и программирование Оценка знаний и умений Оценка Критерии оценивания тестового задания (за каждый верный ответ ставится 1 балл, за неверный ответ - 0 баллов, максимальное количество баллов - 21) 5 4 3 2 5 Необходимое количество баллов 20-21 16-19 11-15 <11 Необходимое количество баллов, % 95-100 80-94 60-79 < 60