|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
20.03.2019, 09:49 | #1 (permalink) |
Member
Регистрация: 27.02.2019
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Вычисления бесконечных сумм и определенных интегралов
|
20.03.2019, 09:49 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Если воспользоваться поиском, то можно найти много полезного по вашему запросу Паскаль. Вычисление интегралов Нахождение интегралов |
20.03.2019, 10:39 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Так. Ну начнем с того, что в методичке, как всегда, брехня. Ну вот не могут они без этого, прям кусок в горло не лезет, если не наврут! Имею в виду, что суммирование должно быть не от k=1, а от k=0, и это принципиальнейший момент!
Два вопроса. 1. Что означает n=1 (1) 5 ? Не понимаю. 2. "В заданных точках х" — это в каких? Где и кем они "заданы"? |
20.03.2019, 10:42 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
А, насчет первого вопроса — кажется, дошло: это, по всей вероятности, надо понимать, как "для n от 1 до 5 с шагом 1". Ладно.
Второй вопрос остается. Или можно взять произвольную сетку в интервале (-1,+1)? |
20.03.2019, 12:51 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
И молчанье гробовое было ему ответом...
Ладно, вот Вам программа. Результат выводится в файл, каковой можно использовать для построения графиков (самостоятельного!!!): Код:
Var x:Real; n,j:ShortInt; P:Array[1..5,-10..10] of Real; f:Text; function Nfact(q:Byte):LongInt; var i:Byte; fact:LongInt; begin if q=0 then fact:=1 else begin fact:=1; for i:=1 to q do fact:=fact*i; end; Nfact:=fact; end; function Sign(d:Byte):ShortInt; begin if ((d mod 2)=0) then Sign:=1 else Sign:=-1; end; function X2np(X:Real; n:Byte):Real; Var i:Byte; Y:Real; begin if n=0 then X2np:=1 else if n=1 then X2np:=X else begin Y:=X; for i:=2 to n do Y:=Y*X; X2np:=Y; end; end; function Pnx(n:byte; x:Real):Real; var Sum:Real; k:Byte; begin Sum:=0; for k:=0 to (n div 2) do Sum:=Sum+Sign(k)*Nfact(2*(n-k))/Nfact(k)/Nfact(n-k)/Nfact(n-2*k)*X2np(x,(n-2*k)); Pnx:=Sum/X2np(2,n); end; Begin for n:=1 to 5 do for j:=-10 to 10 do P[n,j]:=Pnx(n,j/10); Assign(f,'Result.txt'); ReWrite(f); Writeln(f,' n=1 n=2 n=3 n=4 n=5'); for j:=-10 to 10 do begin write(f,' x = ',j/10:4:1,' '); for n:=1 to 5 do write(f,P[n,j]:12:7); Writeln(f); end; Close(f); End. |
20.03.2019, 14:37 | #5 (permalink) |
Member
Регистрация: 27.02.2019
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Прошу прощения, не всегда есть доступ в интернет) Спасибо за код, буду изучать, кстати у однокурсников похожие задания, но код у них в разы меньше и проще и в предыдущем задании с методом Симпсона было тоже самое, не знаю в чем дело
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
21.03.2019, 14:34 | #7 (permalink) |
Member
Регистрация: 27.02.2019
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Препод сказал мол, создать одну подпрограмму(функцию) факториала и постоянно обращаться к ней при факториале. А можно как то без массива обойтись и сделать код покороче, попроще, ибо мне трудно вникать, препод сказал код можно хоть большим хоть на полстраницы сделать результат будет одинаковый
|
21.03.2019, 16:10 | #8 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Цитата:
P.S. Может быть, я и неправ, но складывается у меня ощущение, что Вы не хотите толком учиться программированию, а хотите отныть зачёт у препода. Тут я Вам, извините, не помощник: без конца курочить программу в угоду вкусам и пристрастиям Вашего препода я не собираюсь. Хотите по сути разобраться — милости прошу, всегда рад помочь. |
||
21.03.2019, 16:42 | #9 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
И ещё.
Если Вы до сих пор не сподобились оттранслировать и запустить программу, то вот Вам результат её работы: Result.txt А это — построенные по полученным данным графики: Можете сравнить эти графики с картинкой из Вики (там, правда, еще построено для n=0): и убедиться в правильности работы программы. Так что идёт Ваш препод... да-да, Вы правильно поняли. |
23.03.2019, 13:54 | #10 (permalink) |
Member
Регистрация: 27.02.2019
Сообщений: 17
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Как раз таки хочу учиться программированию, но полтора часа лекции и 4 пары практических по паскалю в две недели... Кхм.. да и тк у меня база(по паскалю) по приходу в ВУЗ была нулевая, мне сейчас немного тяжеловато. Насчет кода, у меня не получается запустить программу в паскале ABC
Вот задания к лабораторной работе: |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|