Параметры а), б), г), д) определяют общие свойства квадрата. Изменение их значений превратит квадрат в другую фигуру.

Параметры в), е), ж), з) характеризуют конкретный квадрат. Математическое определение объекта «Квадрат» не зависит от значений этих параметров.

Этап 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