Вопрос № 103703: Здравствуйте, помогите пожалуйста:
1)Протабулировать функцию y=x2-3x+5 (В-А/Н,х:=А..В-А-расстояние Н-шаг)
2)Дан ряд 1+1/2+1/3...+1/n. Найти n при котором сумма ряда становиться больше введенного числа a. (через while)...
Вопрос № 103.703
Здравствуйте, помогите пожалуйста:
1)Протабулировать функцию y=x2-3x+5 (В-А/Н,х:=А..В-А-расстояние Н-шаг)
2)Дан ряд 1+1/2+1/3...+1/n. Найти n при котором сумма ряда становиться больше введенного числа a. (через while)
Отправлен: 28.09.2007, 16:04
Вопрос задал: Leeryhomer (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Артём1983
Здравствуйте, Leeryhomer!
В приложении решение только второй задачи. Решал как и просил через while. Только цикл я задал бесконечный. а в нём уже условие выхода.
Приложение:
Ответ отправил: Артём1983 (статус: 3-ий класс)
Ответ отправлен: 28.09.2007, 23:47
Отвечает: Delph
Здравствуйте, Leeryhomer!
Протестировал решение, предложенное экспертом Артём1983, и несколько вещей мне не понравились. Во первых - цикл While в данном случае удобно заменить на Repeat ... Until <условие выхода>. Во вторых, ради интереса ввел число 25. Вылезла ошибка "деление на нуль". Значит, тип Integer не подходит для n. Поменял на Longint, снова запустил и ввёл 25. Программа задумалась. Задумалась всерьёз и надолго, и я не был уверен, что она придёт к какому-то выводу. Грубо оборвав вычисление (просто убив Borland
Pascal), поменял Real на Double, попутно внеся дополнительные изменения в программу. Смысл этих "наворотов" сводится к двум вещам: чтобы пользователь не скучал, наблюдая за расчётом, и чтобы можно было мягко прервать расчёт.
Изменённый вариант программы в приложении.
Приложение:
--------- Сомневайся во всём! Реальность часто бывает не такой, как мы о ней думаем.
Ответ отправил: Delph (статус: 10-ый класс)
Ответ отправлен: 01.10.2007, 11:47