|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.12.2012, 21:19 | #1 |
Регистрация: 20.12.2012
Сообщений: 6
|
Надо разобраться с паскалем!
Текст программы
Код:
Последний раз редактировалось Stilet; 29.12.2012 в 21:59. |
29.12.2012, 21:22 | #2 |
Регистрация: 20.12.2012
Сообщений: 6
|
вот тесты
Тест №1. Проверка исполнения функции ввода-ввывода информации. Ожидаемая реакция: программа выведет на экран строку с предложением ввести числовое значение, после ввод и нажатия Enter, произведет вычисление. Собственно тест: Запускается программа с помощью Turbo Pascal (Shift+F9). При запуске на экран выводится текст с информацией о программе, а также предложение ввести числовое значение. После ввода числового значения выводится на экран результат вычисления – вещественное число. Результат: скрипт ввода-вывода работает корректно. Тест №2. Проверка обработки ошибок скриптом. Ожидаемая реакция: при вводе значения, меньше -1, программа выводит сообщение об ошибке и предложение ввести корректное число. Собственно тест: вводим значение -2, программа выводит на экран строку с сообщением об ошибке. Вводим -1. Программа произвела вычисление и вывела результат на экран. Результат: обработчик работает корректно. Тест №3. Проверка работы цикла «попыток». Ожидаемая реакция: при вводе корректных данных программа дает десять попыток, нумеруя их от 1 до 10. При последней попытке вместо стандартной строки выводиться строка «Последняя попытка». Собственно тест: вводим десять раз значение 1. Программа 9 раз выдает стандартную строку и после ввода значения производит вычисление. На 10 раз выводится ожидаемая строка. Результат: цикл работает корректно. Тест №4. Проверка цикла вычисления итераций с заданной точностью. Ожидаемый результат: программа выведет на экран корректное значение с точностью до 10-4 Тест: результат вычисления не соответствует пределу точности, выявлена логическая ошибка. Результат: рекомендуется выводить все промежуточные значения x1 – тогда вы увидите, что оно просто расходится. Чтобы сходилось, надо применить метод "релаксации" и изменить "знак" производной функции 1. легко заметить, что если x0 - корень уравнения f(x)=0, значит для любой функции s(x) справедливо f(x)*s(x)=0 2. метод итерации для решения уравнения g(x)=x сходиться только если модуль производной |g'(x)| < 1 3. чтобы решить уравнение f(x)=y, выберем g(x) в виде g(x) = s(x)*(f(x)-y)+x - надо подобрать s(x) такое, чтобы выполнялось условие (2) причем вместо s(x) достаточно взять константу, значение константы подгоняется под макс. значение производной на диапазоне рассматриваемых. "иксов". Итого - заменить x1 := 2.73*sqrt(x0)-cos((1.5*x0)/2)+x0-y; на x1:= S*(2.73*sqrt(x0)-cos((1.5*x0)/2)-y) + x0; где S=-0.01 . решение! 1. легко заметить, что если x0 - корень уравнения f(x)=0, значит для любой функции s(x) справедливо f(x)*s(x)=0 2. метод итерации для решения уравнения g(x)=x сходиться только если модуль производной |g'(x)| < 1 3. чтобы решить уравнение f(x)=y, выберем g(x) в виде g(x) = s(x)*(f(x)-y)+x - надо подобрать s(x) такое, чтобы выполнялось условие (2) причем вместо s(x) достаточно взять константу, значение константы подгоняется под макс. значение производной на диапазоне рассматриваемых "иксов" итого - пусть попробуют заменить x1 := 2.73*sqrt(x0)-cos((1.5*x0)/2)+x0-y; на что-то типа x1:= S*(2.73*sqrt(x0)-cos((1.5*x0)/2)-y) + x0; где S=-0.01 ; |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
надо разобраться | pankofff | Свободное общение | 0 | 01.09.2011 21:27 |
Надо разобраться | Ponkole | Помощь студентам | 0 | 12.10.2010 19:17 |
Люди кто поможет с Паскалем ? курсовую сдать надо | BO4A | Помощь студентам | 6 | 27.05.2009 13:46 |
[B]Ну правда же, помогиет, сложности у меня с Паскалем...Очень надо Пару задачек![/B] | Neytrino | Помощь студентам | 3 | 16.05.2009 22:54 |