Кнопки управления структурой окна — КиберПедия 

Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Кнопки управления структурой окна

2017-11-16 272
Кнопки управления структурой окна 0.00 из 5.00 0 оценок
Заказать работу

 

Три кнопки управления структурой окна, находящиеся в самом низу палитры инструментов, предназначены для изменения режима отображения окна на экране. Кнопка слева представляет обычный режим окна. Щелчок на средней кнопке приведет к тому, что окно займет весь экран. Правая кнопка также развернет окно на весь экран, кроме этого исчезнут абсолютно все меню. Чтобы быстро пе­рейти из одного режима к другому, нажмите <F> на клавиатуре.

 

Пример использования:

 

"Кровавый полдень в кровавом ущелье". Техника следующая - создаем красно-черные облака, доделываем их повторением Difference Clouds до получения достаточно мелкой фактуры, далее применяем Filters/Distorb/Twirl градусов на 50 и фильтр Pinch порядк а 70. Следующий - Filters/Distorb/Polar Coordinates и Polar to Rectangural. Немного притемняем изображение путем уменьшения Transparency слоя (Layer), предварительно подложив под слой с облаками чисто черный слой. Дальше надо придать лишь завершаюший шарм - солнце. Для этого сначала Filters/Render/Lighting Effects создаем Omni источник на месте предполагаемого светила, так чтобы это место слегка осветилось, а другие районы слегка затемнились. Потом Lense Flare, сначала 105 мм интенсивностью 50, и поверх 35 мм на 60 единицах.

Контрольные вопросы:

 

1. Что такое слои?

2. Назовите основные инструменты для ретуширования изображений?

3. Можно ли в Photoshop редактировать векторные изображения?

4. Для чего необходим режим «быстрой маски»?

 

Задание:

 

1. Создайте новый файл, в нем нарисуйте некий рисунок с применением многослойной структуры.

2. Примените несколько графических фильтров для обеспечения реалистичности придуманного вами изображения.

3. Откройте уже готовый рисунок и испробуйте средства по изменению и ретушеровке изображения.

 

 


ЛАБОРАТОРНАЯ РАБОТА № 4

Тема: Математический пакет Mathcad 8 Pro.

Цель: Показать возможности программирования с помощью математического пакета Mathcad 8 Pro.

 

Панель программирования

 

 
 

В Mathcad, по сути, не встроен язык программирования, а просто снято ограничение на использование составных операторов в теле алгоритмических управляющих конструкций выбора (if) и повторения (until). Кроме того, введено понятие локальной переменной, добавлен цикл с параметром for, операторы досрочного выхода из цикла break и continue, а также оператор досрочного выхода из программы return. Алгоритмические конструкции в среде Mathcad вводятся не традиционным набором через клавиатуру ключевых слов if, then, else, while и т.д., а нажатием одной из кнопок панели программирования (Programming):

 

Рис. 4.1 - Панель программирования Mathcad

Щелчок по одной из этих кнопок создает на дисплее заготовку соответствующей программной конструкции.

Опишем их.

 

Кнопка – эта команда добавления строки в программу, в тело цикла, в плечо альтернативы и т.д. Этим действием снимается вышеупомянутое ограничение на число операторов во вложенных конструкциях языка:

Было

стало

 

 

Вертикальная линия объединяет отдельные операторы в операторный блок с одним входом и одним выходом, который выполняется как единый оператор (один из трех атрибутов структурного программирования).

 

Кнопка – это оператор присвоения значения локальной переменной. На языке Pascal мы пишем А:= В + С, на языке BASIC – А = В + С, а на языке Mathcad – А ← B + С. Почему?

A:= A:= B + C (Pascal),

В Mathcad-выражении: A:= A ← B + C все более-менее ясно: локальной переменной A (она в середине между символами «:=» и «←») присваивается значение суммы двух переменных B и C, значение которых уже задано выше в Mathcad-документе (глобальные переменные). Затем эта сумма передается глобальной переменной A (она слева от знака «=»).

 
 

Простейший пример, показывающий разницу между глобальной и локальной переменной:

Негативное изображение переменной В будет свидетельствовать о том, что ее значение вне программы (В ← 3) неопределенно. Благодаря локальным переменным можно создавать объемные Mathcad-документы, поручая разработку отдельных функций и операторов разным программистам и не заботясь о разделении переменных: в разных программах переменные могут совпадать по имени, но при этом они не будут перебегать дорогу друг другу (технология программирования «сверху вниз»).

Итак, локальная переменная распространяет свое действие только на программу, а глобальная – на весь документ (на низ документа). Но в среде Mathcad есть инструментарий, позволяющий переменным, пользовательским функциям и операторам проникать и в другие документы, но с их, так сказать, согласия.

 
 

Нажав на кнопку мы получим на экране заготовку цикла с предпроверкой – слово while с двумя пустыми квадратиками:

В первый квадратик (правее while) нужно будет записать булево выражение (переменную), управляющее циклом, а во второй (ниже while) – тело цикла, операторы которого будут выполняться, пока булево выражение возвращает значение «Да» (в среде Mathcad – это числовое значение, отличное от нуля). Если в теле цикла более одного оператора (а это основное отличие оператора while от вышеупомянутой функции until), то нужно воспользоваться кнопкой Add Line (см. выше).

Кнопка позволяет вводить в программу альтернативу с одним плечом. Так, Pascal-конструкция: if A > B then C:= D в среде Mathcad будет выглядеть несколько по-арабски (записана справа налево): С ← D if A > B.

Но если плечо альтернативы – составной оператор, то все встанет на свои места, вернее, будет записано сверху вниз:

Pascal: if A>B then begin E:=F; F:=G end[11];

Mathcad: if A>B

E←F

F←G

Кнопка - превращает неполную альтернативу в полную.

 

Pascal: if A > B then C:= D else E:= F;

Mathcad: C ←D if A > B

E ←F otherwise

Но если в плечах полной альтернативы по одному оператору, то можно воспользоваться не оператором (кнопкой) if, а функцией if:

C←if(A > B, D, F) или if(A > B, C←D, E←F)

Понять, почему в Mathcad не было использовано традиционное слово else, можно, если принять во внимание то, что операторы if и otherwise позволяют записать в программах алгоритмическую конструкцию множественное ветвление. Разберем ее на примере задачи о расчете налогов (федеральный налог США с недельного заработка).

Функции Tax1 и Tax2 (пункт 1) возвращают налог с холостых и женатых по прогрессивной шкале налогообложения (см. график в пункте 3). В данном примере (и во всех других) без оператора otherwise можно обойтись (сравните окончания функций Tax1 и Tax2). Он необходим в тех случаях, когда булево выражение, объединяющее оставшиеся случаи ветвления, трудно сформировать. Оператор otherwise – это гибрид ключевых слов ELSE, ELSEIF и CASE ELSE языка BASIC.

Когда заранее известно, сколько раз нужно выполнить какую-то часть программы (тело цикла), то используют не цикл while, а цикл for, в заголовке которого пишут не булево выражение, а параметр цикла и указывают, какие дискретные значения он должен принимать в цикле. Эти значения можно перечислить через запятую (1, 2, 3.7) или указать диапазоном (2.. 100) или вектором (V).

 
 

Рис. 4.2 - Решение буквенной головоломки USA+USSR=PEACE (иллюстрация цикла с параметром)

 

Программа на рис. 4.2 решает буквенную головоломку USA+USSR=PEACE, где требуется указать, какие цифры скрываются за буквами. В программе три цикла с параметром (A, C и S), которые вложены друг в друга. В программе, не мудрствуя лукаво, можно было записать все семь циклов – по числу неизвестных задачи U, S, A, R, P, E и C. Но тогда перебор длился бы нестерпимо долго. Несложный предварительный анализ условий задачи (U ← 9, Р ← 1, Е ← 0 и R ← 10 + A) сокращает число циклов до трех и делает время счета приемлемым. Один из основных недостатков языка Mathcad – это невозможность вывода на дисплей промежуточных результатов расчета. А они не только помогают отлаживать программы, но и в ряде случаев просто необходимы при поиске единственно правильного решения из множества возможных. В Mathcad-программах допустима запись вариантов ответов (промежуточных результатов) в матрицу (в вектор), которую после выполнения программы можно просмотреть, что и сделано на рис. 4.2. При этом в матрицу M записываются не только значения числовых переменных, но и текстовые константы (“+”, “=” и др.), делающие ответ более читабельным. Правильный ответ хранится в первом столбце матрицы M. Вернее, в первой строке – матрица у нас транспонируется для большей компактности. Остальные ответы неверны – там разным буквам соответствуют одинаковые числа.

Цикл с параметром в среде Mathcad более гибок, чем его аналоги в языках BASIC или Pascal. Вот еще варианты заголовков циклов с параметром в среде Mathcad, кроме тех, которые показаны на рис. 4.2 (там специально приведены разные варианты заголовков циклов):

 

for A V (V – вектор)

 

for A 5, 4.7, 8.9, 7.3×10-5

 

for i i1.. i2.

 

Последний вариант примечателен тем, что переменные i1 и i2 могут принимать любые значения, и необязательно, чтобы i1 было меньше i2. В языках BASIC и Pascal разное соотношение между i1 и i2 требует различного синтаксиса заголовка цикла с параметром:

For i=i1 To i2 или For i=i2 To i1 Step -1 (BASIC)

for i:=i1 to i2 do или for i:=i2 downto i1do (Pascal).

Кнопки и позволяют досрочно выходить

из циклов while и for, а кнопка. – совсем из программы.

 

Ниже приведены другие примеры программ в среде Mathcad.

 

Рекурсия

 

Рекурсивная функция – это такая функция, которая вызывает сама себя в момент ее создания. Рекурсия – очень мощный и удобный инструмент решения задач. Так, например, один из самых быстрых алгоритмов сортировки массива использует рекурсию. Вычислить детерминант квадратной матрицы также помогает рекурсия и т.д.

Числа Фибоначчи, которые связаны с условными кроликами:

Поколение кроликов ...                 ...
Число кроликов ...                  

 

Приведенный ряд специально начат не с традиционного места (первое поколение), а с четвертого поколения (три кролика), для того чтобы задать читателю вопрос, подобный тому, который стоял в задаче о факториале: «Чему равно минимальное число кроликов в популяции – каково наименьшее число Фибоначчи?» Нормальный ответ, приводимый во всех учебниках, – ноль. Но не будем спешить и напишем программу с двусторонней рекурсией, взяв за базовые числа Фибоначчи не традиционную пару 0 и 1, а 13 и 21.

 
 

Рис. 4.3 - Расчет чисел Фибоначчи (двусторонняя рекурсия)

 

Ряд кроликов Фибоначчи в «отрицательных поколениях» зеркально отображает значения в «положительных поколениях», но с переменным знаком.

 
 

Числа Фибоначчи в наше время широко применяются в вычислительной математике, в том числе и для иллюстрации рекурсии.

Рис. 4.4 - Расчет изящных чисел Фибоначчи (двусторонняя рекуррентность)

Использование рекурсии для поиска чисел Фибоначчи – это стрельба из пушки по воробьям. Намного эффективнее рассчитывать подобные числа в цикле, рекуррентно. На рис. 4.4 представлена программа, по которой ищутся, если так можно выразиться, изящные (fine) числа Фибоначчи.


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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.031 с.