6
Қоңыр
14
Сары
7
Ашық сұр
15
Ақ
Графика
элементі
Паскальда жазылуы Параметрлеріне сипаттама
1
2
3
Нүкте
PutPixel(x,y,t)
x,y-нүктенің координатасы;
t-түсі, санмен беріледі.
Кесінді
Line(x1,y1,x2,y2)
(x1,y1),(x2,y2) ұштарының координаталары
Сызық
LineТо(x,у)
х,у нүктелеріне дейін сызады
Тік
төртбұрыш
Rectangle(x1,y1,x2,y2)
(x1,y1),(x2,y2)диагональдың
координаталары.
Боялған
төртбұрыш
Bar(x1,y1,x2,y2)
(x1,y1),(x2,y2)диагональдың
координаталары.
Шеңбер
Circle(x,y,r)
x,y-центрдің координатасы;
r-радиустың ұзындығы.
Эллипс
Ellipse(x,y,b,s,rx,ry)
b,s-эллипстік доғаның басы және соңы.
b =0, s=360 эллипс салады.
rx,ry – x және y бойынша радиустар.
Доға
Arc(x,y,b,s,r)
x,y,b,s,r- жоғарыда
Сектор
sector(x,y,b,s,rx,ry)
x,y, b,s, rx,ry - жоғарыда
Сызықтың
түсі
SetColor(t)
t - түс номері, кестеде келтірілген.
Бояудың
түсі
SetFillStyle(t1,t2)
t1 - бояу стилінің номері,
t2-бояудың түсі.
Текст
шығару
Outtext(‘текст’)
Тексті экранның сол жақ шетіне шығарады.
Текст
шығару
OutTextXY(x,y,’текст’) Тексті көрсетілген координатаға шығарады
Көпбұ-рыш
салу
DrawPoly(n,pp)
n -нүктелер саны;
Тұйық ай-
мақты бояу
FillPoly(t, pp)
t-бояудың түсі
Суретті бағдарламалау мысалы:
program suret;
uses graph;
var dv, mv:integer;
begin dv:=detect;
initgraph(dv, mv,’c:\tp7\bgi’);
if graphresult<>grok then halt(1);
setcolor(5);
rectangle(10,15,610,430);
circle(350,100,50);
program kopburish;
uses graph;
var pp:array[1..5] of PointType;
dv,mv,I,x1,y1:integer;
begin dv:=detect;
initgraph(dv,mv,’c:\ tp7\bgi’);
pp[1].x:=300; pp[1].y:=50;
pp[2].x:=400; pp[2].y:=50;
pp[3].x:=350; pp[3].y:=150;
setfillstyle(1,6);
bar(100,250,200,300);
readln;
closegraph;
end.
pp[4].x:=150; pp[4].y:=200;
pp[5]:=pp[1];
DrawPoly(5,pp);FillPoly(3,pp);
readln;
closegraph;
end.
program kozgalys;
uses Graph,CRT;
var
x,y,i,dv, mv:integer; x1,x2,y1,y2:integer;
begin
dv:=detect; initgraph(dv,mv, 'c:\bp\bgi');
if graphresult <>grok then halt (1);
x:=460;y:=400; суреттің бастапқы координаталары
for i:=1 to 200 do
begin
setcolor(6);
circle(460,y,40);
ellipse(460,y-40,0,180,20,20);
ellipse(440,y-60,0,90,20,20);
ellipse(480,y-60,90,180,20,20); сурет салынды
ellipse(440,y-40,270,360,20,65);
ellipse(480,y-40,180,270,20,65);
circle(440,y-20,5); circle(480,y-20,5);
circle(440,y+10,5); circle(480,y+10,5);
delay(500); пауза
SetColor(0);
circle(x,y,40);
ellipse(460,y-40,0,180,20,20);
ellipse(440,y-60,0,90,20,20);
ellipse(480,y-60,90,180,20,20); сурет өшірілді,
бұл
ellipse(440,y-40,270,360,20,65); фрагментті
cleardevice
ellipse(480,y-40,180,270,20,65); процедурасымен
circle(440,y-20,5); circle(480,y-20,5); алмастыруға
circle(440,y+10,5); circle(480,y+10,5); болады.
delay(500);
y:=y-1; жаңа координата
end;
SetColor(6);
circle(x,y,40);
ellipse(460,y-40,0,180,20,20); ellipse(440,y-60,0,90,20,20);
ellipse(480,y-60,90,180,20,20); ellipse(440,y-40,270,360,20,65);
ellipse(480,y-40,180,270,20,65);
circle(440,y-20,5); circle(480,y-20,5);
circle(440,y+10,5); circle(480,y+10,5);
readln;
closegraph;
end.
program grafik;
uses Graph,CRT;
var
x,y,i,dv, mv:integer; x1,x2,y1,y2:integer;
begin
dv:=detect; initgraph(dv, mv, 'c:\тр7\bgi');
if graphresult <>grok then һalt (1);
line(300,50,300,400); line(150,400,500,400);
for i:=-100 to 100 do
begin
x:=i; y:=trunc(sqr(x));
putPixel(trunc(x/2+300),trunc(400-y/50),14);
end;
readln;
closegraph;
end.
Пайдаланылатын әдебиет: [2], 101-104 беттер; [1], 336-408 беттер;
.
Тақырып 7. Программалауға объектілік-бағытталған амал
№13 зертханалық жұмыс.Деректердің құрылымдандырылған типтерін өңдеу.
57 мысал. Сызықтық алгебраның жиі қолданылатын
алгоритмдерін модульге біріктіреміз.
unit algebra;
interface
const n=10;
type vector=array[1.. n] of real;
type мr=array[1.. n] of vector;
function scalar(n:byte; a,b:vector):real;
procedure summatr(n,m:byte; a,b:mr; var c:mr);
implementation
uses crt;
var i,j,k:byte;
procedure sumvector(n:byte; a,b:vector; var c:vector);
begin
for i:=1 to n do
c[i]:=a[i]+b[i]; end;
procedure peek; begin sound(400); delay(100); nosound; end;
function scalar;
var s:real;
begin
s:=0;
for i:=1 to n do
s:=s+a[i]*b[i]; scalar:=s; end;
procedure summatr;
begin
for i:=1 to n do
sumvector(m,a[i],b[i],c[i]); end;
begin readln; end.
Егер бұл модульді компиляцияласа, аlgebra.tpu файлы пайда
болады. Бұл модуль біз құрған программаларды пайдаланады.
Мысалы:
uses algebra;
var w,q,z:matr;
begin summatr(3,4, w, q, z);
end.
Программа мен онда пайдаланылатын модульдер Ғ9
клавишасымен компиляцияланады. Нәтижесінде .tpu .exe
файлдары пайда болады. algebra модулінің тексі жазылған
файлдың аты algebra.pas болу керек!
№14 зертханалық жұмыс. Деректердің динамикалық құрылымдарын
өңдеу.
Delphi ортасымен танысу
Delphi ортасы – программист жұмысының өте жоғары тиімділігін қамтамасыз
ететін орта.
Delphi ортасын шақырғаннан кейін ортаның жұмысын басқаратын алты негізгі
терезе шығады (1-сурет).
1 ) негізгі терезе – негізгі терезе құрылатын программаның
жобаларын басқаратын негізгі қызметті атқарады. Бұл терезе экранда барлық
уақытта болады және ең жоғары бөлігінде орналасады. Негізгі терезеде Delphi
ортасының бас менюі, пиктографиялық командалы батырмалар жиынтығы,
компоненттер палитрасы орналасқан.
2 ) объектілер инспекторының терезесі – формаға орналасатын кез
келген компонент бірқатар параметрлер жиынымен сипатталады: орналасуы,
өлшемі, түсі және т.б. Мысалы, компоненттің орналасуы мен өлшемін программист
формалар терезесінде компонентті басқара отырып, өзгерте алады. Ал, объектілер
инспекторы терезесі қалған өзгертулерді орындауға арналған. Бұл терезеде екі бет
бар: Properties (Қасиет) және Events (Оқиға). Properties беті – компоненттің керекті
қасиеттерін тағайындау қызметін атқарады. Events беті – қандай да бір оқиғаға
компоненттің жауабын анықтайды.
3 ) формалар терезесі – windows жобасы болашақта программа жазатын
терезе болып таылады. Басында бұл терезе бос болады Дәлірек айтқанда, ол
windows-дің интерфейстік элементтері үшін стандартты жүйелік менюді шақыру
батырмаларынан, терезені үлкейту, кішірейту, жабу батырмаларынан және тақырып
жолынан тұрады. Әдетте, терезенің жұмыс алаңы нүктелік координаталық тормен
толтырылған, ол формадағы компонеттердің орналасуын реттеу қызметін атқарады
(бұл нүктелерді алып тастау үшін Tools/Environment Options меню командаларының
көмегімен, Preferences қойымтасындағы Display Grid ауысытырып қосқышындағы
жалаушаны алып тастау қажет).
4 ) программа кодының терезесі – программа мәтінін құрып,
жөндеуге арналған. Бұл мәтін арнайы ереже бойынша құрылады және
программаның жұмыс алгоритмін сипаттайды. Мәтінді жазу ережелерінің
жиынтығы программалау тілі деп аталады.
Сурет 1 - Delphi ортасының интерфейсі
2 Delphi-ді баптау
Программалар жобасымен жұмыс істеу процесінде формалар мен модульдер
жиынтығын құру қажет. Бұл мәліметтерді жеке қапшықта файлдар түрінде сақтаған
дұрыс. Delphi ортасының стандартты келтірілген күйіне өзгеріс енгізу қажет. Ол
құрылған програманың соңғы нұсқасының автоматты түрде сақталуы үшін керек. Ол
үшін Tools/Environment Options сұхбат терезесінде Preferences бетін таңдау керек.
Осы беттің сол жақ жоғарғы бұрышында Autosave Options тобында «Editor Files»
және «Desktop» деген ауыстырып қосқыштары бар. Ауыстырып қосқыштарды
екпінді жасау – программа коды терезесінің мәтінін және Delphi терезесінің жалпы
орналасуын автоматты түрде сақтайды. Бұл программаны жоғалудан қорғайды.
Мәтін шығару үшін шрифтті тағайындау қажет:
Tools/Editor Options – Display бетінде Editor Font-қа Times New Roman шрифт
түрін тағайындау қажет.
Программаны жүргізуге барлығы дайын болған соң негізгі терезеден
батырмасын немесе F9 басқару пернесін басу керек. Сонымен, Delphi ортасындағы
программа үш кезеңнен өтеді: компиляция – компоновка – орындау.
Компиляция кезіңінде код терезесінде дайындалған программа мәтіні Object
Pascal тіліне ауыстырылады; компоновка кезеңінде қажетті қосалқы, ал орындалу
кезеңінде дайын программа жедел жадыға шақырылып, орындалуға жіберіледі.
F9 пернесін басқаннан кейін Save Unit1 As сұхбат терезесі пайда болады, яғни
Delphi Unit1.pas модулі үшін файлдың аты мен ол орналасатын папканың атын
сұрайды, сондай-ақ, модульдің де атын өзгерту қажет.
2.1 Компоненттермен танысу
Компонеттер дегеніміз жұмыс істейтін программада
құрылатын, көрінетін бейнелер тұрғызылатын элементтер
болып табылады. Компонеттер палитрасының ішінде бейне
ретінде көрінбейтін де компоненттер жеткілікті.
2.2 STANDARD беті
STANDARD бетінде программа құруға ең қажет
Windows-ге арналаған стандартты интерфейстік
элементтерден тұратын компоненттер палитрасы
орналасқан (2-сурет).
Сурет 2 - STANDARD беті
Кесте 1- STANDARD бетіндегі компонеттер тізімі
Компонеттер
Сипаттамасы
Frame
Басқа компоненттерді орналастыруға арналған
контейнер қызметін атқарады.
Main Menu
Программаның бас менюі. Бұл компонент
күрделі иерархиялық меню құр меню құрып
жұмыс істеуге мүмкіндік береді.
Label
Мәтінді шығару өрісі.
Edit
Мәтінді енгізу/редакциялау өрісі
Button
Командалық батырма
CheckBox
Таңдаудың тәуелсіз батырмасы
RadioButtuon
Таңдаудың тәуелді батырмасы
ListBox
Таңдаудың тізімі
ComboBox
Таңдаудың комбинарлық тізімі
2.3 ADDITIONAL беті
ADDITIONAL бетінде сұхбат терезелерінің түрін түрлендіруге мүмкін-дік
беретін 18 қосымша компоненттер орналасқан (3-сурет)
Сурет 3 - ADDITIONAL беті
Кесте 2 -
ADDITIONAL бетіндегі компонеттер тізімі
Компонеттер
Сипаттамасы
1
2
BitBtn
жазуы бар, пиктограммалы командалық батырма
SpeedButton
пиктографиялық батырма. Әдетте бас менюдің
опцияларына жылдам кіру үшін пайдаланылады.
MaskEdit
арнайы мәтіндік редактор. Енгізілген мәтінді
сүзгілеуге мүмкіндік береді, мысалы, датаны дұрыс
енгізу үшін қажет.
StringGrid
жолдар кестесі. Бұл компонент мәтіндік ақпаратты
кесте түрінде шығаруға мүмкіндік береді.
DrawGrid
еркін кесте. StringGrid компонентінен айырмашылығы
бұл компоненттің ұяшықтарында кез келген ақпарат,
оның ішінде сурет те сақталады.
Image
сурет. Бұл компонент суреттерді, оның ішінде
пиктограммалар мен метафайлдарды бейнелуге
арналған.
Shape
фигура. Бұл компонент көмегімен терезеге дұрыс
геометриялық фигураларды – тіктөртұрыш, шеңбер,
эллипс және т.б. қоюға болады.
Bevel
жиек. Терезенің жеке бөлектерін үш өлшемді
қоршаумен немесе жолақпен ерекшелеуге арналған.
ScrollBar
орағыш жолақтар панелі. Panel компонентімен
айырмашылығы – егер орналасқан компоненттер оның
шекараларымен қиылысып қалса, онда орағыш
жолақтарды автоматты түрде қояды.
CheckListBox
жиындық таңдаулар тізімі. Стандартты ListBox
компонентінен айырмашылығы әрбір опциясының
қасында бірнеше опцияны бірден таңдауды
жеңілдететін CheckBox тәрізді тәуелсіз ауыстырып
қосқышы бар
Splitter
шекара.Бұл компонент формада көрінетін екі
компоненттің арасында орласады да, пайдаланушыға
программаны жүргізу кезінде компоненттерді бір-
бірінен бөліп тұрған шекараларын алмастыруға
мүмкіндік береді.
StaticText
Статикалық мәтін. Стандартты Label компонентінен
айырмашылығы өзінің жеке Windows терезесінің
болуымен сипатталады.
2 кестенің жалғасы
1
2
ControlBar
басқару жолағы. Drag&Drop технологиясында
“тақалып”
тұратын
компоненттерді
орналастыратын контейнер қызметін атқарады.
ApplicationEvents
оқиғаны қабылдаушы. Егер бұл компонент
формаға орналасқан болса, онда программаға
арналған барлық Windows хабарламаларын алып
отырады.
ValueListEditor
атау = мән жұбынан тұратын жолдар редакторы.
Мұндай жұптарWindows-де жиі пайдаланады.
LabeledEdit
бір жолдық редактор мен белгінің комбинациясы
ColorBox
жүйелі түстердің бірін таңдауға арналған арнайы
ComboBox варианты
Chart
диаграмма. Бұл компонент мәліметтерді
графикалық жолмен беруге
арналған арнайы панельдер құруды жеңілдетеді.
ActionManager
әрекеттер менеджері. Төмендегі үш
компонентпен бірге қосымшалар,
интерфейс құруды қамтамасыз етеді.
ActionMainMenuBar
меню жолағы, ол оның опциялары ActionManager
көмегімен
құрылады.
ActionToolBar
ActionManager компонентінің көмегімен
құрылатын пиктографиялық батырмаларды
орналастыруға арналған жолақ.
CustomizeDLG
баптау сұхбаты. Бұл компонеттің көмегімен
пайдаланушы
жұмыс
программасының
интерфейсін қалауынша баптай алады.
№15 зертханалық жұмыс. Деректер қорын жасаудың құралдары мен
технологиясы.
Тапсырманың берілуі. X және Y бүтін сандар берілген.
Олардың қосындысын табу.
Формаға келесі компонеттерді орналастыру
Компонеттер
Объектілер инспекторы терезесіне енгізілетін өзгертулер
Edit1:Tedit;
Text:бос қалдыру
Edit2:Tedit;
Text:бос қалдыру
Label1:Tlabel;
Caption: «Х мағынасын енгізіңіз»
Label2:Tlabel;
Caption: «Y мағынасын енгізіңіз»
Label3:Tlabel;
Caption: «Есептеу нәтижесі»
Memo1:Tmemo;
Lines: бос қалдыру
Button1:Tbutton
Lines: бос қалдыру
unit U1;
interface
uses
Windows, Messages,SysUtils, Classes, Graphics, Controls,Forms, Dialogs,
StdCtrls;
Type
Tform2=class(TForm)
Edit1:Tedit;
Edit2:Tedit;
Label1:Tlabel;
Label2:Tlabel;
Label3:Tlabel;
Memo1:Tmemo;
procedure Button1Click(Sender:Tobject);
var
x,y:integer;
begin
edit1.setfocus;// edit1 компонент атына енгізу фокусын орналастырады.
x:=strtoint(edit1.text); //аргумент мағынасын жолға түрлендіреді
y:=strtoint(edit2.text);
memo1.clear; // тазарту
memo1.Lines.Add(inttostr(x+y));
end;
end.
3 Әдебиеттер тізімі
Негізгі
1. В.Б.Попов TurboPascal 7.0. Учебное пособие. М. изд. «Финансы и статистика».
1996
2. Нұрғазина Б.Қ. Бағдарламалау негіздері.Турбо Паскаль, Павлодар, ТОО НПФ
«ЭКО», 2007ж
3. Айтов Ж.А., Мақамбаев М.Б. Паскаль тілінде программалау. 1998
4. Есжанов Н.Т. Алгоритмдер. Алматы, 1998ж
5. Абрамов В.Г. Введение в язык Паскаль. М. Наука. 1988
6. Климова Л. М. Практическое программирование. Решение типовых задач в Pascal
7.0. М. Кудиц-образ. 2000.
Қосымша
7. Грогоно П. Программное обеспечение персональных ЭВМ. М. Мир. 1982
8. Йенсен К., Вирт Н. Паскаль: Руководство для использования и описание языка.
М. Финансы и статистика. 1982.
9. Марченко А.И., Марченко Л.А. Программирование в среде TurboPascal. Киев.
«Век» 1999
10.Цейл Дейл. Программирование на СИ. ДМК. 2000
11.Ян Борецкий. Турбо-Паскаль с графикой для персональных компьютеров М.
Машиностроение. 1991.
Document Outline - БЕКІТЕМІН
- Кафедра меңгерушісі _________________________ Нұрбекова Ж.Қ.
- ӘК төрайымы _________________________ А.Т.Кишубаева
- 2. Мына жолдарға өзгерістер енгізіңіздер
- 2 жаттығу. Жаңа терезеде мына жолдарды теріңіз
- а:= х*у; {3а}
- {4}, {5}жолдарды өзгертіңіз: writeln (x,’*’, y, ‘=’ , a); {4}
- Writeln (‘x=’, x:10, ‘y=’;10, ‘a=’,:10, a:10); {5}
- 3 жаттығу. Жаңа терезеде жазыңыз:
- writeln(‘a=’:0:2); {6}
- writeln(‘a=’:0:0);
- Бағдарламаны орындап, нәтижесін қараңыз. Экранға шығудың қандай айырмашылықтары бар? Санның бөлшек бөлігіндегі цифрлар санының өзгеруі неге байланысты?
- 4 жаттығу. Жаңа терезеде жазыңыз:
- Бағдарламаны орындаңыз. Экранға курсор шығады. Бос орынмен ажыратып екі сан енгізіңіз. Экранға шыққан х пен у-тің мәндері енгізілген сандарға ие болды ма?
- Бағдарламаны бірнеше рет орындап, нәтижесін жазып алыңыз.
- Сұрақ: Readln қандай қызмет атқарады? Ол орындалғанда экран қандай түрде болады? Курсордың орналасуы қалай?
- 5 жаттығу. Диалогтық программа құру
- Writeln(‘Сәлем!’);
- Write(‘Атың кім?’); Readln(s); Writeln;
- Write(‘Екі сан енгіз ’); readln(x,y);
- Write(‘Бір сан енгіз ’); readln(z); Writeln;
- Writeln(‘Үш санның қосындысы = ’, x+y+z); Writeln;
- Cұрақ: Write және Writeln айырмашылығы неде?
- Санақтық тип - ие болатын мәндерiнiң тiзiмiмен берiледi. Мәндер тұрақты болады және жақша iшiнде үтiрмен анықталып жазылады. Мәндердiң тiзiмi реттелген жиынды құрайды. Бiрiншi мәннiң реттiк нөмерi-ноль, екiншiнiкi-бiр, т.с.с.
- 5. Тандау операторын пайдалану ережелерi қандай
- 2.1 Компоненттермен танысу
Достарыңызбен бөлісу: |