„Трэк” ойыны



Кіріспе
1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 5
2. Есепті шығарудың тәсілдерін баяндау ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 6
2.1 Іздеу алгоритмдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 6
2.1.1 Сызықты іздеу ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 6
2.2 Сұрыптау алгоритмдері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 7
2.2.1 Ауыспалы сұрыптау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 7
2.3 Қосалқы программалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 8
2.3.1 Процедура ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.3.2 Функция ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 9
2.4 Рекурсивті функция ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 10
2.5 Турбо Паскальдағы графика ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 10
3. Есептің алгоритмі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 13
4. Программаны баяндау ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 14
4.1 Жалпы мағлұматтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 14
4.2 Функционалдық тағайындалуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.3 Қолданылатын техникалық жабдықтар ... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.4 Программаны шақыру мен орындау ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.5 Енгізілетін мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.6 Шығарылатын мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... .. 15
4.7 Программаның логикалық структурасы ... ... ... ... ... ... ... ... ... ... ... ... ..15
4.8 Программаның листингі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
Қорытынды
Қолданылған әдебиеттер
Бұл курстық жұмысты ПиАяз пәнінен үйренгенімді көрсету мақсатымен ойлап шығардым.
Бұл курстық жұмыста ойын жазу қарастырылған. Осы курстық жобада есепті шығарудың тәсілдерін баяндау бөлімінде іздеу, сұрыптау алгоритмдері, қосалқы программалар, одан кейін графика жатады. Әр тақырыпқа мысал келтірілген. Бірақ курстық жобадағы ең басты түйіні программаның есебі болып табылады.
Ойын деп, осыны графика арқылы ғана шығарылған деп есептейді. Бірақ, бұл олай емес, өйткені әр жарыста да әйтеуір бір ойыншы жеңу керек. Ал сол жеңімпазды шығару үшін, оған берілген ұпайды санап шығу керек.
Кейбір ойындарда графика көрсету арқылы, бірден жеңімпазды бірден шығарып отырады. Ал менің курстық жобадағы программа екі бөлімнен тұрады: графика бөлімі және есепті шығаруға арналған операторлар бөлімнен тұрады.
1. Ж.Қ. Масанов, Б.А. Бельгибаев, А.С. Бижанова, Қ.Қ. Мақұлов “Turbo Pascal” Алматы 2004ж.
2. Ғ.Ш. Тойкенов “Паскаль тілінде программалау” Алматы “Дәнекер” 2001ж.
3. Ә.Ө. Мұртазина “Турбо Паскаль тілінің құралдарын қолданып есептерді программалау” Алматы 2004ж.
4. Н.Ы. Омарова, К.У. Тұрмағамбетова, К.Н. Нүриденова “Паскаль тілінде программалау негіздері” Алматы “Білім” 1996ж.

ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

Қ.И.Сәтпаев атындағы Қазақ ұлттық техникалық университеті

Ақпараттық технологиялар институты

Техникалық кибернетика кафедрасы

КУРСТЫҚ ЖОБАҒА ТҮСІНІКТЕМЕ ЖАЗБА

Тақырыбы: „Трэк” ойыны

Жетекші: доцент

Мұртазина Ә.Ө.

____ _________ 2005 ж.

Норма бақылаушы:

аға оқытушы

Мұртазина Ә.Ө.

____ _________ 2005 ж.

Студент: Мусинов Е.Е.

Мамандығы: 050704

Оқу тобы: І

АЛМАТЫ 2005

КУРСТЫҚ ЖҰМЫСТЫ ОРЫНДАУҒА ТАПСЫРМА

Студент: Мусинов Е:Е.
Тақырыбы: ___________________________________ _____________________
___________________________________ _______________________________

Аяқталған жұмысты тапсыру уақыты:_____________________
____ ______________ 2005 ж.
Жұмыс барысында қолданылатын бастапқы мәліметтер мазмұны, жұмысты
сипаттайтын негізгі бөлім қорытынды.

Сызба материалдар саны: _____

Жұмыс жетекшісі: Муртазина Ә.Ө.
Тапсырманы орындауға қабылдап алған студент: Мусинов Е.Е.
____ ______________ 2005 ж.

МАЗМҰНЫ

Кіріспе

1. Есептің қойылымы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... . 5

2. Есепті шығарудың тәсілдерін баяндау
... ... ... ... ... ... ... ... ... ... ... ... ... ... .. 6

2.1 Іздеу алгоритмдері
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... 6

2.1.1 Сызықты іздеу
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .. 6
2.2 Сұрыптау алгоритмдері
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
. 7
2.2.1 Ауыспалы сұрыптау
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
7
2.3 Қосалқы программалар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
.. 8
2.3.1 Процедура
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... 8
2.3.2 Функция
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... .. 9
2.4 Рекурсивті функция
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .. 10
2.5 Турбо Паскальдағы графика
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .
10
3. Есептің алгоритмі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... 13
4. Программаны баяндау
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... . 14
4.1 Жалпы мағлұматтар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .. 14
4.2 Функционалдық тағайындалуы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 14
4.3 Қолданылатын техникалық жабдықтар
... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.4 Программаны шақыру мен орындау
... ... ... ... ... ... ... ... ... ... ... ... ... ... . 14
4.5 Енгізілетін мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 14
4.6 Шығарылатын мәліметтер ... ... ... ... ... ... ... ... ... ... ... ... ... .. 15

4.7 Программаның логикалық структурасы
... ... ... ... ... ... ... ... ... ... ... ... ...15

4.8 Программаның листингі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
17
Қорытынды
Қолданылған әдебиеттер

Кіріспе

Бұл курстық жұмысты ПиАяз пәнінен үйренгенімді көрсету мақсатымен
ойлап шығардым.
Бұл курстық жұмыста ойын жазу қарастырылған. Осы курстық жобада есепті
шығарудың тәсілдерін баяндау бөлімінде іздеу, сұрыптау алгоритмдері,
қосалқы программалар, одан кейін графика жатады. Әр тақырыпқа мысал
келтірілген. Бірақ курстық жобадағы ең басты түйіні программаның есебі
болып табылады.
Ойын деп, осыны графика арқылы ғана шығарылған деп есептейді. Бірақ,
бұл олай емес, өйткені әр жарыста да әйтеуір бір ойыншы жеңу керек. Ал сол
жеңімпазды шығару үшін, оған берілген ұпайды санап шығу керек.
Кейбір ойындарда графика көрсету арқылы, бірден жеңімпазды бірден
шығарып отырады. Ал менің курстық жобадағы программа екі бөлімнен тұрады:
графика бөлімі және есепті шығаруға арналған операторлар бөлімнен тұрады.

1 Есептің қойылымы

Велосипед жарысының трекіне 20 спортшы қатысады, жарыс 20 айналымнан
тұрады. Әрбір айналымның финишінде 1-ші орынға ие болған спортшыға 7 ұпай,
2-ші орынға – 5 ұпай, 3-ші орынға – 3 ұпай, 4-ші орынға – 2 ұпай, 5-ші
орынға – 1 ұпай беріледі. Ең көп ұпай жинаған немесе 5 айналымда жеңіске
жеткен велосипедші жеңімпаз (жеңімпаздар) болып саналады. Веложарысқа
қатысушылар жарыс басталмас бұрын өздеріне кездейсоқ түрде нөмір таңдап,
жарыста олар сол нөмірмен белгіленеді.

2 Есепті шығарудың тәсілдерін баяндау

2.1 Іздеу алгоритмдері

Программада көп кездесетін қимыл – іздеу. Iздеу алгоритмдерi мысалы
массивте белгiлi қасиеттерi бар элементтердi табу үшiн қолданылады.
Төменде келтiрiлген барлық алгоритмдерде N бүтiн санды a массивiнде Х-қа
тең элемент iздеу керек деп есептеледi.

2.1.1 Сызықты іздеу

Іздеу алгоритмінде : массив арқылы элементтерді енгізіп, әр қадам
сайын белгілі бір санды сол элементтермен салыстырғанда, жауабы жалған
болып шығуы керек. Мұндай іздеуді сызықты іздеу деп аталады. Мынадай
шығарылатын мәліметтер болуы керек:
1. элемент табылды: а[i]=x;
2. бүкіл массив көрілген және элемент табылмады: a[i]=0.

Мысалы: Егер А(10) массивінде В-ға тең элемент бар болса, онда М
айнымалысына, осындай теріс элементке дейінгі, теріс элементтер санына тең
мәнді меншіктеу керек, әйтпесе М-ге 0-ді меншіктейміз.

program izdey1;
const n=10;
var a:array[1..n] of integer;
i,b,m,k:integer;
begin
for i:=1 to n do
read(a[i]);
read(b);
m:=0;
k:=0;
for i:=1 to n do
begin
if a[i]=b then m:=m+1;
if a[i]0 then k:=k+1;
end;
writeln('M=',m);
end.

2.2 Сұрыптау алгоритмдері

Жалпы алғанда кез-келген программа сұрыптаудан басталады. Ал тез
сұрыптап қажет элементті табу үшін сұрыптау және іздеу тәсілдерін жетік
білген жөн. Сондықтан сұрыптау қарастырып көрейік.
Сұрыптаудың ең қарапайым есебi массив элементтерiнiң өсу не кему
ретiмен орналастыру болып табылады. Басқа есеп болып, берiлген белгiлер
бойынша массив элементтерiн реттеу. Әдетте мұндай белгi ретiнде аргументi
массив элементтерi болып табылатын белгiлi функция мәнi болып табылады. Бұл
функцияны реттеушi функция деп атау қабылданған.
Сұрыптаудың әр түрлi тәсiлдерi бар. Әрбiр тәсiлдi N бүтiн сандардан
өспелi массивтi сұрыпттау мысалында көрсетемiз.

2.2.1 Ауыспалы сұрыптау

Тізбек бойынша 1-ші элементі қалғандарымен салыстырамыз және ол
салыстырған элементтен кіші болса, онда олардың орындарын ауыстырамыз және
жаңа 1-ші элементі келесі массив элементтері мен салыстыра отырып және
т.б.. Сосын соңғының алдындағы элементі соңғы элементпен салыстырамыз.

Мысалы: А(10) массив элементтерін кему реті бойынша реттеу.

program ayispaly;
const n=10;
var a:array[1..n] of integer;
i,j,b: integer;
begin
for i:=1 to n do
read(a[i]);
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]a[j] then
begin
b:=a[i];
a[i]:=a[j];
a[j]:=b;
end;
for i:=1 to n do
write(a[i]);
end.

2.3 Қосалқы программалар

1. Процедура

Процедура дегеніміз – белгілі бір әрекеттерді орындайтын,
идентификаторы берілген, программаның тәуелсіз бөлігі. Процедура
процедураның тақырыбы мен денесінен тұрады және оны құрылымына қарай жеке
дербес программа ретінде қарастыруға болады. Процедураны негізгі
программаның сипаттау бөлімінде бір рет анықтаған соң, оны программаның кез
келген жерінен идентификаторы бойынша шақыруға болады. Процедура өз
мақсатын орындалғаннан кейін, негізгі программа келесі оператордан жалғасып
орындала береді. Программаның ішінде процедура идентификаторын оператор
түрінде қолдану процедура операторы немесе процедураны шақыру деп аталады.
Көңіл бөлетін жайт, процедура идентификаторын өрнек ішінде операнда
есебінде қолдануға болмайды.
Процедура тақырыптан және блоктан тұрады, біріншіден, локальдық
сипаттамадан және процедура операторлардан:

Procedure аты[(нақтылы параметрлер тізімі)];
[сипаттау бөлімі]
Begin
оператор-1;
оператор-2;
. . .
оператор-N;
End.

Мысалы: толық көрсеткішімен дәкежені есептеу.

program primer1;
var
n:integer;
x,y:real;
procedure Step1;
var
i:integer;
begin {Step1}
y:=1;
for i:=1 to n do
y:=y*x;
end; {Step1}
begin {primer}
write('x=',x);
read(x);
writeln('y=',y);
read(n);
if n=0
then
y:=1
else if n0
then
Step1
else
begin
n:=-n;
x:=1x;
Step1;
end;
writeln('y=',y);
end. {primer}

2.3.2 Функция

Функция түсінігі жалпы процедурамен бірдей, бірақ қолданылуының мынадай
екі ерекшелігі бар: функция өзінің жұмысы нәижесінде шақыру нүктесіне
белгілі бір мән қайтарады: функция идентификаторы өрнектерде операнда
есебінде қолданыла алады. Функция идентификаторы өрнектерде қолданылса,
функция көрсеткіші немесе функцияны шақыру операторы деп аталады.

Function аты[(нақтылы параметрлер тізімі)]:типтік аты;
[сипаттау бөлімі]
Begin
. . .
аты:=өрнек
End;

Мысалы: натуралды сандарды көбейту.

Program function;
Uses Crt;
Const a=4;
b=6;

Function Mult(a,b:Word): integer;
begin
if a=1 then Mult:= b
else Mult:= Mult(a-1,b)+b
end;

BEGIN
Write(a,' x ',b,' = ',Mult(a,b)); ReadLn
END.

2.4 Рекурсия

Өзін өзі шақыратын процедуралар мен функциялар рекурсивті деп аталады.
Паскаль тілінде қосалқы программалардың рекурсивті шақырылуларына шектеу
жоқ, бірақ әрбір кезекті шақыру қосалқы программадағы жергілікті
объектілердің жаңа көшірмелерінің пайда болуына әкелетінін еске сақтау
қажет. Екпінді және аяқталмаған рекурсивті шақырылулардың тізбегіне сәйкес
келетін бұл көшірмелер бір-бірінен тәуелсіз болады.
Бүтін санның факториялын функцияның рекурсивті шақырылуын және цикл
операторын қолдану арқылы есептеудің мысалы:

program Factorial;
var n:integer;
function fact(n:integer):integer;
begin
if n=0
then
fact:=1
else
fact:=n*fact(n-1);
end;
begin
write('n=');
read(n);
writeln(n,'=',fact(n));
end.

2.5 Turbo Paskal тіліндегі графиктік режимі.

Turbo Paskal программалау тілінде символдық режимнен бөлек графиктік
режимде жұмыс істеуге болады. Онда әр түрлі графиктик кескіндер құрастыру
мүмкіндігі бар. Turbo Paskal графиктік мүмкіндіктерін пайдалану үшін арнайы
“GRAPH” кітапханасы іске қосылады. GRAPH модулінде орналасқан процедуралар
мен функцияларды пайдалану үшін программаның сипаттау бөлімінде
көрсетіледі.

USES GRAPH

Графиктермен жұмыс істеу алдында оған сәйкес келетін монитор режимін
орнату қажет. Turbo Paskal тілінде алдын ала бекітілген драйверлер саны
бар. Олардың әрқайсысы үш түрлі режимдердің бірінде жұмыс істей алады.
Драйвер типі мен оның режимі санмен немесе тұрақты түрінде берілген.

Драйвер Режим Нүктелер саны Файл
CGA(1) CGACO, CGAHi 320*200 (640*200) CGA.BGI
EGA(2) EGALo, EGAHi 640*200 (640*350) EGAVGA.BGI
VGA(3) HERCM, ONOHI 720*348 HERC.BGI

GRAPH модулі іске қосылысымен оның ішіндегі процедуралар мен
функцияларды пайдалана беруге болады.
Графикалық режимді іске қосу:
InitGraph (var Driver, Mode: integer; Path: string);
Мұндағы Driver – графикалық режимді анықтайтын параметр;
Mode – орнатылған драйверге байланысты берілетін графиктік режим
параметрі;
Path – графиктік драйвер файлының атауы және жолы.
Driver мәні Graph модулінде хабарланған тұрақтылар жиынымен шектеледі.

Тұрақты атауы Сандық коды
Detect 0 ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Математиканы модульдік технологиямен оқыту
Спорттық ойындар және олардың өткізілуі
Шаңғы спорты
Шаңғы спорты туралы
Жаратылыстану цикіліндегі пәндерді оқытудың жағдайын және осы пәндер бойынша оқушылардың білім сапасын ұбт нәтижесі негізінде талдау
Дене тәрбие саласы. Дене тәрбиесінің міндеттері мен маңызы
Шорт – трек туралы мағлұмат
Көліктік байланыс туралы жалпы мәлімет
Информатика курсында оқушыларды оқытуда компьютерлік ойындарды пайдалану
Медиа және медиа білім беру
Пәндер