В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
dimallow
dimallow
30.08.2021 02:01 •  Информатика

Треугольник задан координатами своих вершин.
найти: площадь треугольника
программирование в 1с.

Показать ответ
Ответ:
vqw80494
vqw80494
29.07.2022 22:10
// 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 оценок)
Ответ:
overlord735
overlord735
06.04.2020 10:56
Сначала надо найти аналитическое решение задачи.
Определить координаты точек пересечения двух функций - это совместно решить уравнения, описывающего функции.
\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-бота