5. Разработка программы для решения задачи, содержащей ко­манду повторения (цикла).

5. Разработка программы для решения задачи, содержащей ко­манду повторения (цикла).

Условие:

Вычислить [1+3+5+...+(2п+1)]/[1*3*5*...*(2n+1)],n вводится.

Решение:

Можно выделить следующие этапы разработки компьютерных программ.

1) Подготовка алгоритма. Разработчик программы готовит ее алго
ритм в любой удобной ему форме (графически, с помощью естественного
языка или псевдокода и т. п.). В нашем случае составляется блок - схема.

2) Для подготовленного алгоритма выбирают язык программ
рования, позволяющий записать алгоритм в наиболее удобной и ком
пактной форме. Мы язык не выбираем, используем «Бейсик», но выби
раем такие действия в алгоритме, которые применимы для этого языка.

3) Записывают созданный алгоритм в соответствии с правилами синтак
сиса языка программирования. То есть набирают программу в данной сред
языка программирования. В нашем примере программа печатается в окне QBASIC.

4) Далее производится отладка программы при ее запуске и вы­
полнении. Она обрабатывается транслятором, и получается программа
записанная на машинном языке. Если есть ошибки, они исправляются.

Эти этапы повторяются всегда при разработке программ.

Составим блок - схему для данного алгоритма.

blockshema.jpg


В программе, составленной по этой блок-схеме, S - это числитель вычисляемой дроби, Р - знаменатель дроби, I - переменная цикла, R -результат деления числителя на знаменатель. Повторение производит­ся при нахождении суммы и произведения.

Данная программа выглядит так:

INPUT N

S = 0

P = l

K=2*N+1

FOR I = 1 ТО К STEP 2

S = S + I

P = P*I

NEXT I

R = S/P

PRINT R