Основы визуальной алгоритмизации


Алгоритмы обработки последовательностей чисел


 

Последовательность значений - это набор однотипных величин, которые вводятся и обрабатываются циклически. Примером последовательности целых чисел может быть следующий набор значений: (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.




Начало  Назад  Вперед