Главная » Файлы » 8 класс

Вспомогательные алгоритмы с аргументами
28.10.2013, 09:51

Вспомогательные алгоритмы с аргументами

Вспомните тему вспомогательные алгоритмы — для рисования двух квадратов с разными сторонами, например 2 и 3, нам нужно было составить два разных вспомогательных алгоритма. А как быть, если нужно рисовать много разных квадратов с разными длинами сторон? Не писать же для каждого свой алгоритм! Оказывается алгоритмы могут иметь аргументы, можно составить алгоритм рисования квадрата с произвольной длиной стороны.

алг квадрат2
нач
. опустить перо
. сместиться на вектор(0,2)
. сместиться на вектор(2,0)
. сместиться на вектор(0,-2)
. сместиться на вектор(-2,0)
. поднять перо
кон
алг квадрат3
нач
. опустить перо
. сместиться на вектор(0,3)
. сместиться на вектор(3,0)
. сместиться на вектор(0,-3)
. сместиться на вектор(-3,0)
. поднять перо
кон

С понятием аргумент вы уже встречались в математике. В математике аргумент функции — независимая переменная, от значений которой зависят значения функции.
Например, функция f(x) = x2+1 имеет один аргумент. При различных значениях аргумента будем получать различные значения функции — при x=2 получим f(x)=5, при  x=3 получим f(x)=10 и т. д.

Нужный нам вспомогательный алгоритм (который рисует квадрат определенной длины) можно записать так:

алг квадрат(арг вещ а)
нач
. опустить перо
. сместиться на вектор(0,а)
. сместиться на вектор(а,0)
. сместиться на вектор(0,-а)
. сместиться на вектор(-а,0)
. поднять перо
кон


Запись «алг квадрат(арг вещ а)» означает, что у алгоритма «квадрат» есть один аргумент (арг) «а», который может быть произвольным вещественным (вещ) числом.
Для того чтобы вызвать этот алгоритм нужно написать, например, «квадрат(2)» - получим квадрат со стороной 2 или «квадрат(3)» - получим квадрат со стороной 3 и т. п.
Какое-то конкретное значение «а» получит только во время работы программы во время соответствующего вспомогательного алгоритма. И везде вместо «а» будет подставлено компьютером это число. 

Чертежник - квадраты

Программа для рисования это рисунка может быть такой:

использовать Чертежник
алг квадраты
нач
. сместиться в точку(1,1)
. квадрат(2)
. сместиться в точку(4,1)
. квадрат(3)
. сместиться в точку(8,1)
. квадрат(4)
. сместиться в точку(13,1)
. квадрат(5)
. сместиться в точку(0,0)
кон
алг квадрат(арг вещ а)
нач
. опустить перо
. сместиться на вектор(0,а)
. сместиться на вектор(а,0)
. сместиться на вектор(0,-а)
. сместиться на вектор(-а,0)
. поднять перо
кон


Научим Чертежника новым командам. Одна из команд пусть называется «линия(арг вещ x1,y1,x2,y2)»  – для рисования линии из точки (x1,y1) в точку (x2,y2).

алогоритм линия

Вспомогательный алгоритм может быть таким:

алг линия(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y2)
. поднять перо
кон

Вторая команда пусть называется «прямоугольник(арг вещ x1,y1,x2,y2)» для рисования прямоугольника. Точка (x1,y1) одна точка диагонали АС прямоугольника, точка (x2,y2) – противоположная. Перед записью алгоритма нужно понять чему равны координаты двух других точек.

алгоритм прямоугольник

Вспомогательный алгоритм может быть таким:

алг прямоугольник(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y1)
. сместиться в точку(x2,y2)
. сместиться в точку(x1,y2)
. сместиться в точку(x1,y1)
. поднять перо
кон

Теперь используя эти команды нарисуем домик:

Домик

использовать Чертежник
алг домик
нач
. прямоугольник(2,1,8,5)
. прямоугольник(3,2,5,4)
. прямоугольник(6,1,7,4)
. линия(1,4,5,8)
. линия(5,8,9,4)
кон
алг линия(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y2)
. поднять перо
кон
алг прямоугольник(арг вещ x1, y1, x2, y2)
нач
. сместиться в точку(x1,y1)
. опустить перо
. сместиться в точку(x2,y1)
. сместиться в точку(x2,y2)
. сместиться в точку(x1,y2)
. сместиться в точку(x1,y1)
. поднять перо
кон

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

Задание 1. Используя вспомогательные алгоритмы линия и прямоугольник создайте какой-либо рисунок.

Задание 2. Попробуйте переписать алгоритмы линия и прямоугольник так, чтобы рисование осуществлялось командой сместиться на вектор.

Задание 3. Составьте алгоритм «прямоугольник (арг вещ x, y, a, b)», который рисует прямоугольник с длинами сторон a и b, начиная из заканчивая в точке (х, y).

Задание 4. Нарисуйте самостоятельно, что нарисует Чертежник выполнив алгоритм:

использовать Чертежник
алг спираль
нач
. сместиться в точку(3,3)
. опустить перо
. виток(1); виток(3); виток(5); виток(7); виток (9)
. поднять перо
кон
алг виток(арг вещ а)
нач
. сместиться на вектор(а, 0)
. сместиться на вектор(0, -а)
. сместиться на вектор(-а-1,0)
. сместиться на вектор(0, а+1)
кон
Категория: 8 класс | Добавил: matematika
Просмотров: 1720 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: