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