Входными данными алгоритма являются:
обстановка
параметры-аргументы
Выходными данными алгоритма являются:
обстановка
возвращаемое значение
параметры-результаты
Побочный эффект алгоритма проявляется, если он изменяет данные, которые ему переданы, т.е. он изменяет обстановку или имеет обновляемые параметры
Условие применимости и цель выполнения вспомогательного алгоритма
Условие применимости алгоритма — это логическое выражение, если оно истинно, то алгоритм начинает выполняться, иначе возникает отказ и ошибка выполнения программы
Цель выполнения алгоритма — это логическое выражение, если оно ложно, то алгоритм не достиг цели и возникает ошибка выполнения программы
Если условия не могут быть составлены, то они записываются в словесной форме в виде комментария
Классификация вспомогательных алгоритмов: функция, процедура, процедура-функция.
Вспомогательные алгоритмы-процедуры
· Вспомогательный алгоритм, который обладает только побочным эффектом, т.е. не имеет явного результата, называется процедурой
· Применительно к роботу побочным эффектом является изменение обстановки
Пример вспомогательного алгоритма-процедуры:
|Закрасить ряд в заданном направлении
алг закрасить_ряд (лит направление, цел длина)
нач
если длина > 0 то |есть, что закрашивать
|Закрасить ряд ненулевой длины
Закрасить
нц длина-1 раз
перейти_на_клетку (направление)
Закрасить
кц
Все
Кон
Вспомогательные алгоритмы-функции
· Вспомогательный алгоритм, главное назначение которого — вычисление некоторой величины, называется функцией
· Вычисляемая величина называется результатом функции
· У функции возможен побочный эффект, но он является следствием вычисления результата
Пример вспомогательного алгоритма-функции:
|Обнаружение рядом стоящей стены
алг лог стена_рядом (лит направление)
дано |направление, в котором происходит поиск стены
надо |наличие/отсутствие стены в заданном направлении
Нач
Выбор
при направление = "влево": знач:= слева стена
при направление = "вправо": знач:= справа стена
при направление = "вверх": знач:= сверху стена
при направление = "вниз": знач:= снизу стена
Все
Кон
Вызов вспомогательного алгоритма-функции:
· Так как алгоритм-функция возвращает результат, то она может быть использована (вызвана) в арифметических и логических выражениях
· После исполнения алгоритма-функции на месте ее вызова появится величина, вычисленная функцией
· Пример:
лог left_top
left_top:= стена_рядом ("влево") и стена_рядом ("вверх")
Вспомогательные алгоритмы-процедуры-функции
· Вспомогательные алгоритмы, в которых изменяются (обновляются) входные величины, будем называть процедуры-функции
· Для реализации процедуры-функции требуется использовать параметры, которые одновременно являются и аргументами, и результатами
· Синтаксис аргумента-результата:
аргрез тип_параметра имя_параметра
Пример вспомогательного алгоритма -процедуры-функции:
|Сменить направление робота на противоположное
алг сменить_на_противоположное (аргрез лит направление)
дано |направление движения робота
надо |противоположное движение
Нач
Выбор
при направление = "влево": направление:= "вправо"
при направление = "вправо": направление:= "влево"
при направление = "вверх": направление:= "вниз"
при направление = "вниз": направление:= "вверх"
Все
Кон
Вызов вспомогательного алгоритма-процедуры-функции:
· Так как алгоритм-процедура-функция принимает некоторую величину, а затем вычисляет и присваивает ей новое значение, то параметром функции может быть только переменная
· После исполнения алгоритма значение передаваемой величины обновится
· Пример:
лит direct = "влево"
сменить_на_противоположное (direct)
Физические основы ЭВМ. Электронный ключ. Электронный вентиль. Сумматор. Элемент памяти (триггер). Процессор. Шина адреса и шина данных.
Электронный ключ
Основным элементом ЭВМ является транзистор,
Работающий в ключевом режиме
Транзистор проводит ток между истоком и стоком,
Только, если на затвор подано положительное (от-