Спортлото ойыны



Мазмұны

Кіріспе 5

1. Құрылымды мәліметтер типі 7
1.1 Бір өлшемді массивтер 7
1.2. Массивтермен амалдар орындау 9
1.3. Массив элементтерімен амалдар орындау 9
1.4. Массив элементтерін енгізу және шығару 10
1.5 Массивтерді сұрыптау әдістері. 12
1.6. Ауыстырмалы сұрыптау («көпіршік» тәсілі) 12
1.7. Қойылымды сұрыптау 12
1.8. Таңдап алу арқылы сұрыптау 12
1.9. Екі өлшемді массивтер (матрица) 13

2. Спортлото ойыны 18

Қорытынды 19

Пайдаланылған әдебиеттер 21
Кіріспе
Спортлото ойыны адамдарға кеңінен танымал ойындардың бірі. Ойынның шарты бойынша 1-мен 36-ның арасындағы 5 санды адам енгізуі керек. Содан соң компьютер сол енгізілген 5 санды кездейсоқ ойлайды. Егер кездескен сандар болса сіздің ұтысыңыз есептеледі.
Теледидарларда көрсетілетін осы лотереялық ойында арнайы құрылғы кішкене шарларды кездейсоқ таңдап алады. Алдын ала таратылып берілген билеттерде жаңағы 5 санның кездескені болса, онда ұтыс еептеліп беріледі.
Бұл программаны қарапайым компьютерде ойнау үшін кішкене программа Паскаль тілінде жазылды. Жалпы Паскаль тілі программа құрушыларға өте ыңғайлы тіл. Оның логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін тигізеді. Turbo Pascal тілін оқытып – үйретуден бастап, программалаудың қыр-сырын меңгертудің маңызы зор. Кез келген тілді үйрену оның алфавитінен басталады.
Turbo Pascal программалау тілінің де басқа тілдер сияқты, алфавиті бар. Программаның элементтерін жазуда қолдануға болатын символдар жиынтығын тілдін алфавиті дейміз.
Паскаль тілін 1970 жылы швейцарияның Цюрих қаласындағы жоғары техникалық училищесінің профессоры Никлаус Вирт ұсынған. Ол бұл тілді дүние жүзінде алғаш болып есептеу машинасын ойлап жасаған ұлы француз ғалымы Блез Паскальдің құрметімен атаған.
1979 жылы қабылданған стандартты Паскаль тілі басқа тілдерден қалыспайды. Сондықтан да қазіргі кезде Паскаль тілі кез-келген саладағы күрделі есептерді шешу үшін қолданады.
Қазіргі кездегі программалау тілінің арасында ең көп тараған тілдердің бірі Turbo Pascal универсалды программалау тілі. Бірақ оны жүйелік программаларда, транслятор, операциялық жүйелерді жазуда қолдану жақсы жетістіктер береді.
Паскаль тілін 1973 жылы швейцар математигі Никлаус Вирт жасап шығарады да, атақты француз математигі, физигі, философы және алғашқы есептеу машинасы - арифмометрді /1641/ жасаған Блез Паскальдің құрметіне "Паскаль" деп ат қойды.
Turbo Pascal тілінде жазылған программаның архитиктуралары әр түрлі компьютерлердің бірінен бірін ауыстыруға бір операциялық жүйенің екінші операторлық жүйеге ауыстыруға жеңіл. Сонымен қатар Turbo Pascal тіліндегі программалардың орындалу жылдамдығы біршама жоғары.
Turbo Pascal тілінің компиляторы қазіргі кездегі MSDOS, WINDOWS операциялық жүйеде жұмыс істей береді.
Паскаль тілін 1973 жылы швейцар математигі Никлаус Вирт жасап шығарады да, атақты француз математигі, физигі, философы және алғашқы есептеу машинасы - арифмометрді /1641/ жасаған Блез Паскальдің құрметіне "Паскаль" деп ат қойды.
Паскаль тілі оқып үйренуге жеңіл, түрлі салалық информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде көп тараған тілдердің бірі болып табылады.
Паскаль тілі:
• алгоритм құрылымын сақтап құрылған;
• жоғары деңгейлі программалау тілдерінің жақсы қасиеттерін жинақтаған;
• қазіргі замандағы көптеген программалау тілдерінің негізі болып саналады;
Сондықтан бұл тілдің нақты ЭВМ - нің мүмкіндігіне байланысты бірнеше түрлері бар.
Біз өмір сүріп жатырған уақытымыз ақпараттық технологияның кеңінен даму кезі. Қазіргі кезде дүние жүзінде үш жүз миллионға жуық компьютер бар. Компьютер негізгі екі бөлікке бөлінеді: аппараттық бөлік және программалық бөлік. Компьютер программассыз ешқандай
Пайдаланылған әдебиеттер
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.

Мазмұны
Кіріспе 5
1. Құрылымды мәліметтер типі 7
1.1 Бір өлшемді массивтер 7
1.2. Массивтермен амалдар орындау 9
1.3. Массив элементтерімен амалдар орындау 9
1.4. Массив элементтерін енгізу және шығару 10
1.5 Массивтерді сұрыптау әдістері. 12
1.6. Ауыстырмалы сұрыптау (көпіршік тәсілі) 12
1.7. Қойылымды сұрыптау 12
1.8. Таңдап алу арқылы сұрыптау 12
1.9. Екі өлшемді массивтер (матрица) 13
2. Спортлото ойыны 18
Қорытынды 19
Пайдаланылған әдебиеттер 21

Кіріспе

Спортлото ойыны адамдарға кеңінен танымал ойындардың бірі. Ойынның
шарты бойынша 1-мен 36-ның арасындағы 5 санды адам енгізуі керек. Содан соң
компьютер сол енгізілген 5 санды кездейсоқ ойлайды. Егер кездескен сандар
болса сіздің ұтысыңыз есептеледі.
Теледидарларда көрсетілетін осы лотереялық ойында арнайы құрылғы
кішкене шарларды кездейсоқ таңдап алады. Алдын ала таратылып берілген
билеттерде жаңағы 5 санның кездескені болса, онда ұтыс еептеліп беріледі.
Бұл программаны қарапайым компьютерде ойнау үшін кішкене программа
Паскаль тілінде жазылды. Жалпы Паскаль тілі программа құрушыларға өте
ыңғайлы тіл. Оның логикалық құрылымы әр түрлі есептерді дәл шешуге көмегін
тигізеді. Turbo Pascal тілін оқытып – үйретуден бастап, программалаудың қыр-
сырын меңгертудің маңызы зор. Кез келген тілді үйрену оның алфавитінен
басталады.
Turbo Pascal программалау тілінің де басқа тілдер сияқты, алфавиті
бар. Программаның элементтерін жазуда қолдануға болатын символдар жиынтығын
тілдін алфавиті дейміз.
Паскаль тілін 1970 жылы швейцарияның Цюрих қаласындағы жоғары
техникалық училищесінің профессоры Никлаус Вирт ұсынған. Ол бұл тілді дүние
жүзінде алғаш болып есептеу машинасын ойлап жасаған ұлы француз ғалымы Блез
Паскальдің құрметімен атаған.
1979 жылы қабылданған стандартты Паскаль тілі басқа тілдерден
қалыспайды. Сондықтан да қазіргі кезде Паскаль тілі кез-келген саладағы
күрделі есептерді шешу үшін қолданады.
Қазіргі кездегі программалау тілінің арасында ең көп тараған
тілдердің бірі Turbo Pascal универсалды программалау тілі. Бірақ оны
жүйелік программаларда, транслятор, операциялық жүйелерді жазуда қолдану
жақсы жетістіктер береді.
Паскаль тілін 1973 жылы швейцар математигі Никлаус Вирт
жасап шығарады да, атақты француз математигі, физигі, философы
және алғашқы есептеу машинасы - арифмометрді 1641 жасаған Блез
Паскальдің құрметіне "Паскаль" деп ат қойды.
Turbo Pascal тілінде жазылған программаның архитиктуралары әр түрлі
компьютерлердің бірінен бірін ауыстыруға бір операциялық жүйенің екінші
операторлық жүйеге ауыстыруға жеңіл. Сонымен қатар Turbo Pascal тіліндегі
программалардың орындалу жылдамдығы біршама жоғары.
Turbo Pascal тілінің компиляторы қазіргі кездегі MSDOS, WINDOWS
операциялық жүйеде жұмыс істей береді.
Паскаль тілін 1973 жылы швейцар математигі Никлаус Вирт
жасап шығарады да, атақты француз математигі, физигі, философы
және алғашқы есептеу машинасы - арифмометрді 1641 жасаған Блез
Паскальдің құрметіне "Паскаль" деп ат қойды.
Паскаль тілі оқып үйренуге жеңіл, түрлі салалық
информациямен жұмыс істеуде нәтижелі болғандықтан, дүние жүзінде
көп тараған тілдердің бірі болып табылады.
Паскаль тілі:
• алгоритм құрылымын сақтап құрылған;
• жоғары деңгейлі программалау тілдерінің жақсы
қасиеттерін жинақтаған;
• қазіргі замандағы көптеген программалау тілдерінің
негізі болып саналады;
Сондықтан бұл тілдің нақты ЭВМ - нің мүмкіндігіне
байланысты бірнеше түрлері бар.
Біз өмір сүріп жатырған уақытымыз ақпараттық технологияның кеңінен
даму кезі. Қазіргі кезде дүние жүзінде үш жүз миллионға жуық компьютер бар.
Компьютер негізгі екі бөлікке бөлінеді: аппараттық бөлік және программалық
бөлік. Компьютер программассыз ешқандай информацияны өңдеу операциясын
орындай алмайды. Сондықтан компьютерлерге әртүрлі жұмыс атқаратын
программалар жазылуы керек.
Алдымен программалар перфоленталарға жазылды, содан кейін төменгі
дәрежелі программалау тілдерінде (Ассемблер) жазылды. Программаларды жазуды
оңайлату үшін жоғары дәрежелі программалау тілдері жазылды. Мысалы: Бейсик,
Фортран, Паскаль, Алгол, Ада, Си т.с.с. Солардың ішінен кең тарағандарының
бірі Паскаль программалау тілі.

1. Құрылымды мәліметтер типі

1.1 Бір өлшемді массивтер

Элементтерінің саны алдын-ала белгілі бір типті индексті айнымалылардың
жиынтығын массив деп атайды. Массивтің типі күрделі болып табылады.
Массивтерді бағдарламада қолдану үшін, оларға белгілі бір ат беріледі.
Содан соң бағдарламаның VAR немесе TYPE бөлімінде ARRAY қызметші сөзімен
сипаттап, компьютердің жадынан массив элементтеріне орын бөледі. Жалпы
жазылу түрі төмендегідей:
TYPE "массив aтауы"=ARRAY[X1] OFX2;
VAR "массив атауы":ARRAY[X1] OFX2;
мұндағы:
"массив атауы" - массивті белгілеген идентификатор, X, A, MAS т..б.
ARRAY - массив ұғымын білдіретін қызметші сөз.
OF - қызметші сөз (бұл жерде жалғауларын білдіреді, мысалы бүтін
шамалардан)
Х1 - массив индексінің типі, нақтыдан басқа барлық типтер қолданылады.
Х2 - массив элементінің негіздік типі.
Бағдарламада массивтерді сипаттаудың бірнеше жолдары бар. Алдымен
типтер бөлімінде массивті бір идентификатор арқылы сипаттап алып, кейін
айнымалылар бөлімінде массив атауын сол идентификатор арқылы сипаттауға
болады. Сондай-ақ бірден айнымалылар бөлімінде де массивті толық сипаттап
кетуге де болады.
Turbo Pascal бағдарламаларында бір циклдің ішінде екінші цикл, оның
ішінде үшінші цикл т.с.с. бір-біріне қабаттастырып ұйымдастыруға болады.
Егер бір циклдің денесінің құрамында басқа бір циклдер болса, ондай циклді
сыртқы цикл дейді. Ал цикл басқа бір циклдің құрамында болса, ондай циклді
ішкі цикл дейді. Сыртқы және ішкі циклдерді ұйымдастыру тәртібі жай
циклдерді ұйымдастыруға ұқсайды. Тек қана мынадай ережені еске сақтаған
жөн: "Ішкі циклдердің барлық операторлары сыртқы циклдің денесінде болуы
шарт". Цикл ішіндегі циклдердің орындалу тәртібі мынадай:
Алдымен сыртқы циклдің параметрінің алғашқы мәні бойынша сыртқы
циклдің орындалуының шарты тексеріледі, егер сыртқы циклдегі шарт
орындалса, онда басқару цикл денесіндегі ішкі циклге беріледі.
Ішкі циклдің параметрлерінің барлық мәндері бойынша ішкі циклдің
орындалуы толық тексерілгеннен кейін басқару сыртқы циклге беріледі.
Сыртқы циклдің параметрінің келесі мәні бойынша сыртқы циклдің
орындалуының шарты тексеріледі, егер сыртқы циклдегі шарт орындалса, онда
басқару қайтадан ішкі циклге беріледі.
Барлық циклдік операторлармен бағдарламалар құрғанда, Do, While,
Repeat операторларынан кейін нүктелі үтір қойылмайтынын ескеру қажет. Егер
цикл денелерінде басқаруды циклдің сыртындағы таңбаға көшіретін оператор
кездессе, онда циклдің қайталануы бірден тоқтайды. Егер циклдің орындалу
шарты басынан орындалмаса, онда цикл жүрмейді. REPEAT циклінде бағдарлама
орындалуы цикл соңындағы шартқа бармай тұрып, цикл денесі міндетті түрде
бір рет орындалады. Цикл денесінде басқаруды цикл сыртына жіберетін шартсыз
көшу операторы тұрса, онда басқару Goto операторындағы белгісі бар цикл
сыртындағы операторға беріліп, цикл ерте аяқталуы мүмкін.
Егер бағдарламада бірнеше массивтің индекстері мен негіздік типтері
бірдей болса, онда оларды бір тізімге біріктіріп жазып сипаттауға болады,
төмендегі мысалдарда элементтері нақты сан болатын А,В,С массивтерінің
бәріне де компьютердің жадынан элемент бөлінген, сондықтан олар бір тізімге
біріктіріліп сипатталған.

Массивтердің типтер бөлімінде сипатталуы:

CONST N=100; {N-элементтер саны}
TYPE Mas=Array[1..N] Of Real;
Element=(Ge,C,O,N,Na,K,Li,Cu,Zn);
Gaz=Array[Ge.. N] Of Integer;
VAR A,B,C:Mas; X:Gaz;

Массивтердің айнымалылар бөлімінде сипаттапуы:

CONST N=100;
VAR A,B,C:Array[1..N]Of Real;
D, E: Array [1.. 5] Of Char;
Mezgil:Array[ 1.. 10] Of String;
Y,Z: Array[1..20] Of Byte;
R:Arrayl'A'.-'Z'lOfChar;
P:Array[1.. 101] Of String;
Жоғарыда сипатталған массивтердің барлығының да элементтерінің бір
индексі бар. Бұндай массивтерді бір өлшемді массивтер дейді.
Есептеулерде бір өлшемді массивтермен қатар көп индексті массивтер де
кездеседі. Оларды индексінің санына қарай n - өлшемді массивтер деп атайды.
Солардың ішінде Паскаль бағдарламаларында екі индексті массивтер кеңінен
қолданылады. Оларды көбінесе матрицалар деп атайды. Матрица элементтерінің
бірінші - индексі қатардың, екіншісі -бағанның нөмірін білдіреді.

Екі өлшемді массивтердің типтер бөлімінде сипатталуы:

CONST N=100; М=100;
TYPE Mas=Array[1..N) 1..M]Of Real;
VAR A: Mas;

Екі өлшемді массивтердің айнымалылар бөлімінде сипатталуы:

CONST N=100; М=50;
VAR A:Array[1..N, 1..M]Of Real;
B: Array[1 ..3,1 ..7] Of Integer;

1.2. Массивтермен амалдар орындау

Массивтердің өзімен жұмыс істеу үшін массивтің өз атауы қолданылады.
Массивтің өзі тек қана "тең", "тең емес" және меншіктеу амалдарына ғана
қатыса алады. Бұл амалдарға қатысатын массивтердің типтері мен элементтер
саны бірдей болуы керек.

Мысалы мынадай массивтер берілсе:

VAR X, Ү: Array[ 1..5]Of Byte;

Бұл массивтерге келесі амалдар қолданғанда:
Х=Ү - егер массивтердің индекстері сәйкес элементтері тең
болса, онда нәтиже "ақиқат" болады
ХҮ- егер массивтердің индекстері сәйкес элементтерінің кемінде
біреуі тең болмаса, онда нәтиже "ақиқат" болады
Х:=Ү - X массиві Ү массивінің барлық элементтерін меншіктейді, ал
Ү массивінің элементтері өзгеріссіз қалады.

1.3. Массив элементтерімен амалдар орындау

Массивті сипаттап болғаннан кейін, операторлар бөлімінде массив
элементтеріне жай айнымалылармен орындалатын әртүрлі амалдар қолдануға
болады. Оларды әр түрлі өрнектерде операндалар орнына, For, While, Repeat
операторларының параметрлерінде, логикалық амалдарда салыстыру элементі
ретінде пайдалануға болады. Бағдарламалық тексте массивтің әр элементі
массивтің аты мен индексі арқылы жазылады. Элементтер индекстің мәндері
арқылы реттеледі. Бір ескеретіні "индекс" және "индекстің типі"
түсініктерін араластыруға болмайды. "Индекстің типі" түсінігі тек массивті
сипаттайтын бөліктерде ғана қолданылады. Ал "индекс" түсінігі операторлар
бөлігінде массив элементтерін белгілегенде қолданылады. Индекс ретінде
әртүрлі өрнектер қолдануға болады. Көбінесе өрнектердің қарапайым бір түрі
ретінде тұрақтылар мен айнымалылар қолданылады. Сондықтан да (массив
элементтерін басқаша индексті айнымалылар деп атайды. Егер математикада
индекс жай жақшаға алынып немесе төменгі регистрде жазылса, Паскаль
бағдарламаларында массив индекстері тік жақшаларға алынып жазылады.
Массив элементтері бағдарламалардағы өрнектер мен меншіктеу
операторларының сол жағында да, оң жағында да тұруы мүмкін. Массив
элементтерінің негіздік типіне қолдануға болатын амалдарды массив
элементтеріне де қолдануға болады, мысалы:

А (51, -15, 5.5, -8.1, 15, 0, 8) - А массиві 7 элементтен тұрады,
элементтердің бағдарламада сипатталуы мен жазылуы:

VAR A:ARRAY{ 1.. 7] of Real;
А[ 1]=51; А[2]=-15; А[3]=5.5; А[4]=-8.1; А[5]= 15; А[6]=0; А[7]=8
Массив элементтерінің индекстері өрнектер мен операторларда
тік жақшаларға алынып жазылады:
Ү: =5*А[ 1]+SQR(A[2]+A[3]); X:=COS(A[5])+Sin(A[5]);
Fork:=1 To 10 Do Begin
Read(A[k]); Writeln(A[k]); A[k]:=A[k+1];
lfA[k]5 Then S:=S+A[k];
While A[k] =80 Do Begin S: =S+A[k]; k: =k+1 End; End;

1.4. Массив элементтерін енгізу және шығару

Массив элементтерін енгізу және шығару цикл арқылы жүзеге асырылады.
Егер элементтерді ендіру үшін Read операторы қолданылса, онда элементтер
бір қатарға жазылып ендіріледі. Ал Readln операторы қолданылса, онда әр
элементті жаңа қатардан енгізу керек.
... ... ... ... ... ... ... ... ... ... ... ... ...
Readln(N);
For K:=1 To N do Read(A[K]);
... ... ... ... ... ... ... ... ... ... ... ... ..
Readln(N);K:=1;
Repeat Read(A[K]; K:=K+1
Until KN;
... ... ... ... ... ... ... ... ... ... ... ... ...
Readln(N); K:=1;
While K=N Do Begin
Readln(A[K]); K:=K+1 End;
... ... ... ... ... ... ... ...
Бағдарламаның орындалу нәтижесінде N элементтен тұратын массив
элементтерін пернетақтадан ендіруді ұйымдастырады, бағдарламада циклді
оқығанда Read операторын N рет оқып тоқтап, массив элементтері мәндерін
қашан пернетақтадан енгізгенше күтіп тұрады, бұл жерде К айнымалысы цикл
параметрі қызметімен қоса массив индексі ретінде де қолданылып тұр.
Кейде бағдарламаның әр орындалуында массив элементтерінің мәндерін
қайта-қайта пернетақтадан енгізу керек болады, бұл әсіресе енгізілетін
элементтер саны өте көп болған кездерде бағдарлама орындаушы кісіні
жалықтырып жібереді, сондықтан бұндай жағдайларда оларды бірден тұрақтылар
бөлімінде енгізіп қойса да болады:

CONST N=5;
A:ARRAY[1..N]OF REAL=(40.5, 48, 47.1, 52.3, 11.2);
B:ARRAY[1..9]OF REAL={31,25,40, 1.5,48,54.7, 12.3,54.5,21);

Массив элементтерін шығару процесі де ендіруге ұқсайды. Егер цикл
денесінде элементтерді шығару үшін Write операторы қолданылса, онда массив
элементтері экранға бір қатарға бір-біріне жабысып жазылып шығады. Бұл
жағдайда нәтиженің көрнекілігін арттыру үшін Write операторында массивтен
кейін бос орын жазылады. Ал Writeln операторы қолданылса, онда массивтің
әрбір элементі жаңа қатарға жазылып шығады.
... ... ... ... ... ...
For K:=1 To N Do Write(‘A[‘,K,’]=’, A[K], ’ ‘);
... ... ... ... ... ... ... ... ... ... ... ... ... ...
К: =1;
Repeat Writeln(A[K]); K:=K+1
Until KN;
... ... ... ... ... ... ... ... ...
K: =1;
While K=N do
Begin Write(A[K], ' '); K:=K+1 End;
... ... ... ... ... ... ... ..

Кейбір есептеулерде белгілі бір шарттың орындалуына байланысты массив
элементтерін іздеп табу керек болады. Ол үшін цикл арқылы массивтің барлық
элементтерін берілген шамамен салыстыру процесін ұйымдастыру керек. Егер
циклдің әр орындалуында массивтің жаңа элементі берілген шартты
қанағаттандырса, онда бұл элемент ізделінген элемент болып табылады.
Мысалы:
1. Массивтің 5-ке тең элементтерін экранға шығару:
... ...If A[K]=5 Then Write(A[K], ' '); ... ..

2. Массивтің жұп элементтерінің нөмірлерін (индекстерін) шығару:

... ...If A[K] Mod 2=0 Then Write('K=', К, ' ') ... ...

3. Массивтің 7-ден үлкен және 15-тен кіші элементтерінің санын
табу:
N:=0; ... If (A[K]7) And (A[K] 15) Then N:=N+1; ... ...
Writeln('N=', N);

4. Массивтің 10-нан үлкен элементтерінің қосындысын табу:
S:=0; ... ... If A[K]10 Then S:=S+A[K]; ... ...
Writeln('S=', S );

5. Массивтің 5-тен кіші элементтерінің көбейтіндісін табу:
Р:=1; ... ... If A[K]5 Then P:=P*A[K]; ... ...
Writeln ('P=', P);

1.5 Массивтерді сұрыптау әдістері.

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

1.6. Ауыстырмалы сұрыптау (көпіршік тәсілі)

Алгоритм 1-ші мен 2-ші элементтерді салыстырудан басталады. Егер 2-ші
элемент 1-шіден кіші болса, онда оларды орындарымен алмастырылады. Бұл
процесс қатар тұрған әр жұп элементтері үшін қайталанады, процесс бүкіл N
элементтері өңделмейінше қайталанады. Массивтің бір өтімінен кейін ең
үлкен элемент ең артқы (N-ші) орынға тұрғызылады. Алгоритм жалғаса береді,
сонда p-ші өтім кезінде алғаш (N-p) элементтері оң жақтағы көрші
элементтерімен салыстырылады. Егер келесі бір өтімде алмастырулар болмаса,
алгоритм өз жұмысын тоқтатады. Соңында ең жеңіл элементтер алгоритм
орындалуы барысында біртіндеп қалқып шығады.

for i := 1 to n-1 do
for j := n-1 downto i do
if a[j] a[j+1] then begin
x := a[j];
a[j] := a[j+1];
a[j+1] := x;
end;

1.7. Қойылымды сұрыптау

Басында алғаш тұрған екі элемент сұрыпталады. Олар сұрыпталған S
жиынын құрайды. Келесі элемент алынып, сұрыпталған S жиынына сол жағындағы
элементтері одан кіші етіліп, ал оң жағынан артық болып қойылады. Берілген
элементті жиынға тұрғызу орны – аралықты жартыға бөлу арқылы табылады.
Алгоритм өз жұмысын аяқтайды сол жағдайда, қашан N-ші орында тұрған элемент
өңделіп болады.

1.8. Таңдап алу арқылы сұрыптау

N элементтерден құралған массивінің ең үлкен элементі табылады (ол p
нөмерінде тұр делік), ол N-ші орында тұрған элементімен орындарын
ауыстырылады, мұнда ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Комбинаториканың негізгі формулалары. Терулер
Ықтималдықтар теориясының қоғамдағы орны
«Комбинаторика элементтерін пайдаланып есептер шығару»
Комбинаторикалық есептерді шешудің негізгі тәсілдері
Ықтималдықтарды есептеу тәсілдері
Ықтималдылықтар теориясының элементтері
Жалпы білім беретін орта мектепте информатика курсының мазмұны
Кездейсоқ оқиғалар
Жасөспірімдер бойында құқықтық сананың қалыптасу ерекшеліктерін зерттеу
Балалардың ойлау қабілетін ойын арқылы дамыту
Пәндер