- •Команды dos для работы с каталогами Смена текущего каталога
- •Просмотр каталога
- •Соединение (конкатенация) файлов
- •Перемещение файлов в другой каталог
- •Сравнение файлов
- •Вывод файла на экран
- •Перенос на диск системных файлов dos
- •Задание метки диска
- •Вопрос№16 5.2. Программирование разветвляющихся алгоритмов в подпрограмме-функции
Вопрос№16 5.2. Программирование разветвляющихся алгоритмов в подпрограмме-функции
Напомним, что в разветвляющихся алгоритмах присутствует несколько ветвей вычислительного процесса. Выбор конкретной ветви зависит от выполнения (или не выполнения) заданных условий на значения переменных алгоритма.
Для программирования разветвляющихся алгоритмов в подпрограмме-функции Mathcad можно использовать условную функцию и условный оператор if. Используя эти конструкции, можно «изменить» последовательное выполнение операторов. Условная функция if была рассмотрена в п. 3.2, поэтому перейдем к изучению условного оператора if.
Условный
оператор. Этот
оператор используется
только
в теле П-Ф и
для его ввода необходимо щелкнуть на
кнопке if
палитры программирование.
На экране появляется конструкция с
двумя полями ввода, изображенная на
рис. 5.2.1.
Рис. 5.2.1. Структура условного оператора if
В поле 2 вводится логическое выражение УСЛ (в простейшем случае это выражение отношений). В поле 1 вводится конструкция ВЫР1 (как правило, арифметическое выражение), которая выполняется, если проверяемое логическое выражение принимает значение 1. Если УСЛ = 0, то ВЫР1 не выполняется. Это соответствует условной структуре, называемой ЕСЛИ – ТО.
Для получения условной структуры ЕСЛИ – ТО – ИНАЧЕ используется оператор otherwise, вводимый с палитры ПРОГРАММИРОВАНИЕ, в поле которого размещается конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение принимает значение 0 (см. рис. 5.2.2). Оператор otherwise непосредственно следует после условного оператора if.
Рис. 5.2.2. Реализация структуры ЕСЛИ – ТО – ИНАЧЕ
Для ввода ВЫР2 в поле оператора otherwise необходимо:
выделить поле, стоящее после оператора if;
щелкнуть на кнопке otherwise палитры программированиЕ;
в появившееся поле оператора otherwise ввести необходимую конструкцию ВЫР2.
Пример 5.2.1. Составим описание П-Ф, вычисляющей функцию y(x), заданную в примере 3.2.1. Описание и вызов П-Ф приведены на рис. 5.2.3.
Рис. 5.2.3. Реализация разветвляющегося алгоритма примера 3.2.1
Таким образом, конструкция, стоящая перед словом otherwise выполняется только в том случае, если не выполнено заданное перед этим условие. В программе можно использовать несколько следующих друг за другом условных операторов с одним оператором otherwise.
Пример 5.2.2. Составим описание П-Ф для вычисления переменной z(t) по формуле
z(t)
=
Описание П-Ф и ее вызов приведены на рис. 5.2.4.
Рис. 5.2.4. Реализация разветвляющегося алгоритма примера 5.2.2
Из описания видно, что функция z(t) получит значение ln(t) только тогда, когда не выполняются условия, записанные в двух вышестоящих строках тела П-Ф. Внимание! Если в строке 3 ввести просто ln(t), то это выражение будет вычисляться всегда вне зависимости от выполнения заданных выше условных операторов. 5.3. Программирование циклических алгоритмов в подпрограмме-функции
Напомним, что циклические алгоритмы (циклы) содержат повторяющиеся вычисления, зависящие от некоторой переменной. Такая переменная называется параметром цикла, а сами повторяющиеся вычисления составляют тело цикла. Циклы можно условно разделить на две группы:
циклы типа арифметической прогрессии;
итерационные циклы.
Особенности этих циклов были рассмотрены в п. 3.3.
Программирование цикла типа арифметической прогрессии. Для программирования таких циклов используется оператор цикла for (часто называемый оператором цикла с параметром). Для ввода такого оператора необходимо выполнить следующие действия:
щелкнуть на кнопке for палитры ПрограммированиЕ. На экране появятся поля ввода, изображенные на рис. 5.3.1;
Рис. 5.3.1. Поля оператора цикла for
в поле ввода 1 ввести имя переменной, являющейся параметром цикла;
в поле 2 — закон изменения параметра цикла, используя для этого описание дискретной переменной или описание массива;
в поле 3 — операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке Add line палитры программированиЕ, и тогда слева от тела цикла появляется вертикальная черта, охватывающая тело цикла.
Пример 5.3.1. Составить описание П-Ф, реализующей алгоритм примера 3.3.1.
Описание П-Ф и ее вызов приведены на рис. 5.3.2. Заметим, что значение системной переменной ORIGIN (начальное значение индексного выражения) задается равным 1.
Рис. 5.3.2. Подпрограмма-функция формирования вектора
Пример 5.3.2. Для x меняющегося от -2 до 2 с шагом 0.5 вычислить значение f(x) = e-x. Cos (2x) и сформировать из этих значений вектор y, т.е. y1 = f(-2), y2 = f(-1.5) и т.д.
В этом примере количество повторений тела цикла определяется по формуле
Описание П-Ф и ее вызов приведены на рис. 5.3.3. Видно, что в теле цикла выполняется два оператора. Первый оператор формирует элемент массива y, а второй изменяет на 1 значение индекса.
Вопрос№17.
1.2.7. Размерные переменные
В
Mathcad числовые переменные и функции могут
обладать размерностью. Сделано это для
упрощения инженерных и физических
расчетов. В Mathcad встроено большое
количество единиц измерения, с помощью
которых и создаются размерные переменные.
Чтобы создать размерную переменную,
определяющую, например, силу тока в 10
А, введите выражение, присваивающее
переменной i значение 10: i:=10, и затем
символ умножения <*>, а потом букву
"А". Поскольку все символы,
обозначающие единицы измерения,
зарезервированы и имеют предустановленные
значения (связанные с размерностью), то
литера А будет распознана Mathcad как Ампер
(листинг 1.17, первая строка). Если ранее
вы переопределили переменную А, присвоив
ей какое-либо значение, то восприниматься
как единица силы тока она уже не будет.
Листинг 1.17. Расчеты с размерными
переменными
Вставить единицу измерения можно и по-другому, не вручную, а при помощи средств Mathcad. Для этого выберите команду Insert / Unit (Вставка / Единица), либо нажмите кнопку с изображением мерного стакана на стандартной панели инструментов, либо клавиши <Ctrl>+<U>. Затем в списке Unit (Единица измерения) открывшегося диалогового окна Insert Unit (Вставка единицы измерений) выберите нужную единицу измерения Ampere (А) и нажмите кнопку ОК. Если вы затрудняетесь с выбором конкретной единицы измерения, но знаете, какова размерность переменной (в нашем случае это электрический ток), то попробуйте выбрать ее в списке Dimension (Размерность) диалогового окна Insert Unit (Вставка единицы измерений). Тогда в списке Unit (Единица измерения) появятся допустимые для этой величины единицы измерений, из которых выбрать нужную будет легче (рис. 1.9). Просмотреть вставку единиц измерения можно и без выхода из диалогового окна Insert Unit, нажимая вместо кнопки ОК кнопку Insert (Вставить). В этом случае вы увидите, что единица измерений появилась в нужном месте документа, и можете поменять ее, оставаясь в диалоге Insert Unit.
ПРИМЕЧАНИЕ Многие единицы измерения можно представлять в виде различных символов. Например, ампер — как А или amp, Ом — как ohm и т. д.
Над размерными переменными можно производить любые разумные с физической точки зрения расчеты. Пример расчета сопротивления через отношение напряжения к току приведен в листинге 1.17. Работая с размерными переменными, приготовьтесь к тому, что Mathcad будет постоянно контролировать корректность расчетов. Например, нельзя складывать переменные разной размерности, в противном случае будет получено сообщение об ошибке "The units in this expression do not match" (Размерности в этом выражении не совпадают). Тем не менее, позволяется складывать, например, амперы с килоамперами и величины, размерность которых выражена в разных системах измерения (например, СИ и СГС).
Рис.
1.9. Вставка единиц измерения размерной
величины
ПРИМЕЧАНИЕ 1 В Mathcad 12 контроль за правильностью совместного применения различных размерных переменных стал еще жестче, что позволяет избежать случайных ошибок. В частности, примененная техника статической проверки размерности запрещает расчет функций, которые, в зависимости от значения аргумента, могут выдавать результат различной размерности, например, f(x=0)=1*m2, a f (x=l)=l*m3, и т. п. Запрещено также возводить размерные переменные в степень, не являющуюся целым числом, например (l*s)2.31, а также выполнять некоторые другие операции.
ПРИМЕЧАНИЕ 2 Можно включить автоматический перевод единиц измерения в более простые единицы, как это показано в листинге 1.17 (ответ автоматически переводится в омы). Для этого перейдите в диалоговое окно Result Format (Формат результата) на вкладку, посвященную размерностям, с помощью команды Format / Result / Unit Display (Формат / Результат / Отображение размерности). Установите в ней флажок Simplify units when possible (Упрощать единицы, когда это возможно).
Единицу измерения в системе СИ любой размерной переменной можно вывести при помощи встроенной функции siunitsof:
siunitsof (a) — возвращает единицу измерения переменной (в системе СИ):
а — переменная.
ВНИМАНИЕ! В прежних версиях Mathcad эта функция имела другое название— UnitsOf (листинг 1.18).
Листинг
1.18. Вывод единицы измерения размерной
величины в системе СИ Mathcad 2001-11
Вопрос№18.
Машинная графика глубоко проникает в искусство, технику, рекламу, связь. Internet сильно зависит от технологии передачи графики. Многие спецэффектов видео и кинофильмах не обходятся созданы за счет средств машинной графики. В настоящее время компьютерная графика представляет собой важнейшую дисциплину для специалистов из многих областей знания: проектировщиков электронных устройств, инженеров, математиков, физиков, художников. В промышленном производстве машинная графика лежит в основе систем автоматизированного проектирования (САПР), предназначенных для выполнения проектных работ с применением компьютерной техники. В качестве входной информации САПР использует технические знания… САПР означает любое применение компьютера для проектирования отдельных деталей, узлов и систем. Незаменимы применения машинной графики для визуализации как в строительстве, так и в телевизионной анимации. Фундаментом большинства приложений машинной графики являются математические методы, особенно геометрия и способы преобразования точек и линий, а также алгоритмы рисования являются основой машинной графики. Нарисованный объект может быть представлен в нужном масштабе, повернут, преобразован или модифицирован. Основой для понимания формы трехмерного объекта является способность визуализировать или изображать пространственный объект. Важна способность вращать и строить виды проекций объекта, а также строить разрезы его плоскостями. Восприятию глубины объекта способствует перспективное преобразование. В технике используется восстановление вида объекта по заданным чертежам его проекций. Решение всех этих задач основано на матричных преобразованиях координат. Для того, чтобы построить по заданным координатам точек , соединяющую их линию применяются методы интерполяции: вместо ломанной линию, соединяющую дискретные точки строят плавную кривую, заданную аналитически. Наиболее распространены методы кубических сплайнов, параболическая интерполяция, использование кривых Безье и их обобщения до B-сплайнов. Важную роль в конструировании и научном предствлении данных играют поверхности. По существу поверхность задается сеткой ортогональных плоских кривых , лежащих на секущих плоскостях. Удобно пользоваться математической моделью поверхности, заданной параметрически. Для того, чтобы изображение выглядело более реалистично применяются еще модели освещенности предмета от одного или нескольких источников света. Основные модели освещенности: по Ламберту, по Гуро, по Фонгу. Учет отражения света, излучательной способности предмета и т.д. Компьютер в машинной графике может выступать как пассивное устройство (для описания изображений, их хранения, манипулирования ими, их вызова и визуализации). На экран выводится предварительно подготовленное изображение. В динамической интерактивной графике он используется для подготовки и визуализации графических данных. Интерактивная графика позволяет наблюдателю в реальном масштабе времени влиять на весь процесс представления изображения. Задача визуализации в реальном времени требует больших ресурсов компьютера. Пример: картинка из 1000 линий представляется матрицей 1000.84 координат конечных точек линий. Вращение представляется умножением этой матрицы на матрицу преобразований размером 4*4. Для проведения матричного умножения потребуется выполнить 16000 операций умножения и 1000 операций деления вещественных чисел. Допустим операция умножения будет выполняться с быстродействием 3.6 мкс, сложения - за 2.6 мкс и деления со скоростью 5.2 мкс. Тогда такое матричное умножение будет выполнено за 0.1 с. Чтобы картинка на экране двигалась, она должна перерисовываться не менее 30 раз в секунду. на это потребуется очень много времени. Основные задачи машинной графики:
представление изображений
подготовка изображений для вывода
визуализация предварительно подготовленных изображений
взаимодействие и изображением
Для взаимодействия и изображением, а также для ввода и вывод графических данных служат внешние диалоговые графические устройства. Простейшие устройства для ввода данных:
клавиатура,
манипулятор мышь,
графический двух или трехкоординатный планшет (дигитайзер), который используется как оцифровыватель для получения координат. ),
сканер ,
цифровые фотоаппарат и видеокамера (существуют и другие устройства).
Простейшие устройства для манипуляции с графическим изображением :
клавиатура,
манипулятор мышь,
трекбол и т. д.
Простейшие устройства для вывода графических данных:
принтеры
плоттеры
Подробно cмотрите в разделах Средства ввода графической информации" и Средства вывода графической информации".
Форматы графических данных
Для того, чтобы компьютер мог обрабатывать изображения, они должны быть представлены в цифровом виде (закодированы). Представление пространственных данных - это способ цифрового описания пространственных объектов, тип структуры пространственных данных. Под графическим форматом понимается способ машинной реализации представления пространственных данных. Наиболее употребительными форматами хранения и формирования компьютерных изображений являются: векторное и растровое. Достаточно распространены также регулярно-ячеистое и квадротомическое (квадродерево). К менее распространенным или применяемым для представления пространственных объектов определенного типа относятся также гиперграфовая модель, модель типа TIN и ее многомерные расширения. Известны гибридые представления пространственных данных. Формат квадротомических деревьев является специализированными используется в геоинформационных системах (ГИС). Он основан на основаной на принципе рекурсивного иерархического разбиения пространства и является компромиссным вариантом между растровым и векторным, поскольку в растровом формате информация занимает слишком много места, а векторный формат не может обеспечить быстрый доступ к информации. Это позволяет одновременно уменьшить объем хранимой информации и облегчить доступ к ней. Кроме того, квадродеревья удобно использовать в качестве структуры для организации баз пространственных данных. В рамках этого пособия данный формат подробно не рассматривается. Регулярно-ячеистое представление пространственное данных (cellular data model, tessellation) - цифровое представление пространственных объектов в виде совокупности ячеек регулярной сети с присвоенными им значениями класса объекта в отличие от растрового представления как совокупности элементов растра (пикселов). В цифровой картографии этому соответствует матричная форма представления цифровой картографической информации. Ипользуется в геоинформационных системах. В данном курсе остановимся подробно на растровом и векторном форматах как на наиболее употребительных. Подробно о растровой графике написано ниже. Подробно о векторной графике написано ниже.
Взаимная конвертация растрового и векторного форматов
Очевидно, что осуществить переход от векторного способа хранения изображения к растровому несложно. Нужно только задать масштаб для пересчета координат векторов в пикселы. Обратный переход - достаточно нетривиальная задача. Конвертация изображения из растрового в векторный формат приводит к наследованию последним невозможности корректного масштабирования в большую сторону.
Что выбрать: растровый или векторный формат?
Выбор растрового или векторного формата зависит от целей и задач работы с изображением. Если нужна фотографическая точность цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы оформления удобнее представлять в векторном формате. Понятно, что и в растровом и в векторном представлении графика (как и текст) выводятся на экран монитора или растровое печатное устройство в виде совокупности точек. Для векторной графики большого формата предпочтительней пользоваться плоттером. Без дополнительных плагинов (дополнений) наиболее распространенные броузеры понимают только растровые форматы - .gif, .jpg и .png (последний пока мало распространен). Рисовать начинающим художникам проще именно в векторных средах - если рука дрогнула и линия пошла не туда, получившийся элемент легко редактируется. При рисование в растровом режиме Вы рискуете непоправимо испортить фон. Из-за описанных выше особенностей представления изображения, для каждого типа приходится использовать отдельный графический редактор - растровый или векторный. В Интернете графика представляется в одном из растровых форматов, понимаемых броузерами без установки дополнительных модулей - GIF, JPG, PNG.
Вопрос №19. Ве́кторная гра́фика — способ представления объектов и изображений в компьютерной графике, основанный на использовании элементарных геометрических объектов, таких как точки, линии, сплайны и многоугольники. Объекты векторной графики являются графическими изображениями математических функций. Термин используется в противоположность к растровой графике, которая представляет изображение как матрицу фиксированного размера, состоящую из точек (пикселей) со своими геометрическими параметрами. Ра́стровое изображе́ние есть, - сетка пикселей или цветных точек на компьютерном, (например - монитор) устройстве, бумаге и других отображающих устройствах и материалах (растр). Важными характеристиками изображения являются: количество пикселей — размер. Может указываться отдельно количество пикселей по ширине и высоте (1024×768, 640×480, …) или же, редко, общее количество пикселей (часто измеряется в мегапикселях); количество используемых цветов или глубина цвета (эти характеристики имеют следующую зависимость: N=2^k, где N — количество цветов, а k — глубина цвета); цветовое пространство (цветовая модель) RGB, CMYK, XYZ, YCbCr и др. разрешение — справочная величина, говорящая о рекомендуемом размере пикселя изображения. Растровую графику редактируют с помощью растровых графических редакторов. Создается растровая графика фотоаппаратами, сканерами, непосредственно в растровом редакторе, также путем экспорта из векторного редактора или в виде снимка экрана Достоинства Растровая графика позволяет создать (воспроизвести) практически любой рисунок, вне зависимости от сложности, в отличие, например, от векторной, где невозможно точно передать эффект перехода от одного цвета к другому без потерь в размере файла. Распространённость — растровая графика используется сейчас практически везде: от маленьких значков до плакатов. Высокая скорость обработки сложных изображений, если не нужно масштабирование. Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации, таких как мониторы (за исключением векторных), матричные и струйные принтеры, цифровые фотоаппараты, сканеры, а также сотовые телефоны. Недостатки Большой размер файлов у простых изображений. Невозможность идеального масштабирования. Невозможность вывода на печать на плоттер. Из‑за этих недостатков для хранения простых рисунков рекомендуют вместо даже сжатой растровой графики использовать векторную графику.
№19. под растровым (bitmap, raster) понимают способ представления изображения в виде совокупности отдельных точек (пикселей) различных цветов или оттенков. Это наиболее простой способ представления изображения, ибо таким образом видит наш глаз. Достоинством такого способа является возможность получения фотореалистичного изображения высокого качества в различном цветовом диапазоне. Недостатком – высокая точность и широкий цветовой диапазон требуют увеличения объема файла для хранения изображения и оперативной памяти для его обработки. Для векторной графики характерно разбиение изображения на ряд графических примитивов – точки, прямые, ломаные, дуги, полигоны. Таким образом, появляется возможность хранить не все точки изображения, а координаты узлов примитивов и их свойства (цвет, связь с другими узлами и т. д.).
