В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
sobennikovaox
sobennikovaox
09.04.2022 23:26 •  Информатика

Всем привет) Задали домашку по проге:Модифицированным методом Ньютона решить функцию a0+a1*x+a2*x*x+a3*log(1/x)
Написал код,но с производной что-то не так
#include
#include
#include

float f(float a0, float a1, float a2, float a3, float x)
{
return a0+a1*x+a2*x*x+a3*log(1/x);
}

int main ()
{
int n;
float a0, a1, a2, a3, E, A, B, x0, x1, proisv;
FILE *myfile;
myfile = fopen ("Vivod.txt", "w");
printf ("Для решения уравнения a0+a1*x+a2*x*x+a3*ln(1/x) введите значения следующих коэффицентов: \n");
printf ("a0=");
scanf ("%f", &a0);
printf ("a1=");
scanf ("%f", &a1);
printf ("a2=");
scanf ("%f", &a2);
printf ("a3=");
scanf ("%f", &a3);
printf ("Введите желаемую точность решения: ");
scanf ("%f", &E);
printf ("Введите начальную границу интервала: ");
scanf ("%f", &A);
printf ("Введите конечную границу интервала: ");
scanf ("%f", &B);
printf ("Введите примерное значение решения уравнения(приближение): ");
scanf ("%f", &x0);

while ((x0 B))
{
printf ("Заданное приближение не принадлежит заданному интервалу.Введите корректное значение приближения: ");
scanf ("%f", &x0);
}

proisv=a1+(2*a2*x0)-(a3/x0);

do
{
x1=x0-(f(a0, a1, a2, a3, x0)/proisv);
x0=x1;
}while(fabs(x0-x1)>E);

if ((x1 B))
{
printf ("В заданном интервале нет решений данного уравнения. \n");
fprintf (myfile, "There are no solutions to this equation in this interval. \n");
}
else
{
printf ("%f \n", x1);
fprintf (myfile, "%f \n", x1);
}

}

Показать ответ
Ответ:
MrGleb3000
MrGleb3000
26.06.2020 07:51
Const
  n=5; // количество чисед
var
  i,k:integer;
  s:longint;
  m,d,dc:real;
  a:array[1..n] of longint;
  fin,fout:Text; // файловые переменные для ввода/вывода
 
begin
  Assign(fin,'input.txt'); Reset(fin); // файл готов к чтению
  s:=0;
  for i:=1 to n do
    if not Eof(fin) then begin
      Read(fin,a[i]);
      s:=s+a[i]
      end
    else begin
      Writeln('Во входном файле недостаточно данных');
      Close(fin);
      Exit
      end;
  Close(fin);
  m:=s/n;
  d:=Abs(a[1]-m); k:=1;
  for i:=2 to n do begin
    dc:=Abs(a[i]-m);
    if dc<d then begin
      k:=i; d:=dc
      end
    end;
  Assign(fout,'output.txt'); Rewrite(fout); // файл готов к записи
  Writeln(fout,a[k]);
  Close(fout)
end.
0,0(0 оценок)
Ответ:
gloria81
gloria81
01.04.2023 14:11
1)Военное дело
2)Моделирование физ. явлений и наблюдение на ними 
3)Обработка конкретных экспериментальных данных при проведении различных исследований
4)Решение задач метеопрогноза
5)Автоматизированные рабочие места
6)Автоматизированные системы планирования и управления производством
7)Банковские и биржевые компьютерные системы
8)Подготовка различных документов
9)Получение изображений внутренних частей непрозрачных тел
10)Системы массового обслуживания и информационно-справочные системы
11)Базы данных 
12)Аранжировка музыкальных произведений, цветомузыка
13)Компьютерный дизайн
14)Компьютерная мультипликация 
15)Лингвистика, расшифровка/зашифровка неизвестных языков, документов
16)Цифровая аудио- и видеозапись
17)Компьютерная геодезия и картография
18)Средства связи
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота