рахувати, потрібно ввести коефіцієнти. Коефіцієнт в перше поле введення, коефіцієнт - в друге поле введення. Після цього натискаємо кнопку Calculate Log a і виведеться відповідь.
Малюнок 4 - Вікно програми відразу після запуску
Повідомлення оператору:
У даній програмі не передбачено будь-які повідомлення оператору, крім тексту в поле діалогового вікна.
4. Керівництво програміста
У додатку подано: призначення програми, умови виконання програми, опис змінних і функцій, використовуваних в програмі.
Дана програма призначена для підрахунку функції: при введенні коефіцієнтів. Написана в MASM32 з використанням стандартних бібліотек.
Мінімальні системні вимоги:
) операційна система: Windows XP;
2) процесор: Pentium III;
) відео: 800x600;
) оперативна пам'ять: 2 Мб.
) Клавіатура, миша
Умови виконання програми:
Введення в 16-річної системі числення.
Дана програма використовує наступні змінні:
ClassName - назва класу вікна;
AppName - заголовок вікна;
MenuName- назва меню;
ButtonClassName- назва класу кнопки;
ButtonText - текст на кнопці;
EditClassName - назва класу поля введення;
TestString - текст тестової рядка; - ціле число дві;
a - коефіцієнт а (формат: рядок);
x - коефіцієнт b (формат: рядок); - відповідь після проведення операцій в співпроцесор (формат: дійсне число);
buffer - відповідь після проведення операцій в співпроцесор (формат: рядок);
Використовувані бібліотеки:
Системні бібліотеки kernel32.lib, user32.lib і gdi32.lib містять функції WIN API. Бібліотека masm32.lib містить функції StrToFloat і FloatToStr.
Розглянемо основні використані функції/процедури: dwExStyle,//покращений стиль окнаlpClassName,//покажчик на зареєстроване ім'я классаlpWindowName,//покажчик на ім'я окнаdwStyle,//стиль окнаx,//горизонтальна позиція окнаy, //вертикальна позиція окнаnWidth,//ширина окнаnHeight,//висота окнаlpString,//рядок сімволовcbString//число сімволовhWnd,//дескриптор вікна або елемента керування з текстомlpString,//адрес буфера для текстаnMaxCount//максимальне число символів для копірованіяhWnd, //дескриптор вікна або елемента управленіяlpString//адрес строчки
HWND hWnd,//дескриптор приймаючого вікна
UINT Msg,//відправлене повідомлення
WPARAM wParam,//додаткова конкретизує інформація
LPARAM lParam//додаткова конкретизує інформаціяфункція перекладу рядки з ASCII в число з плаваючою точкою подвійної точності [3];
stringValue: string;// Преутворена рядок
floatValue: Extended;// Отримане число
FloatToStr- функція, обернена попередньої [3];
floatValue: Extended;// Преобразуемое число
stringValue: string;// Отриманий рядок
Використані команди арифметичного співпроцесора:
finit- ініціалізує арифметичний співпроцесор, очищення регістрів співпроцесора і його прапорів;
fld- завантажує параметр, написаний після функції, у вигляді дійсного числа в вершину стека; завантажує ціле число, переводить його в речовий і переносить в вершину стека;
fadd- складання двох речових значень. Якщо без операндів, то складає ST (0) і ST (1). Результат в ST (0); робить розподіл дійсних чисел. Якщо без операндів, то ділить ST (1) на ST (0). Результат в ST (0); збереження речового значення з вершини стека в змінну, зазначену після функції, з виштовхуванням.
5. Обчислювальний експеримент
У даному розділі будуть приведені: перевірка можливості введення різних величин, перевірка працездатності за тестовими значенням, висновок по обчислювальному експерименту.
Робота з програмою здійснюється згідно з вказівками, наведеними в розділі керівництво оператора.
Введемо в поле введення числа (малюнок 5) і переконаємося, що програма може їх обробити і видати правильну відповідь.
Введені дані: a=3, X=0.7. Відповідь: 0.2662463 (Малюнок 6).
Малюнок 5 - Обчислювальний експ...