Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
komp_gra1.doc
Скачиваний:
39
Добавлен:
17.09.2019
Размер:
352.77 Кб
Скачать

4. Язык программирования Pascal. Структура программы на языке Pascal. Основые типы данных. Соответствие типов данных.

Паскаль (англ. Pascal) — высокоуровневый язык программирования общего назначения. Один из наиболее известных языков программирования, широко применяется в промышленном программировании, обучении программированию в высшей школе, является базой для большого числа других языков. Был создан Никлаусом Виртом в 1968-69 годах (опубликован в 1970 году) после его участия в работе комитета разработки стандарта языка Алгол-68.

Структура программы на языке Pascal.

Общая структура подключаемого модуля на Паскале выглядит следующим образом:

unit UnitName1;

interface

...

implementation

...

begin {может отсутствовать-используется, если необходимо поместить операторы инициализации}

...

end.

Основные типы данных.

Для обработки ЭВМ данные представляются в виде величин и их совокупностей. С понятием величины связаны такая важная характеристика, как ее тип.

Тип определяет:

возможные значения переменных, констант, функций, выражений, принадлежащих к данному типу;

внутреннюю форму представления данных в ЭВМ;

операции и функции, которые могут выполняться над величинами, принадлежащими к данному типу.

В языке Паскаль тип величины задают заранее. Все переменные, используемые в программе, должны быть объявлены в разделе описания с указанием их типа. Обязательное описание типа приводит к избыточности в тексте программ, но такая избыточность является важным вспомогательным средством разработки программ и рассматривается как необходимое свойство современных алгоритмических языков высокого уровня.

Иерархия типов в языке Паскаль такая:

Простые

Порядковые

Целые

Логические

Символьные

Перечисляемые

Интервальные

Вещественные

Структуированные

Массивы

Строки

Множества

Записи

Файлы

Указатели

Соответствие типов данных.

1. Для каждого описания идентификатора типа, переменной или параметра declared(I,B,Inf), где Inf равно type(T), var(T) или par(T), типу T ставится в соответствие новый нетерминал t.

2. Если нетерминалу t соответствует базовый тип arr(m,n,T1), то типу T1 ставится в соответствие новый нетерминал t1 и вводится правило t -> arr m n t1.

3. Если нетерминалу t соответствует базовый тип rec([f1:T1,...,fn:Tn]), то типу Ti ставится в соответствие новый нетерминал ti для каждого i и вводятся правила t -> ref i fi ti.

4. Если нетерминалу t соответствует базовый тип ref(T1), где T1=int или T1=real, то вводится правило t -> T1.

5. Если нетерминалу t соответствует базовый тип ref(tid(I,B)), а типу tid(I,B) уже сопоставлен нетерминал t1, то вводится правило t -> ^ t1.

Нетерминалы этой грамматики эквивалентны, если и только если соответствующие типы структурно эквивалентны.

5. Растровая и векторная графика, их достоинства и недостатки. Форматы хранения граф. Информации.

Тип

Характеристика

Достоинства

Недостатки

Растровая

представляет собой сетку окрашенных пикселей. Принцип мозаики.

Важными характеристиками изображения являются:

1)количество пикселей — размер. Может указываться отдельно количество пикселей по ширине и высоте(например 800*600px)

2) количество используемых цветов или глубина цвета

3) цветовое пространство (цветовая модель) RGB (red green blue), CMYK, XYZ, и др.

4)разрешение — справочная величина, говорящая о рекомендуемом размере пикселя изображения.

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

Распространённость — растровая графика используется сейчас везде: от маленьких значков до плакатов.

Высокая скорость обработки сложных изображений, если не нужно масштабирование.

Растровое представление изображения естественно для большинства устройств ввода-вывода графической информации (мониторы, принтеры, сотовые тлф)

Растровые изображения плохо масштабируются.

Большой размер файлов с простыми изображениями.

Невозможность идеального масштабирования.

Невозможность вывода на печать на плоттер (устройство для автоматического вычерчивания с большой точностью рисунков, схем, сложных чертежей и т.п.).

Векторная

движение луча\линии определяется координатами точек рисуемой фигуры. Изображение состоит из элементарных геометрических объектов, таких как точки, линии, многоугольники. Термин «векторная графика» используется в основном в контексте двухмерной компьютерной графики.

Векторные изображения могут быть неограниченно увеличены без потери качества

Размер не зависит от реальной величины объекта, что позволяет, описать сколько угодно большой объект файлом минимального размера.

Т.к. информация об объекте хранится в описательной форме, можно бесконечно увеличить графический примитив, например, дугу, и она останется гладкой.

Параметры объектов хранятся и могут быть легко изменены. Перемещение, масштабирование, вращение, заполнение и т. д. не ухудшает качества рисунка.

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

Перевод векторной графики в растр достаточно прост. Но обратного пути, как правило, нет

*Растровые изображения плохо масштабируются, тогда как векторные изображения могут быть неограниченно увеличены без потери качества

Способ хранения изображения Векторной графики:

Рассмотрим, к примеру, такой графический примитив, как окружность радиуса r. Для её построения необходимо и достаточно следующих исходных данных:

координаты центра окружности;

значение радиуса r;

цвет заполнения (если окружность не прозрачная);

цвет и толщина контура (в случае наличия контура).

Форматы сохранения растровой к.г.

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

Сжатие без потерь - использует алгоритмы сжатия, основанные на уменьшении избыточности информации.

BMP или Windows Bitmap — обычно используется без сжатия.

GIF (Graphics Interchange Format) — устаревающий формат, поддерживающий не более 256 цветов одновременно. Всё ещё популярен из-за поддержки анимации, которая отсутствует в чистом PNG.

PNG (Portable Network Graphics) - PNG был создан как свободный формат для замены GIF

Сжатие с потерями - Основано на отбрасывании части информации (как правило наименее воспринимаемой глазом).

JPEG очень широко используемый формат изображений. Сжатие основано на усреднении цвета соседних пикселей (информация о яркости при этом не усредняется) и отбрасывании высокочастотных составляющих в пространственном спектре фрагмента изображения. При детальном рассмотрении сильно сжатого изображения заметно размытие резких границ и характерный муар вблизи них.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]