Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы Султонов Фирдавс.docx
Скачиваний:
6
Добавлен:
08.11.2023
Размер:
2.08 Mб
Скачать
  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. Разработанные функции разместить в модулях

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