Объяснение:
Из задания не совсем ясно, необходимо ли в программе производить ввод массиве, если нет, то решение следующее:
# Максимальный элемент массива
_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('Введите число: '))
Рекуррентная формула в методе Ньютона имеет следующий вид:
Для нашей конкретной задачи можно записать:
А еще надо задать погрешность решения, которую определим так:
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