var a,b,h,x:real; begin writeln('Введите интервал (a,b) и шаг табуляции h: '); readln(a,b,h); x:=a; {+0.000001 скомпенсирует накопление погрешности х} while x<=b+0.000001 do begin writeln(x:7:3,' ',3*cos(x/2)+4:10:7); x:=x+h end end.
Решение: program zadacha_1; const MaxM = 10; h = 0.2; type myArray = Array[1..MaxM] of real; var A:myArray; //Результаты будем записывать сюда x, y:real; i: integer; begin x := 2; while ((x >= 2.0) and (x <= 4.0)) do begin for i:=1 to MaxM do begin y := 3*cos(x/2)+4; A[i] := y; x := x + h; end; end; for i:=1 to MaxM do //Вывод массива write(A[i]:20); end.
var
a,b,h,x:real;
begin
writeln('Введите интервал (a,b) и шаг табуляции h: ');
readln(a,b,h);
x:=a;
{+0.000001 скомпенсирует накопление погрешности х}
while x<=b+0.000001 do
begin
writeln(x:7:3,' ',3*cos(x/2)+4:10:7);
x:=x+h
end
end.
Тестовое решение:
Введите интервал (a,b) и шаг табуляции h:
2 4 0.2
2.000 5.6209069
2.200 5.3607884
2.400 5.0870733
2.600 4.8024965
2.800 4.5099014
3.000 4.2122116
3.200 3.9124014
3.400 3.6134665
3.600 3.3183937
3.800 3.0301313
4.000 2.7515595
program zadacha_1;
const MaxM = 10;
h = 0.2;
type myArray = Array[1..MaxM] of real;
var A:myArray; //Результаты будем записывать сюда
x, y:real;
i: integer;
begin
x := 2;
while ((x >= 2.0) and (x <= 4.0)) do begin
for i:=1 to MaxM do begin
y := 3*cos(x/2)+4;
A[i] := y;
x := x + h;
end;
end;
for i:=1 to MaxM do //Вывод массива
write(A[i]:20);
end.