Алгоритмы обработки последовательностей чисел
Последовательность значений - это набор однотипных величин, которые вводятся и обрабатываются циклически. Примером последовательности целых чисел может быть следующий набор значений: (2,5,-4,10,1,0). Последовательности значений отличаются от массивов значений тем, что в памяти одновременно все значения последовательности не хранятся. Для обозначения значения последовательности используют одну переменную, в которую на каждом шаге итерации вводится очередное значение последовательности. Отличительной особенностью последовательности является также возможность содержания неопределенного или неизвестного заранее количества ее значений. В этом случае критерием окончания последовательности служит некоторое особое значение, например, ноль.
Пример 7. В числовой последовательности определить сумму положительных и произведение отрицательных чисел. Решение представить с использованием циклического алгоритма с предусловием. Признак конца последовательности - значение 0.
Решение.
Обозначим за Х переменную, содержащую очередное значение последовательности, за S - сумму положительных значений , за Р - произведение отрицательных значений. Полученный алгоритм приведен на рис. 14. Условие
Рис.14. Алгоритм вычисления суммы положительных и произведения отрицательных значений числовой последовательности
для выбора вычислений Х>0. Для вычисления суммы значений воспользуемся реккурентной формулой S=S+X с начальным значением S=0, для вычисления произведения - реккурентной формулой P=P*X с начальным значением Р=1. Условие выхода из цикла неравенство Х<>0.
Пример 8.Составить циклический алгоритм с постусловием для определения в последовательности целых чисел количества четных чисел.
Решение. Обозначим за Х переменную, содержащую очередное значение последовательности, за K - количество четных значений (рис. 15). Условие для выбора четных значений Х mod 2=0 (остаток при делении Х на 2 равен 0). Для вычисления количества значений воспользуемся реккурентной формулой К=К+1 с начальным значением К=0.