logo
2010_150 Акчурин - Программирование на языке C#

14.1.Операции с вещественными числами

Задание. Создать программу, обрабатывающую исключения при работе с вещественными числами с использованием инструкции try… catch…finally. Проект – консольное приложение.

В задании надо рассчитывать массив f [ x ] = 1 / (x – N) при x =0…k.

Варианты заданий. N – последняя цифра номера зачетной книжки плюс 5.

Необходимо отслеживать два исключения:

При работе с программой менять k, чтобы получать разные условия возможного возникновения исключений.

Пример. Вариант задания: f[x] = 1 / (x-5). N=10/

Листинг программы

using System;

namespace TryCatchDouble

{

class Program

{

static void Main()

{

int k=0;

Console.WriteLine("Введите k в пределах 0...10");

Console.Write(" k="); // Приглашение ввода

string v = Console.ReadLine(); // Ввод строки

k = Convert.ToInt32(v);

double[] f = new double[10]; // Определен массив размером 10

try // Инициализация исключения

{

for (int x = 0; xi < k + 1;x ++)

{

f[x] = (double) 1 / (x - 5); // Вычисление элемента массива

Console.WriteLine("x= {0}, f[x]= {1}", x, f[x]);

}

}

// Перехватить попытку деления на 0

catch (DivideByZeroException e)

{

Console.WriteLine("Попытка деления на 0");

Console.WriteLine(e.ToString());

}

// Перехватить выход за пределы диапазона

catch (IndexOutOfRangeException e)

{

Console.WriteLine("Выход за пределы диапазона");

Console.WriteLine(e.ToString());

}

// Перехватить другие исключения

catch (Exception e)

{

Console.WriteLine("Фатальная ошибка");

Console.WriteLine(e.ToString());

}finally

{

Console.WriteLine("Нажмите любую клавишу");

Console.ReadKey();

}

}

}

}

Консоль перед закрытием программы (3 варианта):