Процедуралар мен функциялар


МАЗМҰНЫ
Мазмұны
Кіріспе 3
1 Жалпы бөлім 5
1.1 Міндеттің тұжырымы 5
1.2 Кіру және шығу мәліметтерінің сипаттамасы 6
2 Арнайы бөлім 7
2.1 Ақпараттық базаның сипаттамасы 7
2.2 Бағдарламаның құрылымдық сипаттамасы 8
2.3 Негізгі модульдердің блок-схемалары 9
2.4.1 Операциялық жүйе мінездемесі 13
2.4.2 Бағдарламалау тілінің қысқаша сипаттамасы 13
2.4.3 Шартты оператор. 14
2.4.4 Процедуралар мен функциялар 15
2.4.5 Модульдер 17
2.6 Бағдарламаны тестілеу 18
3 Өндірісті ұйымдастыру 19
3.1 Апараттық қамтамасыз етуге қойылатын талаптар 19
3.2 Бағдарламашы үшін нұсқау 20
3.3 Пайдаланушы үшін нұсқау 20
Қорытынды 22
Қолданылған әдебиеттер тізімі 23
Қосымша А Бағдарламаның листингі 24
Қосымша Б Бағдарлама жұмысының нәтижесі 26
КІРІСПЕ
Мүмк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 дәреженi өзгерту;
лупа терезенiң өлшемiн өзгерту;
жұмыс столындағы лупаның терезесiнiң жағдайын өзгерту;
экрандық түстер айналдыру.
Бұдан басқа, лупа келесi тәртiп қамтамасыз ететiн аңдулардың
терезе бойынша тышқанның нұсқағышының орын ауыстыруларға iлесуi;
(мегзегiштiң жағдайымен) енгiзудi фокуске iлесу;
мәтiннiң енгiзуге iлесуi.
Экрандық лупаның терезесi қашан ашық, ол экрандық лупа
Жалпы бөлім
Міндеттің тұжырымы
Менің курстық жобам “ZooM” экрандық лупа. Қосымша бағдарлама
Бағдарлама экранды жақындату функциясын атқарады. Ол терезенің бiр
Бағдарлама интерфейсі:
Бағдарлама 2х-4х-6х-8х масштабты қолданып экранның кез-келген жерін үйлкеутеге;
Арнайы меңзірді көрсетіп, өшіруге арналған функция.
1.2 Кіру және шығу МӘЛІМЕТТЕРІНІҢ сипаттамасы
Кіріс деректер: Srect – жазулы
Drect – жазулы мән.
PosForme – тік төртбұрышты мәнді жазу.
Шығыс деректер: С – тік төртбұрышты мәнді
Айнымалылар Типтер Ескертулер
Srect TRect бастапқы мән
Drect TRect бастапқы мән
PosForme TRect бастапқы мән
С TCanvas соңғы мән
Кесте 1.2.1 – Деректер құрылымын сипаттау.
Арнайы бӨлім
2.1 АҚПАРАТТЫҚ БАЗАНЫҢ СИПАТТАМАСЫ
«ZooM» экрандық лупа. қосымша бағдарламасы delphi 7.0 тілінде

1
ZooM.exe Бағдарлама пайдаланушыға істейтін түріндегі файл.
2
Z.pas Бағдарлама файлы, бағдарламаның листингі. Delphi 7.0 бағдарламасы
3 кб
3
Z.dcu Бағдарламны компилировать еткендегі пайда болатын екілік жүйедегі
6 кб
4 Z.dfm Бағдарламаның ресурстарына жауап беретин файл.
Кесте 2.1.1 – бағдарлама модульдері
2.2 БАҒДАРЛАМАНЫҢ ҚҰРЫЛЫМДЫҚ СИПАТТАМАСЫ
Бағдарлама процедуралар арқылы құралған: - 1) FormDestroy
- 2) Timer1Timer
Кесте 2.2.1 - бағдарлама тәуелділігінің диаграммасы
2.3 НЕГІЗГІ МОДУЛЬДЕРДІҢ БЛОК-СХЕМАЛАРЫ
FormDestroy процедурасының блок-схемасы:
Timer1Timer процедурасының блок-схемасы:
ОПЕРАЦИЯЛЫҚ ЖҮЙЕ МІНЕЗДЕМЕСІ
Программа құру кезінде мен Microsoft Windows XP Professional
Microsoft Windows XP Professional service Pack 3
Microsoft Windows XP Professional service Pack 3
Операциялық жүйе Microsoft Windows XP Professionalservice Pack 3
1975 жылы Microsoft бағдарламамен қамтамасыздандырудан дүние жүзілік атақты
Бағдарламалау тілінің қысқаша мінездемесі
Қазіргі кезде программалаудың көптеген тілдері бар. Біздің заманымызға
Бұл тіл тарихы 1965 ж. Жаңа программалау тілін
Қазіргі кезде көбірек Turbo Pascal соңғы версиясы қолданылады
Turbo Pascal жүйесінде функцияларды қолданудың әр түрлі жүйелік
Шартты операторы
Ең жеңіл сызықсыз алгоритм ол тармақты алгоритм. Егер
Шартты оператор «развилка» алгоритмдік құрылымын реализдейді және оператордың
Оператордың екі нұсқасы бар:
Толық форма:
If then
Else ;
Және қысқаша форма:
If then ;
Осы операторларда:
кей логикалық өрнек, оның шындылығы тексеріледі;
- логикалық өрнегі шыңайы болғанда орындалатын
- логикалық өрнегі жалған болғанда орындалатын
Шарт ретінде if қызметтік сөзінен кейін нәтижесі логикалық
Қызметтік сөздер then және else кейін операторлар ретінде
Процедуралар мен функциялар
Бағдарламалау практикасында кейде бағдарлама орындалу кезінде кейбір
Қосалқы бағдарламаны қолдану ең көп қолданатын бағдарламалау тәсілдерінің
Қосалқы процедуралар негізінен екі түрге бөлінеді: параметрсіз және
Параметрсіз процедураларды қолдануда сыртқы бағдарламада сипатталған айнымалыларға сұраныс
Егер қосалқы бағдарлама сыртқы бағдарламамен мәліметтер алмастыратын болса,
Қосалқы программалардың мүмкіншіліктері
1) Бағдарламаны жазған кезде осындай дайын мүмкіндік туады,
2) ʺҮстіден-астығаʺ бағдарламалау техналогиясын қолдану мүмкін.
3) Үлкен бағдарламаларды бірнеше бағдарламашылар бөліп бір уақытта
Параметрлі процедура.
Сипатталатын процедураның атынан кейін жазылатын айнымалылар формальды параметрлер
Процедураның атынан кейін көрсетілген параметрлер берілген процедура орындалу
Сыртқы бағдарламада қосалқы бағдарлама орындалу үшін оның шақырылуын
Процедураға оның сыртқы бағдарламада шақырылуы кезінде берілетін параметрлер
Бір процедурада бір типті бірнеше параметрлер, және бірнеше
Берілгендерді алмастыру тәсілі бойынша параметрлерді бірнеше категорияларға бөлуге
Мән-параметрлер.
Бағдарламадан қосалқы бағдарламаға берілгендерді алмасу үшін қолданылады.
Бағдарламадан қосалқы бағдарламаға параметрдің копиясы беріледі.
Қосалқы бағдарламада бұл копияның өзгертілуіне болады. Бағдарламада қалған
Формальды мағына-параметрлер жақшаның ішінде процедураның атынан кейін өз
Айнымалы-параметрлер.
Бағдарламадан қосалқы бағдарламаға және қосалқы бағдарламадан бағдарламаға мәліметтер
Бағдарламадан қосалқы бағдарламаға факттік параметрдің адресі беріледі.
Қосалққы бағдарламада оның өзгертілуіне болады. Сонымен қосалқы бағдарламада
Айнымалы-параметрлермен алмасу кезінде жадының қосымша ұяшықтары бөлінбейді.
Формалды айнымалы-параметрлер мағына-параметрлер сияқты қосалқы бағдарламаның басында жазылады,
Константа-параметрлер
Бағдарламадан қосалқы бағдарламаға мәліметтер алмасу үшін қолданылады.
Бағдарламадан қосалқы бағдарламаға факттік параметрдің адресі беріледі.
Бағдарламада константа-параметрлердің өзгертілуі мүмкін емес, сондықтан олардың
Константа-параметрлермен алмасу кезінде жадының қосымша ұяшықтары бөлінбейді.
Формалды константа-параметрлер қосалқы бағдарламаның басында жазылады, бірақ параметрдің
Функциялар.
Функциялар – қосалқы бағдарламалар, олардың нәтижесі міндетті түрде
Функцияны сипаттағанда тақырып келесі түрдегідей болады:
Function Аты (формальды параметрлердің тізімі) : Нәтиженің типі;
Функция арқылы міндетті түрде қосалқы бағдарламадан сыртқы бағдарламаға
функцияның атына нәтиженің мағынасы меншіктелетін ең болмаса бір
Функцияның шақырылуы процедураның шақырылуынан өзгеше. Процедураны шақыру өздік
әр түрлі мағынада
меншіктеу белгісінің оң жағында
мәліметті шығару операторында шығару элементі ретінде
Модульдер
Delphi-да модульдер деп бұл типтердің, константалардың, айнымалылардың, процедура
Модульдің мүмкіндіктері:
жадының сигментіне симайтын үлкен бағдарламаны модульдерге бөліп пайдалану.
керекті процедура және функцияларға тікелей қатынас жасау;
бағдарламаның құрылымы логикалық және түсінікті болады;
алдын ала құрылған модульдерді пайдалануы бағдарлама жасау уақытын
Модульдің құрылымы:
Unit ;
Interface – жариялау бөлімі (инициализация) – мұнда пайдаланыт
Implementation – іске асыру бөлімі. Бұл модульдің көрінбейтін
End. – модульдің жабатын жақшасы. Міндетті түрде нүкте
Модульдің трансляциясы
модуь негізгі бағдарламамен бір бумада сақталады;
одан кейін модульді компиляциялау керек. Нәтижесінде сол бумада
негізгі бағдарламадан модульді қосу үшін uses
2.5 Бағдарламаны тестілеу
Тестілеулер – бағдарлама жұмысының қателіктерсіз жасалуына, жүйенің жылдамдығын
Операциялық жүйе Бағдарламаның жұмысы
Windows 98 Бағдарлама 3-4 секундтан көптеу уақытта
ашылады, жұмыс істеу кезінде қателер табылмады.
Windows 2000 Бағдарлама жылдам іске қосылады.
Windows XP Бағдарлама тез ашылады, жұмыс істеу кезінде
ӨНДІРІСТІ ҰЙЫМДАСТЫРУ
3.1 АҚПАРАТТЫҚ ҚАМТАМАСЫЗ ЕТУГЕ ҚОЙЫЛАТЫН ТАЛАПТАР
Берілген бағдарлама сақталатын компьютер, келесі жүйелік талаптарға ие
Бағдарламаны іске қосу үшін аппараттық қамтамасыз етуге ұсынылатын
Компьютерде Windows XP Professional немесе Windows XP Home
Процессор: Intel® Pentium 3.4 GHz-пен бірге қолданыла алатын
ОЗУ 2048 Мб
ПЗУ - 160 Гб
Видео карта: GeForce 1640
Аудио карта AC'97
Монитор: LG “Flatron F720P 763 Mb, 17”
DVD/CD-RW LG 16x/52x/32x/52x.
«Тышқан» түріндегі манипулятор.
Минималды жүйелік талаптарға келесілер қажет:
Компьютерде ең болмағанда Windows XP Professional немесе Windows
Процессор: Intel® Pentium 230 MHz-пен бірге қолданыла алатын.
ОЕСҚ жадысы (RAM): 64 MB кем дегенде.
Қатты дискідегі бос орыны: SQL Server database компоненті:
Бейне карта: 8 MB құрылған.
Аудио карта
Монитор: SQL Server визуалдануы үшін VGA-мен бірге қолданыла
8 Манипулятор: Тышқан 400dpi. 3.2
Бағдарлама процедуралар арқылы жасалынған. Әр процедура функционалды нақты
BACKGROUND1 – негізгі дененің формасы;
Image1 – терезенің суреттін көшіру компоненті;
Panel1 – BACKGROUND2 (Label(1.2.3.4)) және TICK объектілерін біріктіру
Timer1 – бағдарлама мен терезе арасында интервалға тәуелді.
3.3 ПАЙДАЛАНУШЫ ҮШІН НҰСҚАУ
Бағдарламаны іске қосу үшін ZooM.exe файлын ащыңыз. Бағдарламаны
Пайдаланушы керекті масштабты таңдап және меңзірді алып немесе
Сурет 2.5.1 – Бағдарламаның бас мәзірі
Сурет 2.5.2 – Бағдарлама үлкейту кезінде меңзірімен
Сурет 2.5.3 - Бағдарлама үлкейту кезінде меңзірсіз
Сурет 2.5.4 – Бағдарлама 4х масштабымен көрсетілуі
Сурет 2.5.5 – Бағдарламаның MS Word-та үлкейту кезінде
қорытынды
Мен Анарбеков Бекен Delphi ортасында жұмыс істеуді
Бұл менің бірінші курстық жобам, сондықтан сізді мейiрiмдірек
Көніл бөлгінізге рахмет!
ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ
Абрамян М.Э., Электронный учебник по программированию Версия 4.5,
Бөрібаев Б., Нақысбеков Б., Мадиярова Г., Информатика және
http://forum.xakep.ru/ .
http://delphiexpert.ru/ . Техника программирования на языке Delphi и
http://www.cyberforum.ru/delphi-beginners/thread165368.html
Қосымша А
Бағдарлама листингі
unit Z;
// ZooM
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls, ExtCtrls, Buttons;
type
TBACKGROUND1 = class(TForm)
Image1: TImage;
Timer1: TTimer;
Panel1: TPanel;
BACGROUND4: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Slider: TTrackBar;
TICK: TCheckBox;
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
end;
var
BACKGROUND1: TBACKGROUND1;
implementation
{$R *.DFM}
procedure TBACKGROUND1.FormDestroy(Sender: TObject);
begin
Timer1.Interval:=5;
end;
procedure TBACKGROUND1.Timer1Timer(Sender: TObject);
var
Srect,Drect,PosForme:TRect; // Тип TRect является записью содержащей значения
iWidth,iHeight,DmX,DmY:Integer;
iTmpX,iTmpY:Real;
C:TCanvas;
Kursor:TPoint;
begin
If not IsIconic(Application.Handle) then
begin
GetCursorPos(Kursor);
PosForme:=Rect(BACKGROUND1.Left,BACKGROUND1.Top,BACKGROUND1.Left+BACKGROUND1.Width,BACKGROUND1.Top+BACKGROUND1.Height);
if not PtInRect(PosForme,Kursor) then
begin
if Panel1.Visible=True then Panel1.Visible:=False;
if Image1.Visible=False then Image1.Visible:=True;
iWidth:=Image1.Width;
iHeight:=Image1.Height;
Drect:=Rect(0,0,iWidth,iHeight);
iTmpX:=iWidth / (Slider.Position * 4);
iTmpY:=iHeight / (Slider.Position * 4);
Srect:=Rect(Kursor.x,Kursor.y,Kursor.x,Kursor.y);
InflateRect(Srect,Round(iTmpX),Round(iTmpY));
// Перемещения Srect если за пределами видимой области
if Srect.LeftScreen.Height then OffsetRect(Srect,0,-(Srect.Bottom-Screen.Height));
C:=TCanvas.Create;
try
C.Handle:=GetDC(GetDesktopWindow); // Получить изоброжения рабочего стола
Image1.Canvas.CopyRect(Drect,C,Srect);
finally
C.Free;
end;
if TICK.Checked=True then
begin
with Image1.Canvas do
begin
DmX:=Slider.Position * 2 * (Kursor.X-Srect.Left);
DmY:=Slider.Position * 2 * (Kursor.Y-Srect.Top);
MoveTo(DmX - (iWidth div 4),DmY);
LineTo(DmX + (iWidth div 4),DmY);
MoveTo(DmX,DmY - (iHeight div 4));
LineTo(DmX,DmY + (iHeight div 4));
end; // С image1.Canvas
end; // Показать прицел
Application.ProcessMessages;
end // Курсор не в
else
begin // Курсор в форме
if Panel1.Visible=False then Panel1.Visible:=True;
if Image1.Visible=True then Image1.Visible:=False;
end; // IsIconic
end;
end;
end.
Қосымша Б
Бағдарлама жұмысының нәтижесі
6х-қа апарып, меңзірді қосып экранды үлкейтуге дайын
6х-пен үлкейтілген түрі
Меңзірді өшіріп, 2х-қа апару
BACKGROUND1
Panel1
BACKGROUND2
TICK
Label1
Label2
Label3
Label4
Image1
Timer1
басы
Timer1.interval:=5;
1
2
соңы
3
iWidth:=Image1.Width; iHeight:=Image1.Height;
Drect:=Rect(0,0,iWidth,iHeight);
iTmpX:=iWidth / (Slider.Position * 4);
iTmpY:=iHeight / (Slider.Position * 4);
Srect:=Rect(Kursor.x,Kursor.y,Kursor.x,Kursor.y); InflateRect(Srect,Round(iTmpX),Round(iTmpY));
басы
1
Srect,Drect,PosForme:TRect;
iWidth,iHeight,DmX,DmY:Integer;
iTmpX,iTmpY:Real;
C:TCanvas;
Kursor:TPoint;
not IsIconic(Application.Handle)
2
GetCursorPos(Kursor);
PosForme:=Rect(BACKGROUND1.Left,BACKGROUND1.Top,BACKGROUND1.Left+BACKGROUND1.Width,BACKGROUND1.Top+BACKGROUND1.Height);
not PtInRect(PosForme,Kursor)
Panel1.Visible=True
Panel1.Visible:=False;
Image1.Visible=False
Image1.Visible=True
OffsetRect(Srect,-Srect.Left,0);
Srect.TopScreen.Height
Жоқ
Жоқ
Жоқ
Жоқ
Ия
Ия
Ия
Panel1.Visible=True
Panel1.Visible:=False;
Image1.Visible=False
Image1.Visible=True
3
2
соңы
25
26
27
28
29
Жоқ
Жоқ
Ия
Ия
Өзг.
Бет
Құжат №
Қол
Күні
Бет
26
Өзг.
Бет
Құжат №
Қол
Күні
Бет
Жасаған
Тексерген
Топ жетекш.
Жұмыс №
Нақтылы
«ZooM» экрандық лупа
Қосымша бағдарлама
Әдеб.
Беттер






Ұқсас жұмыстар

Процедуралар мен функциялар
Функцияларды баяндау
Паскаль программасындағы функциялар мен процедуралар
Файлдарға қолданылатын функциялар мен процедуралар turbo pascal
Турбо Паскаль тілінің динамикалы байланысатын кітапханалары
СИ тіліндегі символдық функциялар мен процедуралар
Алгоритмдік тіл және программалау тілі
Паскаль тілінің функцияларымен процедураларын қолдану
Турбо Паскальдағы Graph модулі
Паскаль тілінің түсініктері