Тоже проблема с Рядом Тейлора.
Вложений: 1
Вычислить и вывести на экран в виде таблицы значения функции, заданной с помощью рада Тейлора, на интервале от хнач до хкон с шагом dx с точностью Эпсилон. Таблицу снабдить заголовком и шапкой. Каждая строка таблицы должна содержать значение аргумента, значение функции и колличество просуммированных членов ряда.
Просмотрев предыдущую программу. многое не поняла. Если у кого-то есть возможность написать не просто прогу, а добавить комментарии. Заранее спасибо. |
Цитата:
В Вашем случае программа выглядит вот так: Код:
CONST |
Спасибо. Сравню с тем, что написала и отвечу =)
|
Вот мой код. Мне кажется, что несмотря на длину, он более удачен.
PHP код:
|
Нет, Лена - так дело не пойдет!
Весь диапазон допустимых значений аргумента функции (х) - от -1 до +1 , а Вы задаёте ему тип Integer! Это прежде всего. Из мелочей - нет нужды вводить численное значение константы "пи" - в Паскале есть стандартная функция Pi, отдающая это значение с высокой точностью. В других аспектах программы не разбирался. А что касается "удачен"-"неудачен" - так это дело вкуса. Мне мой больше нравится. Хотя там украшательства минимизированы (псевдографика и пр.). Но, повторяю, у каждого программиста свой стиль. |
Есть нужда вводить Пи в константу, дабы далее укоротить программу, если заметите, что в константе добавлены /2.
И, к сожалению, для преподавателя важна графика, т.к. учимся мы подготавливать разнообразные программы для лёгкого обращения любым пользователем... |
Цитата:
itog := pi2-sumdrob; заменить строкой itog := pi/2-sumdrob; и при этом никакую константу не вводить. Но это так, к слову - хотите со своей константой - Ваше дело). Куда важнее другое. 1. Еще раз обращаю внимание - Вы считаете значения функции arccos(x). Эта функция определена в интервале значений х -1 ≤ х ≤ +1 а потому использование целочисленных (integer) форматов переменных x, x1, xk, dx АБСОЛЮТНО НЕДОПУСТИМО. 2. Вы совершенно неправильно трактуете смысл величины эпсилон (ε). Эта величина никакого отношения к форматам вывода чисел не имеет, а определяет, в конечном итоге, количество членов ряда, которое необходимо взять, чтобы результат был вычислен с заданной точностью (поэтому в моей программе и предусмотрен, для сравнения, вывод в последней колонке ТОЧНОГО значения функции arccos). По сути ε - это ни что иное, как значение остаточного члена ряда Тейлора. Почитайте в учебнике по матанализу, что есть остаточный член в форме Коши или в форме Пеано. В первом приближении (как сделано в моей программе) ряд можно прервать, когда следующий член разложения становится по абсолютной величине меньшим, чем наперед заданное ε, например ε=0.0001. И вообще, посмотрев внимательнее Вашу программу, пришел я к выводу, что Вы не очень четко разобрались в том, что такое ряд Тейлора, в частности Вы явно путаете переменную x с индексом суммирования n. |
Я не путаю. программа проверена. множество значений подставлено и просчитано. программа выдаёт верные ответы, что и требовалось.
И... согласна - у каждого свой стиль. |
ещё можно задавать вопросы по вашей программе??
Откуда вы взяли эту формулу?? Nx:=ROUND((Xfin-Xbeg)/DX); |
Цитата:
|
Часовой пояс GMT +4, время: 03:14. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.