ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
169
область должна увеличиваться, вместо полуширины надо взять четверть и т.д. соот-
ветственно:
long double w=a2-a1;
long double h=b2-b1;
a1=mx-w/4; a2=mx+w/4;
b1=my-h/4; b2=my+h/4;
После этого следует перерисовать картинку заново.
Задание 3.
Добавьте на форму список, в котором можно выбирать цветовую схему.
В списке должны присутствовать схемы:
-
черно-белая. Черный – точки схождения, белый – расхождения.
-
прогрессивная. Color=RGB(n*r,n*g,n*b). n-номер итерации, на которой
зафиксировано расхождение ряда, r,g,b –константы (например – 2,3,4).
-
гармоническая:
red =128+127*Cos(n*r); //r=0.10
green=128+127*Sin(n*g);//g=0.11
blue =128+127*Cos(n*b);//b=0.08
-
ваша собственная.
При изменении схемы форма должна сразу же перерисовываться.
Для реакции на выбор элемента списка добавьте обработчик для сообщения
SBN_SELCHANGE.
Для получения номера выбранного элемента в списке можно использовать
метод
int GetCurSel()
списка
CComboBox
.
Задание 4.
Запустите функцию отдельным потоком, используя функцию CreateThread.
Добавьте кнопки для запуска и остановки вычислений в потоке. Для этого
удобно ввести флаг необходимости останова, который будет устанавливаться и
сбрасываться главным потоком, а проверяться – дочерним потоком. После установ-
ки флага желательно вызвать функцию Sleep, чтобы управление перешло к дочер-
нему потоку.
Задание 5.
Представим, что у нас имеется двухпроцессорная ЭВМ. Первый процессор
ориентирован на выполнение арифметических операций, и не имеет средств
взаимодействия с пользователем. Второй процессор – процессор на ПЭВМ под
1...,161,162,163,164,165,166,167,168,169,170 172,173,174,175,176,177,178,179,180