![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
|
Разработать программу вычисления суммы элементов массива чисел С1, С2,..., Сn. Исходными данными в этой задаче являются: n — количество суммируемых чисел и С,, С2,..., Сп — массив суммируемых чисел. Заметим, что должно выполняться условие n > 1, т. к. алгоритм предусматривает, по крайней мере, одно суммирование. Кроме того, предполагается, что суммируемые числа записаны в ОЗУ подряд, т. е. в ячейки памяти с последовательными адресами. Результатом является сумма S.
Составим программу для вычисления суммы со следующими конкретными параметрами: число элементов массива— 10, элементы массива расположены в ячейках ОЗУ по адресам 040, 041, 042,..., 049. Используемые для решения задачи промежуточные переменные имеют следующий смысл: Аi — адрес числа Сi, где I Î {l, 2,...,10}; ОЗУ(Аi) — число по адресу Аi S—текущая сумма; к — счетчик цикла, определяющий число повторений тела цикла.
Распределение памяти таково. Программу разместим в ячейках ОЗУ, начиная с адреса 000, примерная оценка объема программы — 20 команд; промежуточные переменные: Аi — в ячейке ОЗУ с адресом 030, к — по адресу 031,
S — по адресу 032. ГСА программы показана на рис. 9.2, текст программы с комментариями приведен в табл. 9.7.
Таблица 9.7. Текст программы примера 3
| Адрес | Команда | Примечание |
| RD # 40 | Загрузка начального адреса массива 040 | |
| WR 30 | в ячейку 030 | |
| RD # 10 | Загрузка параметра цикла к=10 в ячейку 031 | |
| WR 31 | ||
| RD # 0 | Загрузка начального значения суммы S =0 | |
| WR 32 | в ячейку 032 | |
| M1: RD 32 | Добавление | |
| ADD @30 | к текущей сумме | |
| WR 32 | очередного элемента массива | |
| RD 30 | Модификация текущего | |
| ADD #1 | адреса массива | |
| WR 30 | (переход к следующему адресу) | |
| RD 31 | Уменьшение счетчика | |
| SUB #1 | (параметра цикла) | |
| WR 31 | на 1 | |
| JNZ M1 | Проверка параметра цикла и переход при к ¹ 0 | |
| RD 32 | Вывод | |
| OUT | Результата | |
| HLT | Стоп |

Рис. 9.2. Граф-схема алгоритма для примера 3
Дата публикования: 2014-11-28; Прочитано: 531 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!
