Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3курс 1 сем / TP_Ianysheva_lr_6

.docx
Скачиваний:
10
Добавлен:
16.04.2021
Размер:
154.59 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

кандидат тех. наук, доцент

А.В. Аграновский

должность, уч. степень, звание

подпись, дата

инициалы, фамилия

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ № 6

РАБОТА С МАССИВАМИ

по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ

РАБОТУ ВЫПОЛНИЛА

СТУДЕНТКА ГР. №

4716

С.А. Янышева

подпись, дата

инициалы, фамилия

Санкт-Петербург

2019

  1. Постановка задачи

Вариант №10.Задана произвольная матрица. Необходимо найти номер столбца, произведение элементов которого минимально.

  1. Описание разработанной программы

Список входных данных представлен в таблице №1.

Таблица №1 - Список входных данных

Название переменной

Тип переменной

Назначение

lstlst

Float

Переменная для функции

lstlst1

Float

Переменная для теста

lstlst2

Float

Переменная для теста

lstlst3

Float

Переменная для теста

lstlst4

Float

Переменная для теста

r

Float

Переменная r

  1. Листинг программного кода

    def LAB6_VAR_10(lstlst):

    from functools import reduce

    from operator import mul

    r = min(enumerate(zip(*lstlst)), key=lambda x: reduce(mul, x[1]))[0]

    print('Номер столбца с минимальным поизведением элементов', r+1)

    def TEST_LAB6_VAR_10():

    print('Тест 1')

    lstlst1 = [[1, 2, 3, 4],

    [1, 1, 1, 1],

    [1, 1, 1, 1],

    [1, 1, 1, 0]]

    LAB6_VAR_10(lstlst1)

    print('----------------------------')

    print('Тест 2')

    lstlst2 = [[1, 2, 3, 4],

    [1, 1, 1, 1],

    [1, 1, 1, 4]]

    LAB6_VAR_10(lstlst2)

    print('----------------------------')

    print('Тест 3')

    lstlst3 = [[0.1, 0.2, 0.3, 0.4],

    [1, 1, 1, 1],

    [1, 1, 1, 4]]

    LAB6_VAR_10(lstlst3)

    print('----------------------------')

    print('Тест 4')

    lstlst4 = [[-1, -2, -3, 4],

    [1, 1, 1, 1],

    [1, 1, 1, 4]]

    LAB6_VAR_10(lstlst4)

    print('----------------------------')

    TEST_LAB6_VAR_10()

  2. Описание тестового набора

Тестирование будет производится на следующих данных, представленных в таблице №2.

Таблица №2 – Тестовый набор

Входные данные (lstlst)

Ожидаемый результат

Результат теста

[[1, 2, 3, 4],

[1, 1, 1, 1],

[1, 1, 1, 1],

[1, 1, 1, 4]]

1

Пройден

[[1, 2, 3, 4],

[1, 1, 1, 1],

[1, 1, 1, 0]]

4

Пройден

[[0.1, 0.2, 0.3, 0.4],

[1, 1, 1, 1],

[1, 1, 1, 4]]

1

Пройден

[[-1, -2, -3, 4],

[1, 1, 1, 1],

[1, 1, 1, 4]]

3

Пройден

Ожидаемые результаты работы программы получены ручным расчетом.

Первый тест направлен на определение корректности расчета в случае, если в столбцах присутствуют положительные натуральные числа.

Второй тест направлен на определение корректности расчета в случае, если в столбце присутствует 0.

Третий тест направлен на определение корректности расчета, если в столбцах присутствуют дробные числа.

Четвертый тест направлен на определение корректности расчета, если в столбцах присутствуют отрицательные числа.

  1. Пример работы программы

На рисунке 1 представлен пример работы программы.

Рисунок 1 – Пример работы программы

  1. Выводы

Выполняя данную лабораторную работу, я закрепила навык работы с массивами.

Соседние файлы в папке 3курс 1 сем