- •Глава 1
- •§ 1.1 Объекты и их имена
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.2 Признаки объектов
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.3. Отношение объектов
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.4. Разновидности объектов и их классификация
- •2. Основные объекты:
- •? Вопросы и задания
- •§ 1.5 Состав объектов
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.6 Системы объектов
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.7 Система и окружающая среда
- •І Коротко о главном
- •? Вопросы и задания
- •§ 1.8 Персональный компьютер как система
- •І Коротко о главном
- •? Вопросы и задания
- •Глава 2
- •§ 2.1 Модели объектов и их назначение
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.2. Информационные модели
- •Виды информационных моделей
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.3. Словесные информационные модели
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.4. Математические модели
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.5. Табличные информационные модели Структура и правила оформления таблицы
- •Простые таблицы
- •Сложные таблицы
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.6.Табличное решение логических задач
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.7. Вычислительные таблицы
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.8. Электронные таблицы
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.9. Графики и диаграммы Зачем нужны графики и диаграммы
- •Наглядное представление процессов изменения величин
- •Наглядное представление о соотношении величин
- •Визуализация многорядных данных
- •Успеваемость учеников 7 класса
- •Успеваемость учеников 7 класса
- •Успеваемость учеников 7 класса
- •І Коротко о главном
- •? Вопросы и задания
- •§ 2.10. Схемы Многообразие схем
- •И нформационные модели на графах
- •І Коротко о главном
- •? Вопросы и задания
- •Глава 3
- •§ 3.1 Алгоритм – модель деятельности исполнителя
- •І Коротко о главном
- •? Вопросы и задания
- •§ 3.2 Управление исполнителем Чертежник Знакомимся с Чертежником
- •Пример алгоритма управления Чертежником
- •Чертежник учится, или Использование вспомогательных алгоритмов
- •Цикл повторить n раз
- •І Коротко о главном
- •? Вопросы и задания
- •§ 3.3 Управление исполнителем Робот Знакомимся с Роботом
- •Пример алгоритма управления Роботом
- •Простые и составные условия
- •Команда ветвления
- •І Коротко о главном
- •? Вопросы и задания
- •Глава 4
- •Верните изменённые параметры в исходное положение.
- •Верните изменённые параметры в исходное положение.
- •Теперь мы умеем
- •С казочный мир
- •Знаки препинания в заголовках
- •Теперь мы умеем
- •Мой словесный портрет
- •Крупнейшие озера
- •Экспорт/импорт России за 2000-2005 гг. (в млрд долл.)
- •Т еперь мы умеем
- •Техника безопасности и организация рабочего места
- •Текстовый процессор Microsoft Word Клавиши быстрого перемещения по тексту
- •Функции клавиш {Enter}, {Delete} и {Backspace}
- •Работа со списками
- •Работа с таблицами
§ 3.3 Управление исполнителем Робот Знакомимся с Роботом
И
сполнитель Робот
действует на прямоугольном клетчатом
поле. Между некоторыми клетками поля
могут быть расположены стены. Некоторые
клетки могут быть закрашены (рис.
3.11).
Робот занимает ровно одну клетку поля. По командам вверх, вниз, влево и вправо Робот перемещается в соседнюю клетку в указанном направлении. Если на пути оказывается стена, то происходит отказ — выдается сообщение о невозможности выполнить очередную команду.
По команде закрасить Робот закрашивает клетку, в которой .стоит. Если клетка уже была закрашена, то она закрасится повторно, хотя никаких видимых изменении не произойдет.
Важно помнить, что Робот может исполнять только правильно записанные команды. Например, если вместо команды вниз написать внис, то Робот эту запись не поймет и сразу же сообщит об ошибке.
В спомните, как называются ошибки в записи команд. Каких еще ошибок следует избегать при разработке алгоритмов?
Пример алгоритма управления Роботом
Напишем программу, исполняя которую Робот нарисует на клетчатом поле меандр из пяти витков (рис. 3.12).
Программа может иметь вид:
ПОВТОРИТЬ 5 РАЗ
вправо закрась; влево закрась; влево закрась; вверх закрась; вверх закрась; вправо; закрась вправо; вправо; вправо вниз; вниз
КОНЕЦ
Здесь мы использовали конструкцию повторения, так как совершенно одинаковые фрагменты повторяются на рисунке 5 раз. При записи тела цикла мы в одной строке через точку с запятой записывали несколько команд.
Если оформить процедуру виток, то основная программа окажется совсем короткой.
Вспомогательный алгоритм: Основной алгоритм: ПРОЦ виток ПОВТОРИТЬ 5 РАЗ НАЧАЛО виток
Вправо КОНЕЦ закрась; влево закрась; влево закрась; вверх закрась; вверх закрась; вправо; закрась вправо; вправо; вправо вниз; вниз
К ОНЕЦ Предложите свой вариант программы для рисования меандра.
Цикл «пока» А теперь попробуем написать программу для решения очень простой задачи: закрасить все клетки справа от Робота (рис. 3.13).
Правда, сколько именно клеток следует закрасить, не уточнено. Известно только, что:
справа на неизвестном расстоянии есть стена;
клетки нужно красить, пока Робот не подойдет к стене вплотную.
В
оспользуемся
тем, что Робот может анализировать и
сообщать обстановку вокруг себя, проверяя
следующие простые условия:
справа свободно слева свободно сверху свободно снизу свободно закрашено
Ясно, что пока будет выполняться условие справа свободно, нужно выполнять команды:
вправо закрась
Для оформления таких последовательностей действий используется специальная конструкция алгоритмического языка — цикл «пока».
ПОКА справа свободно ДЕЛАТЬ
вправо закрась
КОНЕЦ
В общем виде цикл «пока» записывается так:
ПОКА <условие> ДЕЛАТЬ
<тело цикла (последовательность команд)>
КОНЕЦ
Блок-схема цикла «пока» имеет вид, показанный на рис. 3.14.
При выполнении этого цикла исполнитель повторяет следующие действия:
проверяет записанное после служебного слова ПОКА условие;
если условие не соблюдается (Робот ответил «Нет»), то выполнение цикла прекращается, и Робот начинает выполнять команды, записанные после служебного слова КОНЕЦ. Если же условие соблюдается (Робот ответил «Да»), то Робот выполняет тело цикла и снова проверяет условие.
Напишем программу, исполняя которую Робот нарисует на клетчатом поле меандр (рис. 3.12), число витков которого зависит от положения правой стены.
Виток меандра умещается на клетчатом поле, если между клеткой, занимаемой Роботом, и правой стеной есть 1 клетка.
ПОКА справа свободно ДЕЛАТЬ
вправо закрась; влево закрась; влево закрась; вверх закрась; вверх закрась вправо; закрась вправо; вправо; вправо вниз; вниз
КОНЕЦ
В зависимости от исходного положения Робота тело цикла пока может не выполниться ни разу. Такая ситуация не является отказом.
П одумайте, каким должно быть исходное положение Робота в программе рисования меандра, чтобы тело цикла не выполнилось ни разу.
Из-за логических ошибок, допущенных при составлении алгоритма, может возникнуть ситуация зацикливания. Это значит, что условие будет всегда соблюдаться, и выполнение цикла «пока» никогда не завершится.
Рассмотрим следующий пример:
П ОКА справа свободно ДЕЛАТЬ вправо; влево КОНЕЦ
Что будет происходить, если справа от Робота нет стены?
Условие в цикле «пока» проверяется только перед выполнением тела цикла, но не в процессе его выполнения.
П
одумайте,
что произойдет, если Робот начнет
выполнять нашу программу рисования
меандра с циклом «пока», находясь в
следующем исходном положении:
Что
общего у циклов «повторить п раз» и
«пока»? Какие между ними отличия? Нужны
ли две конструкции для описания
повторяющихся действий?
