Задание 7.72. Используя процедуру, созданную при выполнении предыдущего задания, напишите программы для рисования составных графических объектов (рис. 7.28).

Рис. 7.28. К заданию 7.72

Задание 7.73. Модифицируйте программу прав_мн_угол, добавив еще один параметр — угол поворота. Теперь угол поворота можно задавать независимо от количества сторон. Какой графический объект описывает такая программа?

Задание 7.74. Опишите элементарный объект, из которого составлены снежинки (см. рис. 7.22). Напилите процедуру рисования элементарного объекта с параметром, управляющим размером этого объекта.

Задание 7.75. Составьте информационную модель объекта «Куб», который можно изобразить на плоскости как объемную фигуру. Какие элементы добавляются к квадрату, чтобы на экране можно было увидеть куб? Представьте алгоритм рисования куба в виде таблицы.

Задание 7.76. Используя дугу, равную четверти окружности, опишите объект «Летящей птица». Составьте программный модуль для изображения птицы, который вызывает процедуру рисования дуги. Напишите программу создания стаи летящих птиц, используя модуль рисования одной птицы.

Тема 7.7. Переменная в алгоритме

Выполнив задания этой темы, вы научитесь:

задавать и изменять значение переменной;

запоминать в одной переменной список значений;

использовать значение переменной для вычисления параметров команд.

На рисунке 7.29 изображен объект «Тоннель». Он состоит на 40 восьмиугольников, причем сторона каждого следующего на 1 пиксел длиннее текущего. Мы можем указать в процедуре длину самого маленького восьмиугольника как изменяемый параметр:

НЕ нашли? Не то? Что вы ищете?

Рис. 7.29. Объект Тоннель

это тоннель1 s

повтори 40 [прав_мн_угол :s 8 вп 1]

конец

Процедура тоннель1, повторенная 40 раз, позволит нарисовать 40 восьмиугольников, но все они будут с одинаковой заданной длиной стороны. Для получения тоннеля, изображенного на рис. 7.29, значение s надо увеличивать на каждом проходе цикла. Иначе говоря, значение параметра s должно храниться в памяти компьютера, чтобы исполнитель мог его менять по ходу выполнения программы. В программировании для этого используют объект переменная.

Переменная — это объект в программе, имеющий имя и изменяемое значение. Для каждой переменной выделено определенное место в памяти компьютера.

В любой среде программирования различаются имя и значение переменной.

Имя переменной показывает, в каком месте памяти компьютера хранится значение переменной.

Значение переменной считывается из указанного ее именем места памяти. Значение переменной применяется как фактический параметр в команде и в выражении.

Переменную можно создать, то есть указать ее имя и присвоить ей значение. В среде ЛОГО для создания переменной применяется команда пусть. Эта же команда изменяет значение уже существующей переменной. В языке ЛОГО явно показывается различие между именем и значением переменной: имя предваряется двойной кавычкой ("), а значение — двоеточием (:), Символ : обозначает действие взять данные из области памяти, названной именем переменной. В некоторых языках программирования имя и значение переменной могут не различаться по виду.

Запомните правило работы с переменной в среде ЛОГО:

Команда пусть имеет два параметра. Первый указывает имя переменной, второй задает выражение для получения значения этой переменной.

Рассмотрим пример. В переменную al надо записать число 30, в переменную а2 — число 6. а в переменную сумм — сумму переменных al и а2.

Для выполнения этих действий вводим команды:

пусть "al З0

пусть "а2 6

пусть "сумм :al + :а2

Результат выполнения этих команд на экран компьютера не выводится.

Командой пусть можно также изменить значение уже созданной переменной. Например, для увеличения значения переменной s на 1 вводим:

пусть "s :s + 1

В этом случае из памяти считывается старое (текущее) значение переменной s и увеличивается на 1, а затем новое значение записывается в то же место памяти.

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

В одной переменной можно запомнить более одного значения. Например, положение Черепашки на рабочем поле задается абсциссой и ординатой. Эти координаты можно измерить датчиком место и записать в одну переменную командой:

пусть "положение место

Тогда в переменной положение окажется список из двух значений. Вы увидите их, если введете команду:

покажи :положение

Команда нов_место :положение устанавливает Черепашку в указанное место рабочего поля.

Задания для самостоятельной работы

Задание 7.77. Запишите на листе программ программу для рисования тоннеля (см. рис. 7.29), которая вызывает процедуру построения правильного многоугольника прав_мн_угол s (параметр s показывает длину стороны самого маленького восьмиугольника). Проверьте работу этой программы:

это тоннель :s

повтори 40 [прав_мн_угол :s 8 пусть "s :s + 1]

конец

Задание 7.78. Измените программу тоннель так, чтобы тоннель не увеличивался от меньшего восьмиугольника к большему, а уменьшался от большего к меньшему.

Задание 7.79. Создайте в теле программы тоннель переменную с — счетчик для номера цвета, начальное значение счетчика задайте равным 9. На каждом шаге цикла увеличивайте значение переменной c на 10 и устанавливайте цвет Черепашки равным значению :с. Тоннель получится разноцветным.

Задание 7.80. Каким будет значение переменной z после выполнения следующих команд:

а) пусть "z 10 вп :z + 5

б) пусть "z 10 вп :z пусть "z :z + 5

в) пусть "z 10 повтори 5 [пусть "z :z + 1]

г) пусть z 105 / (30 + 5)

д) пусть "z 105 / 30 + 5

Задание 7.81. Сохраните координаты точки, в которой находится в данный момент Черепашка, в переменной cт_место:

пусть "ст_место место

Передвиньте Черепашку мышью в другую точку, а затем выполните команду:

нм :ст_место

Черепашка вернется на прежнее место.

Тема 7.8. Логика в среде программирования

Выполнив задания этой темы, вы научитесь:

записывать операции сравнения;

записывать логическое выражение;

описывать разветвляющийся алгоритм;

описывать рекурсивный процесс;

моделировать микромиры.


Инструменты сравнения

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

Лучшим способом освоения понятий логики является их практическое применение при составлении алгоритмов и проверке алгоритмов на компьютере.

В качестве примера использования законов логики рассмотрим задачу о лабиринте. Как научить Черепашку проходить по лабиринту?

Прежде всего построим объект «Лабиринт», который состоит из закрашенных квадратиков (плиток) одного цвета. Процедуры для построения лабиринта из элементарных объектов приведены в табл. 7.18.

Задание 7.82

Запишите на листе программ процедуры, приведенные в табл. 7.18. Проверьте работу этих процедур. Опишите объект «Лабиринт», состоящий из плиток одного заданного цвета и одного заданного размера. Какие параметры нужны для этого объекта? Какой инструмент нужен для рисования такого объекта? Напилите процедуру лабиринт, которая рисует лабиринт, начиная с текущего положения Черепашки (рис. 7.30).

Рис. 7.30. Лабиринт

Таблица 7.18.
Инструменты-процедуры для построения лабиринта

Объект

Параметры

Инструмент (процедура)

Элемент закрашенной плитки

р — длина стороны элемента;
с — цвет элемента

это эл_пл р цв по нц :цв повтори 3 [лв 90 вп :p] конец

Закрашенная плитка, состоящая из элементов закрашенной плитки

ст — длина стороны плитки;
цв — цвет плитки

это плитка ст цв
пусть "е 1
пусть "xн х_коор
пусть "ун у_коор
повтори :ст – 1
[эл_пл :е :цв
пусть "е :е + 1]
нов_х :xн
нов_у :ун
нк 0
конец

Исполнитель Черепашка установлена в начало лабиринта. Она может идти только по плиткам лабиринта. Следовательно, исполнитель должен измерить цвет плитки, на которой он находится, и сравнить его с заданным значением. В зависимости от результата сравнения Черепашка выберет направление движения.

Для выполнения операций сравнения в любой среде программирования имеются инструменты, представленные в табл. 7.19. Как видно из таблицы, значение операции сравнения может быть только истина (да) или ложь (нет).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10