Лекция: Блок – схема разветвления

//рисунок

Реализация алгоритма требует двух команд перехода, это связано с тем, что оперативная память линейна, и ветви алгоритма располагаются последовательно.

ОП

 
 
 
 
 
 
 
 
 
 

Общая часть 1

Команда условного перехода

Команда безусловного перехода
Общая часть 2
Ветвь 2

Имеют место алгоритмы в которых ветвь 2 отсутствует, тогда команда безусловного перехода не нужна.

Команда безусловного перехода — простейшая из команд передачи управления. Состоит из кода операции и адреса перехода.

Р А

Этапы выполнения команды:

1. ((УК)) → РК

2. (УК)+L → УК

3. Дешифратор Р.

4. А→УК

5. Перейти к пункту 1

Большинство команд передачи кправления — условного перехода используется, как правило, трехадресные команды. Одна из схем выполнения: при выполнении условия – переход к следующей команде. Условие может быть:

1. Если (А) < (В), то С→УК

2. Если (А)>(В), то С→УК

3. Если (А)=(В), то С→УК

4. Если (А)≠(В), то С→УК

Организация перехода разделена на 2 стадии: подготовка условия и проверка. Формирование условия готовит предыдущая команда.

Для передачи значения истинности условия в процессоре существует регистр флагов (РФ). Часть разрядов РФ не используется(резерв), а остальные делятся на управляющие, системные, разряды состояний. Совокупность разрядов состояния называют регистром признаков результата. (РПр) Многие команды арифметико-логического типа вырабатывают признак результата — бит, записывающийся в один из разрядов РФ. Разрядность флагов состояния от 4 до 6: флаг нуля, флаг знака, флаг переполнения, флаг отрицания результат и т.д.

То есть команды, не вырабатывают признак результата, сохраняют первое значение в регистре флага.

Каждой команде условного перехода ставится в соответствие определенный набор флагов. На команду условного перехода влияет предшествующая команда, последней выработавшей признак результата. Конечной командой блока подготовки проверки условие, является команда сравнения. Выполняется как вычитание, в память результат не записывается, а записывается в регистр признаков.

 

Схема алгоритма:

1. ((УК))→РК

2. (УК)+L→РК

3. Дешифрация р.

4. Если [(РПр) and (Np)]≠0, то А2 → УК

5. Переход к пункту 1

 

Np-набор признаков

 

Циклы

Цикл- участок программы, обеспечивающее многократное выполнение некоторой части алгоритма до тех пор, пока не выполнится условие окончания. Цикл состоит из внутренней части, выполняемой многократно, и внешней – команд подготовки и команд завершения. Многократность обеспечивается командой условия передачи.

 
 
 
 
 
 
 
 

Первая команда внутреннего цикла — та, на которую указывает стрелка. Последняя – та, откуда выходит стрелка. Между ними — тело цикла.

Классификация циклов:

-По расположению проверки условия перехода бывают: с предшествующей и с последующей (например untile и repeat)

-По типу алгоритма (цикл с заданным числом повторений, цикл итерационного типа, цикл смешанного типа)

1. Цикл с заданным числом повторов(со счетчиком)

Управление осуществляется с помощью специальной переменной – счетчик. С этим связаны задачи, когда надо программировать элементы, найти максимум и т.д

Схема:

Инициализация
I = 1,3
Основные вычисления
N-i=0?
I = i+1
I, s = s +i
Условие перехода
Подготовка перехода

 

 

2. Цикл итерационного типа – по имеющемуся приближенному значению строят более точное для решения с нужной точностью. Количество повторов заранее неизвестно. Цикл можно посчитать отдельным блоком программы, решающим некоторою логическую законченную задачу, т.е цикл можно считать элементом программы, как их команды.

еще рефераты
Еще работы по информатике