Предмет: Информатика,
автор: rawwwr19
Найти значение y=3*cos(x/2)+4 на интервале [2;4] с шагом h=0,2, используя цикл с предусловием.
Ответы
Автор ответа:
0
Решение:
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.
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.
Автор ответа:
0
Я вариант попроще предложу...
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
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
Похожие вопросы
Предмет: История,
автор: adilhanova88
Предмет: Математика,
автор: udenkovdavid6933
Предмет: Математика,
автор: Аноним
Предмет: Алгебра,
автор: kalifornuya