ПОИСК Статьи Рисунки Таблицы Стандартные операторы. Логическая схема программы из "Программирование " В практике программирования выявилось, что в большинстве программ чаще всего встречается некоторое количество типов элементарных операторов. Для этих операторов приняты постоянные обозначения и разработаны формальные приемы их программирования. Эти операторы принято называть стандартными (см. табл. 4.2). [c.123] Имея готовую программу (начальное состояние), ее можно разбить на элементарные операторы, последние перенумеровать в порядке возрастания номеров команд программы, а затем способом, описанным для построения схем решающих алгорифмов (см. п. 1 настоящего параграфа), построить схему программы. Схему программы принято называть ее логической схемой. Если в логической схеме присутствует оператор Е т п), то символ оператора, имеющего индекс = п, снабжается сверху чертой (например, и т. п.). [c.125] Эта черта над оператором в схеме программы является напоминанием программисту, что после команд оператора с номером п необходимо оставить место для команды возврата. [c.125] Логическая схема программы, составленная по уже готовой программе, может служить ее описанием и быть полезной при проверке программы лицом, не участвовавшим в ее составлении, и при отладке программы на машине. Необходимы логические схемы и при анализе программ, например с целью определения общих групп операторов в различных программах. [c.125] Однако программирование без использования логической схемы допустимо лишь в самых легких случаях. Наиболее целесообразно разработать логическую схему программы до программирования и использовать ее уже в процессе программирования. [c.125] Объединение отдельных элементарных операторов в программу производят в процессе распределения памяти машины и присвоения истинных адресов. [c.126] Перечисленная совокупность приемов получила название операторный метод программирования . [c.126] Если нет, то перейти к п. 4°, в противном случае — к п. 7°. [c.127] Если нет, то перейти к пункту 1°, если да, то к следующему п ункту. [c.127] Условия (4.1) и (4.2) убеждают нас в том, что масштабирование величин для решения задачи на машине М-3, у которой запятая фиксирована перед старшим разрядом, не требуется. [c.127] В этой схеме, забегая вперед, мы для облегчения дальнейших пояснений приписали операторам номера, которые они будут иметь в логической схеме программы. [c.127] Эта организация предусматривает раздельные вводы программы (V ) и исходных данных (V ). Предпоследний в ее схеме оператор Ф изменяет переход от оператора контрольного суммирования 2 таким образом, чтобы после второго счета оператор 2 передавал управление оператору Р (01=02). Оператор Я переносит первую контрольную сумму а, на хранение в специально отведенную ячейку и тем самым освобождает место для второй контрольной суммы а,. [c.127] Предположим, что ввод исходных данных должен быть программный (см. описание машины М-3). [c.128] Примечание. Оператор Ф,, изменяет в схеме (4.4) левый знак перехода ] на знак [ . [c.128] Поскольку в машине М-3 нет специальных устройств или заком-мутированных подпрограмм для получения sin х по заданному значению X, для перевода числа из десятичной (вернее двоично-кодиро-ваниой десятичной) системы счисления в двоичную и для обратного перевода, то эти действия необходимо осуществлять программным способом. Наиболее целесообразно заранее составить подпрограммы для вычисления значений часто встречающихся функций и упомянутых переводов чисел и при составлении новых программ применять эти подпрограммы (см. гл. 7). Для контрольного суммирования необходимо тоже иметь специальную подпрограмму. [c.128] Будем считать, что первые три подпрограммы требуют следующей информации номер а1 ячейки, в которой расположено исходное число, и номер ячейки, в которой должен быть записан результат. Для четвертой подпрограммы нужно задавать номер а, ячейки, начиная с которой в последовательных ячейках расположены числа, подлежащие суммированию, и количество п этих чисел результат суммирования подпрограмма помещает в ячейку с номером а, — 1. [c.129] Будем считать, что для любой из перечисленных подпрограмм указанные коды должны быть записаны в ячейку 3776 и что любая из подпрограмм после окончания работы передает управление в ячейку 3777. Перед тем как передать управление подпрограмме, нужно в последнюю ячейку заслать команду, которая обеспечит возврат в основную программу. [c.129] В полученной нами схеме программы, чтобы приспособить ее к мащине М-3, надлежит оператор А заменить оператором Е , производящим обращение к подпро1рамме перевода из десятичной системы счисления в двоичную, оператор А — оператором производящим обращение к подпрограмме вычисления значений синусов, оператор Л оператором , производящим обращение к подпрограмме перевода чисел из двоичной системы счисления в десятичную, оператор 2 —оператором Е, , производящим обращение к подпрограмме контрольного суммирования для получения контрольной суммы. [c.129] Заметим, что операторы Я, и (ввода исходных данных и выдачи на печать результатов) благодаря тому, что машина М-3 позволяет производить программные ввод и выдачу на печать только по одному числу, будут обобщенными операторами. [c.129] Наконец, ввиду того, что М-3 не имеет команды сравнения, равенство контрольных сумм а, и придется устанавливать путем проверки двух неравенств о, — 02 —0 — ГJ — 0. [c.129] Вернуться к основной статье