Реферат: Системы, управляемые потоком данных. Язык Dataflow Graph Language.

32 Task : RECORD N:word; a,b:real; END;

33 S : real;

34 i : word;

35 FUNCTION f(x:real):real;

36 BEGIN

37 Result := 4 / (1 + x*x);

38 END;

39 BEGIN

40 exportDemand[0].Send (FloLib.CopyNumber, SizeOf(cardinal));

41 WHILE (true) DO WITH Task DO BEGIN

42 importArg.Receive (Task, SizeOf(Task));

43 IF (Task.N = 0) THEN EXIT;

44 h := (b-a)/N;

45 S := 0;

46 FOR i := 1 TO N DO

47 S := S + f(a+(i-0.5)*h);

48 S := h*S;

49 exportPartSum[0].Send (S, SizeOf(S));

50 exportDemand[0].Send (FloLib.CopyNumber,SizeOf(cardinal));

51 END;

52 END;


Файл Worker.frm : телопроцесса Worker

Бесконечный цикл 41-51 обеспечивает работу процесса до получения сигнала завершения от распределителя работ Manager.

В строке 42 ждем очередное задание Task. Если число интервалов в задании равно 0, то завершаем работу. В противном случае вычисляем частичную сумму на интервале (Task.a; Task.b) и отсылаем ее суммирующему процессу (строки 44-49). В строке 50 обращаемся к распределителю работ за очередным заданием.


53 PROCEDURE SummerBody;

54 VAR

55 N, i : cardinal;

К-во Просмотров: 259
Бесплатно скачать Реферат: Системы, управляемые потоком данных. Язык Dataflow Graph Language.