Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка2.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
338.43 Кб
Скачать

2 Проектирование

Данный программный продукт написан на языке Turbo Assembler 5.0 с исполь­зованием команд математического сопроцессора. Математический сопроцессор представляет собой устройство, совмещённое в одном корпусе с основным процес­сором и предназначенное для выполнения операций над числами с плавающей точ­кой.

Программа написана в соответствии с принципами структурированного про­граммирования. Это означает, что код программы состоит из нескольких модулей, выполняющих определённые действия, которые в свою очередь состоят из проце­дур, выполняющих определённые действия на уровне модуля.

2.1 Разработка алгоритма реализации задачи

Для расчета интерполяции необходимо ввести число N, необходимое для определения величины каждого интервала разбиения (dx).

Для всех N+1 точек расстояния необходимо провести вычисления значений функции. При этом необходимо проверять, какому из 3-х интервалов заданного диапазона принадлежит текущая точка Хi.

Значения Хi и соответствующие им значения функции Yi образуют таблицу значений функции. Сформированная таблица позволяет осуществлять вычисления аппроксимированных значений функции во всем интервале ее изменения от Х0 до Хn. При этом для введенного пользователем значения Х аппроксимация значения вычисляется по формуле .

  1. Началом программы является метка Start модуля main

  2. Инициализация сегмента данных и сопроцессора.

  3. Сообщение с просьбой ввода чисел и с помощью процедуры ввода вещественного числа ввести количество интервалов и X.

  4. Вычисление значений функций в соответствии с шагом dx ( количество значений – не больше 100)

  5. Каждая итерация сопровождается вводом вещественного числа в массив.

  6. Затем выполняется вывод результата в соответствии с вводимым

числом по формуле:

Данный программный продукт состоит из 3 – х программных кодов модулей, а именно:

  1. main.asm

  2. input.asm

  3. out.asm

Рассмотрим каждый из модулей

1) В этом модуле находятся все необходимые процедуры, используемые для вычисления функций представленных в задании курсового проекта в соответствии с вариантом. Рассмотрим подробнее каждую из процедур:

Ssearch_Y proc– данная процедура определяет интервал попадания значения Х и вычисляет значения Y по одной из формул: xsin(x) - на первом участке диапазона значений х; sin(x^2) на втором участке диапазона; х3 – на третьем участке диапазона.

Search_l proc– данная процедура вычисляет значение длины интервала L =Хn - X0.

Search_vdX proc –процедура приращения значения аргумента dX=L/n.

Next_X proc-вычисляет следующее значение Х, т. е. Х=Х+dX.

2) Что касается этого файла, то здесь находятся программа вывода вещественного числа короткого формата (32 бита). Вход: выводимое значение - в поле float32. Выход: вывод вещественного числа короткого формата на экран.

3) В этом модуле находится функция Input_Float для преобразования введённых символов в вещественное число. Ввод с клавиатуры вещественного числа, максимальное число состоит из 20 цифр (22 - с учетом 0d0ah).Выход: вещественное число в вершине стека сопроцессора - эквивалент своего исходного символьного представления.

2.2 Разработка структуры программы в соответствии с выбранной моделью

Итак, из всего выше сказанного можно сделать вывод, что данный программный продукт можно разбить на 3 модуля, каждый из которых выполняет свои функции и процедуры, а именно:

main.asm содержит все необходимые процедуры, используемые для вычисления функций представленных в задании курсового проекта;

v_simvol.asm содержит программу вывода вещественного числа короткого формата (32 бита);

v_Vesh.asm содержит ввод с клавиатуры вещественного числа.