„Трэк” ойыны


Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 21 бет
Таңдаулыға:
ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қ. И. Сәтпаев атындағы Қазақ ұлттық техникалық университеті
Ақпараттық технологиялар институты
Техникалық кибернетика кафедрасы
КУРСТЫҚ ЖОБАҒА ТҮСІНІКТЕМЕ ЖАЗБА
Тақырыбы : „Трэк” ойыны
Жетекші: доцент
Мұртазина Ә. Ө.
«» 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 Сызықты іздеу
Іздеу алгоритмінде : массив арқылы элементтерді енгізіп, әр қадам сайын белгілі бір санды сол элементтермен салыстырғанда, жауабы жалған болып шығуы керек. Мұндай іздеуді сызықты іздеу деп аталады. Мынадай шығарылатын мәліметтер болуы керек:
- элемент табылды: а[i] =x;
- бүкіл массив көрілген және элемент табылмады: 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 Қосалқы программалар
- Процедура
Процедура дегеніміз - белгілі бір әрекеттерді орындайтын, идентификаторы берілген, программаның тәуелсіз бөлігі. Процедура процедураның тақырыбы мен денесінен тұрады және оны құрылымына қарай жеке дербес программа ретінде қарастыруға болады. Процедураны негізгі программаның сипаттау бөлімінде бір рет анықтаған соң, оны программаның кез келген жерінен идентификаторы бойынша шақыруға болады. Процедура өз мақсатын орындалғаннан кейін, негізгі программа келесі оператордан жалғасып орындала береді. Программаның ішінде процедура идентификаторын оператор түрінде қолдану процедура операторы немесе процедураны шақыру деп аталады. Көңіл бөлетін жайт, процедура идентификаторын өрнек ішінде операнда есебінде қолдануға болмайды.
Процедура тақырыптан және блоктан тұрады, біріншіден, локальдық сипаттамадан және процедура операторлардан:
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 n>0
then
Step1
else
begin
n:=-n;
x:=1/x;
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 тілінде алдын ала бекітілген драйверлер саны бар. Олардың әрқайсысы үш түрлі режимдердің бірінде жұмыс істей алады. Драйвер типі мен оның режимі санмен немесе тұрақты түрінде берілген.
GRAPH модулі іске қосылысымен оның ішіндегі процедуралар мен функцияларды пайдалана беруге болады.
Графикалық режимді іске қосу:
InitGraph (var Driver, Mode: integer; Path: string) ;
Мұндағы Driver - графикалық режимді анықтайтын параметр;
Mode - орнатылған драйверге байланысты берілетін графиктік режим параметрі;
Path - графиктік драйвер файлының атауы және жолы.
Driver мәні Graph модулінде хабарланған тұрақтылар жиынымен шектеледі.
Инициализацияланған графикалық режим InitGraph процедурасы арқылы жұмыс істейді. Ал жабу - CloseGraph процедурасы арқылы.
InitGraph процедурасы мынадай сипаттамадан тұрады:
Алғашқы екі параметр константамен сипатталады: графикалық драйвер және режім.
Үшінші типтік параметр String болып табылады. MS-DOS операциялық жүйесіндей каталогқа баратын жолын көрсетеді. Оның ішінде графикалық драйверлердің файлдары орналасқан (*. BGI) .
SetColor процедурасы
Бейнелейтін символдар мен түзулердің түсін орнату процедурасы. SetColor процедурасының жалпы жазылуы:
SetColor(Color:Word) ;
Мұндағы Color - ағымдағы түс.
SetFillStyle процедурасы
SetFillStyle боялу түсін және нұсқасын анықтайды.
Процедураның жазылуы:
Procedure SetFillStyle(Pattern:Word; Color:Word) ;
Мұндағы: Pattern - толтыру нұсқасы;
Color - боялу түсі.
Line процедурасы
Line берілген координаталар бойынша екі нүкте аралығында түзу бейнелеу процедурасы.
Процедураның жазылуы:
Procedure Line(X1, Y1, X2, Y2:Integer) ;
Мұндағы: Х1, Y1 - түзудің басталу нүктесінің координаталары;
Х2, Y2 - түзудің соңғы нүктесінің координаталары.
Түзудің қалыңдығын және бейнелеу түрін SetLineStyle процедурасының көмегімен анықталады.
Ал түзудің түсі SetColor процедурасының көмегімен беріледі.
SetLineStyle процедурасы
SetLineStyle түзудің жаңа түрін белгілейді.
Процедураның жазылуы:
Procedure SetLineStyle(Type, Pattern, Thick:Word) ;
Мұндағы Type - түзу типі;
Pattern - түзу түрі;
Thick - түзу қалыңдығы.
Circle процедурасы
Circle шеңбер салу процедурасы.
Процедураның жазылуы:
Procedure Circle(X, Y:Integer; Rad:Word) ;
Мүндағы X, Y - шеңбердің центрі.
Rad - шеңбердің радиусы.
CloseGraph процедурасы
Графиктік режимді жабу процедурасы. Процедура жазылымы:
CloseGraph;
Бұл процедура жадыда орналасқан барлық графиктік параметрлерден босатады.
Мысалы: үшбұрыш салу.
Program salu;
Uses Graph;
Const a=100; b=5;
Var Gd, Gm, x, y: Integer;
Procedure Triangle(x0, y0: Integer) ;
begin
MoveTo(x0, y0) ;
LineRel(0, 200) ; LineRel(200, 0) ; LineRel(-200, -200)
end;
BEGIN
InitGraph(Gd, Gm, 'd:\tp\bgi') ;
x:=100; y:=100;
Triangle(x, y) ;
Triangle(x+a, y+b) ;
Readln; CloseGraph
END.
3 Есептің алгоритмі
Алгоритм дегеніміз - программаны орындауға қажетті процедуралармен функциялар жиыны болып табылады.
Бұл програманы іске қосу үшін бір процедура және программаның негізгі денесі сынды циклдар қажет: процедураны программаның ішіндегі Graph-тың басында енгіземіз, бірақ оны программаның негізгі бөлімінде шақырамыз. Содан кейін Graph-ты жабамыз. Келесі бөлімінде массив қолданамыз: ол үшін 20 айналымнан тұратын 5 орынды цикл оператор арқылы енгіземіз. Егер спортшы 5 кругта да 1-ші орын алса, ол басқалардың ұпайын санамай, бірден сол спортшыны экранның бетіне шығарады.
4 Программаны баяндау
4. 1 Жалпы мағлұматтар
Бұл программа паскаль тілінің Turbo Pascal 7. 0 версиясында жазылған. Мұнда crt, graph стандартты кітапхана модулдерін қолданамыз. Өйткені мұнда көптеген процедуралар мен функциялар қолданылған.
4. 2 Функционалдық тағайындалуы
Бұл программа жоғарыда берілген есептің сол тілде шығарылуы жолын тексеріп, соларды салыстыруға арналған. Turbo Pascal тілі арқылы іске асады.
4. 3 Қолданылатын техникалық жабдықтар
Процессор - Pentium 4 1, 7 Ghz
Монитор - FLATRON 775FT
Пернелік тақта
Тышқан
Turbo Pascal есептеуіш
4. 4 Программаны шақыру мен орындау
Жұмысқа кiрiспес бұрын, компьютердi ток көзiне қосып жүктеймiз. Содан кейiн Windows операциялық жүйесiнен бiзге қажет Turbo Pascal 7. x Borland Pascal 7. x интегралды бағдарламалау ортасына енемiз.
Егер ешқандай қате болмаса, онда Ctrl+F9 пернелерiн басып, бағдарламаны жүктеймiз. Ойнап болған соң кез келген пернені басып, бағдарламадан шығамыз. Ойынды қосудың басқа жолы ол [ойын файлының аты] . exe файлын жүктеу арқылы да жүзеге асыруға болады.
4. 5 Енгізілетін мәліметтер
Алғашқы бес орын алған велосипедшілердің тізімі
4. 6. Шығарылатын мәліметтер
Велосипедшілердің жүрген жүрісін бейнелейді, максимум ұпайын шыққан немесе 5 айналымында бірінші орын алған велосипедшіні экранның бетіне шығарылуы.
4. 7 Программаның логикалық структурасы
- программа аты esep;
- crt - стандартты кітапханасын және graph-ты қолдану;
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz