М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
simonenkoeliza
simonenkoeliza
21.03.2021 23:02 •  Информатика

Составить программу для вычисления корня нелинейного уравнения по методу касательных х^2-cos(x^2)=6

👇
Ответ:
Dogi2019
Dogi2019
21.03.2021
Для метода касательных (он же - метод Ньютона) надо задать начальное приближение и получить выражение для производной функции.
f(x)=x^2-\cos(x^2)-6; \\ f'(x)=2x+2x\sin(x^2)=2x(1+\sin(x^2))
Рекуррентная формула в методе Ньютона имеет следующий вид:
\displaystyle x_{n+1}=x_n- \frac{f(x_n)}{f'(x_n)}
Для нашей конкретной задачи можно записать:
\displaystyle x_{n+1}=x_n- \frac{x_n^2-\cos{x_n^2}-6}{2x_n(1+\sin{x_n^2})}
А еще надо задать погрешность решения, которую определим так:
\displaystyle |f(x_{n+1})|\leq \varepsilon

 function f(x:real):real;
begin
  f:=sqr(x)-cos(sqr(x))-6
end;

function fn1(x:real):real;
begin
  fn1:=x-(sqr(x)-cos(sqr(x))-6)/(2*x*(1+sin(sqr(x))))
end;

var
  xn,xn1,y,eps:real;
begin
  Writeln('Введите начальное приближение для корня: ');
  Read(xn);
  Writeln('Введите значение погрешности для решения: ');
  Read(eps);
  xn1:=xn; y:=f(xn);
  while abs(y)>eps do
    begin xn1:=fn1(xn); y:=f(xn1); xn:=xn1 end;
  Writeln('x=',xn1,' f(x)=',y)
end.

Тестовое решение:
Введите начальное приближение для корня:
-3
Введите значение погрешности для решения:
0.00001
x=-2.61645602631473 f(x)=1.28691349221555E-06
4,6(28 оценок)
Открыть все ответы
Ответ:
Klimovada
Klimovada
21.03.2021

Объяснение:

Из задания не совсем ясно, необходимо ли в программе производить ввод массиве, если нет, то решение следующее:

# Максимальный элемент массива

_max = max(d)

# Порядковый номер элемента

_index = d.index(_max)

# Вывод

print(_max, _index)

Если запрещено использовать встроенные функции, то:

# первый элемент - максимальный

_max = d[0]

_index = 0

# Цикл по всем элементам

for i, x in enumerate(d):

# Если элемент больше максимального

if x > _max:

_max = x

_index = i

# Вывод

print(_max, _index)

Если необходимо произвести и ввод, то в начале задачи надо дописать:

n = input('Введите n: ')

d = []

for x in range(n):

d.append(input('Введите число: '))

4,4(43 оценок)
Ответ:
Vlada434
Vlada434
21.03.2021
Procedure TForm1.Button1Click(Sender: TObject);
begin
    If FontDialog.Execute then
        RichEdit1.SelAttributes.Assign(FontDialog1.Font);
        RichEdit1.SetFocus;
    End;
end;

делфи у меня не установлены за совершенной ненадобностью, потому проверить возможности нет, но догадки показать могу.
 Не уверенна что RichEdit1.SelAttributes.Assign(FontDialog1.Font) выставляет шрифт, может там нужна кострукция типа
  RichEdit1.SelAttributes.Font := FontDialog1.Font
и конечно описка выделенная ранее, как на нее только компилятор не матерится
4,7(10 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ