Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
1 / 1 / 0
Регистрация: 18.12.2014
Сообщений: 38
1

Нахождение корней функции

13.11.2019, 15:56. Показов 904. Ответов 9
Метки нет (Все метки)

Есть код для нахождения корней квадратного уравнения. По заданию необходимо добавить функцию kx+d. Пользователь вводит: a, b, c, k, d. Затем, как результат, вывести точки пересечения двух этих функций.
Все выполняется в консоли.
Код функции для нахождения корней уравнения:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
type tres = record
 x1, x2,d,x:real;
 end;
 
  Function FindRoots(a,b,c,x1, x2,d : real) : tres;
 begin
 d := (b*b-4*a*c);
 writeln('Дискриминант = '+FloatToStr(d));
 
 if d<0 then
    begin
    writeln('Дискриминант отрицательный, корней нет ');
    readln;
    end;
 
 if d>0 then
    begin
     result.x1:=((-b-sqrt(d))/(2*a));
    writeln('x1 = ' + FloatToStr(result.x1));
 
    result.x2:=((-b+sqrt(d))/(2*a));
     writeln('x2 = ' + FloatToStr(result.x2));
     readln;
    end;
 
  if d=0 then
      begin
        result.x := (-b/2*a);
        writeln ('x = ' + FloatToStr(result.x));
        readln;
      end;
 
 end;
 
 var
 a,b,c,x1, x2,d,k : real;
 s : string;
   r: tres;
 begin
  while s<>'Extit ' do
    begin
      if s = 'Exit' then
      break;
      write('введите число a: ');
       readln(a);
 
      write('введите число b: ');
      readln(b);
 
      write('введите число c: ');
      readln(c);
 
 write('введите число k: ');
      readln(k);
 
      write('введите число d: ');
      readln(d);
 
      r := FindRoots(a,b,c,x1,x2,d);
 
      readln;
    end;
 
 end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2019, 15:56
Ответы с готовыми решениями:

Нахождение корней уравнения
Добрый вечер! Ребята, срочна нужна помощь... Пишу лабу по нахождению корней уравнения, метод...

Нахождение корней уравнения
Используя численный метод половинного деления найти корни следующих уравнений. Использовать...

Нахождение корней уравнения по заданному алгоритму
Здравствуйте ,подскажите пожалуйста , где ошибся . Нужно найти корни простого уравнения . Метод...

Нахождение корней квадратного и линейного уравнений
Написать программу нахождение корней квадратного и линейного уравнений. При нажатии кнопки...

9
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.11.2019, 16:10 2
Найти корни системы
ax2+bx+c=0
kx+d=0
........................
x:=-d/k;
подставляем в первое уравнение, находим x3,y3,x4,y4.
0
1 / 1 / 0
Регистрация: 18.12.2014
Сообщений: 38
13.11.2019, 16:31  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
ax2+bx+c=0
kx+d=0
Как и в какие строки нужно вписать эти уравнения? В тело функции?
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.11.2019, 16:40 4
Конкретно эти строки никуда писать не нужно, выведите на бумажке, а в программе напишите
x3:=.................
y3:=k*x3+d;
x4:=.............
y4:=k*x4+d;
Вывод x3,y3,x4,y4
Это перед readln;
0
1 / 1 / 0
Регистрация: 18.12.2014
Сообщений: 38
13.11.2019, 17:31  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
x3:=.................
y3:=k*x3+d;
x4:=.............
y4:=k*x4+d;
Вывод x3,y3,x4,y4
Это перед readln
Ну я нашел корень уравнения (х3), что будет под х4 я не понимаю?
Delphi
1
2
3
4
5
6
7
8
9
10
x3 := (-b)/k;
      writeln(x3);
      readln(x3);
      y3 := k*x3 + d;
 
      y4 := k*x4 + d;
 
      r := FindRoots(a,b,c,x1, x2,d,k, x3,x4,y3,y4);
 
       readln;
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.11.2019, 17:35 6
Вы находите х из уравнения y=kx+d
и подставляете в уравнение ax^2+bx+c, решаете квадратное уравнение, где 2 корня х3, х4.
0
1 / 1 / 0
Регистрация: 18.12.2014
Сообщений: 38
13.11.2019, 17:48  [ТС] 7
Как это реализовать в виде кода, что вписывать и какие значения присваивать? Надо создавать еще одну функцию? У меня же нету как таковых "y=kx+d" и "у=ax^2+bx+c". Если есть уже вычисленные корни квадратного уравнения, то в какие строки нужно вписать решение с использованием "Х" от другой функции?
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.11.2019, 17:51 8
У Вас есть парабола y=ax^+b+c и прямая y=kx+d, нужно найти точки их пересечения, для чего нужно решить систему уравнений. Что непонятно? На изучали в школе арифметику, Ваши проблемы.
0
1 / 1 / 0
Регистрация: 18.12.2014
Сообщений: 38
13.11.2019, 18:12  [ТС] 9
Проблема не в математике, а в программировании) Вот в нем то я и не понимаю, что куда и каким образом прописыватся
0
Почетный модератор
64087 / 47496 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
13.11.2019, 18:19 10
из системы уравнений получаешь
kx+d=ax^2+bx+c
приводишь подобные члены, получаешь квадратное уравнение, решаешь его своей функцией, получаешь х3, х4.
потом получаешь y3=k*x3+d y4=k*x4+d.

Добавлено через 2 минуты
Все действия по приведению делаешь или в уме или на бумажке.
ax^2+(b-k)*x+c-d новое уравнение.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2019, 18:19

Нахождение корней уравнения методом секущих
Найдите корни уравнения 9,33sin(6,977x) – 7,25х = 0 с точностью e методом секущих.

Нахождение 2го и следующих корней методом половинного деления
Есть программа, которая ищет корень методом половинного деления. Как сделать, что бы она искала...

Нахождение корней функции
Ребят помогите с написанием программы, срочно нужно 1. Задав достаточно большой интервал, получить...

Нахождение корней функции f(x)=0 методом Ньютона
Нужно написать программу нахождения корней функции f(x)=0 методом Ньютона. Функция должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru