3курс 1 сем / TP_Ianysheva_lr_6
.docxГУАП
КАФЕДРА № 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 – Пример работы программы
Выводы
Выполняя данную лабораторную работу, я закрепила навык работы с массивами.