Урок 9

Меню

Урок 11

Урок 10.
Вычисления с циклами

     Циклы можно использовать не только для рисования, но и для вычислений. Вот программа, которая вычисляет и выводит на экран степени числа два.

PRINT "Степени двойки"
INPUT "введите максимальную степень ->", N
FOR K=l TO N
     PRINT 2^К
NEXT К
END

Замечание.

    Возведение в степень — довольно трудоемкая операция, она выполняется гораздо дольше умножения. Для простых программ эта разница быть может и не заметна, но для сложных вычислительных задач может оказаться значительной. Поэтому программисты всегда программируют возведение в целую степень с помощью нескольких операций умножения. В задаче про степень числа 2 вообще можно обойтись только одной операцией умножения на каждый шаг цикла.

PRINT "Степени числа 2"
INPUT "введите максимальную степень ->",N
Р=2
FOR K=l TO N
     PRINT P
     Р=2*Р
NEXT К
END

     В этой задаче программа должна вычислять элементы числовой последовательности аk , которые определяются по заданным правилам. Один из способов задания элементов числовой последовательности — это формула, зависящая от некоторого параметра. В первой программе используется именно такой способ. В ней параметр k изменяется в цикле от 1 до N, а элементы последовательности вычисляются по формуле аk = 2k.

    Другой способ — найти правило, выражающее очередной элемент числовой последовательности аk через предыдущий аk-1 (или несколько предыдущих). Такое правило называется рекуррентным, соотношением. Задав значение первого элемента последовательности, далее с помощью рекуррентного соотношения можно вычислить все последующие. Для степеней числа 2 рекуррентное соотношение очень простое — каждый следующий элемент в два раза больше предыдущего: аk = 2(аk-1).

     Во второй программе как раз и используется вычисление степеней числа 2 с помощью этого рекуррентного соотношения. Переменная р отводится для хранения очередного элемента последовательности, ее начальное значение а1=2. После вывода на экран очередного элемента последовательности оператором PRINT P старое значение заменяется на новое по рекуррентной формуле с помощью оператора Р = 2*Р.

Задания для практической работы.

     Напишите программу, которая вводит целое число и с использованием цикла печатает таблицу умножения (от 1 до 10) для этого числа. Например, если было введено число 5, то на экране должно появиться:

5*1=5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 *10= 50

Суммирование рядов чисел

     Еще одна часто встречающаяся задача обработки данных — суммирование числовых последовательностей. Задача ставится так: найти сумму первых N членов числовой последовательности аk , определяемой явной формулой или рекуррентным соотношением. Программа для решения этой задачи очень просто получается из программы для вычисления элементов последовательности. Возьмем для примера последовательность степеней числа 2 и чуть-чуть “подправим” две уже знакомые программы:

PRINT "Сумма степеней двойки"
INPUT "введите количество слагаемых ->", N
S=0
FOR K=l TO N
     S=S+2^K
NEXT К
PRINT "сумма = "; S
END

PRINT "Сумма степеней двойки"
INPUT "введите количество слагаемых ->",N
S=0: Р=2
FOR K=l TO N
     S=S+P
     Р=2*Р
NEXT К
PRINT "сумма = ";S
END

    В этих программах переменная S введена для накопления суммы. В самом начале мы записываем в эту переменную 0, ведь пока слагаемых нет, значит, и сумма равна нулю. Далее, в цикле, где раньше стоял оператор PRINT, выводящий значение очередного члена последовательности, мы ставим оператор S=S+2^K (или S=S+P), смысл которого увеличить S на 2k (или Р). Таким образом, при каждом выполнении цикла значение S увеличивается на величину очередного члена последовательности, и когда цикл кончится, в S будет находиться сумма N членов.

Урок 9

Меню

Урок 11

Яндекс цитирования Rambler's Top100
Сайт создан в системе uCoz