
Лабораторная Работа 4
..docxМинистерство цифрового развития, связи и массовых коммуникаций Российской Федерации
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ
(МТУСИ)
Факультет "Радио и телевидение"
Кафедра "Электроники"
ОТЧЕТ
по дисциплине "Информационные технологии и программирование"
на тему:
"Пользовательские функции. Вариант 17."
Выполнил
Проверил
Кандидат технических наук, доцент ______________ Т. П. Косичкина
Москва 2023
Цель работы: Научиться использовать пользовательские функции, написанные на языке Python.
Задание 1. Составить программу для варианта 17. Организовать вычисление задачи для исходных произвольных данных, значения которых пользователь Вашей программы должен ввести с клавиатуры в процессе выполнения программы.
.
Рисунок 1 – Условие №17
Рисунок 2 – Программа, написанная на Python
Рисунок 3 - Результат выполнения программы
Задание 2. Разделить программу из задания 1 на две процедуры, выделив в одну вычислительные операции, а в другую все операции ввода-вывода. Оформить их в виде функций. Вычислительную часть алгоритма оформить как функцию с параметрами, передаваемыми по значению, и возвращаемым значением. Другую часть алгоритма оформить как функцию, вызывающую первую функцию нужное количество раз. Все функции в этом задании находятся в одном файле (сценарии). Следует придумать для каждой функции оригинальное имя, отражающее её суть. Дополните каждую функцию комментарием, дающим необходимые и достаточные пояснения
Рисунок 4- Программа написанная на Python
Первая функция вычисляет евклидово расстояние между двумя точками в трехмерном пространстве. Принимает на вход координаты двух точек (x1, y1, z1) и (x2, y2, z2). Возвращает значение евклидова расстояния.
Вторая функция запрашивает у пользователя координаты двух точек и выводит результат вычисления евклидова расстояния.
Рисунок 5-Результат работы программы
Задание 3. Используя написанную вами функцию как подпрограмму, необходимо ввести три точки с произвольными координатами и найти пару с минимальным евклидовым расстоянием между точками. Для сравнения чисел можно использовать встроенную функцию нахождения минимума.
Рисунок 6 - Листинг программы 3
Переменная calculate_distance является функцией, которая принимает на вход шесть аргументов - координаты двух точек (x, y, z) и возвращает расстояние между ними, используя формулу евклидова расстояния. В функции find_min_distance происходит запрос у пользователя координат трех точек, после чего находится пара точек с минимальным расстоянием между ними с помощью циклов и вызова функции calculate_distance. Результат выводится на экран. Функция main объединяет в себе вызов функции calculate_distance с вводом координат точек и выводом результата. Однако, в конце программы функция find_min_distance вызывается с помощью print, что приводит к тому, что на экран выводится значение None (так как функция ничего не возвращает). Для исправления этой ошибки необходимо убрать вызов print при вызове функции find_min_distance.
Рисунок 7 – Результат работы третьей программы
Задание 4. Записать вашу функцию в виде лямбда-функции (нескольких лямбда-функций), выполнить отладку. Вызвать лямбда-функцию для выполнения задания: Написать функцию для вычисления евклидова расстояния между двумя точками в пространстве, заданными координатами (x1, y1, z1) и (x2, y2, z2).
Рисунок 8 – Программа написанная на языке Python.
Переменная calculate_distance является лямбда-функцией, которая принимает на вход шесть аргументов - координаты двух точек (x, y, z) и возвращает расстояние между ними, используя формулу евклидова расстояния.Функция main объединяет в себе вызов функции calculate_distance с вводом координат точек и выводом результата. Она используется для удобства и компактности кода. Функция find_min_distance запрашивает у пользователя координаты трех точек, после чего находит пару точек с минимальным расстоянием между ними с помощью циклов и вызова функции calculate_distance. Результат выводится на экран. Однако, в конце программы функция find_min_distance вызывается с помощью print, что приводит к тому, что на экран выводится значение None (так как функция ничего не возвращает). Для исправления этой ошибки необходимо убрать вызов print при вызове функции find_min_distance.
Рисунок 9 – Результат программы написанная на языке Python.
Задание 5. Разделить текст файла из Задания 3 на два файла. Дополнить файл, выполняющий вызов функции, необходимой инструкцией.
Рисунок 10 – Программа написанная на языке Python.
Рисунок 11 – файл вызываемой функции
Рисунок 12 – Результат программы написанная на языке Python
ЗАКЛЮЧЕНИЕ
При выполнении лабораторной работы, изучены пользовательские функции, написанные на языке Python.