
Болтушкин Л.С., группа 712-2, лабораторная 5
.pdfМинистерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОННИКИ (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
ИСКЛЮЧИТЕЛЬНЫЕ СИТУАЦИИ Отчет по лабораторной работе №5
по дисциплине «Языки программирования»
Студент гр. 712-2
___________ Л.С. Болтушкин
__________
Руководитель Младший научный
сотрудник кафедры КИБЭВС
_______ __________ А.В. Куртукова
__________
Томск 2024
Введение
Целью данной лабораторной работы является изучение различных видов
исключительных ситуаций и методов их обработки.
Задание:
1.Изучить краткие теоретические сведения.
2.Для выбранного варианта языка программирования изучить механизмы подпрограмм, их описание и вызовы, а также особенности передачи параметров в подпрограммы.
3.Разработать программу, генерирующую исключительную ситуацию и обрабатывающую вызванное исключение на языке программирования –
Python.
4. Доработать написанную программу, применив схему обработки
исключительных ситуаций Б. Мейера.
2

1 Ход работы
В начале работы была написана программа, вычисляющая значение числа из-под корня. Исключение в данной программе возникает при вводе отрицательного числа, так как нельзя вычислить корень для отрицательных чисел (рисунок 1.1).
Рисунок 1.1 – Программа для нахождения числа из-под корня
Результат работы программы, когда пользователь вводит отрицательное число (рисунок 1.2).
Рисунок 1.2 – Вывод при вводе отрицательного числа
Результат работы программы, когда пользователь вводит положительное число (рисунок 1.3).
Рисунок 1.3 – Вывод при вводе положительного числа
Исходный код программы представлен в приложении А.
3

На следующем этапе работы программа была доработана в соответствии со схемой обработки исключительных ситуаций Б. Мейера (рисунок 1.4).
Рисунок 1.4 – Исправленная программа
Результат работы программы, когда пользователь вводит отрицательное число (рисунок 1.5).
Рисунок 1.5 – Ввод отрицательного числа
Результат работы программы, когда пользователь вводит положительное число (рисунок 1.6).
Рисунок 1.6 – Ввод положительного числа
Исходный код программы представлен в приложении Б.
4
Заключение
Врезультате выполнения лабораторной работы были получены знания
оразличных видах исключительных ситуаций и методах их обработки.
5
Приложение А
(обязательное)
# Задача 1. Нахождение числа из-под корня import math
def sqrt_value(x): if x < 0:
raise Exception("Невозможно найти квадрат отрицательного
числа")
return math.sqrt(x)
try:
num = int(input("Введите число:")) if num < 0:
raise Exception("Невозможно найти квадрат отрицательного
числа")
result = sqrt_value(num) print("Результат:", result)
except Exception as err: print(str(err))
6
Приложение Б
(обязательное)
# Задача 2. Исключительные ситуации Б. Мейера import math
def sqrt_value(x): if x < 0:
raise Exception("Невозможно найти квадрат отрицательного
числа")
return math.sqrt(x) counter = 0 max_attempts = 10 while True:
counter += 1 try:
num = int(input("Введите число:")) result = sqrt_value(num) print("Результат:", result)
break
except Exception as err: print(str(err))
if counter == max_attempts: break
finally:
if num >= 0: print("Конец!")
7