Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Операторы if-then




Условные операторы

Локальные переменные

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

Локальная переменная объявляется несколькими способами. Ниже приведены все действительные способы объявления локальной переменной b (напомним, что она должна быть внутри блока):

(local b)

(local b = 2)

(b = 2 -- если переменная определена внутри блока)

Если переменная объявлена как локальная вне всех блоков кода, компилятор выдаст сообщение об ошибке "Nolocal declarations at top level:

...." (Объявления локальных переменных на верхнем уровне отсутствуют).

Как только локальная переменная будет объявлена, она может быть использована в том же блоке кода, где она была определена, или же во вложенных в него блоках. Рассмотрим, например, следующий сценарий:

s = sphere()

for i = 1 to 5 do

(

a = instance s pos: [i*50, 0, 0]

if (s.pos.x > 150)then

(s.pos.y = 50

c = (30 + i)

)

)


Глава 1

b = c -- Переменная c не определена в этом блоке,
b = copy a -- Переменная a определена в этом же блоке,
-- поэтому она действительна.

)

В данном сценарии имеются два блока кода, вложенных один в другой. Переменная c объявлена внутри блока if-then, поэтому она действительна только внутри круглых скобок, обрамляющих данный блок кода. Переменная a объявлена внутри блока цикла for, поэтому она может быть использована в блоке данного цикла, а также в блоке if-then.

Если выполнить данный сценарий, включив в него оператор построчного вывода после строки кода b = c, значение переменной c будет выведено как неопределенное (undefined).

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

Само по себе понятие условного оператора несложное. Такой оператор позволяет управлять процессом выполнения программы. Условные операторы могут быть реализованы разными способами.

К первому типу условных операторов относится оператор if-then,

if s.pos.x == 10 then s.radius = 40

В приведенном выше примере оператор изменяет радиус сферы только в том случае, если значение координаты x ее положения равно 10. Двойным знаком ра­венства (==) обозначается операция логического сравнения, тогда как одиночным знаком равенства - операция присваивания.

В условном операторе непременно должны присутствовать слова if и then. Если вы забудете включить их в данный оператор, в MAXScript будет сформировано в ответ сообщение об ошибке.




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 539; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.