ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 14.03.2024
Просмотров: 172
Скачиваний: 0
СОДЕРЖАНИЕ
Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»
Арифметическое выражение лр1: Арифметическое выражение лр2:
Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»
Лабораторная работа №5 «Табулирование функции»
Лабораторная работа №6 «Работа с библиотеками Python»
Лабораторная работа № 7 «Создание приложений, использующих итеративные циклические структуры»
3. Выполнение проекта и получение результатов
4.Доказательство правильности работы программ
Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»
1.Задание на разработку проекта
3.Выполнение проекта и получение результатов
4.Доказательство правильности работы программ
Лабораторная работа №9 «Работа с кортежами»
Лабораторная работа №10 «Работа со словарями»
Лабораторная работа №11 «Работа со списками»
Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»
Лабораторная работа №13 «Работа со вложенными последовательностями»
root.mainloop()
3.Выполнение проекта и получение результатов
На рисунках 1-3 показаны результаты работы программы с тестирование 3-х веток кусочно-ломанной функции:
Рисунок 18 - Результат работы программы первой ветки
Рисунок 19 - Результат работы программы второй ветки
Рисунок 20 - Результат работы программы третьей ветки
4.Доказательство правильности работы программ
Все выведенные значения совпадают с результатами работы программы из ЛР№2 (Рисунок 4):
Рисунок
21 - Результаты программы из ЛР№2
Лабораторная работа №9 «Работа с кортежами»
-
Задание на разработку проекта
Дан кортеж из 10 элементов. Элементы кортежа могут принимать целые значения от 0 до 1000 включительно. Необходимо найти в этом массиве максимальный элемент, шестнадцатеричная запись которого заканчивается максимальным (по значению) символом.
Для выполнения задания следовало разработать:
-
Функцию koteg(a), предназначенную для нахождения максимального значения в заданном кортеже в шестнадцатеричной записи
-
В функции korteg(a) осуществить поиск максимального значения по заданному условию.
-
В функции korteg(a) осуществить вывод полученного результата
В основной части программы осуществить создание кортежа, а также выполнение пользовательской функции. Протестировать программу на другом кортеже.
Формализация задания:
Чтобы перевести число в шестнадцатеричную запись, без использования внешних библиотек, достаточно просто вычислить остаток от деления числа на 16. Этот остаток будет и записью числа в шестнадцатеричной системе, только сокращенно.
Затем с помощью алгоритма по нахождению максимального значения ищем элемент с максимальным значением в шестнадцатеричной записи.
-
Разработка алгоритма
На рисунке 1 показана блок-схема пользовательской функции korteg():
Рисунок
22 - Блок-схема функции korteg(),
которая находит максимальный элемент
в кортеже в шестнадцатеричной записи.
На рисунке 2 показана блок-схема основной части программы.
Рисунок
23 - Блок-схема основной части программы
Ниже представлен код пользовательской функции, а также код основной части программы.
Код пользовательской функции:
def koteg(kort):
maximum = kort[0]
for i in kort:
if i%16 > maximum%16:
maximum = i
return maximum
Код основной части программы
a = (592, 82, 776, 542, 899, 600, 26, 38, 567, 447)
rez = koteg(a)
print('Кортеж элементов: \n', a)
print('Максимальное число в кортеже в десятичной системе: ', rez)
print('Максимальное число в кортеже в шестнадцатеричной системе: ', rez%16)
-
Выполнение проекта и получение результата
Далее на рисунке 3 показан результат работы программы:
Рисунок
24 - Результат работы программы
-
Доказательство правильности работы программы
Рисунок 25 - Тестирование программы на других значениях
На рисунке 4 показано тестирование программы на новом кортеже:
Лабораторная работа №10 «Работа со словарями»
1 Часть
-
Задание на разработку проекта
Дана таблица результатов тестирования учащихся по информатике и географии:
-
1
Ученик
Школа
География
Информатика
2
Лиштаев Евгений
1
81
79
3
Будин Сергей
2
63
90
4
Христич Анна
5
62
69
5
Иванов Данила
7
63
74
6
Глотова Анастасия
4
50
66
7
Лещенко Владислав
1
60
50
Написать программу, позволяющую определить:
-
Чему равна наибольшая сумма баллов по двум предметам среди учащихся школы №5?
-
Сколько процентов от общего числа учеников получили по информатике не менее 45 баллов?
Для выполнения задания следовало разработать:
-
Функцию inf_geo(n), позволяющую находить сумму баллов по двум предметам
-
В функции inf_geo(n) организовать вывод значений.
-
Функцию inf(n), позволяющую находить процент учеников, которые получили по информатике больше 45 баллов
-
В функции inf(n) организовать вывод ответа в процентах.
В основной части программы реализовать создание пустого класса Tpupil(), в котором впоследствии создаётся список учеников, которые вводит сам пользователь. Осуществить выполнение функций, а также вывод ответа.
Формализация задания:
Для того чтобы создать пустой класс, нужно после объявления класса написать pass и закрыть класс. После создать пустой список и начать циклический алгоритм, с помощью которого этот список наполняется значениями, которые вводит пользователь. В функциях inf_geo(n) и inf(n) с помощью циклического алгоритма перебирать значения списка и, если они совпадают с заданными условиями соответственно работать с ними.
2. Разработка алгоритма
Ниже представлена блок-схема функции inf_geo(n) по нахождению суммы баллов по двум предметам среди учащихся школы №5 (Рисунок 1)
Рисунок
1 - Блок-схема функции inf_geo(),
которая находит сумму баллов по двум
предметам среди учащихся школы №5.
Ниже представлена блок-схема функции inf() для выведения процентажа учеников, у которых баллы больше 45. (Рисунок 2)
Рисунок
2 - Блок-схема функции inf(),
которая находит процентаж учеников у
которых баллы больше 45.
Рисунок
3 - Блок-схема основной части программы
Ниже представлен код программы:
Код программы:
class Tpupil:
pass
pupils = []
n = int(input('Сколько учеников в хотите добавить? '))
for i in range(n):
pupils.append(Tpupil())
print('Введите информацию о ', str(i + 1), ' ученике: ')
pupils[i].name = str(input('Имя и Фамилия ученика: '))
pupils[i].school = int(input('Номер школы: '))