Автор работы: Пользователь скрыл имя, 21 Октября 2012 в 19:35, курсовая работа
Спортлото ойыны адамдарға кеңінен танымал ойындардың бірі. Ойынның шарты бойынша 1-мен 36-ның арасындағы 5 санды адам енгізуі керек. Содан соң компьютер сол енгізілген 5 санды кездейсоқ ойлайды. Егер кездескен сандар болса сіздің ұтысыңыз есептеледі.
Кіріспе .…..............................................................................................................5
1. Құрылымды мәліметтер типі …......................................................................8
1.1 Бір өлшемді массивтер.................................................................................. 8
1.2. Массивтермен амалдар орындау.................................................................11
1.3. Массив элементтерімен амалдар орындау.................................................11
1.4. Массив элементтерін енгізу және шығару................................................ 12
2. Массивтерді сұрыптау әдістері. …...............................................................15
2.1. Ауыстырмалы сұрыптау («көпіршік» тәсілі)........................................... 15
2.2. Қойылымды сұрыптау................................................................................ 15
2.3. Таңдап алу арқылы сұрыптау..................................................................... 16
2.4. Екі өлшемді массивтер (матрица)............................................................. 16
2.5 Спортлото ойыны.........................................................................................24
Қорытынды......................................................................................................... 27
Пайдаланылған әдебиеттер …...........................................................................30
Қосымша ….........................................................................................................31
program MATTRS-2;
const t=100; s=100;
var A: ARRAY[1..t,1..S] of integer;
B: ARRAY[1..t*s,1..2] of integer;
N,M,IM,JM,i,j,min, K:integer;
begin
write(‘жол санын енгіз’);
readln(N);
write (‘бағана санын енгіз’);
readln (M);
for i:=1 to N do
begin Writeln(‘сандарды енгіз’,M);
for j:=1 to M do
read (A[i,j])
end;
Min:=A[1;1];
K:=1
for i:=1 to N do
for j:=1 to M DO
if min >A[i,j] then
begin
K:=1;
Â[1,1]:=i;
B[1,2]:=j;
Min: =A[i, j]
end
else
if min =A[i, j] then
begin
K:=K+1;
B[K,1]:=i;
B[K,2]:=j
end
if K=1 then
begin
writln (' жол’,im,’бағана, jm);
end
else
begin
writln ('матрицада‘,k,’минимумдер MIN=',MIN);
for i:=1 to K do
writln ('жол',B[1,1], 'бағана', b[1,2])
end;
end.
Есепті шешу үшін:
* айнымалыларды сипаттаймыз;
* А массив ұзындығы мен массив элементтерінің мәнін енгіземіз
* массив элементтеріне қарап, ең кіші элементтерін іздейміз және көмекші В массивтің индекс мәндерін есте сақтаймыз;
* ең кіші элементтер санын есептейміз;
* К-ға қарай не бір ғана ең кіші элемент туралы информацияны шығарамыз, не барлық ең кіші элементтер туралы информацияны шығару үшін В массивін қайта қарауды ұйымдастырамыз;
Айнымалылар:
А – екі өлшемді массив;
В – көмекші массив;
N,M- массивтің жолдары мен бағаналар саны;
I,J-(массивтің) циклдің айнымалылары;
К- ең кіші элементтер саны;
IM,JN-ең кіші элементтің жолы мен бағанасы;
MIN-ағымдағы минимум;
2.5 Спортлото ойыны
Спортлото ойынын
ойнау үшін алдымен 5 сан енгізесіз.
Содан соң бағдарлама
Спортлото ойынының программасын сипаттау:
Program SportLoto;
Uses crt;
Label
2,3,4,5;
Var a:Array[1..5] of Integer; //Компьютер ойлаған сан
b:Array[1..5] of Integer; //Ойыншының енгізген саны
n,i,j:Integer; //Есептеуіштер
Begin
{=============================
clrscr; //экранды тазалау
//сандарды енгізу
Write ('Tirazhdi oinau yshin 1-shi sandi engizizniz ');
ReadLn(b[1]);
Write ('Tirazhdi oinau yshin 2-shi sandi engizizniz ');
ReadLn(b[2]);
Write ('Tirazhdi oinau yshin 3-shi sandi engizizniz');
ReadLn(b[3]);
Write ('Tirazhdi oinau yshin 4-shi sandi engizizniz');
ReadLn(b[4]);
Write ('Tirazhdi oinau yshin 5-shi sandi engizizniz');
ReadLn(b[5]);
{=============================
Randomize;
a[1]:=Random(35)+1;
2:
n:=Random(35)+1;
if a[1]<>n
Then a[2]:=n
Else Goto 2;
3:
n:=Random(35)+1;
if (a[1]<>n) and (a[2]<>n)
Then a[3]:=n
Else Goto 3;
4:
n:=Random(35)+1;
if (a[1]<>n) and (a[2]<> n) and (a[3]<>n)
Then a[4]:=n
Else Goto 4;
5:
n:=Random(35)+1;
if (a[1]<>n) and (a[2]<> n)and (a[3]<>n)and (a[4]<>n)
Then a[5]:=n
Else Goto 5;
//біріне ұқсамайтын сандарды ойлау аяқталды
//түскен сандарды шығару
Write('Tusken sandar ');
For i :=1 to 5 do Write (a[i]:4);
WriteLn;
{=============================
//кездескен санды есептеу
n:=0;
For i:=1 to 5 do
For j:=1 to 5 do
if a[i]=b[j] Then n:=n+1;
WriteLn ('Siz ', n ,' sandi taptiniz');
WriteLn ('Kez-kelgen perneni basiniz');
Readkey;
End.
Қорытынды
60-70 жылдарда Н.Вирт ойлап шығарған Паскаль тілі қазіргі кезде дүние жүзінде кең тараған программалау тіліне айналды. Қазіргі кезде Паскаль тілі қолданбалы программалар жазу үшін және жүйелі прораммалау тілі ретінде де кеңінен қолданылады. Паскаль тілі бұрын құрылған (Фортран, Алгол және тағы басқалары) программалау тілдерінен маңызды ерекшелігі ол құрылымдық программалық идеясын өмірге біртіндеп енгізу. Паскаль тілінің тағы бір ерекшелігі ол деректер құрлымының концепциясының алгоритм түсінігімен қатар программалаудың негізінде жатқан фундаментальды түсініктер қатарына кіруі.
Паскаль тілініњ шыѓу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ 1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дыњ м±рагері болып табылады. Б±нда енгізу жєне шыѓару процедуралары бар жєне АЛГОЛ тіліне ќараѓанда м‰мкіндігі µте кµп.
BORLAND фирмасыныњ TURBO PASCAL тіл стандартыныњ кењейтілген түрі болып табылады. Сонымен ќатар программа ќ±рылуыныњ процесін жылдамдататын жєне жењілдететін интегрерленген ортасы бар. TURBO PASCAL пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.
Бұл мүмкіндіктің тартымды болу себебі, айтып кеткен зертеулер көлеміндегі зерттелінетін процестер көп жағдайда математикалық функция, теңдеулер жүйесі, теңсіздіктер көмегімен сипатталады және осы зерттелінетін процестердің нақты мәліметтерін алу үшін математикалық объектіде кейбір іс - әрекеттер жасау қажет.
Адамға тек, керекті
түрлендірулер мен
Алгоритмнің жазу
ережесін есептеуіш машинада
орындау өте қатал болып
Қазіргі кезде көп
тараған қуатты бағдарламаалау
жүйелерінің бірі – Турбо
Енді бірер ауыз
сөз тілдің тарихына
Турбо Паскаль Borland
фирмасының кеңейтілген
Программалауда «жиын»
термині оның математикалық
Осы тілдің мүмкіндігін бағамдай отырып, маған курстық жұмыста алдыма қойылған тапсырманы орындауға Турбо Паскаль тілін қолдануға шешім қабылдадым. Жалпы бағдарлама сәтті шықты деп ойлаймын. Себебі Паскаль тілі маған осы бағдарламаны құруда көп жұмысымды жеңілдетті. Кездейсоқ санды ойлау кезінде қолданатын функция өте ыңғайлы. Егер rаndomize операторын жазбасаң, бағдарлама жүктелген сайын бір қалыптағы сандарды ойлайды. Мұның өзі де өте керек функция деп ойлаймын.
Пайдаланылған әдебиеттер
1.Анохин.В.Е, Глинский.Я.Н, Ряжская.В.А ООО. “ДиаСофтЮп” 2001
2. Бурин.Е.А, Программирование на языке TURBO-PASCAL. Алматы 2000г .
3.Брябрин.В:М. “Программное обеспечение персональных ЭЕМ”. М “НАУКА”, 1990 г .
4. Гомцина.О.Л , Попов.И.И, ПартыкаГ.Л. Язык программирования
Москва Форум-Инфра –М 2008.
5. Култин.Н.Б, “
6. Климова.Л.М. PASCAL 7.0. Практическое программирование. Москва. 2000 год.
7. Марченко.А.И , Марченко.Л.А, TURBO PASCAL. Киев “Век+” 2000 год.
8. Немнюгин С:А Санк-Петербург “Питер” 2000 жыл
9. Перминов.О.Н “Язык программирования паскаль” - Москва “Радио и связь”, 1989.
Қосымша
Бағдарламаның орындалу кезінде жіберілетін қателер.
Бағдарламаның орындалу кезеңінде қате жіберілсе, экранда төмендегідей хабар шығады:
Runtime error NatX:Y
мұндағы:
N - жіберілген қате нөмірі;
Х:Ү - адресі.
1. Invalid function number - функцияның нөмірі дұрыс емес, MS DOS- та жоқ функция шақырылған.
2. File not found - файл табылған жоқ, Reset, Append, Rename, Erase
процедуралары керсетілген файлды таба алмады.
3. Path not found - жол табылған жоқ, Reset, Append, Rename, Erase,
ChDir, MkDir, RmDir процедуралары көрсетілген жолды таба алмады..
4. Too many open files - ашылған файлдардың сан Config.sys файлындағы Files айнымалысының шамасынан асып кетті, Config.sys файлында өзгеріс ендіру керек, мысалы Files=80(6ip мезгілде 80 файлға дейін ашу).
5. File access defined - файлға шығуға болмайды. Мысалы, файлда "тек қана оқу үшін"("только для чтения"-"Реагі only") атрибуты орнатылса, ол файл тек оқу үшін ашылады, егер ол файлға өзгерістер енгізсе, онда осы қате шығады.
6. Invalid file handle - файлды өңдеуде қате кеткен.
7. Invalid file access code - файлға шығу коды дұрыс емес, Reset және Append процедураларындағы File Mode параметрінің шамасы дұрыс берілмеген.
8. Invalid drive number – диск қозғағыштың нөмірі дұрыс емес, GetDir
процедурасында қүрылғы параметрі дұрыс көрсетілмеген.
Cannot remove current directory - ағымдағы каталогты өшіруге
болмайды, RmDir процедурасы ағымдағы каталогты өшіреалмайды.
Cannot rename across drives - Rename процедурасы орындалғанда,
файлға басқа құрылғыда бар файлдың аты берілген.
9.Disk read error - дискіден оқылуы қате, файлдың соңы белгісінен
файлды оқығанда жіберілетін қате.
10.Disk write error - дискіге жазылуы қате, дискіде жазылатын файлға орын жетіспейді.
11. File not assigned - файлға ат берілмеген, файл файлдық айнымалымен байланыспаған.
12. File not open - файл ашылмаған, BlockRead, BlockWrite, Eof, Close, FileSize, FilePos, Read, Write, Seek процедураларының орындалуы нәтижесінде файл ашылмаған.
13. File not open for input - файл ендіру үшін ашылмаған.
14. File not open for output - файл шығару үшін ашылмаған.
15. Invalid numeric format - сандық формат дұрыс емес, сан жазылғанда дұрыс емес символ жазылып кеткен.
16. Disk is write protected - дискі жазудан қорғалған.
17. Unknown unit - белгісіз модуль, құрылғының драйверінде қате кеткен.
18. Drive not ready – диск қозғағыш жұмысқа дайын емес.
19. Unknown command - анықталмаған команда.
20. CRS errors in data - берілгендер мәліметтерінде қате бар.
21. Bad drive requiest structure length - дискі дұрыс шақырылмаған, структурасы өте ұзын.
22. Disk seek error - дискілік құрылғылар орнатуда қате жіберілген.
23. Unknown media type - тасымалдаушы типі белгісіз.