Процедура және функция
Мазмұны
Кіріспе
І.1 Delphi туралы негізгі түсініктер
Негізгі бөлім
ІІ.1 Delphi программалау ортасы
ІІ.2 Delphi операторлар
ІІ.3 Логикалық амалдар
Қорытынды
Пайдаланылған әдебиеттер
Кіріспе
Қазақстан -2030 жылғы бағдарламасына сәйкес қоғамның барлық салаларында
Соңғы кездерде Windows ортасында жарыққа шыққан және обьектілі
Object Pascal, Microsoft Visual Basic, Borland Delphi, Borlan
ОБП тілінде прграммалалардың жұмысы оқиғалар тізбегінен және түрлі
Delphi -дің бірінші нұсқасы 1994 жылы жарыққа шығып,
Экранда Delphi ортасының 3 терезесі көрінеді.
а) Delphi 5-тін негізгі терезесі
б) Форма (Form)
в) Обьект инспекторы терезесі (Object Inspecttr)
г) Модуль терезесі (программалық код терезесі)
Негізгі мәзір пунктеріне Delphi -де жұмыс істеу командалары,
Delphi -де дайындалатын программа жоба деп атайды.
1.2 Delphі-программалау ортасы.
Структуралық программа.
Кез-келген программа Delphі файлдық жобадан тұрады. (файл кенейтпесі
Мына программа автоматты түрде Delphі-ді құрайды және
Program Progect1;
uses
Forms;
unit1 in “Unit1.pas” {fmExample};
{SR*.Res}
begin
Application. Initalize;
Application. GreateForm(TFmExample,FmExample);
Application. Run;
end.
Терезе кодында қара қою шрифпен белгіленеді, ал
Текстік программа басталады Program деп қара қою
Коментарий туралы сөз қозғасақ біз Object Pascal байқасақ
{Это коментарий}
(*Это тоже коментарий*)
// Это символы до конца этой строки составляют
Program сөзінен кейін ; тақырып
GreateForm әдісі Application обьект құрады
Модульдер структурасы.
Модуль-ол программаның бірлігі, үзіндінің программада сығыстырылғана арналады. Кез-келген
Тақырып.
Интерфесті хабарлау секциясы.
Іс жүргізу секциясы.
Терминатор
Келесі фрагмент программаның дұрыс вариантты модулі синтатикалық болып
Unit Unit1;
iInterface
// интерфесті хабарлау секциясы.
implementation
// Іс-жүргізу секциясы.
End.
Терезе кодында Unit1 кепілзатты бассақ, мына текст
Unit Unit1
iInterface
uses
Windows, Messages, Syslltils6 Cleasses, Grahics, Control, Forms, Dialogs;
Type
TFmExample =Class (TForm)
Danell: TPanel;
BbRun: TBitBth;
BbcCose: TBitBtn;
Edinput: TEdit;
LBoutput: TLabel;
MMOutput: TMemo;
Private
{Private declarations}
pablic
{pablic declarations}
end;
var
fmExample; TfmExample;
implementation
{SR*.Dem}
end.
Мына бұл текст Delphі-да құрылған, файлдың жобадан айырмашылығы
Интерфейстік түрде бір түрі жазылған (класс TFmExample)
Кластардың жазылуы.
Type
TFmExample =Class (TForm)
Danell: TPanel;
BbRun: TBitBth;
BbcCose: TBitBtn;
Edinput: TEdit;
LBoutput: TLabel;
MMOutput: TMemo;
Private
{Private declarations}
pablic
{pablic declarations}
end;
Біз арығарай жалғастырғанда, класстар негізгі құралдармен
Программаның элементері.
Программаның элементі-минимальді бөлінбейтін бөлшек.
Элементке жататындар:
• Зарезервированные слова
• идентификаторы;
• типы;
• константы;
• переменные;
• метки;
• подпрограммы;
• коментарий ;
Қара қоюланған сөздер- бұл ағылшын
Бірдейлеуші- ол дегеніміз программист кез-келген элементі анықтап белгілей,
Түрі- ол дегеніміз арнайы тілдер конструкциясы, компилятор
Тұрақтылық- жады ауданың анықтайды, программаның шығу мағынасын өзгерте
Const- сөзі (ағылшын сөзінен шыққан Constants-
Мысалы: бір Const- анықтаймыз.
Const
Kbyte=1024;
Mbyte=Kbyte*Kbyte;
Gbyte=1024*Mbyte;
Ұзын саңның орнына 104876 (1024*1024) және 1073741824 (1024*1024*1024)
Үзіліс- облысындағы памяттын ауысуына байланысты ол дегеніміз аймақтары,
Белгі- программа оператор аты. Белгі анда-санда пайдалынады және
Белгілер-үзілістер сияқты, программаларда өнемі хабарлайды.
Label 1;
loop;
begin
.............
Goto loop;
............
............
loop
................
end;
Қосалқы программа- бұл арнайы бейнемен бейнеленген аргумент. Ол
Object Pascal-да екі сортты қосалқы программадан тұрады-процедура
Function Myfunction: integer
Және үзілістілігі
var
x:integer;
онда мынадай операторлар еңгізу мүмкін
x:=2 Myfunction-1;
белгілерді процедурада пайдалануға болмайды
procedure Myprocedyre;
……………………..
x: =2* Myprocedyre-1;
2.1 Операторлар тілі.
Жиі қолданып жүрген операторлардың бірі- Object Pascal-иелену операторы.
Құраушы операторы-ол прорграмманың ақырғы жасалу операторы, ал
Құраушы оператор-Object Pascal –да құралдардың манызы көп, программаны
Осылардың ішінде басқада құраушы оператор болуы мүмкін- Object
терендетілген.
begin
………..
begin
…………
begin
………..
end;
……….
end;
……….
end;
2.2 Шартты оператор.
Шартты оператор дегеніміз-кейбір шартты тексеруге және нәтижесі тәуелді
Шартты оператор структурасы келесі түрде болуы керек.
If then < оператор1> elseMax Then
y:=Max
else
y:=x;
………….
end.
У үзілісі орындалу кезінде келесі өндіруші Х-ті алады,
2.3
Object Pascal тілінде үш тілді оператор бола алады,
Санаула оператор циклі-For келесі структура бола алады.
Мұндағы:For ,to ,do – қара қоюмен боялған сөздер
-үзіліс түрі integer
-бастапқы мағына
-ақырғы мағына
-өндіруші оператор Object Pascal
2.4 Таңдау операторы
Таңдау операторы программаның жүруіне бірнеше оператордан біреуін таңдауға
Case of [ else]
Мұндағы: Case, of, else, end-қоюланған сөздер (кездейсоқ, әйтпесе,
Таңдау операторы келесі түрде жұмыс істейді.
МАССИВТЕР.
Берілген қарапайым түрдегі программа обьектің пайдалануға мүмкіндік береді-
Ол массивтер-бірнеше бір түрдегі обьетілердің формальді қосылуы (сан,
Мысалы:
Var
a: array[1…10] of real;
b:array[10…50] of char;
crray[-3…4] of string;
Диапозон түрі-оң және сол жақ шекараның индекстік массивтің
Кез-келген программадағы массив элементері массивтан кейін индекстік элемент
Var
a:aray[1..10] of integer;
barray[0..40] of Char;
carray[-2..2] of Boolean;
kinteger;
bgin
…………..
b[17]:=’F’;
c[-2]:=a[1]>2;
for k:=1 to 10 do
a[k]:=0;
……………
end;
Дапозон түрлерін анықтау ол мысалы мына элементерді пайдалануға
A[17], В[38],С[0],бірақ A[0]немесе C[38] (массивті анықтау).
Процедура және функция.
Процедура және функция Object Pascal –да ең маңызды
Object Pascal –да процедура программасының ерекше бейнемен үзілісті
Процедурамен функцияға бірнешерет кездескенбіз- ол дегеніміз стандартты процедура
Exit, ShowMessage, функция StrTolnt, FloatTostr, Random, математикалық функция
Процедураны (UpString деп атайды), жолдағы бүкіл символдарды өзгерте
Procedure TfmExample. BbRunClick (Sender:Tobject);
Procedure UpString(StInp:String: var StOut:String);
{Это процедура преобрезует все буквы строки StInp в
begin
StOut:=StInp;
End;
Var
S1,s2:String;
Begin
S1:=edinput.Text;
UpString (s1,s2);
Eboutput.Caption:=S2;
Edinput.Text:=’ ‘;
Edinput. SetFocus;
End;
Бұл программада UpString процедурасы пайда болғаңнан кейін
Алгаритмдік процедураны өңдеуге кірісейік. Символ кирилица (орысша алфавит)
«Я» символы 255 бал алады, ол дегеніміз-максимальді
Процедуралық варианттың мүмкіндіктері:
Procedure UpString(StInp: String; Var StOut: String)
{ Это процедура преобрезует все буквы строки StInp
var
K: integer;
begin
StOut:= StInp;
for k:=1 to length(StOut)
begin
StOut[k]:=UpCase(StOut[k]);
If stout[k]>=’a’ then
StOut[k]:=
Chr(ord(‘A’)+ord(StOut[k])-ord(‘a’);
If StOut[k]:=’e’ then
StOut[k]:=’E’;
еnd;
end
Элементт тілі
Object Pascal-тілі әріпте, цифрда , 16 түрдегі
Әріп-ол латын әріпі алфавиттер А дан Z қа
Цифрлар-ол араб цифр, 0-дан 9-ға дейін. Әр бір
Арнайы символдар Object Pascal-да –олар:
+ - * / =” “ : ;
Арнайы символдар тағы бірнеше қос символдар жатады.
, =,:=,(*,*),(.,.),//
Программа кезінде бұл қос символдар арағашығын пробельмен ажыратуға
Идентификаторлар.
Object Pascal идинтификаторы –ол тұрақтылардың аты, үзілістер, белгі,
Идентификатор ең алдымен әріптен бастайды, содан сон арығарай
Тұрақтылар.
Object Pascal-ды тұтастай пайдалануға болады, заттегі және 16
Бүтін сандар- белгілер мен немесе белгісіздермен жазылады, ол
Заттегі сандар – белгілер мен немесе белгісіздермен он
Экспотенциялды бөлім е символынан немесе Е басталады, «+»
Мысалы: 3.14Е5-3.14 умножить на 10 в степени
-17е-2-минус 17 умножить на 10 в степени
16 түрлі сан, 16 түрлі саңнан тұрады, доллар
$ (символ коды36) Диапозоны 16 түрлі сандар $00000000
Логикалық тұрақты-ол False (жалған) деген немесе True (айқын)
Символдар тұрақтысы-ПК символ, апострофпен белгіденеді
“Z”- Символ “Z”
“Ф”- Символ “Ф”
Символдар жолының ішкі коды, (код35)
Мысалы: #97
#90 –символ “Z”
#39-символ “’ ”
#13 –символ “CR”
Жолдар түрі- кез-келген ақырғы символдар (CR-символынан басқа-возврат коретки)
“That ‘ ‘ S String”:
Жолдар символы бос болу мүмкін ол дегеніміз ешқандай
Конструкторлық жиынтық-ол элементерінің тізімдерінің жиынтығы, квадрат жақшада алынады.
[1.2.4…….7,12]
[blue.red]
[ ]
[true]
2.5 Логикалық амалдар.
Логикалық операциялар бүтің операндыға және логикалық типке қолданылады.
Математикалық логика символдық және теориялық логика деп атайды.
Қысқаша таорихына тоқтала кетсек логика ғылымы ретінде
Ежелгі грек математигі Евклид (330-275 ж.б.
Ең маңызды период математикалы
Ірге тасын қалаған неміс математигі Г.Фреге (1848-1925), ол
XX ғасыр математикалық қатты даму кезені болды,
Жәнеде XX ғасырдың басында ойдың тереңдетілуі
Бұл әдістер компьютерді құруда пайдаланады (алгебра және Бульдік
┐0=1, ┐1=0 , келесі коньюкция:
1 1=1, импликация
0 және1 символдарын ескере отырып, айқындалмаған анықталып логика
(┐p)=┐((p)
0 және 1 символдардын 4 ережесінің әрекеті берілген,
((P(Q)=((P)(((Q)
Ұқсастық, 0және 1 символдық ережесінің әрекеті, логикалық есептеу
P(Q, P(Q, және P(Q сәйкестік
((P(Q)=((P)(((Q)
((P(Q) =((P)(((Q)
((P(Q)=((P)(((Q)
(1.2) және (1.5) теңдігін бір түрдегі арақатынаспен
Мұндағы: * логикалық операцияның бір символдық белгісін
(1.1) мен (1.5) теңдігін есептеу логикалық мағынасымен
Логика-ақиқат және дұрыс ойлау. Ойдың мазмұны және
Логикалық операциялар бүтің сан мәлеметтерінің берілуі.
Операнд1 Операнд2 not
1
0
0
0
1
1
Логикалыққа Object Pascal –да 2 жылжымалы операция бүтің
i shl j-жылжымалы i-дан
i shr j-жылжымалы i-дан j-ға
Логикалық операция мәлеметтер үстінен берілген логикалық тип.
Операнд1 Операнд2 not
True -
False -
False False
False True
True False
True True
1) unit логика;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
x,y:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
x:=strtoint (Form1.Edit1.Text);
if (x=1) then Form1.Label1.Caption:='0';
if (x=0) then Form1.Label1.Caption:='1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
x:=strtoint(Form1.Edit1.Text);
y:=strtoint(Form1.Edit2.Text);
if (x=0) and (y=0) then Form1.Label1.Caption:='0';
if (x=1) and (y=1) then Form1.Label1.Caption:='1';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
x:=strtoint(Form1.Edit1.Text);
y:=strtoint(Form1.Edit2.Text);
if (x=0) or (y=0) then Form1.Label1.Caption:='0';
if (x=1) or (y=1) then Form1.Label1.Caption:='1';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
x:=strtoint(Form1.Edit1.Text);
y:=strtoint(Form1.Edit2.Text);
if (x=1) Xor (y=1) then Form1.Label1.Caption:='1';
if (x=0) Xor (y=1) then Form1.Label1.Caption:='0';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Edit1.Clear;
Edit2.Clear;
end;
end.
Мәлеметтер типі
Кез-келген мәлеметтер ол дегеніміз тұрақты, үзілісті, функцияның қасиеті
Object Pascal-да берілген түрдегіні мазмұндайды (7.1рси) Бұл тілде
Осы тарауда осы түрлері толықтырылып жазылған файлдық көрсеткіштермен,
Қарапайым түрлер.
Қарапайым түрлерге жататындар заттық және уақыт-мерзім. Қарапайым түрлердің
Ол мәнің мынадай тәртіпке салу тәсілмен анықтауға болады,
Заттық түрлері.
Нақты айтқанда заттың ақырғы мәні болады, заттың түрің
Уақыт мерзім түрлері.
Ол дегеніміз уақыт мерзім сақтауға арналған.
Реттік типы .
Реттік түрлеріне жататындар-бүтін, логикалық, символдық, санау және диапозон
Кез келген әрбіреуіне функцияны қолданамыз Ord (x),
Ord (x) логикалық түрге қолданамыз, символдық және санаулы
0-ден 255-ке дейін (символдық), 0-ден 65535 (санаулы).
Тәртіпке салу реттік түрі функцияны қолдануға болады.
Pred(x)-алдыңғы түрді реттік түрге келтіру (реттік номерге сәйкес
ол дегеніміз Ord(Pred(x))=Ord(x)-1;
Succ(x)-келесі мағынаны қайтару, сәйкестіріп реттік түрге келтіру.
Succ(x)+1 ол дегеніміз
Ord(Succ(x))=Ord(x)+1;
Мысалы: Егер программада қолданылған функция анықталса:
var
c:=char;
begin
c:=’5’;
end;
Онда функция Pred(c) символды қайтарады '4', ал функция
Құрылым түрлері.
Кез-келген құрылымдардың түрі (Object Pascal-да 4 бөлімнен тұрады:
Массивтер.
Object Pascal массиві аналогты түрде берілген басқа тілдегі
Мысалы:
type
digit=array[0..9] of Char;
matrix=array[byte] of Single;
var
m:matrix;
d:digit;
i:integer;
begin
................
m[17]:=ord(d[i-1])/10;
.................
end;
Массивтық түр келесі түрде жазылады.
=array[] of
Мұндағы: дұрыс идефикатор
array, of-қара қоюмен боялған сөздер
[]- бір немесе бірнешеудің индекстік түрі, үтір арқылы
- Object Pascal-да кез-келген реттік түрде пайда болады,
Жиынтық.
Жиынтық-ол бір-бірімен байланысқан біртүрдегі логикалық обьект. Элементердің сандық
Екінші жиынтық эквивалентті деп санайды, сонда ғана егерде
Мысалы: берілген жиынтықты анықтау.
type
digitchar=set of ‘0’, ‘9’;
digit =set
var
s1,s2,s3:digitchar;
s4,s5,s6:digit;
begin
.......................
s1:=[‘1’, ‘2’, ‘3’];
s2:=[‘3’, ‘2’, ‘1’];
s3;=[‘2’, ‘3’];
s4:=[0...3,6];
s5:=[4,5];
s6:=[3..9];
.........................
end;
Осы мысалда :s1,s2 жиынтықтың эквиваленті, ал s3 жиынтығы
Келесі операциялар мына жиынтықта анықтайды:
* жиынтықтың қилысуы, мысалы: s4*s6 сақтайды
+ жиынтықтың қосылуы мысалы: s4+s5 сақтайды
s5+s6 сақтайды [3,4,5,6,7,8,9],
үлестіру жиынтығы мысалы: s6-s5 сақтайды [3,6,7,8,9],
s4-s5 сақтайды [0,1,2,3,6],
= Эквиваленті тексеру мысалы: Егерде екі
Эквивалентті тексеру. Егер екі жиынтықтың эквиваленті
= шығуын тексеру. Егер екі жиынтық біріншіге
IN бұйымдарды тексеру.
3 in s6 True
2*2 in s1 False қайтарады.
Жолдар .
Object Pascal тексті пайдалану үшін
( қысқа жол ShortString String[N], N
Процедуралар және түрлерімен сипаты
Функцияларды баяндау
Паскаль тілінің функцияларымен процедураларын қолдану
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы
Процедуралар мен функциялар
Ішкі программалар, Процедураның программада ұйымдастырылуы
Delphi программалау тілі
Турбо Паскаль жүйесінде қосалқы программаларды ұйымдастыру технологиясы туралы
Алгоритмдік тіл және программалау тілі
Есептеу техникасынан дәрістер