• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Найти точки в графике

farejoker

Новые
Регистрация
26 Апр 2013
Сообщения
20
Реакции
0
Баллы
0
Найти точки в графике

Написать программу на Паскале
 

Вложения

  • Безымянный.png.webp
    Безымянный.png.webp
    4.1 KB · Просмотры: 51
Сударь, извините великодушно, но Вы это западнохристианское Рождество празднуете или уже Новый Год? Что за невнятная бредятина?
 
М-да... Думал я, стало быть, думал да и надумал вот что: не является ли этот бессмысленный пост иллюстрацией потуг решить вот эту задачку? Если так, то...
Охо-хо, грехи...
Ладно, начнем, помолясь...
Прежде всего - строим (не карякаем, а именно строим) график, и не чего попало, а функции, стоящей в левой части уравнения:
fire.webp
И что же мы тут видим? А видим мы ШЕСТЬ корней уравнения. Вот мы их, все шесть, и найдем методом секущих.
1. Определяем интервалы, в которых сидят корни: [-0.7; -0.5], [-0.2; -0.4], [-0.1; 0.1], [0.2; 0.4], [0.6; 0.7], [0.8; 0.9].
2. Берем программу отсюда, слегка причесываем под конкретную задачу и получаем:
Код:
Const
 Eps=0.00001;
 a1=-0.7;
 b1=-0.5;
 a2=-0.4;
 b2=-0.2;
 a3=-0.1;
 b3= 0.1;
 a4= 0.2;
 b4= 0.4;
 a5= 0.6;
 b5= 0.7;
 a6= 0.8;
 b6= 0.9;

Var
 Res:Real;
 i:Integer;

Function F(z:real):Real;
begin
 F:=1.8*Sqr(Sqr(z))-Sin(z*10);
end;

Procedure EQRoot(ar,br:real; var R:real);
var
 x1,x2,a,b,d:real;
begin
 a:=ar;
 b:=br;
 x1:=b;
 Repeat
  x2:=b-F(b)*(b-a)/(F(b)-F(a));
  d:=abs(x1-x2);
  if F(a)*F(x2)<0 then b:=x2 else a:=x2;
  x1:=x2;
 Until d<Eps;
 R:=x2;
end;

Begin   
 EQRoot(a1,b1,Res);
 Writeln(Res:9:5);
 EQRoot(a2,b2,Res);
 Writeln(Res:9:5);
 EQRoot(a3,b3,Res);
 Writeln(Res:9:5);
 EQRoot(a4,b4,Res);
 Writeln(Res:9:5);
 EQRoot(a5,b5,Res);
 Writeln(Res:9:5);
 EQRoot(a6,b6,Res);
 Writeln(Res:9:5);
 Readln 
End.
3. Любуемся полученным результатом:
FP01.webp
 
Назад
Сверху