Министерство образования Российской Федерации
ЮЖНО-УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра Автоматики и управления
Пояснительная записка к курсовому проекту
По дисциплине:
Программирование и основы алгоритмизации
Вариант № 1
Проверил:
доцент кафедры
Вставская Е.В.
“____”_____________2007г
Выполнил:
студент группы ПС-164
Лысенко Д.Г.
“____”_____________2007г
Челябинск
2007 г.
Содержание: 1. Постановка задачи. 3
2. Метод решения. 3
3. Текст программы.. 4
4. Схема алгоритма. 12
5. Вывод результата работы.. 14
6. Проверка правильности программы............................................ 14
Постановка задачи
Даны целые числа a, b и n. Вычислить.
1. Метод решения
Подключаем файл windowA.inc, в котором будут содержаться базовые структуры и константы Win32. Затем в процедуре start первоначально вызываем функции Win32 API, после чего происходит регистрация окна (определения класса окна и регистрация его в системе). Затем создаем и отображаем, собственно, само окно. Потом запускается цикл обработки сообщения, которые будут посылаться ОС программе и обрабатываться в отдельной процедуре WindowProc и затем собственно выход из программы.
В процедуре обработке сообщений, если нажата клавиша «Вычислить», то считывается значение из поля редактирования, преобразовывается в числовой формат, производятся нужные вычисления и выводится на экран
Текст программы
STYLBTN equ 40000000h + 10000000h
;WSCHILD+WS_VISIBLE
STYLEDT equ 40000000h + 10000000h + 800000h + 10000h
;Пример каркасного приложения для Win32
.486
locals
.model flat,STDCALL
include windowA.inc
includelib imp32i.lib
extrn GetModuleHandleA:PROC ;дескриптор класса окна
extrn LoadIconA:PROC ;дескриптор пиктограммы
extrn LoadCursorA:PROC ;дескриптор курсора
extrn GetStockObject:PROC ;дескриптор кисти
extrn RegisterClassExA:PROC ;регистрация класса окна
extrn CreateWindowExA:PROC ;создание экземпляра окна
extrn ShowWindow:PROC ;отображение окна
extrn UpdateWindow:PROC ;перерисовка окна
extrn GetMessageA:PROC ;получение сообщения
extrn TranslateMessage:PROC ;обнаружение сообщения
extrn DispatchMessageA:PROC ;передача сообщения
;оконной функции
extrn ExitProcess:PROC ;завершение процедуры
extrn BeginPaint:PROC ;начало перерисовки
extrn EndPaint:PROC ;конец перерисовки
extrn TextOutA:PROC ;вывод текста
extrn PostQuitMessage:PROC
extrn DefWindowProcA:PROC ;обработчик по умолчанию
extrn MessageBoxA:PROC
extrn SendMessageA:PROC
extrn GetDC:PROC
extrn ReleaseDC:PROC
;оконной функции
public WindowProc
.data
hwnd dd 0 ; дескриптор экземпляра окна
hInst dd 0 ; дескриптор класса окна
hdc dd 0
;
hedt1 dd 0 ;дескриптор поля редактирования
hbtn dd 0 ;дескриптор кнопки
hh1 dd 0
hh2 dd 0
hh3 dd 0
hh4 dd 0
hbtn1 dd 0
hbtn2 dd 0
CPBUT db '&Посчитать',0
CPBUT2 db 'В&ыход',0
CLSBTN db 'BUTTON',0
CPEDT db '',0
CLSEDT db 'EDIT',0
TEXT db ' '
TEXTA db ' '
TEXTB db 'результат: '
TEXTLEN = $-TEXT
ten dw 10
temp dw 0
a dd ?
b dd ?
n dd ?
wcl WNDCLASSEX <?> ;структура для регистрации класса
; окна
message MSG <?> ;структура для регистрации сообщений
szClassName db 'Приложение Win32',0
szTitleName db 'Курсач Лысенко Д. ............