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

2.2. Оконная процедура

WindowProc — это «оконная процедура. Каждое окно, независимо от того, является ли оно большим, как главное окно приложения для Windows, или маленьким, как кнопка, имеет соответствующую оконную процедуру. Оконная процедура — это способ инкапсулирования кода, отвечающего за ввод информации (обычно с клавиатуры или мыши) и за вывод информации на экран. Оконная процедура делает это, посылая «сообщения» окну. WindowProc вызывается только из Windows. Однако, в WinMain имеется ссылка на WindowProc, поэтому прототип этой функции описывается в самом начале программы, еще до определения WinMain.

Блок-схема:

Инициализация окна

WM_CREATE

Перерисовка рабочей области

WM_PAINT

Обработка сообщений от дочерних окон

WM_COMMAND

Ликвидация окна

WM_DESTROY

2.3. Функция kkp

Функция расчёта модуля комплексного коэффициента передачи для заданной частоты.

Блок-схема:

1 0

h=0

h=1

0

1

x[0][1]=complex<double>(0,2*M_PI*f*lc[m]);

x[1][0]=complex<double>(0,0);

x[1][0]=complex<double>(0,2*M_PI*f*lc[m]);

x[0][1]=complex<double>(0,0);

0

  1. 1

1 0

1

b[i][j]+=a[i][l]*x[l][j]

0

1 0

1

a[i][j]=b[i][j];

b[i][j]=complex<double>(0,0);

k=(sqrt(complex<double>(rg,0)/complex<double>(rn,0))*complex<double>(2,0))/

(a[0][0]+a[0][1]/complex<double>(rn,0)+a[1][0]*complex<double>(rg,0)+a[1][1])

2.4. Функция setka

Функция рисующая сетку для заданных значений клиентской области.

Блок-схема:

xstep=fstep*(xmax-xmin)/(fmax-fmin);

ystep=ustep*(ymax-ymin)/(umax-umin);

0

1

k=fmin;

0

1

MoveToEx(hdc,x,ymin,NULL);

LineTo(hdc, x,ymax);

TextOut(hdc,x-8,ymax+10,s,strlen(s));

k+=fstep;

MoveToEx(hdc,xmin,y,NULL); LineTo(hdc,xmax,y);

TextOut(hdc,xmin-35,y-10,s,strlen(s));

k1-=ustep;

k1=umax;

0

1

2.5. Функция graphic

Функция, рисующая график, который показывает зависимость комплексного коэффициента передачи от частоты в заданном диапазоне.

Блок-схема:

GZonPIX=(fmax-fmin)/(xmax-xmin);

PIXonK=(ymax-ymin)/(umax-umin);

MoveToEx(hdc,xmin,ymax-(kkp(fmin*1e6)-umin/1000)*PIXonK*1000,NULL)

0

LineTo(hdc,p,ymax-(kkp(((p-xmin)*GZonPIX+fmin)*1e6)*1000-umin)*PIXonK)

MoveToEx(hdc,p,ymax-(kkp(((p-xmin)*GZonPIX+fmin)*1e6)*1000-umin)*PIXonK,NULL)

1

  1. 0