Предмет: Информатика, автор: Amfit97

Набрать текст программы и отладить ее работу в среде Турбо Паскаль.
Подобрать тестовые данные. Протестировать.
Задачка:
Дана кривая, заданная уравнением y=x2+c и прямая y=kx+b. Определить, сколько общих точек имеют эти прямые, и найти их координаты.

Ответы

Автор ответа: Аноним
0
Сначала надо найти аналитическое решение задачи.
Определить координаты точек пересечения двух функций - это совместно решить уравнения, описывающего функции.
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{kpm 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)

Автор ответа: Amfit97
0
Можете нарисовать три координаты для этих решений
Автор ответа: Аноним
0
Вы самостоятельно не можете нарисовать координатные оси и поставить на них точки?
Автор ответа: Amfit97
0
Времени нет, очень нужно, прошу
Автор ответа: Аноним
0
О да, по-Вашему у меня времени полно, чтобы такой глупостью заниматься.
Похожие вопросы
Предмет: Математика, автор: катюша9356