Курсовая работа: Деление чисел в нормализованной форме

Министерство образования и науки Российской Федерации

Федеральное агентство по образованию

Марийский государственный технический университет

Кафедра информатики и

системного программирования

Курсовая работа по дисциплине информатика на тему:

Деление чисел в нормализованной форме

Выполнила: студент ИВТ-11

Васильев Иван Федорович

Проверила: старший преподаватель

Кафедры ИиСП Иванова И.Н.

Йошкар-Ола

2009

Содержание

1. Теоретическая часть

1.1 Теория

1.2 Описание метода решения

2. Алгоритм (блок-схема) работы программы

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

2.2 Тестирование программы

3. Вывод

Введение

Постановка задачи:

Ввод: два числа в десятичной СС в естественной форме. Программа переводит числа в нормализованную форму, делит нормализованные числа.

Вывод: частное от деления в нормализованной форме в десятичной СС.

В данной курсовой работе показан один из алгоритмов деления чисел в нормализованной форме. Такие программы удобны для быстрого получения нормализованного произведения чисел с помощью TPPascal. Для реализации поставленной задачи я использовала теоретические сведения из курса информатики и ПнаЯВУ, а также полученные ранее знания в области программирования.

1. Теоретическая часть

1.1 Теория

Пусть имеются два числа X1 = M1 ·pk1 и X2 = M2 ·pk2 (здесь индексы у мантиссы и порядка означают не систему счисления, а служат номерами чисел). Умножение должно начинаться с выявления большего из k1 и k2 , нахождения модуля их разности k =|k1 - k2 | и сдвига вправо на k разрядов мантиссы того числа, у которого k оказался меньше. Операция деления, проводимая как над целыми, так и вещественными числами, приводит в общем случае к появлению вещественного числа, поэтому целые числа предварительно преобразуются в вещественный тип, т.е. переводятся в нормализованную форму. Очевидно, при делении X1 X2 мантисса частного M = M1 /M2 , а порядок k = k1 -k2 . При этом непосредственно операция деления сводится к сдвигу делителя вправо и последовательному вычитанию его из делителя (т.е. сложения с дополнительным кодом вычитаемого). Как и в предыдущих операциях, результат деления при необходимости нормализуется.

1.2 Описание метода решения

Метод решения заключается в считывании из INPUT в файл чисел, переписывании чисел без разделения их на целую и дробную части, подсчитывании количества разрядов чисел, выбора большего разряда, и сдвига вправо на k разрядов меньшего числа, затем деления нормализованных чисел, если возникает необходимость - нормализации результата, и вывода суммы в OUTPUT.

2. Алгоритм (блок-схема) работы программы

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

Программа считывает числа в файл, убирает ‘. ’, считает количество разрядов - k умножаем на 10, до тех пор пока не дойдем до дробной части, с помощью IFTHENELSE находим больший k у одного из чисел, а к меньшему числу добавляем нули, тем самым сдвигая его вправо, в то же время делим больший k на 1 разряд, предварительно присвоив его другому элементу, до тех пор пока k1 не будет равно k2, записываем в файл числа построчно, начиная с “0. ” - для нормализации, затем нули (если таковые имеются), и само число без “. ”. Считываем записанное построчно как числа и выполняем деление. Часто возникают ситуации, когда необходима нормализация результата, его нормализуем таким же образом как и вводимые числа. Выводим результат + “*k”.

PROGRAM DELENIEVNORMFORME;

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 209
Бесплатно скачать Курсовая работа: Деление чисел в нормализованной форме