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

ЛР 5

.docx
Скачиваний:
0
Добавлен:
15.03.2025
Размер:
166.47 Кб
Скачать

Министерство науки и высшего образования Российской Федерации Федеральное государственное автономное образовательное учреждение высшего образования

«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)

Кафедра комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС)

ГЕНЕРИРОВАНИЕ И ОБРАБОТКА ИСКЛЮЧИТЕЛЬНЫХ СИТУАЦИЙ

Отчет по лабораторной работе №5

по дисциплине «Языки программирования»

Студент гр. 723-1

________

__.__.2025

Руководитель

Преподаватель каф. КИБЭВС

_______ А.В. Куртукова

__.__.2025

Введение

Целью данной лабораторной работы является изучение различных видов исключительных ситуаций и методов их обработки.

Задачи:

1. Изучить краткие теоретические сведения.

2. Для выбранного варианта языка программирования изучить механизмы подпрограмм, их описание и вызовы, а также особенности передачи параметров в подпрограммы.

3. Разработать программу, генерирующую исключительную ситуацию, и обрабатывающую вызванное исключение на языке программирования, соответствующему варианту.

4. Доработать написанную программу, применив схему обработки исключительных ситуаций Б. Мейера.

5. Написать отчет и защитить у преподавателя.

ХОД РАБОТЫ

1. Программа, генерирующая и обрабатывающая исключительные ситуации

На рисунке 1.1 представлена простая программа на C#, которая запрашивает у пользователя целое число, а затем пытается вычислить результат деления 100 на это число. На рисунках 1.2-1.4 представлены возможные варианты работы программы.

Рисунок 1.1 – Программа на C#

Рисунок 1.2 – Деление на 0

Рисунок 1.3 – Ввод символа

Рисунок 1.4 – Ввод числа

Листинг программного кода представлен в приложении А.

2 Программа с применением схемы Б. Мейера

На рисунке 2.1 представлена программа, где был описан обработчик исключения при проверке числа. На рисунке 2.2 представлены возможные варианты работы программы.

Рисунок 2.1 – Программа на C#

Рисунок 2.2 – Результат работы программы с применением схемы Б. Мейера

Листинг программного кода представлен в приложении Б.

Заключение

В ходе выполнения лабораторной работы были изучены знания о различных видах исключительных ситуаций и методах их обработки.

Приложение А

using System;

public class Program

{

static int ProcessInput(string input)

{

int num = int.Parse(input);

if (num == 0) throw new DivideByZeroException();

return 100 / num;

}

public static void Main(string[] cmdLineArgs)

{

Console.Write("Введите номер: ");

string inp = Console.ReadLine();

try

{

Console.WriteLine($"Результат: {ProcessInput(inp)}");

}

catch (FormatException)

{

Console.WriteLine("Неверный ввод!");

}

catch (DivideByZeroException)

{

Console.WriteLine("Невозможно разделить на ноль!");

}

catch (Exception e)

{

Console.WriteLine($"Ошибка: {e.Message}");

}

}

}

Приложение Б

using System;

public class Calculator

{

static int Calculate(int x)

{

if (x == 0) throw new ArgumentException("Значение ноль недопустимо.");

return 100 / x;

}

public static void Main(string[] args)

{

bool isValid = false;

while (!isValid)

{

try

{

Console.Write("Введите число: ");

int input = int.Parse(Console.ReadLine());

Console.WriteLine($"Вывод: {Calculate(input)}");

isValid = true;

}

catch (ArgumentException e) { Console.WriteLine("Ошибка: " + e.Message + " Повторите попытку."); }

catch (FormatException) { Console.WriteLine("Неправильный ввод. Повторите попытку."); }

catch (Exception e) { Console.WriteLine("Системная ошибка: " + e.Message + " Повторите попытку."); }

}

Console.WriteLine("Программа завершилась успешно.");

}

}

Томск 2025

Соседние файлы в предмете Языки программирования