Студопедия — Сложность РАМ-программ
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Сложность РАМ-программ






 

4.1. Блок-схема алгоритма решения задачи

 

 

4.2. Распределение памяти для РАМ и РАМ-программа (с комментариями)

 

Распределение памяти:

 

 

РАМ-программа:

 

1. LOAD =0 \\Присваиваем Sum=0

2. STORE 3

3. READ 1 \\Читаем S

4. ADD =1 \\Избавляемся от деления на ноль в сравнении

5. STORE 1

6. READ 2 \\Читаем N (оно же будет счётчиком)

\\Начинается цикл из N итераций

7. READ 4 \\Читаем следующий элемент

8. DIV 1 \\Проверяем условие a<S. Для этого выясняем, не равно ли нулю

9. JZERO 13 \\Если , то пропускаем часть повышения значения Sum

10. LOAD 3 \\Повышаем значение Sum – загружаем Sum в сумматор

11. ADD 4 \\Прибавляем a к Sum

12. STORE 3 \\Обновляем значении Sum

13. LOAD 2 \\Декрементируем счётчик – загружаем N в сумматор

14. SUB =1 \\Уменьшаем значение N

15. JZERO 18 \\Если счётчик обнулён – выходим из цикла

16. STORE 2 \\Иначе обновляем значение N

17. JUMP 4 \\Переходим к началу цикла

\\Оканчивается описание цикла

18. WRITE 3 \\Выводим результат на экран

19. HALT \\Завершаем программу

 

4.3. Оценка сложности РАМ (с объяснениями)

 

Количество занимаемой программой памяти всегда одинаково – 4 ячейки.

Выделим три части программы – до цикла, цикл (с 7 по 17 команду) и после цикла. Первая и последняя часть содержат в себе 8 команд.

Рассмотрим цикл. На всех итерациях, кроме последней, выполняются все 11 команд цикла. На последней итерации выполнение цикла прерывается на команде 15 (выполняются только 9). Всего цикл, очевидно, имеет N операций.

Соответственно, асимптотика времени работы:

 

Выводы: изучены вычислительные модели машины Тьюринга, рекурсивных функций и машины с произвольным доступом (Random Access Machine), были получены навыки построения алгоритмов на машине Тьюринга, доказательства рекурсивных функций и вычисления сложности RAM-программ.







Дата добавления: 2015-09-04; просмотров: 441. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Типология суицида. Феномен суицида (самоубийство или попытка самоубийства) чаще всего связывается с представлением о психологическом кризисе личности...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия