ГУАП
КАФЕДРА № 41
ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ
ПРЕПОДАВАТЕЛЬ
кандидат тех. наук, доцент |
|
|
|
А.В. Аграновский |
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ № 6 |
РАБОТА С МАССИВАМИ |
по курсу: ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ |
|
|
РАБОТУ ВЫПОЛНИЛА
СТУДЕНТКА ГР. № |
4716 |
|
|
|
С.А. Янышева |
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург
2019
Постановка задачи
Вариант №10.Задана произвольная матрица. Необходимо найти номер столбца, произведение элементов которого минимально.
Описание разработанной программы
Список входных данных представлен в таблице №1.
Таблица №1 - Список входных данных
Название переменной |
Тип переменной |
Назначение |
lstlst |
Float |
Переменная для функции |
lstlst1 |
Float |
Переменная для теста |
lstlst2 |
Float |
Переменная для теста |
lstlst3 |
Float |
Переменная для теста |
lstlst4 |
Float |
Переменная для теста |
r |
Float |
Переменная r |
Листинг программного кода
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 – Тестовый набор
Входные данные (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 – Пример работы программы
Выводы
Выполняя данную лабораторную работу, я закрепила навык работы с массивами.