|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Пример программы на ЯСКРассмотрим в качестве примера трехадресную программу для вычисления квадратов чисел от 1 до 100 и последовательной записи вычисленных значений в ячейки оперативной памяти.
Номер команды соответствует адресу ячейки памяти, где эта команда хранится. Назначение команд: l СЛ 10, 11, 11 — сложить число, находящееся в ячейке с адресом 10, с числом, находящимся в ячейке с адресом 11, и записать результат (сумму) в ячейку с адресом 11; l УМ 11, 11, 101 — умножить число, находящееся в ячейке с адресом 11, на число, находящееся в ячейке с адресом 11, и записать результат (квадрат числа) в ячейку с адресом 101; l СЛ К + 2, 12, К+2 — сложить двоичный код команды, находящийся в ячейке с адресом К + 2, со структурированным кодом, находящимся в ячейке с адресом 12, и записать результат (измененный код команды) в ячейку с адресом К + 2; l УПУ< К + 2, 13, К + 1 — условная передача управления: если двоичный код команды, находящийся в ячейке с адресом К + 2, меньше двоичного кода команды, находящегося в ячейке с адресом 13, выполнять команду К + 1; в противном случае выполнять команду К + 5. Исходные данные к программе (операнды) хранятся в ячейках: l ячейка 10 — число 1; l ячейка 11 — изначально число 0; l ячейки 12 и 13 — структурированные под код команды двоичные числа:
Что же считает программа? Рассмотрим последовательно выполнение команд. В программе выполняется много циклов вычислений. Первый цикл:
Второй цикл:
Третий цикл:
И так далее… Сотый цикл:
Расчет окончен. В результате работы программы последовательно рассчитаны квадраты чисел от 1 до 100, которые записаны в последовательные ячейки памяти — 101–200. Рассмотренная программа иллюстрирует несколько важных особенностей компьютерных программ: l возможность выполнения операций над командами, то есть возможность автоматической модификации программ (в более сложных вариантах это может означать самонастройку программ, их оптимизацию, возможность компьютера самостоятельно создавать программы, которые могут превзойти программы «рукотворные»; отсюда извечный вопрос: «могут ли роботы превзойти своего создателя?»; l возможность многократного повторения выполнения группы команд в цикле; l возможность выполнения одной короткой программой большого объема вычислений (при замене, например, третьего адреса в коде команды, хранимой в ячейке с адресом 13, на 1101 этой программой будут вычислены квадраты тысячи чисел. Последовательность подготовки и решения задачина компьютере обычно следующая. 35. Формулировка и формализованная постановка задачи. 36. Выбор математической модели и метода решения задачи. 37. Разработка алгоритма решения задачи, то есть последовательности процедур, которые необходимо выполнить для решения задачи. 38. Составление программы решения задачи, то есть запись алгоритма решения задачи на языке, понятном машине. 39. Ввод программы в компьютер и ее отладка. 40. Ввод исходных данных и решение задачи на компьютере. 41. Анализ полученных результатов и выводы по результатам решения. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |