Читайте также:
|
|
Составить рекурсивную команду и доказать правильность ее работы. Команда копирует содержимое изнанки листа и переносит ее на лицевую сторону задом наперед.
Алгоритм:
1. Переместить курсор на позицию за последним символом текста изнанки листа.
2. Если позиция курсора не равна нулю (текст еще остался), то скопировать символ перед курсором и вставить его на лицевую сторону. Переместить курсор влево на один символ и перейти к шагу 2. Иначе закончить работу программы.
Результат работы функции invert — текст до курсора с одной стороны листа инвертируется и переносится на другую сторону листа в место, следующее за положением курсора.
Код программы:
to invert
if textpos > 0 [
select
cb
copy
flip
paste
flip
invert ]
end
to main
bottom
invert
end
Результат работы:
Доказательство правильности работы:
1. База индукции. Пусть курсор находится в позиции 0. Тогда условие textpos > 0 — ложно, и функция завершает свою работу. В итоге текст на лицевой стороне окажется прежним. Функция дает правильный результат.
2. Предположение индукции. Пусть функция работает правильно, когда курсор находится в любой позиции, не большей k от начала текста.
3. Предположим, что курсор находится в позиции k+1. В этом случае условие textpos > 0 — справедливо. Далее выполнится команда копирования-вставки символа перед курсором и команда перемещения курсора на одну позицию влево, после чего курсор окажется в позиции k и дальнейшее выполнение функции верно по предположению индукции. В итоге получится, что на лицевой стороне листа окажутся:
1. символ перед курсором, находящегося в позиции k+1;
2. инвертированный текст с изнанки листа от его начала до позиции k;
А это и есть инвертированный текст с изнанки листа от начала текста до позиции k+1. Следовательно, функция работает правильно, когда курсор находится в позиции k+1, что и требовалось доказать. Следовательно, функция работает правильно всегда.
Лабораторная работа №5
Тема: Создание ящика электронной почты и настройка его параметров.
Цель работы. Изучение информационной технологии создания почтового ящика и работы с электронной почтой.
План
1) Изучить теоретические понятия электронной почты
2) Выполнить создание и настройку почтового ящика web-почты
3) Ответить на контрольные вопросы
Дата добавления: 2014-11-24; просмотров: 88 | Поможем написать вашу работу | Нарушение авторских прав |