Register

OR

Do you already have an account? Login

Login

OR

Don't you have an account yet? Register

Newsletter

Submit to our newsletter to receive exclusive stories delivered to you inbox!

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

более месяца назад
Просмотров : 36    Ответов : 1   

Лучший ответ:

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

более месяца назад
Ваш ответ:
Комментарий должен быть минимум 20 символов
Чтобы получить баллы за ответ войди на сайт





Вы можете из нескольких рисунков создать анимацию (или целый мультфильм!). Для этого нарисуйте несколько последовательных кадров и нажмите кнопку Просмотр анимации.


Другие вопросы: