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


Ответ
 
Опции темы Опции просмотра
Старый 14.05.2014, 22:13   #1 (permalink)
Cbvrf86
Member
 
Регистрация: 14.05.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile Turbo Pascal. Численные методы

Добрый день (утро, вечер, ночь) уважаемые форумчане. Помогите пожалуйста сделать задание по Информатике. Буду очень благодарен за помощь.

Задание во вложении
Вложения
Тип файла: docx Zadanie.docx (16.6 Кб, 188 просмотров)
Cbvrf86 вне форума   Ответить с цитированием

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

Похожие посты уже встречались на нашем форуме, обратите внимание

Погрешности для вычисления объема шара. Численные методы
Turbo Pascal
Turbo Pascal

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

Та-ак... Май, стало быть, к концу, забрезжила сессия, студенты просыпаются после весенней спячки...
Ну вот что, господа лоботрясы - хватит! Всем курсом решили на мне поездить? Не пойдёт! Стало быть, так:
Алгоритм решения задачи методом Рунге-Кутты (да-да, именно Кутты, а не Кутта, ибо фамилия математика - Кутта, а не Кутт, так можете и передать своим преподам) имеется здесь и здесь, методы численного решения уравнений, включая половинное деление, - здесь. Вперед и с песней!
Vladimir_S вне форума   Ответить с цитированием
Старый 15.05.2014, 10:57   #3 (permalink)
Cbvrf86
Member
 
Регистрация: 14.05.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile

ну что же вы так со мной строго, я без дела не сижу и параллельно и сам что то пытаюсь придумать. Просто по готовому и понимается предмет лучше.
Cbvrf86 вне форума   Ответить с цитированием
Старый 15.05.2014, 11:17   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Cbvrf86 Посмотреть сообщение
ну что же вы так со мной строго
Ну так а что же мне остаётся, если почти идентичные задачи в последние дни посыпались, как из рога изобилия? И никто не хочет взять готовый шаблон (ссылки выше) и, приложив минимальные усилия, адаптировать готовые решения к своей задаче. Нет, каждому распиши от и до, чтобы осталось тупо бездумно скатать и сдать.
Знаете, в общем-то мы здесь стараемся именно помогать в затруднительных случаях, а не выполнять учебные задания за лентяев, которые весь семестр профилонили а в последний момент спохватились.
А потому, повторяю: ссылки на решения аналогичных задач даны, попытайтесь составить программу под свою задачу, а уж если что-то не будет получаться - мы к Вашим услугам. А просто "вы напишите - я скатаю" - не пойдёт. Извините.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.05.2014, 20:39   #5 (permalink)
Cbvrf86
Member
 
Регистрация: 14.05.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Уважаемый Владимир, в представленных примерах, (не могу дать ссылку т.к у меня менее 20 сообщений) у пользователя Tanechka вы дали решение по методу Эйлера, хотя в задании сказано по методу Рунге-КуттЫ 2го порядка с коррекцией в средней точке, они различаются. Пример в приложении. Пригодилась ссылка для метода половинного деления, а вот с Куттой проблемы
Вложения
Тип файла: docx Primer.docx (16.6 Кб, 181 просмотров)
Cbvrf86 вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 18.05.2014, 20:54   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Cbvrf86 Посмотреть сообщение
Уважаемый Владимир, в представленных примерах, (не могу дать ссылку т.к у меня менее 20 сообщений) у пользователя Tanechka вы дали решение по методу Эйлера, хотя в задании сказано по методу Рунге-КуттЫ 2го порядка с коррекцией в средней точке, они различаются.
Уважаемый Cbvrf86, ну что же - давайте разбираться. Прежде всего, откроем вот эту ссылку и внимательно просмотрим статью. Так вот, вначале там действительно описывается метод Эйлера, но дальше есть раздел "Модифицированный метод Эйлера с пересчетом", иначе называемый методом Рунге-Кутты второго порядка. Именно по этому алгоритму и решались задачи Танечки и других.
Vladimir_S вне форума   Ответить с цитированием
Старый 18.05.2014, 20:59   #7 (permalink)
Cbvrf86
Member
 
Регистрация: 14.05.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

с вами то я спорить не буду, а вот насчет препода, я незнаю что он скажет если начнет в коде копаться, решение то может и верное, но формулы то различаются. с тем что вы мне показали, и что я во вложении показал. Сижу пока думаю как заменить.
Cbvrf86 вне форума   Ответить с цитированием
Старый 18.05.2014, 21:13   #8 (permalink)
Cbvrf86
Member
 
Регистрация: 14.05.2014
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

хорошо вы меня убедили =) хотя я не вижу чем эти формулы идентичны
Cbvrf86 вне форума   Ответить с цитированием
Старый 18.05.2014, 21:16   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Cbvrf86 Посмотреть сообщение
хорошо вы меня убедили =) хотя я не вижу чем эти формулы идентичны
Так. Вас-то убедил, а сам сейчас рассмотрел - нет, есть-таки различие . И где они такое выкопали? Ладно, сейчас нарисую "по-ихнему". Мудрецы, блин...
Vladimir_S вне форума   Ответить с цитированием
Старый 18.05.2014, 21:45   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Вот так:
Код:
Const
 Eps=0.0001;
 h=0.1;
 N=10;

Var
 I:Array[0..N] of Real;
 j:integer;
 t,Z,k:Real;

Function G(p:real):Real;
begin
 G:=p*p*p*p*p-p*p*p-3.0;
end;

Function EQRoot:real;
var
 a,b,c:real;
begin
 a:=1.0;
 b:=2.0;
 Repeat
  c:=(a+b)/2;
  if G(a)*G(c)<0 then b:=c else a:=c;
 Until b-a<Eps;
 EQRoot:=c;
end;

Function F(x,y,q:real):real;
begin
 F:=1-Sin(q*x+y)+y/(x+2);
end;

Begin
 k:=EQRoot;
 Writeln('k= ',k:0:5);
 I[0]:=1;
 t:=0;
 writeln('t= ',t:3:1,'   I= ',I[0]:6:3);
 for j:=1 to N do
  begin
   t:=t+h;
   Z:=I[j-1]+h/2*F(t-h,I[j-1],k);
   I[j]:=I[j-1]+h*F(t-h/2,Z,k);
   writeln('t= ',t:3:1,'   I= ',I[j]:6:3);
  end;
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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