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

0 голосов
33 просмотров

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


Информатика (17 баллов) | 33 просмотров
Дано ответов: 2
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<br>    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


(142k баллов)
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 <br> 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.
(5.9k баллов)