6-Lesson №23

Урок №23. Процедуры с параметрами.

Построим теперь с помощью Черепахи такую фигуру, как на рис. 3.11, где числа обозначают длины сторон квадратов.

Рисунок состоит из трёх фигур. У них есть общее: одинаковая форма (все они квадраты). Но есть и различия: у всех квадратов разные длины сторон. Величину, значение которой отличает один квадрат от другого, называют параметром.

Параметр — это величина, значение которой отличает один объект от другого.

В нашей задаче параметр квадрата — это длина его стороны. Нам бы хотелось ввести новую команду Квадрат, с помощью которой мы могли бы рисовать квадраты любого размера. Например, выполнив команду

Квадрат( 40 );

Черепаха должна нарисовать квадрат со стороной 40 шагов.

 

 

Вспомним уже знакомую процедуру, которая рисует квадрат со стороной 40:

алг Квадрат
нач
опустить хвост
нц 4 раз
вперед(40)
вправо(90)
кц
поднять хвост
кон

В строке, которая подчеркнута, задаётся размер квадрата — длина его стороны. В новой процедуре там не может быть число. Эта величина должна изменяться, поэтому в скобках после команды вперёд нужно поставить переменную]

Откуда же программа возьмёт нужное значение этой переменной? Мы хотим задавать длину стороны в скобках при вызове процедуры Квадрат. Поэтому и при описании процедуры нужно в скобках записать имя переменной. Перед ним записывают тип переменной, в нашем случае это целое число;

алг Квадрат (цел а)
нач
опустить хвост
нц 4 раз
вперед(а)
вправо(90)
кц
поднять хвост
кон

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

Параметры процедуры — это данные, которые изменяют результат работы процедуры.

Когда мы вызываем эту процедуру:

Квадрат( 40 );

число 40 подставляется везде вместо имени а, и в результате Черепаха рисует квадрат со стороной 40 шагов.

Параметры — это внутренние (локальные) переменные процедуры, к которым можно обращаться только внутри этой процедуры. Другие процедуры и основная программа ничего про них «не знают».

Теперь можно написать основную программу, которая с помощью процедуры строит фигуру, показанную на рис. 3.11.

Как видно из текста процедуры, Черепаха останавливается в том же месте и в том же положении, в каком она была перед вызовом процедуры. Поэтому после рисования первого квадрата нужно перейти вперёд на 40 шагов, а после рисования второго — вперёд на 30:

использовать Черепаха
алг Пирамида
нач
Квадрат(40)
вперед(40)
Квадрат(30)
вперед(30)
Квадрат(20)
кон
алг Квадрат (цел а)
нач
опустить хвост
нц 4 раз
вперед(а)
вправо(90)
кц
поднять хвост
кон

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

Выполнить домашнюю работу

Выполнить классную работу