Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 27.12.2015, 22:54   #1 (permalink)
farejoker
Member
 
Регистрация: 26.04.2013
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Найти точки в графике

Написать программу на Паскале
Миниатюры
aacuiyiiue.png  
farejoker вне форума   Ответить с цитированием

Старый 27.12.2015, 22:54
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Судя по всему проблема частая, на нашем форуме нашлись совпадения

Точки на изображении
Возможно ли играть на встроенной графике от процессора Intel?
О графике выпуска версий Mozilla Firefox
Неподвижные точки

Старый 28.12.2015, 10:48   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Сударь, извините великодушно, но Вы это западнохристианское Рождество празднуете или уже Новый Год? Что за невнятная бредятина?
Vladimir_S вне форума   Ответить с цитированием
Старый 28.12.2015, 14:58   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

М-да... Думал я, стало быть, думал да и надумал вот что: не является ли этот бессмысленный пост иллюстрацией потуг решить вот эту задачку? Если так, то...
Охо-хо, грехи...
Ладно, начнем, помолясь...
Прежде всего - строим (не карякаем, а именно строим) график, и не чего попало, а функции, стоящей в левой части уравнения:
fire.jpg
И что же мы тут видим? А видим мы ШЕСТЬ корней уравнения. Вот мы их, все шесть, и найдем методом секущих.
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.jpg
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:55.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.