Контрольная работа: Этапы подготовки и решения задач на элекронных вичислительных системах. Стили программирования
Задача . Ввести X и подсчитать значение функции Sin X по формуле
Решение .
Как правило, на верхнем уровне детализации алгоритм имеет вид последовательности операторов.
Начало
Ввести X;
Подсчитать сумму SinX;
Вывести сумму SinX на экран.
Конец
Первый и третий пункты алгоритма просты, а второй нуждается в детализации. Чтобы посчитать какую-то сумму, вначале очищают переменную, предназначенную для хранения суммы, а потом, при помощи конструкции повторения, накапливают в ней слагаемые. В данной задаче накопление слагаемых будем продолжать, пока очередное слагаемое не
станет достаточно маленьким, т.е. не перестанет заметно изменять сумму (можно математически доказать, что при любом X, начиная с некоторого слагаемого, они будут монотонно убывать).
Начало
Очистить переменную SinX = 0;
Получить первое слагаемое Piece = X;
Пока Piece > 0.0001 повторять
Начало
Прибавить очередное слагаемое к сумме SinX = SinX + Piece;
Вычислить следующее слагаемое Piece;
Конец
Конец
Остается уточнить, каким образом можно вычислить следующее слагаемое. Если присмотреться к формуле в условии задачи, то можно увидеть, что каждое следующее слагаемое получается из предыдущего путем умножения его на (-X*X) и деления на (i-1)*i, где i — число, стоящее под знаком факториала в знаменателе слагаемого. Для краткости назовем его номером слагаемого, хотя тогда слагаемые будут нумероваться только нечетными числами. С учетом такой нумерации слагаемых уточним последний алгоритм.
Начало
Очистить переменную SinX = 0;
Получить первое слагаемое Piece = X;
Установить номер первого слагаемого i = 1;
Пока Piece > 0.0001 повторять
Начало
Прибавить очередное слагаемое к сумме SinX = SinX+Piece;
Определить номер следующего слагаемого i = i+2;