Массив

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

массив курс.doc

— 178.50 Кб (Скачать файл)

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 сан енгізесіз.  Содан соң бағдарлама кездейсоқ  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 пайда болѓанѓа шейін б±л программалыќ µнім ( алты) версиядан µтті.

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

 Адамға тек, керекті  түрлендірулер мен есептеулердің  алгоритмдерін сипаттаса болғаны,  қалғанын есептеуіш машинасы  өзі орындайды. Есептеуіш машиналары  тек сандық алгоритмдерді орындайды  деп ойламау керек. Сонымен  қатар бұл машиналар алгебралық формулалар, текстер және т.б. символдарының нәтижелерін түрлендіре алады.

 Алгоритмнің жазу  ережесін есептеуіш машинада  орындау өте қатал болып табылады  – автомат адам үшін ештеңе  алдын ала ойлай алмайды. Алгоритмнің  ереже түріндегі жиынтығы бағдарламамалау тілі деп аталады. Ал бағдарламамалаудың кейбір тілінде жазылған әрбір алгоритм бағдарламама деп аталады.

 Қазіргі кезде көп  тараған қуатты бағдарламаалау  жүйелерінің бірі – Турбо Паскаль  жүйесі болып есептеледі. Бұл  бағдарламаалау жүйесінің негізі ретінде Паскаль бағдарламамалау тілінің компиляторы алынған, сонымен қатар жүйе құрамына қолданушыға бағдарламамаларды теріп жазғанда, өңдегенде ыңғайлы болу үшін сервистік қызмет көрсететін қабықша (орта) енгізілген. Бұл жүйедегі компилятор көмегімен жүзеге асыратын Паскаль бағдарламамалау тілін - Турбо Паскаль бағдарламамалау тілі, ал сервистік қабықшаны Турбо Паскаль ортасы деп атау келісілген.

 Енді бірер ауыз  сөз тілдің тарихына тоқталатын  болсақ алгоритімдік тіл АЛГОЛ  1950-1960 жылдары өңделді. Паскаль АЛГОЛ-дың ұрпағы болып саналады. Оны өңдеген швециялық,жоғары техникалық училищесінің профессоры Никлаус Вирт болды. Ол бұл тілді дүние жүзінде алғаш есептеу машинасын жасаған ұлы француз ғалымы Блез Паскальдың құрметіне «Паскаль» деп атаған. Паскальдың туған уақыты 70 жылдардың басы болатын. АЛГОЛ-мен салыстырғанда Паскаль түсінікті әрі өте жеңіл. АЛГОЛ-да жоқ болған нәрселердің барлығы Паскальда бар. Онда көптеген жақсы өңделген мәліметтер және қорытылып жаңа үлгіде тұрғызылған процедуралары бар.

 Турбо Паскаль Borland фирмасының кеңейтілген стандартты  тілі болып табылады,сонымен қатар  интегралдау ортасын жеңілдету  және тездету процесінде өңдеу  программасын қалыпты сақтайды. Турбо Паскаль 7.0 пайда болғанша,бұл  программалық өнім жеті версиядан өтті.

 Программалауда «жиын»  термині оның математикалық түсінігіне  ісбеттес қолданылады. Оның айырмашылығы  Турбо Паскальда жиындар тек  реттелген типті элементтерді  қосады. Кез келген нақты жиынның  элементі (айнымалы немесе типтелген  тұрақтылар) базалық тип деп аталатын бір типке тиісті болу қажет. Базалық типті жиынның максималды саны - оның қуаты деп аталады. Турбо Паскальда базалық тип ретінде қуаты 256 элементтен аспайтын реттелген типтер қолданылуы мүмкін. Оның диапазоны [ 0..255] болып есептеледі.

 Осы тілдің мүмкіндігін бағамдай отырып, маған курстық жұмыста алдыма қойылған тапсырманы орындауға Турбо Паскаль тілін қолдануға шешім қабылдадым. Жалпы бағдарлама сәтті шықты деп ойлаймын. Себебі Паскаль тілі маған осы бағдарламаны құруда көп жұмысымды жеңілдетті. Кездейсоқ санды ойлау кезінде қолданатын функция өте ыңғайлы. Егер rаndomize операторын жазбасаң, бағдарлама жүктелген сайын бір қалыптағы сандарды ойлайды. Мұның өзі де өте керек функция деп ойлаймын.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 Пайдаланылған  әдебиеттер

1.Анохин.В.Е, Глинский.Я.Н,  Ряжская.В.А ООО. “ДиаСофтЮп”  2001

2. Бурин.Е.А, Программирование  на языке TURBO-PASCAL. Алматы 2000г .

3.Брябрин.В:М. “Программное  обеспечение персональных ЭЕМ”. М “НАУКА”, 1990 г .

4. Гомцина.О.Л , Попов.И.И,  ПартыкаГ.Л. Язык программирования

 Москва Форум-Инфра  –М 2008.

5. Култин.Н.Б, “ Программирование  в TURBO PASCAL 7.0 и Delphi.” Санкт-Петербург.1997 год. 

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 - тасымалдаушы типі белгісіз.

Информация о работе Массив