Найти значение y=3*cos(x/2)+4 на интервале [2; 4] с шагом h=0,2, используя цикл с предусловием.

yuliyaduda11 yuliyaduda11    1   09.06.2019 08:50    1

Ответы
Reddi900 Reddi900  08.07.2020 07:16
Я вариант попроще предложу...

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
ПОКАЗАТЬ ОТВЕТЫ
gamerXpro gamerXpro  08.07.2020 07:16
Решение:
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика