| Параметры а), б), г), д) определяют общие свойства квадрата. Изменение их значений превратит квадрат в другую фигуру. | |
| Параметры в), е), ж), з) характеризуют конкретный квадрат. Математическое определение объекта «Квадрат» не зависит от значений этих параметров. |
Этап 3. Перечислим действия, которые можно выполнить над объектом на рабочем поле.
Квадрат можно нарисовать в любом месте рабочего поля. Изменяя цвет, длину стороны и место расположения квадрата, можно построить сложные объекты, например орнаменты из квадратов.
При использовании квадрата в другом объекте цвет контура и положение начальной вершины на рабочем поле зависят от места этого квадрата в сложном объекте. Значения таких параметров можно принять текущими.
Результаты анализа свойств квадрата представлены в табл. 7.15.
Таблица 7.15.
Информационная модель объекта «Квадрат»
Параметры объекта | Действия объекта | |
Название | Значение | |
Число сторон | 4 | Рисовать |
Соотношение сторон | Все стороны равны | Стирать |
Соотношение углов | Все углы равны | |
Величина угла, внешнего к углу между сторонами | 90° | |
Длина стороны | Можно изменять | Приобретать указанные размеры |
Цвет контура | Текущий | Устанавливать указанный цвет контура |
Цвет внутри контура | Текущий | Закрашивать внутри контура |
Координаты расположения левой нижней вершины | Текущие | Располагать в разных местах рабочего поля |
Вспомним процедуру квадрат, которая строит квадрат со стороной 30 пикселов:
это квадрат
повтори 4 [вп 30 пр 90]
конец
Сравним эту процедуру с процедурами построения квадратов с другими длинами сторон, например, 80 и 60 пикселов:
это кв80
повтори 4 [вп 80 пр 90]
конец
это кв60
повтори 4 [вп 60 пр 90]
конец
Процедуры квадрат, кв80 и кв60 предназначены для рисования квадратов, но стороны получаемых квадратов различны. Удобно было бы иметь одну процедуру, позволяющая представлять в нее заданную длину стороны. Сторона квадрата рисуется командой вп, следовательно, именно в этой команде нужно указать, что ее параметр может быть переменным.
Программная среда позволяет создавать процедуры с изменяющимися значениями параметров. Для этого параметру рисования присваивается имя, которое должно быть указано в заголовке процедуры. В команде, использующей настраиваемый параметр, вместо конкретного значения (числа) пишется имя, объявленное в заголовке.
Например, процедура рисования квадрата с изменяемой длиной стороны может выглядеть так:
это квадрат сторона
повтори 4 [вп : сторона пр 90]
конец
В заголовке процедуры появилось еще одно слово — имя параметра. Это имя (сторона) используется в команде вп и показывает, что конкретные данные для этой команды будут указаны позже. Здесь вместо указания конкретного числа используется так называемый формальный параметр.
Формальный параметр — это параметр, значение которого в процедуре может быть любым. Имя формального параметра задается в заголовке процедуры.
В языке ЛОГО двоеточие (:) перед именем параметра показывает, что в данной команде используется значение параметра, которое будет известно при выполнении процедуры.
Вызывая процедуру с параметром, необходимо после ее имени задать фактическое значение этого параметра. Например, для построения квадрата со стороной 50 шагов следует использовать команду квадрат 50.
Фактический параметр — это значение, задаваемое при вызове процедуры. Это значение заменит формальный параметр при выполнении команды вызова процедуры.
Задание 7.64
1. | Запишите на листе программ процедуру: | |
это квадрат сторона повтори 4 [вп :сторона пр 90) конец | ||
2. | Введите команду квадрат без фактического параметра. В командном центре появится сообщение: Не хватает входных данных для квадрат. | |
3. | Исправим ошибку, задав значение фактического параметра: квадрат 100. На рабочем поле будет нарисован квадрат со стороной 100 пикселов. При вводе команды квадрат 80 на рабочем поле появится квадрат со стороной 80 пикселов. | |
4. | Какие значения можно давать параметру? Очевидно, только те, что могут быть применены в команде, использующей этот параметр. Проверим это. Введем в командном центре: квадрат s. Появится сообщение: Не могу выполнить s. | |
5. | Введем команду: квадрат "s. Появится сообщение: вп не допускает s на входе. |
Задание 7.65
Исследуйте, каковы наименьшее и наибольшее значения параметра сторона в процедуре квадрат.
Вводите в командный центр поочередно команду квадрат c разными значениями параметра и передвигайте Черепашку на новое место.
по квадрат 2 пп нов_х 2
по квадрат 150 пп нов_у –170
по квадрат 500 пп нов_х –300
по квадрат 700
Что вы видите па рабочем поле при самом маленьком фактическом параметре, а что — при самом большом? Почему?
Запомните правила создания и вызова процедуры с параметром:
- При создании процедуры в заголовке после имени процедуры записывается имя формального параметра. В теле процедуры это имя указывается в командах, использующих этот параметр. При вызове процедуры после ее имени обязательно указывается фактический параметр.
Процедура с несколькими параметрами
Количество параметров в процедуре зависит от описания объекта. Рассмотрим пример создания правильного многоугольника, свойства которого отображены в табл. 7.16.
В соответствии с представленным описанием необходимо иметь несколько изменяемых параметров: число сторон, длина стороны, цвет контура.
Напишем процедуру прав_мн_угол, которая рисует правильный многоугольник текущим цветом. Используем алгоритм из табл. 7.12 (тема 7.4):
это прав_мн_угол а n
повтори :n [вп :а пр 360 / :n]
конец
Для изменения цвета необходимо в данную процедуру добавить еще один параметр:
это прав_мн_угол а n с
нц :с
повтори :n [вп :а пр 360 / :n)
конец
Чтобы на рабочем поле нарисовать синий шестиугольник с длиной стороны 50 пикселов, введем команду: прав_мн_угол 50 6 5. Здесь первый фактический параметр (число 50) обозначает длину стороны, второй (число 6) — количество сторон (вершин), а третий (число 5) — цвет.
Таблица 7.16.
Информационная модель объекта «Правильный многоугольник»
Параметры объекта | Действия объекта | |
Название | Значение | |
Соотношение сторон | Все стороны равны | Рисовать |
Соотношение углов | Все углы равны | Стирать |
Величина угла, внешнего к углу между сторонами | Полный угол, разделенный на число сторон | |
Число сторон | Можно изменять | Приобретать указанное число сторон |
Длина стороны | Можно изменять | Приобретать указанные размеры |
Цвет контура | Можно изменять | Устанавливать указанный цвет контура |
Цвет внутри контура | Текущий | Закрашивать внутри контура |
Координаты расположения начальной вершины | Текущие | Располагать в разных местах рабочего пола |
Запомните правила создания и вызова процедуры с несколькими параметрами:
- При описании процедуры в заголовке после ее имени записываются имена формальных параметров, разделенные пробелом. В теле процедуры имена появляются как параметры в командах. При вызове процедуры после ее имени записываются все фактические параметры в порядке, соответствующем порядку записи формальных параметров в заголовке процедуры.
Задания для самостоятельной работы
Задание 7.66. Составьте процедуру для рисования правильного шестиугольника с длиной стороны, заданной формальным параметром.
Задание 7.67. Составьте процедуру для рисования правильного треугольника с длиной стороны, заданной формальным параметром.
Задание 7.68. Составьте процедуру для рисования условной окружности — правильного 36-угольника с длиной стороны, заданной формальным параметром.
Задание 7.69. Напишите процедуру рисования закрашенного квадрата с длиной стороны 80 пикселов и изменяемым параметром — цветом контура. Какие изменения надо внести в имеющийся алгоритм построения квадрата?
Задание 7.70. Напишите программы для рисования композиций, представленных на рис. 7.27. Для описания каждой композиции заполните табл. 7.17 аналогично тому, как заполнялась табл. 7.16. Установите начальное и конечное состояния Черепашки и рабочего поля.

Рис. 7.27. К заданию 7.70
Таблица 7.17.
Шаблон информационной модели объекта
Параметры объекта | Действия объекта |
Название | Значение |
Количество квадратов | Рисовать |
Соотношение квадратов | Стирать |
Соотношение вершин квадратов | |
Соотношение углов между квадратами | |
Цвет контура |
Задание 7.71. Напишите процедуру рисования полуокружности как половины 360-угольника с переменной длиной стороны и углом поворота после каждого шага, равным 1°.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |


