Программирование,11 класс!!! Протабулируйте функцию ** промежутке y=xcos2x ** промежутке...

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

Программирование,11 класс!!!
Протабулируйте функцию на промежутке y=xcos2x на промежутке (-2:2) с шагом 0,2 и вычислите количество положительных значений!!!!!


Информатика (55 баллов) | 81 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

Const xn=-2; xk=2; h=0.2;
var x,y:real; i,n,k:integer;
begin
x:=xn-h;
n:=round((xk-xn)/h)+1;
k:=0;
writeln(' x     y');
for i:=1 to n do
 begin
 x:=x+h;
 y:=x*cos(2*x);
 if y>0 then k:=k+1;
 writeln(x:4:1,y:7:3);
 end;
writeln('k=',k);
end.

Результат:
 x     y
-2.0  1.307
-1.8  1.614
-1.6  1.597
-1.4  1.319
-1.2  0.885
-1.0  0.416
-0.8  0.023
-0.6 -0.217
-0.4 -0.279
-0.2 -0.184
 0.0  0.000
 0.2  0.184
 0.4  0.279
 0.6  0.217
 0.8 -0.023
 1.0 -0.416
 1.2 -0.885
 1.4 -1.319
 1.6 -1.597
 1.8 -1.614
 2.0 -1.307
k=10

(194k баллов)
0 голосов

Var x,y,h: real;    k: integer;begin  h:=0.2;  x:=-2+h;  k:=0;  repeat    y:=x*cos(2*x);    if y>0 then k:=k+1;    x:=x+h;  until x>2-h;  if k>0 then writeln('количество положительных:  ',k)  else writeln('нет положительных значений');end.

(9.7k баллов)
0

Кому верить?:))

0

   1.614   1.597   1.319   0.885   0.416   0.023  -0.217  -0.279  -0.184   0.000   0.184   0.279   0.217  -0.023  -0.416  -0.885  -1.319  -1.597  -1.614
количество положительных:  9
Это вывод на экран (для проверки)

0

Интервал открытый (-2,2) ->  значения  - 2  и +2  не входят

0

else writeln('нет положительных значений')-тогда это ошибка?

0

Это не ошибка, а для универсальности программы, т.к. можно задать и другой интервал, на котором нет положительных значений.

0

Извините пожалуйста,можете написать именно так,как это должно выглядеть?Просто вообще ничего не понимаю в этом((

0

Ответ записан. Просто копируете его и запускаете программу.  Оба варианта работоспособны.  Какой Вас устраивает - выбирать Вам.