Бодичка539
11.12.2022 21:32

Синформатикой. ! нужно определить значение переменной s

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
twelve2
21.01.2020 10:16
// PascalABC.Net
var
  a,b,h,x,F:double;
begin
  h:=0.1;
  Write('Введите через пробел границы интервала табудяции: ');
  Read(a,b);
  x:=a;
  while x<=b+(h/2) do begin
    F:=5*sin(x)+cos(sqr(x));
    Writeln(x:8:5, F:10:5);
    x:=x+h
  end;
end.

Тестовое решение
Введите через пробел границы интервала табудяции: -2 3
-2.00000  -5.20013
-1.90000  -5.62379
-1.80000  -5.86440
-1.70000  -5.92684
-1.60000  -5.83346
-1.50000  -5.61565
-1.40000  -5.30670
-1.30000  -4.93671
-1.20000  -4.52977
-1.10000  -4.10302
-1.00000  -3.66705
-0.90000  -3.22714
-0.80000  -2.78468
-0.70000  -2.33876
-0.60000  -1.88732
-0.50000  -1.42822
-0.40000  -0.95986
-0.30000  -0.48165
-0.20000   0.00585
-0.10000   0.50078
 0.00000   1.00000
 0.10000   1.49912
 0.20000   1.99255
 0.30000   2.47355
 0.40000   2.93432
 0.50000   3.36604
 0.60000   3.75911
 0.70000   4.10342
 0.80000   4.38888
 0.90000   4.60613
 1.00000   4.74766
 1.10000   4.80906
 1.20000   4.79062
 1.30000   4.69887
 1.40000   4.54780
 1.50000   4.35930
 1.60000   4.16228
 1.70000   3.98981
 1.80000   3.87408
 1.90000   3.83921
 2.00000   3.89284
 2.10000   4.01825
 2.20000   4.16975
 2.30000   4.27455
 2.40000   4.24355
 2.50000   3.99181
 2.60000   3.46597
 2.70000   2.67145
 2.80000   1.68892
 2.90000   0.66844
 3.00000  -0.20553

Замечание: В цикле  while x<=b+(h/2) do прибавление половины шага гарантирует, что несмотря на погрешности представления чисел в компьютере, цикл будет выполнен и для конечной точки интервала.
0,0(0 оценок)
Ответ:
FaizTimYr
29.10.2020 07:11
Сначала надо найти аналитическое решение задачи.
Определить координаты точек пересечения двух функций - это совместно решить уравнения, описывающего функции.
\begin {cases} y=x^2+c \\ y=kx+b \end {cases} \to x^2+c=kx+b \\ \\ x^2-kx+(c-b)=0 \\ D=k^2-4(c-b) \\ \displaystyle x_{1,2}= \frac{k\pm \sqrt D}{2}; \quad y_{1,2}=kx_{1,2}+b
Теперь можно составить программу, предусмотрев в ней анализ случаев D<0, D=0 и D>0.

uses Crt;
var
  k,b,c,x1,x2,y1,y2,d:real;
begin
  ClrScr;
  Write('Введите через пробел c,k,b: '); Read(c,k,b);
  d:=sqr(k)-4*(c-b);
  if d<0 then Writeln('Точек пересечения нет')
  else
    if d=0 then begin
      x1:=k/2; y1:=k*x1+b;
      Writeln('Координаты точки пересечения (',x1:0:4,',',y1:0:4,')')
    end
    else begin
      d:=sqrt(d);
      x1:=(k-d)/2; y1:=k*x1+b;
      x2:=(k+d)/2; y2:=k*x2+b;
      Writeln('Координаты точек пересечения:');
      Writeln('(',x1:0:4,',',y1:0:4,'), (',x2:0:4,',',y2:0:4,')')
    end;
  ReadKey
end.

Тестовые решения:
Введите через пробел c,k,b: -2 1 1
Координаты точек пересечения:
(-1.3028,-0.3028), (2.3028,3.3028)

Введите через пробел c,k,b: 1 3 -5
Точек пересечения нет

Введите через пробел c,k,b: 12 6 3
Координаты точки пересечения (3.0000,21.0000)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота