- •Билет №1:
- •I,j:Integer;
- •Билет №2:
- •Билет №3:
- •I,j:Integer;
- •//Логические константы
- •2) //Сравнения
- •3) //Логические операции
- •Билет №4:
- •Билет №6
- •Цикл с постусловием
- •3) Для того чтобы досрочно завершить виток цикла используется оператор Continue, для завершения цикла полностью – оператор Break.
- •Билет№7
- •Циклы с пред условиями
- •3)Отличие состоит в том что в цикле с постусловием цикл завершится в случае когда условие станет истинным, в цикле же с предустловием наоборот – ложным.
- •Билет №8:
- •Билет №9:
- •Program _Case;
- •1:Goto Met1;
- •2:Goto Met2;
- •Билет №10:
- •Многомерные массивы
- •I,j:Integer;
- •I:Integer;
- •IMax,iMin:Integer; {Наибольший и наименьший}
- •I:Integer;
- •Билет №11, 12:
- •Билет №13, 14:
- •Var //Раздел описаний подпрограммы
- •I:Integer;
- •Var //Раздел описаний подпрограммы
- •I:Integer;
- •X:String; //Раздел описаний основной программы
- •Билет №20: Оконные диалоги. Обработка ошибок
- •Билет №21:
- •Inherited Create; //Вызываем старый конструктор
- •Var I,j,k:Integer;
- •I,j:Integer;
- •I,j:Integer;
- •Inherited Destroy; //Вызываем старый деструктор
- •Билет №22:
- •Var //переменные:
- •Билет №23,24:
- •Билет №25: Битовые карты
- •3) Копирование изображений
- •Билет №26,27:
- •Билет №28:
- •Билет №29:
Var //переменные:
Cn: TCanvas; //для формирования канвы
R:TRect; //рабочая область экрана
MyRgn: HRGN; //чтобы выделить область экрана
P:TPoint; //чтобы найти координаты мыши
k:Integer; //чтобы узнать о нажатии пробела
x0:Integer=400; y0:Integer=200; //Начало области экрана,
x1:Integer=400+400; y1:Integer=200+400; //конец области
begin
Cn := TCanvas.Create; //Формирование полотна (канвы)
try
Cn.Handle := GetDC(0); //Задание устройства (экран)
try
R:=Rect(x0,y0,x1,y1); //Область экрана
MyRgn := CreateRectRgn(x0,y0,x1,y1);//Дубль области экрана
SelectClipRgn(Cn.Handle,MyRgn); //Разрешение рисовать в области
//-------------------------
Repeat //1. ЦИКЛ ПЕРЕРИСОВКИ КАРТИНКИ
//-------------------------
Windows.SleepEx(100, False); //Пауза 100 мили секунд
//-------------------------
Cn.Brush.Color:=clRed; //Цвет заливки
Cn.Brush.Style:=bsSolid; //Стиль заливки
Cn.FillRect(R); //Заливка области кистью
//-------------------------
Cn.Pen.Color:=clBlue; //Цвет линии
Cn.Pen.Style:=psSolid; //Стиль линии
Cn.Pen.Width:=4; //Толщина линии
Cn.MoveTo(R.Left,R.Top); //Курсор в начало линии
Cn.LineTo(R.Right,R.Bottom); //Прорисовка линии до конца
//-------------------------
Cn.Brush.Color:=clGreen; //Цвет фона текста
//Cn.Brush.Style:=bsClear; //Чтобы убрать фон текста
Cn.Font.Color:=clYellow; //Цвет текста
Cn.Font.Size:=14; //Размер текста
Cn.Font.Style:=[fsBold]; //Жирный шрифт
Cn.TextOut(R.Left+4,R.Top+16,'Привет ');//Вывод текста
//-------------------------
k:=GetKeyState(32); //Получение статуса "пробела"
GetCursorPos(P); //Получение координат мыши
Until (k<0) Or //Конец, если нажат пробел
((Abs(P.x-R.Left-44-4)<44) And//или мышь в зоне текста
(Abs(P.y-R.Top-16-16)<16));
//-------------------------
Application.Title:='Рисование на экране'; //Изменение заголовка
ShowMessagePos('Работа Завершена',x1,y0); //Вывод сообщения
finally
ReleaseDC(0, Cn.Handle); //Освобождение контекста
Cn.Handle := 0; //и канвы
end;
finally //Удаление канвы
Cn.Free;
end;
end.
Билет №23,24:
Графические примитивы
Что такое графический примитив
это простейшая геометрическая фигура, вычерчиваемая одним оператором
примитив представляет собой либо простую кривую линию, либо замкнутую линию вместе с ограниченной частью плоскости
обычно линия вычерчивается пером, а внутренняя часть закрашивается кистью
цвет линии определяется свойством пера, а цвет закраски – свойством кисти
примитив может выходить за пределы экрана
Как строится примитив
Примитив строится оператором, который является методом канвы и определяет геометрические параметры фигуры. Цвет, стиль и другие характеристики «чертёжных инструментов» задаются свойствами пера и кисти.
На рисунке приводятся допустимые стили инструментов и показаны результаты их применения. В правом столбце представлены имена основных операторов.
Перечень операторов для построения примитивов
LineTo(x,y) – строит отрезок от графического курсора до точки с координатами
Графический курсор – вспомогательная точка экрана, координаты которой хранятся канвой в полях PenPos.X, PenPos.Y. Курсор можно установить в точку оператором MoveTo(x0,y0). Метод LineTo(x,y) переустанавливает курсор в точку .
Arc(x1,y1,x2,y2,x3,y3,x4,y4) – строит дугу эллипса.
Эллипс вписывается в прямоугольник с диагональными вершинами , . Центр располагается в точке . Точки , задают лучи , которые пересекаясь с эллипсом определяют начальную и конечную точки дуги. Дуга вычерчивается от точки к против часовой стрелки. Внутренность не закрашивается.
Ellipse(x1,y1,x2,y2) – строит эллипс.
Эллипс вписывается в прямоугольник с диагональными вершинами , . Внутренность эллипса закрашивается кистью.
Chord(x1,y1,x2,y2,x3,y3,x4,y4) – строит сегмент эллипса.
Сегмент образован дугой (см. Arc), концы которой соединены отрезком. Сегмент закрашивается кистью.
Pie(x1,y1,x2,y2,x3,y3,x4,y4) – строит сектор эллипса.
Сектор строится как дуга, концы которой соединяются с центром эллипса. Сектор закрашивается кистью.
Rectangle(x1,y1,x2,y2) – строит прямоугольник.
Прямоугольник задаётся диагональными вершинами , . Внутренность закрашивается кистью.
RoundRect(x1,y1,x2,y2,x3,y3) – строит прямоугольник с закруглёнными краями.
Прямоугольник задаётся диагональными вершинами , и радиусами закругления по краям. Внутренность закрашивается кистью.
Polygon(массив точек типа TPoint) – строит замкнутую ломаную линию.
Массив можно задать непосредственно, например,
Polygon([Point(x1,y1), Point(x2, y2), …, Point(xN,yN)]);
Точки (x1,y1),(x2, y2), …, (xN,yN) последовательно соединяются отрезками, причём последняя соединяется с первой, образуя замкнутую линию. Внутренность закрашивается кистью.
PolyLine(массив точек типа TPoint) – строит ломаную линию.
Параметры как в предыдущем случае, но крайние точки не соединяются, и внутренность не закрашивается.
FrameRect(x1,y1,x2,y2) – строит прямоугольную рамку.
То же, что Rectangle , только рамка шириной в 1 пиксель красится цветом кисти, а внутренность не закрашивается.