Организация циклов и обработка массивов

Разумеется, реальные задачи, решаемые на ЭВМ, не сводятся к обработке отдельного элемента данных с помощью одной операции. Напротив, они требуют обработки многих элементов данных (например, массива или блока данных) или отдельных элементов, которые занимают несколько ячеек памяти. Программа может выполнять одну и ту же операцию над содержимым нескольких ячеек или элементов данных. Многократное выполнение группы команд осуществляется с помощью программных циклов, числом повторений цикла управляют счетчики, а указатели или индексы показывают, какой именно элемент данных обрабатывается при данном проходе цикла Пример 4. Сумма ряда чисел.

Задача состоит в том, чтобы осуществить суммирование нескольких чисел сразу. Эти числа могут представлять собой совокупности входных сигналов определенного типа, находящихся под управлением системы, число изделий, проданных в некоторой торговой операции, число очков, набранных в игре, или число сообщений, принятых за некоторый интервал времени. Предположим, что длина суммируемого ряда хранится в ячейке 41 и что сам ряд размещен, начиная с ячейки 42. Предположим также, что сумма не превышает 256 и для ее хранения достаточно одной 8-битной ячейки памяти с адресом 40.

Типичный пример

(41) = 03;

(42) = 35;

(43) = 72;

(44) = 1D

Ряд содержит три числа, так как в ячейке 41 находится чис^о 3-Сумма равна

(42)+(43)+(44) = 35+72+ID = С4 (все числа являются шестнадцатиричными). Итак, результат равен (40) = С4.

Процесс сложения выполняется следующим образом:

Шаг /.

COUNT =(41)

SUM= 0

POINTER = 42

Шаг 2.

SUM = SUM + (POINTER)

ШагЗ.

COUNT = COUNT —1

POINTER = POINTER + 1

Шаг 4.

ЕСЛИ COUNT = 0 ИДТИ К ШАГУ 2

Шаг 5.

(41) = SUM

Из блок-схемы (рис. 5.1З) видно, что программа состоит из четырех различных блоков:

1. Блок присвоения начальных значении переменным, счетчикам и указателям данных. Указатели представляют собой адреса данных.

2. Блок обработки, который фактически выполняет ' требуемые вычисления.

3. Блок управления циклом, в котором изменяются значения счетчиков и указателей перед выполнением следующей операции, а также осуществляется проверка числа выполнений цикла.

4. Заключительный блок выполняет запоминание результата.

Собственно суммирование выполняется в блоке 2. Однако наличие всех остальных блоков также существенно для обеспечения правильного выполнения блока 2. На рис. 5.14 приведена обобщенная блок-схема циклической программы. Первый и четвертый блоки ^выполняются только 1 раз, поэтому большая часть машинного времени затрачивается на выполнение второго и третьего блоков. Программа сможет выполняться существенно быстрее только в том случае, если программист сумеет уменьшить время работы второго и третьего1 блоков. Влияние первого и четвертого «блоков на время выполнения программы незначительно.
 



Шоппинг в коста брава шопинг на коста брава.