
- •Билет №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:
Inherited Create; //Вызываем старый конструктор
SetLength(m,h,w); //Задаём размеры матрицы
End;
//-----------------------------------------------
//Процедура заполнения матрицы m данными из массива
//ВХОД: одномерный массив данных p
//-----------------------------------------------
Procedure TMat.Put(p:Array Of Real);
Var I,j,k:Integer;
Begin
k:=0;
For i:=0 To High(m) Do //Цикл по высоте матрицы
For j:=0 To High(m[i]) Do //Цикл по ширине матрицы
Begin
m[i,j]:=p[k]; Inc(k); //Последовательно копируем
End; //данные
End;
//-----------------------------------------------
//Процедура вывода матрицы m на экран
//ВХОД: k-символов на элемент, p-ширина дробной части
//-----------------------------------------------
Procedure TMat.Wrt(k:Integer=5; p:Integer=2);
Var
I,j:Integer;
Begin
For i:=0 To High(m) Do //Цикл по высоте матрицы
Begin
For j:=0 To High(m[i]) Do //Цикл по ширине
Write(m[i,j]:k:p,' '); //Выводим значение с пробелом
WriteLn; //Перевод строки
End;
End;
//-----------------------------------------------
//Процедура прибавления к m другой матрицы
//ВХОД: прибавляемая матрица a
//-----------------------------------------------
Procedure TMat.Add(a:TMat);
Var
I,j:Integer;
Begin
For i:=0 To High(m) Do //Цикл по высоте матрицы
For j:=0 To High(m[i]) Do //Цикл по ширине
m[i,j]:=m[i,j]+a.m[i,j]; //Прибавляем элемент
End;
//-----------------------------------------------
//Деструктор служит для разрушения объекта
//Он освобождает память, занятую объектом
//-----------------------------------------------
Destructor TMat.Destroy;
Begin
Inherited Destroy; //Вызываем старый деструктор
SetLength(m,0); //Разрушаем массив
End;
//===============================================
//РАЗДЕЛ ОПЕРАТОРОВ
//===============================================
Var
a,b:TMat; //Описываем объекты
Begin
a:=TMat.Create(3,3); //Формируем объект a
a.Put([1,2,3,4,5,6,7,8,9]); //Заполняем данными
a.Wrt(7,2); //Выводим на экран
WriteLn; //Переводим строку
b:=TMat.Create(3,3); //Формируем объект b
b.Put([5,5,5,5,5,5,5,5,5]);
b.Wrt(7,2);
WriteLn;
a.Add(b); //Складываем a = a + b
a.Wrt(); //Выводим результат на экран
a.Free; b.Free; //Разрушаем объекты
ReadLn;
end.
Билет №22:
Графический вывод на экран
Что такое контекст устройства (DC – Device Context)
это структура, содержащая описание графического устройства и средств построения изображений
устройствами могут быть: экран (или его часть), принтер, область памяти и др.
средствами построения служат инструменты: перья, кисти, шрифты, палитры и пр.
главнейшими свойствами инструментов являются: цвет и стиль, а также режим инструмента (принцип смешивания и способ масштабирования изображений)
контекст должен создаваться перед началом графических построений, а затем – разрушаться
Что такое канва
это класс TCanvas, представляющий абстрактное графическое устройство, которое обеспечивает однообразие методов вывода независимо от типа устройства
область графических построений определяется первой четвертью координатной плоскости (ось OX направлена слева направо, а OY - сверху вниз)
для удобства программирования класс TCanvas включает все инструменты, а также их свойства
TCanvas отвечает за создание и удаление вспомогательных графических объектов (кроме контекста DC)
Как начать и закончить построения непосредственно на экране
Требуется подключить модули Windows и Graphics Uses Windows, Graphics;
Следует описать объект типа TCanvas, например, var Cn: TCanvas;
В начале программы необходимо создать канву и выбрать в качестве графического устройства DC экран Begin Cn := TCanvas.Create; //создаём канву Cn.Handle := GetDC(0); //выбираем экран
Чтобы завершить работу в графике надо освободить контекст и канву ReleaseDC(0, Cn.Handle); //освобождаем контекст, Cn.Handle := 0; //канву от контекста,
а затем полностью её удалить Cn.Free; //разрушаем канву
Во избежание ошибок следует использовать структуры обработки ошибок
try … finally.
Удобно подключить модули Types, Forms и Dialogs, чтобы получить доступ к вспомогательным средствам.
Пример графической программы
program Graph_on_screen;
uses //МОДУЛИ, СОДЕРЖАЩИЕ ОПИСАНИЯ:
Dialogs, //-оконных сообщений ShowMessage
Windows, //-контекста DC
Graphics, //-канвы Canvas
Types, //-прямоугольника Rect
Forms; //-параметров экрана Screen.Width
//Screen.Height, Application