Автор работы: Пользователь скрыл имя, 01 Декабря 2011 в 00:38, контрольная работа
В большинстве операционных систем (включая систему Linux) используется понятие файла (file). Файл - это некоторый "кусок" информации, которому дано имя, называемое именем файла (filename). Примерами файлов могут служить работа по истории, послание, пришедшее по электронной почте, а также исполняемая программа. Нужно знать, что на диске информация сохраняется только в виде отдельных файлов.
Файлы различаются по своим именам. Например, файл с работой по истории назовем history-paper. В этих случаях имя файла выбирается таким, чтобы оно каким-то образом характеризовало содержимое данного файла. Для имен файлов нет такого стандартного формата, какой есть в системе MS-DOS и в некоторых других операционных системах. В принципе, имя файла может содержать любые символы (за исключением символа / )Длина имени файла ограничена 256 знаками.
Понятие файла тесно связано с понятием каталога (directory). Каталог - это набор файлов. Каталог может рассматриваться как "папка", в которой содержится много различных листов. Каталогам даются имена, по которым их можно распознавать. Кроме этого, каталоги образуют структуру типа дерева; иными словами, каталоги могут содержать внутри себя другие каталоги.
Вариант 19.
Задание 1. Файлы и каталоги
В большинстве операционных систем (включая систему Linux) используется понятие файла (file). Файл - это некоторый "кусок" информации, которому дано имя, называемое именем файла (filename). Примерами файлов могут служить работа по истории, послание, пришедшее по электронной почте, а также исполняемая программа. Нужно знать, что на диске информация сохраняется только в виде отдельных файлов.
Файлы различаются по своим именам. Например, файл с работой по истории назовем history-paper. В этих случаях имя файла выбирается таким, чтобы оно каким-то образом характеризовало содержимое данного файла. Для имен файлов нет такого стандартного формата, какой есть в системе MS-DOS и в некоторых других операционных системах. В принципе, имя файла может содержать любые символы (за исключением символа / )Длина имени файла ограничена 256 знаками.
Понятие файла тесно связано с понятием каталога (directory). Каталог - это набор файлов. Каталог может рассматриваться как "папка", в которой содержится много различных листов. Каталогам даются имена, по которым их можно распознавать. Кроме этого, каталоги образуют структуру типа дерева; иными словами, каталоги могут содержать внутри себя другие каталоги.
Как следствие,
к файлу можно обращаться, указывая путь (path)
к этому файлу. Путь состоит из имени каталога,
за которым пишется имя файла. Пусть, например,
у меня есть каталог papers, в котором
у меня содержится три файла: history-final, english-
papers/english-lit
При
указании пути, как можно увидеть,
имена каталога и файла разделяются
символом /. По этой причине имена файлов
не могут содержать этот символ. Каталоги
могут быть вложены друг в друга. Пусть,
например, в одном каталоге papers имеется
другой каталог с именем notes.
Каталог notes содержит файлы math-notes и cheat-sheet
papers/notes/cheat-sheet
Видно, что путь к
файлу напоминает описание пути в
лабиринте. Каталог, который содержит
данный подкаталог, обычно называется
родительским каталогом (parent directory). В
данном примере каталог papers является
родительским для каталога notes.
Шаблоны имён файлов
Важное свойство большинства командных оболочек системы Linux — способность обращаться к более, чем одному файлу по имени с использованием специальных символов — шаблонов. С помощью этих шаблонов (wildcards) можно обращаться ко всем файлам, имена которых содержат, скажем, символ n.
Шаблон - обозначает любой символ или строку символов в имени файла. Когда в имени файла используется символ *, командная оболочка заменяет его на всевозможные варианты, которые встречается в именах файлов в рассматриваемом каталоге.
Приведу простой пример.
Допустим, у меня в текущем
каталоге имеются файлы frog, joe и stuf
/home/larry# ls
frog joe stuff
/home/larry\#
Для того, чтобы обратиться ко всем файлам, в имени которых содержится символ o, надо использовать команду
/home/larry# ls *o*
frog joe
/home/larry#
Всякий раз, когда в имени встречается символ *, он заменяется всеми возможными вариантами, которые встречаются в именах файлов в текущем каталоге.
Шаблон, состоящий из единственного символа *, подходит ко всем именам файлов, поскольку этому шаблону подходят все последовательности символов. Пример:
/home/larry# ls *
frog joe stuff
/home/larry#
/home/larry# ls f*
frog
/home/larry# ls *ff
stuff
/home/larry# ls *f*
frog stuff
/home/larry# ls s*f
stuff
/home/larry\#
Процесс замены символа * на последовательность имён файлов называется расширением шаблона (wildcard expansion). Расширение шаблона производится командной оболочкой. Очень важно знать, что отдельная команда, такая как ls, никогда не «видит» символ * в списках своих параметров. Именно командная оболочка производит расширение шаблона таким образом, что будут перечислены все удовлетворяющие шаблону имена файлов. Таким образом, команда
/home/larry# ls *o*
расширяется командной оболочкой в команду
/home/larry# ls frog joe
Важное замечание о шаблоне *: он не распознает имена файлов, которые начинаются с одной точки (.). Эти файлы рассматриваются как скрытые (hidden). Скрытость этих файлов заключается в том, что они не включаются в список, выдаваемый обычными командами ls, и не распознаются шаблонами, содержащими символ *.
Приведу пример. Что в каждом каталоге есть два специальных элемента: обозначает текущий каталог и родительский. Однако, при использовании команды ls эти два элемента в списке не появляются:
/home/larry# ls
frog joe stuff
/home/larry\#
Однако, если с командой ls использовать опцию -a, то имена файлов, начинающихся с символа ., окажутся в списке.
/home/larry\# ls -a
. .. .bash_profile .bashrc frog
joe stuff
/home/larry\#
Этот список содержит
два специальных элемента: и , а также
два других «скрытых» файла: .bash_profile и .bashrc
Когда мы использовали шаблон *, в списке не появилось ни одного файла, имя которого начиналось с символа ..
/home/larry# ls *
frog joe stuff
/home/larry#
Это предусмотрено механизмом безопасности: если бы шаблон * подходил бы и к именам файлов, начинающихся символом ., он бы также подходил и к именам каталогов . Это было бы опасно при использовании некоторых команд.
Ещё одним специальным символом в шаблонах является символ ?. Шаблон ? расширяется до ровно одного символа. Таким образом, команда ls ? выведет список всех файлов, имена которых состоят из одного символа. Команда ls termca? включит в список файл termcap, но не включит файл termcap.backup. Пример:
/home/larry# ls j?e
joe
/home/larry# ls f??g
frog
/home/larry\# ls ????f
stuff
/home/larry#
Шаблоны позволяют обращаться сразу к нескольким файлам. Например, команды cp и mv в действительности могут копировать или переносить больше одного файла за один раз. Например, команда
/home/larry\# \tinput{cp /etc/s\ttstar /home/larry}
копирует все файлы в каталоге /etc, имя которых начинается с символа s, в каталог /home/larry. В действительности, формат команды cp является следующим:
cp \cparam{files} \cparam{destination}
где files — список имён файлов, которые надо копировать, а destination — файл или каталог, куда надо копировать. Команда mv имеет аналогичный синтаксис.
При копировании или переносе более чем одного файла аргумент destination должен быть именем каталога. Только ровно один файл может быть скопирован или перенесён в другой файл.
Формальное определение компьютерная (машинная) графика – это создание, хранение и обработка моделей объектов и их изображений с помощью ЭВМ. Под интерактивной компьютерной графикой понимают раздел компьютерной графики, изучающий вопросы динамического управления со стороны пользователя содержанием изображения, его формой, размерами и цветом на экране с помощью интерактивных устройств взаимодействия.
Под компьютерной геометрией понимают математический аппарат, применяемый в компьютерной графике.
Необходимо отметить следующую отличительную черту компьютерных изображений. Изображения, которые мы встречаем в нашей повседневной жизни, реальные картины природы, можно бесконечно детализировать, выявлять все новые цвета и оттенки. Изображения, хранящиеся в памяти компьютера, независимо от способа их получения и представления, всегда являются усеченной моделью картины реального мира. Их детализация возможна лишь с той степенью, которая была заложена при их создании или получении, и их цветовая гамма будет не шире заранее оговоренной.
Одно и то же изображение может быть представлено в памяти ЭВМ двумя принципиально различными способами и получено два различных типа изображения: растровое и векторное. Рассмотрим подробнее эти способы представления изображений, выделим их основные параметры и определим их достоинства и недостатки.
Что такое растровое изображение?
Возьмём фотографию (рис.ниже). Она тоже состоит из маленьких элементов, но будем считать, что отдельные элементы мы рассмотреть не можем. Она представляется для нас, как реальная картина природы.
Теперь разобьём это изображение на маленькие квадратики (маленькие, но всё-таки чётко различимые), и каждый квадратик закрасим цветом, преобладающим в нём (на самом деле программы при оцифровке генерируют некий «средний» цвет, т. е. если у нас была одна чёрная точка и одна белая, то квадратик будет иметь серый цвет).
Как мы видим, изображение стало состоять из конечного числа квадратиков определённого цвета. Эти квадратики называют pixel (от PICture ELement) – пиксел или пиксель.
Рис. 1.1. Исходное изображение
Теперь каким-либо методом занумеруем цвета. Конкретная реализация этих методов нас пока не интересует. Для нас сейчас важно то, что каждый пиксель на рисунке стал иметь определённый цвет, обозначенный цифрой (рис. 1.2).
Рис. 1.2. Фрагмент оцифрованного изображения и номера цветов
Теперь пойдём по порядку (слева направо и сверху вниз) и будем в строчку выписывать номера цветов встречающихся пикселей. Получится строка примерно следующего вида:
1 2 8 3 212 45 67 45 127 4 78 225 34 ...
Вот эта строка и есть наши оцифрованные данные. Теперь мы можем сжать их (так как несжатые графические данные обычно имеют достаточно большой размер) и сохранить в файл.
Итак, под растровым (bitmap, raster) понимают способ представления изображения в виде совокупности отдельных точек (пикселей) различных цветов или оттенков. Это наиболее простой способ представления изображения, ибо таким образом видит наш глаз.
Достоинством такого способа является возможность получения фотореалистичного изображения высокого качества в различном цветовом диапазоне. Недостатком – высокая точность и широкий цветовой диапазон требуют увеличения объема файла для хранения изображения и оперативной памяти для его обработки.
Для векторной графики характерно разбиение изображения на ряд графических примитивов – точки, прямые, ломаные, дуги, полигоны. Таким образом, появляется возможность хранить не все точки изображения, а координаты узлов примитивов и их свойства (цвет, связь с другими узлами и т. д.).
Вернемся к изображению на рис. 1.1. Взглянем на него по-другому. На изображении легко можно выделить множество простых объектов — отрезки прямых, ломанные, эллипс, замкнутые кривые. Представим себе, что пространство рисунка существует в некоторой координатной системе. Тогда можно описать это изображение, как совокупность простых объектов, вышеперечисленных типов, координаты узлов которых заданы вектором относительно точки начала координат (рис. 1.3).