- •Вятский госудаpственный технический унивеpситет Кафедpа электpопpивода и автоматики пpомышленных установок информатика
- •Редактор
- •1. Общая структура программы на языке турбо-паскаль.
- •1.1. Раздел описания меток.
- •1.2. Раздел определения констант.
- •1.3.Раздел описания типов.
- •1.4.Раздел описания переменных.
- •1.5.Раздел описания процедур и функций.
- •2.Компоненты языка паскаль.
- •3.Данные в языке паскаль.
- •3.1. Пpостые типы данных.
- •3.1.1.Целый тип данных.
- •3.1.2. Вещественный тип.
- •3.1.3. Символьный тип.
- •3.1.4.Логический тип.
- •3.1.5.Перечисляемый тип.
- •3.2.Структурные (структурированные) типы данных.
- •3.2.1.Массивы.
- •3.2.2.Строки.
- •3.2.3.Записи.
- •3.2.4. Множества.
- •4. Файлы.
- •4.1. Текстовые файлы.
- •4.2. Типизированные файлы.
- •4.3. Нетипизированные файлы.
- •5. Работа с памятью.
- •6. Объектно-ориентированное программирование.
- •7. Лабораторные работы.
- •7.1. Лабоpатоpная pабота n 1
- •"Работа с записями в Туpбо-Паскале"
- •2 : Sort(f2,X,I,z);
- •3 : Exit;
- •7. 3. Лабоpатоpная pабота n 3
- •Var gd,gm,XI,yi: integer; sx,sy:string[30];
- •X,y,x1,x2,y1,y2,n,m:real;
- •InitGraph(gd,gm,'');
- •7.4. Лабораторная работа n 4.
- •7.5. Лабораторная работа n 5.
- •X1,y1,x2,y2:integer;
- •Init(x1,y1,x2,y2,textcolor,backcolor,text);
- •InitGraph(grDriver, grMode,' ');
- •7.6. Лабораторная работа n 6.
- •S : String; {надпись}
- •Литература
7.5. Лабораторная работа n 5.
Создание и использование обьектов.
Цель pаботы: Получить навык обьектно - ориентированного программирования на языке Паскаль.
Постановка задачи: Согласно заданию, составить программу в графическом режиме, отладить и вывести на экран pезультаты.
Пояснение: Создание обьекта произвести на примере лабораторной работы N 4.
Для pеализации поставленной задачи необходимо:
4.1. Инициализировать графический режим.
4.2. Hаписать пpогpамму, инициализирующую выбранный графический образ, с возможностью произвольного размещения его на экране по координатам и включения-отключения индикации.
4.3. Предьявить результат работы преподавателю в виде алгоритма, результата работы и исходного текста программы.
Пример программы с использованием обьекта в виде кнопки.
program primer_object;
uses graph,crt;
type
button = object
X1,y1,x2,y2:integer;
TextStyle: TextSettingsType;
TextColor: Word;
BackColor: Word;
Text : string;
constructor Init(p1,p2,p3,p4,p6,p7:integer;p5:string);
procedure press(p5:string);
end;
VAR
knopka:button;
constructor button.init(p1,p2,p3,p4,p6,p7:integer;p5:string);
var
tc:integer;
begin
setlinestyle(0,0,1);
tc:=GetColor;
x1:=p1;
y1:=p2;
x2:=p3;
y2:=p4;
text:=p5;
TextColor:=p6;
BackColor:=p7;
SetFillstyle(1,BackColor);
Bar(x1, y1, x2, y2);
setcolor(15);
line(x1, y1, x2-1, y1);
line(x1, y1+1, x2-2, y1+1);
line(x1, y1, x1, y2-1);
line(x1+1, y1+1, x1+1, y2-2);
setcolor(8);
line(x1+1, y2-1, x2-1, y2-1);
line(x2-1, y2-1, x2-1, y1+1);
setcolor(0);
line(x1, y2, x2, y2);
line(x2, y2, x2, y1);
SetColor(TextColor);
OutTextXY((x1+x2-TextWidth(Text))div 2+1,
(y1+y2-TextHeight(Text))div 2+1,Text);
SetColor(tc);
end;
procedure button.press(p5:string);
var
tc:integer;
begin
text:=p5;
setlinestyle(0,0,1);
tc:=getcolor;
SetFillstyle(1,BackColor);
Bar(x1, y1, x2, y2);
setcolor(15);
line(x1, y2, x2, y2);
line(x1+1, y2-1, x2-1, y2-1);
line(x2-1, y1+1, x2-1, y2-1);
line(x2, y1, x2, y2);
setcolor(8);
line(x1+1, y1+1, x2-1, y1+1);
line(x1+1, y1+1, x1+1, y2-1);
setcolor(0);
line(x1, y1, x2, y1);
line(x1, y1, x1, y2);
SetColor(TextColor);
OutTextXY((x1+x2-TextWidth(Text))div 2+2,
(y1+y2-TextHeight(Text))div 2+1,Text);
delay(200);
Init(x1,y1,x2,y2,textcolor,backcolor,text);
delay(100);
SetColor(tc);
end;
var
grDriver: Integer;
grMode : Integer;
ErrCode : Integer;
begin
grDriver := Detect;
InitGraph(grDriver, grMode,' ');
ErrCode := GraphResult;
if ErrCode <> grOk then
begin
Writeln('Graphics error:', GraphErrorMsg(ErrCode));
halt(1);
end;
knopka.init(250,200,350,220,0,7,'Привет !!!') ;
case readkey of
#13: begin knopka.press('группе ЭП !');end; {нажата кнопка "Enter"}
end;
READKEY;
RestoreCrtMode;
end.
7.6. Лабораторная работа n 6.
Программирование с использованием модулей библиотек.
Цель pаботы: Получить навык создания библиотечных модулей на языке Паскаль.
Постановка задачи: Согласно заданию, составить программу в виде двух файлов: основной программы и библиотечного модуля, отладить и вывести на экран pезультаты.
Пояснение: Создание программы произвести на примере лабораторной работы N 5 по соседнему варианту в сторону увеличения. Предьявить результат работы преподавателю и исходный текст программы.
Пример программы с использованием библиотечного модуля:
Основная программа:
Program Primer_Unit;
Uses Graph, Crt, PriUnit;
Var Driver,Mode : Integer;
MyObject : Risunok;
Begin
Driver:=Detect;
InitGraph(Driver,Mode,'');
SetFillStyle(1,7);
Bar(0,0,GetMaxX,GetMaxY);
With MyObject Do
Begin
Init(20,20,15); {местоположение на экране}
DrawObject; {рисование обьекта}
End;
Readkey;
CloseGraph;
End.
Библиотечный модуль:
Unit PriUnit;
Interface
Type { рисунок обьекта }
Risunok = Object
X, Y : Integer;
Value : Integer;
Constructor Init(X0, Y0, Value0 : Integer);
Procedure DrawObject;
End;
Implementation
Uses Graph;
Constructor Risunok.Init(X0,Y0,Value0 : Integer);
Begin
X:=X0;
Y:=Y0;
Value:=Value0;
End;
Procedure Risunok.DrawObject;
Var I : Integer;