Автор работы: Пользователь скрыл имя, 16 Января 2013 в 20:45, шпаргалка
Работа содержит ответы на вопросы для экзамена (или зачета) по дисциплине "Программирование"
оператор_1.Если
выражение принимает значение_
7. Графические порцедуры и ф-ии
Холст. поверхности, на которую программа может выводить графику, соответствует свойство Canvas.
В свою очередь, свойство canvas — это объект типа TCanvas. Методы этого типа обеспечивают вывод графических примитивов (точек, линий, окружностей, прямоугольников и т. д.), а свойства позволяют задать характеристики выводимых графических примитивов: цвет, толщину и стиль линий; цвет и вид заполнения областей; характеристики шрифта при выводе текстовой информации. Холст состоит из отдельных точек — пикселов. Положение пиксела характеризуется его горизонтальной (X) и вертикальной (Y) координатами. Координаты измеряются в пикселах. Пиксел – это наименьший элемент поверхности, с которым можно манипулировать. Важнейшее свойство пиксела - его цвет. Карандаш применяется для вычерчивания линий и контуров, а кисть — для закрашивания областей, ограниченных контурами.Карандашу и кисти, используемым для вывода графики на холсте, соответствуют свойства Реn (карандаш) и Brush (кисть), которые представляют собой объекты типа треп и TBrush, соответственно. Значения свойств этих объектов определяют вид выводимых графических элементов.
TPen. Свойство Определяет
Color Цвет линии
Width Толщину линии
Style Вид линии
Mode Режим отображения
style определяет вид (стиль) линии
psSolid Сплошная линия
psDash Пунктирная линия, длинные штрихи
psDot Пунктирная линия, короткие штрихи
psDashDot Пунктирная линия, чередование длинного и
короткого штрихов
psDashDotDot Пунктирная линия, чередование одного длинного и двух коротких штрихов
psClear Линия не отображается (используется, если не надо изображать границу области, например, прямоугольника)
Толщина пунктирной линии не может быть больше 1. Если значение свойства Pen.width больше единицы, то пунктирная линия будет выведена как сплошная.
Mode определяет, как будет формироваться цвет точек линии в зависимости от цвета точек холста, через которые эта линия прочерчивается.
pmBlack Черный, не зав-т от знач-я свойства Pen. Color
pmWhite Белый, не зав-т от знач-я свойства Pen. Color
pmCopy Цвет линии определяется знач-ем св-ва Pen.Color
pmNotCopy Цвет линии является инверсным по отношению к значению свойства Pen. Color
pmNot Цвет точки линии определяется как инверсный по отношению к цвету точки холста, в которую выводится точка линии
TBrush. Кисть (canvas.Brush) используется методами, обеспечивающими вычерчивание замкнутых областей, например геометрических фигур, для заливки (закрашивания) этих областей.
Color Цвет закрашивания замкнутой области
Style Стиль (тип) заполнения области вывод текста
Для вывода текста на поверхность графического объекта используется метод TextOut.
Объект.Canvas.TextOut(x, у, Текст)
объект — имя объекта, на поверхность которого выводится текст;
х, у — координаты точки графической поверхности
Текст — переменная
или константа символьного
Свойство Font представляет
собой объект типа TFont.
TFont
Name
Используемый шрифт. В качестве значения следует использовать название шрифта, например Arial
Size
Размер шрифта в пунктах (points). Пункт— это единица измерения размера шрифта, используемая в полиграфии. Один пункт равен 1/72 дюйма
Style
Стиль начертания символов. Может быть
fsBold (полужирный),
fsltalic (курсив),
fsUnderline (подчеркнутый),
fsStrikeOut (перечеркнутый).
style
Свойство style является множеством, что позволяет комбинировать необходимые стили. Например, "полужирный курсив", выглядит так:
Объект. Canvas . Font : = [fsBold, fs Italic]
Color
Цвет символов. В качестве значения можно использовать константу типа Tcolor
Методы вычерчивания графических примитивов
Прямая Линия - метод LinеТо,
Компонент.Canvas.LineTo(x,у)
Метод LinеТо вычерчивает прямую линию от текущей позиции карандаша в точку с координатами, указанными при вызове метода. Начальную точку линии можно задать, переместив карандаш в нужную точку графической поверхности. Сделать это можно при помощи метода MoveTo, указав в качестве параметров координаты нового положения карандаша. Вид линии (цвет, толщина и стиль) определяется значениями свойств объекта Реn графической поверхности, на которой вычерчивается линия.
Ломаная линия Метод polyline
В качестве параметра метод
получает массив типа TPoint. Каждый элемент массива представляет собой запись, поля х и у которой содержат координаты точки перегиба ломаной. Метод Polyline вычерчивает ломаную линию, последовательно соединяя прямыми точки, координаты которых находятся в массиве:
первую со второй, вторую с третьей, третью с четвертой и т. д.
Окружность и эллипс Метод Ellipse
вычерчивает эллипс или кружность.
Объект.Canvas.Ellipse(x1,y1, х2,у2]
x1, y1, х2, у2 — координаты прямоугольника, внутри которого
вычерчивается эллипс или, если прямоугольник является квадратом, окружность
Дуга Arc
Объект.Canvas.Arc(x1,y1,х2,у2,
х3, у3 —нач точку дуги;
х4, у4 —конеч точку дуги.
Начальная (конечная) точка — это точка пересечения границы эллипса и прямой, проведенной из центра эллипса в точку с координатами х3 и у3 (х4, у4). Дуга вычерчивается против часовой стрелки от начальной точки к конечной
Прямоугольник методом Rectangle,
Объект.Canvas.Rectangle(x1, y1,x2, y2)
x1, y1 и х2, у2 — координаты левого верхнего и правого нижнего углов прямоугольника.
Прямоугольник со скругленными углами RoundRec
Объект.Canvas.RoundRec(x1,y1,
x1, y1, х2, у2 -- параметры, определяющие положение углов прямоугольника, в который вписывается прямоугольник со скругленными углами; х3 и у3 — размер эллипса, одна четверть которого используется для вычерчивания скругленного угла
Многоугольник метод Polygon
В качестве параметра метод получает массив типа TPoint. Каждый элемент массива представляет собой запись, поля (х,у) которой содержат координаты одной вершины многоугольника. Метод вычерчивает многоугольник, последовательно соединяя прямыми линиями точки, координаты которых находятся в массиве: Затем соединяются последняя и первая точки.
Сектор эллипса или круга Метод pie
Объект. Canvas.Pie(x1,y1,x2,y2,х3,у3,
x1, y1, х2, у2 — параметры, определяющие эллипс (окружность), частью которого является сектор;
х3, у3, х4, у4 — параметры, определяющие координаты конечных точек прямых, являющихся границами
сектора. Начальные точки прямых совпадают с центром эллипса (окружности). Сектор вырезается против часовой стрелки от прямой, заданной точкой с координатами (х3,у3), к прямой, заданной точкой с координатами (х4, у4)
Точка Свойство
pixels, представляющее собой двумерный массив
типа TColor, содержит информацию о цвет
каждой точки графической поверхности.
Используя свойство Pixels, можно задать
требуемый цвет для любой точки графической
поверхности, т. е. "нарисовать"
точку. Form1.Canvas.Pixels[10,10]:=
поверхности.
Класс TPicture - класс-надстройка над TGraphic, точнее — над его потомками. Он содержит поле Graphic, которое может содержать объекты классов TBitmap, Ticon, TMetafile и TJpEGimage.
Вывод иллюстраций
Класс TGraphic является родительским для четырех видов изображений:
значка (компонент TIcon),
метафайла (компонент TMetafile)
растровой картинки (компонент TBitmap)
TJPEGImage — сжатая растровая картинка в формате JPEG
Битовая матрица (*.bmp) отображает цвет каждого пиксела в изображении. При этом информация хранится таким образом, что любой компьютер может отобразить картинку с разрешающей способностью и количеством цветов, соответствующими его конфигурации.
Пиктограммы (*.ico) – это маленькие битовые матрицы. Они используются для обозначения значков приложений, в быстрых кнопках, в пунктах меню, в различных списках. Пиктограмму невозможно масштабировать, она сохраняет тот размер, в котором была создана. Метафайлы (*.emf, *.wmf) хранят не последовательность битов, из которых состоит изображение, а информацию о способе создания картинки. Они хранят последовательность команд рисования, которые и могут быть повторены при воссоздании изображения.
Битовый образ объекты типа TBitMap
Представляет собой находящуюся в памяти компьютера, и, следовательно, невидимую графическую поверхность, на которой программа может сформировать изображение.
Загрузить в битовый образ нужную картинку можно при помощи метода LoadFromFlie, указав в качестве параметра имя BMP-файла, в котором находится нужная иллюстрация.
Например, переменная pic типа TBitMap, pic.LoadFromFiie('aplane.bmp')
Вывести содержимое битового образа (картинку) на поверхность формы или области вывода иллюстрации можно путем применения метода Draw к соответствующему свойству поверхности (canvas). Например, Image1.Canvas.Draw(x,у, bm) выводит картинку на поверхность компонента image1 Если перед применением метода Draw свойству Transparent объекта TBitMap присвоить значение True, то фрагменты рисунка, окрашенные цветом, совпадающим с цветом левого нижнего угла картинки, не будут выведены — через них будет как бы проглядывать фон. Если в качестве "прозрачного" нужно использовать цвет, отличный от цвета левой нижней точки рисунка, то свойству Transparentcoior следует присвоить значение символьной константы, обозначающей необходимый
Компоненты для работы с графикой
Компонент TImage На его поверхности и будут отображаться графические объекты, содержащиеся в свойстве:
property Picture: TPicture;
В качестве канвы компонента (свойство canvas) используется канва объекта из свойства Picture.Graphic, но только если поле Graphic ссылается на объект класса TBitmap.
Расположение графического объекта определяют свойства:
property AutoSize: Boolean;
property Stretch: Boolean;
property Center: Boolean;
Программа для просмотра изображений в среде Delphi включает обработчик события:
procedure TForml.BitBtnIClick(Sender: TObject);
begin
OpenPictureDialogI.Filter := GraphicFilter(TGraphic);
if OpenPictureDialogI.Execute then
Imagel.Picture.LoadFromFile (OpenPictureDialogI.FileName);
Другие компоненты для графики:
Компонент TPaintBox
Компонент TShape
Компонент TBevel
10.11.Операторы цикла
Циклический процесс, или просто цикл это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле, называют телом цикла. Один проход цикла называют шагом, или итерацией. Переменные, которые изменяются внутри цикла и влияют на его окончание, называются параметрами цикла.
Оператор цикла с предусловием while . .do
Оператор, реализующий этот алгоритм, в языке Free Pascal имеет вид: while выражение do оператор выражение должно быть логической константой, переменной или логическим выражением.
Работает оператор while следующим образом. Вычисляется значение выражения. Если оно истинно(True), выполняется оператор. Выполнение цикла заканчивается, если условие ложно, после этого управление передается оператору, следующему за телом цикла. Выражение вычисляется перед каждой итерацией цикла. Если при первой проверке выражение ложно(False), цикл не выполнится ни разу.
Если в цикле надо выполнить более одного оператора, необходимо использовать составной оператор:
while условие do
begin
оператор_1;
оператор_2;
оператор_n;
end;
Оператор цикла с постусловием repeat . . until
В языке Free Pascal цикл с постусловием реализован конструкцией
repeat
оператор;
until выражение;
или, если тело цикла состоит более чем из одного оператора
repeat
оператор_1;
оператор_2;
оператор_N;
until выражение;
Выражение должно быть логическим.
Работает цикл следующим образом. В начале выполняется оператор, представляющий собой тело цикла. Затем вычисляется значение выражения. Если оно ложно(False), оператор тела цикла выполняется ещё раз. В противном случае цикл завершается, и управление передается оператору, следующему за циклом.
Таким образом ,не трудно заметить ,что цикл с постусловием всегда будет выполнен хотя бы один раз, в отличие от цикла с предусловием, который может
Не выполниться ни разу.
Оператор цикла for . . do
«for параметр_цикла:=начальное_
оператор;
for параметр_цикла:=конечное_
оператор;»
где оператор любой оператор языка, параметр_цикла имя переменнойцелочисленного или перечислимого типов, начальное_значение и конечное_значение
должны быть того же типа ,что и параметр_цикла.
Шаг изменения цикла for всегда постоянен и равен интервалу между двумя ближайшими значениями типа параметра цикла(при целочисленном значении
Параметра цикла шаг равен1).
В случае если тело цикла состоит более чем из одного оператора, необходимо использовать составной оператор:
for параметр_цикла:=начальное_
begin
оператор_1;
оператор_2;
...
оператор_N;
end;
12. Массив - набор конечного числа элементов одинакового типа, объединенных общим именем. Каждый элемент массива определяется именем, совпадающим с именем массива, а так же индексом. Индекс - это виличина, характеризующая положение элементов относительно начала массива. Массивы бывают одномерными или двумерными сначала рассмотрим одномерные массивы. Объявление массивов происходит в разделе описания следующим образом:
Объявление одномерных массивов
1.В разделе переменных
Var имя массива : Array [тип индекса(пример:[1..100])] of тип элементов ;
2.В разделе описания типов
Type имя типа = Array [тип индекса] of тип элементов ;
Var имя массива : имя типа ;
3.В разделе констант
Const имя массива : Array [тип индекса] of тип элементов = (список элементов).