Консультация № 178571
22.05.2010, 20:11
43.65 руб.
23.05.2010, 10:05
0 3 1
Помогите составить программу на Pascal для решения следующей задачи. Буду также благодарен за комментарии

Заранее спасибо!

Обсуждение

давно
Мастер-Эксперт
17387
18353
23.05.2010, 09:57
общий
Модераторы:
Предлагаю перенести вопрос в рассылку, связанную с программированием на языке Паскаль.
Об авторе:
Facta loquuntur.
Неизвестный
26.06.2010, 10:21
общий
это ответ
Здравствуйте, Vilgelm.
Уф, не было у меня еще таких 2 месяцев: студент слабеет, чиновничий маразм крепчает .....
Но вот в приложении решение. Возможно, уже и не нужное, но простое

Приложение:
CONST
count = 11;

TYPE
TheY = function(yk, k, h: double; var xk: double): double;
TheArray = array[1..count] of double;

function func(yk, k, h: double; var xk: double): double; far;
begin
func := yk + h*(cos(k*xk + yk) + 7*(xk + yk));
xk := xk + h
end;

procedure Solution(var ar: array of double; TheFunc: TheY; x0, y0, h: Double);
var x, y: Double;
i: Integer;
begin
ar[0] := y0;
x := x0;
for i:=1 to High(ar) do
ar[i] := TheFunc(ar[i-1], 6, h, x);
end;

function Heat(ar: array of double; h: Double) : double;
var i : Integer;
sum : Double;

begin
sum := (ar[0]*ar[0] + ar[High(ar)]*ar[High(ar)])/2;
for i:= 2 to High(ar)-1 do
sum := sum + ar[i]*ar[i];
Heat := sum * h
end;

CONST
xStep = 0.1;

VAR
ArrY: TheArray;
i: Integer;
BEGIN
Solution(ArrY, func, 0, 0, xStep);
for i:= 1 to count do
Write(ArrY[i]:8:5,' ');
WriteLn;
WriteLn(Heat(ArrY, xStep):12:6);
END.
Неизвестный
26.06.2010, 13:53
общий
Спасибо!

Правда уже не актуально, но все равно спасибо, на будущее пригодится :)
Форма ответа