Файл: Лабораторные работы Султонов Фирдавс.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 150

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Оглавление

Лабораторная работа №1 «Запись арифметических выражения на языке Python. Обработка исключений. Запись информации в текстовый файл. Создание пользовательских функций»

Лабораторная работа №2 «Программирование алгоритмов разветвляющихся структур. Нахождение максимального и минимального значения»

Лабораторная работа №3 «Создание классов. Создание экземпляров классов. Создание конструкторов»

Часть 1

2 Часть

Арифметическое выражение лр1: Арифметическое выражение лр2:

Лабораторная работа №4 «Создание меню в Python-программе. Инкапсуляция»

Лабораторная работа №5 «Табулирование функции»

Лабораторная работа №6 «Работа с библиотеками Python»

Лабораторная работа № 7 «Создание приложений, использующих итеративные циклические структуры»

3. Выполнение проекта и получение результатов

4.Доказательство правильности работы программ

Лабораторная работа №8 «Программирование Python-приложений с использованием библиотеки Tkinter»

1.Задание на разработку проекта

2.Разработка алгоритма

3.Выполнение проекта и получение результатов

4.Доказательство правильности работы программ

Лабораторная работа №9 «Работа с кортежами»

Лабораторная работа №10 «Работа со словарями»

1 Часть

2. Разработка алгоритма

2 Часть

Лабораторная работа №11 «Работа со списками»

Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»

Лабораторная работа №13 «Работа со вложенными последовательностями»

Дополнительное задание «Реализация пошаговой детализации»

3. Выполнение проекта и получение результатов

pupils[i].geography = int(input('Кол-во баллов по географии: '))

pupils[i].informatika = int(input('Кол-во баллов по информатике: '))

def inf_geo(n):

for i in range(n):

if pupils[i].school == 5:

k1 = pupils[i].geography

if (pupils[i].geography + pupils[i].informatika) > k1:

k1 = pupils[i].geography + pupils[i].informatika

return k1

def inf(n):

k2 = 0

for i in range(n):

if (pupils[i].informatika >= 45):

k2 += 1

proc = round((k2*100)/n,1)

return proc

summa_ballov = inf_geo(n)

rez = inf(n)

print('Наибольшая сумма баллов по двум предметам среди учащихся школы №5: ', summa_ballov)

print('Процентаж учеников получивших по информатике не менее 45 баллов: ', rez)


  1. Выполнение проекта и получение результата

На Рисунке 4 показан результат работы программы:

Рисунок 4 - Результат работы программы

  1. Доказательство правильности работы программы

Рисунок 5 - Результат программы на новых данных

В этот список был добавлен новый ученик со Школы №5 и его данные повлияли на результат работы программы (Рисунок 5)

2 Часть

  1. Задание на разработку проекта

Написать программу-словарь. В данном случае библиотеку героев игры God Of War.

Для выполнения задания следовало разработать:

  • Алгоритм для создания словаря

  • Организовать меню программы

  • Протестировать каждый пункт меню

  • Организовать ввод и вывод значений, который вводит пользователь.

  • После добавления или удаления данных, вводимых пользователем вывести на экран новые значения словаря.

Описание словаря

Одними из основных героев игры являются Кратос, Атрей и Мимир. Кратос – безжалосный, строгий, упрямый и закрытый персонаж. Атрей – сын Кратоса, молодой мальчик с каштановыми волосами, светлым лицом с веснушками и глазами цветом голубого льда. Мимир - «самый умный человек» в игре, говорящая голова Мимира, которую Кратос носит с собой.

  1. Разработка проекта

Ниже представлен код программы

Код программы:

Slovar = {}

choice = None

while choice !='0':

print(

"""

Библиотека героев игры "God Of War"

0 - Выход

1 - Найти описание героя

2 - Добавить героя

3 - Изменить описание

4 - Удалить героя

"""

)

choice = input('Ваш выбор? ')

print()

if choice =='0':

print ('До свидания')

if choice =='1':

ok = str(input('Введите имя героя: '))

if ok in Slovar:

print(ok,' - ',Slovar[ok])

if choice =='2':

ok = str(input('Введите имя героя: '))

ok2 = str(input('Добавьте описание герою: '))

Slovar[ok] = ok2

print(ok, ' - ', ok2)

if choice =='3':

ok = str(input('Введите имя героя: '))

ok2 = str(input('Введите новое описание для героя: '))

Slovar[ok] = ok2

print(ok, ' - ', ok2)

if choice =='4':

ok = str(input('Введите имя героя: '))

del Slovar[ok]

print(Slovar)

  1. Выполнение проекта и получение результатов


Ниже на рисунке 6 предоставлен результат работы программы

Рисунок 6 - Результат работы программы

Лабораторная работа №11 «Работа со списками»

  1. Задание на разработку проекта

Дан динамический целочисленный список. Элементы списка могут принимать целые значения от 0 до 1000 включительно. Написать алгоритм, который выполняет нахождение среднего арифметического всех четных элементов. Разработать функцию, который формирует новый список, из тех элементов исходного списка, значения которых больше найденного числа.

Для выполнения задания следует разработать:

  1. Функцию average(*spisok) для вычисления среднего арифметического всех четных элементов.

  2. Функцию another_list(*avr) для добавления элементов, значения которых больше найденного числа, в новый список.

В основной части программы сгенерировать список по количеству элементов, вводимых пользователем. Осуществить вызов подпрограмм, обеспечить вывод результатов.


  1. Разработка алгоритма

На рисунке 1 представлена блок-схема функции average() для нахождения среднего арифметического в списке чисел.

Рисунок 26 - Блок-схема функции average() по нахождению среднего арифметического чисел

Блок-схема функции another_list() для добавления в новый список чисел, соответствующих условию показана ниже на рисунке 2.

Рисунок 27 - Блок-схема функции another_list() по формированию нового списка

На рисунке 3 представлена блок-схема основной части программы

Рисунок 28 - Блок-схема основной части программы

Код функции для вычисления среднего значения элементов списка:

def average(*spisoks):

k = 0

s = 0

for i in spisoks:

if i % 2 == 0:

k += 1

s += i

d = s/k

return d

Код функции для составления нового списка по указанному условию:

def another_list(*avr):

chislo = average(*avr)

spisok2 = []

for i in avr:

if i > chislo:

spisok2.append(i)

return spisok2

Код основной части программы:

import random

spisok = []

n = int(input('Введите количество элементов: '))

spisok = random.sample(range(1000), n)

avr = average(spisok)

an_lst = another_list(spisok)

print('Исходный список: ', spisok)

print('Среднее арифметическое равно: ', str(avr))

print("Другой сформированный список: ", an_lst)

  1. Выполнение проекта и получение результатов:

На рисунке 4 показаны результаты работы программы;

Рисунок 29 - Результат работы программы

Лабораторная работа №12 «Базовые алгоритмы обработки списков и их сортировка»

  1. Задание на разработку проекта

Дан динамический целочисленный список. Элементы списка могут принимать целые значения от 0 до 1000 включительно. Написать алгоритм, который выполняет нахождение среднего арифметического всех четных элементов. Разработать функцию, который формирует новый список, из тех элементов исходного списка, значения которых больше найденного числа. Дополнительно отсортировать исходный список методом бинарных вставок, а также результирующий список отсортировать методом простого обмена (1 способ). К каждому методу написать комментарии, поясняющие их назначение.


Для выполнения задания следует разработать:

  1. Функцию average(*spisok) для вычисления среднего арифметического всех четных элементов.

  2. Функцию another_list(*avr) для добавления элементов, значения которых больше найденного числа, в новый список.

  3. Функцию insertion_sort(*b) для сортировки исходного списка методом бинарных вставок

  4. Функцию bubble(*a) для сортировки результирующего списка методом простого обмена (1 способ).

  5. Разработанные функции разместить в модулях

В основной части программы сгенерировать список по количеству элементов, вводимых пользователем. Осуществить вызов подпрограмм, обеспечить вывод результатов.