8 ферзь

Кіріспе
1. Есептің қойылымы
2. Әдіс . тәсілдерді баяндау
2.1.Сұрыптау тәсілдерінің класификациясы
2.1.1.Сұрыптау тәсілдері
2.1.2.Таңдау сұрыптау
2.2.Көпіршік тәсілі
2.2.1.Көпіршік тәсілімен сұрыптау
2.3.Бинарлық кірістіру
2.4.Шел тәсілі
2.5.Бірігу тәсілі
2.6.Мәліметтер структурасы
2.7.Қосалқы ішкі программалар
2.8.Модуль GRAPH
2.9.Модуль CRT
3. Есептің алгоритмі
4. Программаның блок.схемасы
5. Логикалық құрылымның баяндалуы
6. Қорытынды
7. Қолданылған әдебиеттер
8. Қосымша
Қазіргі уақытта есептеуіш техника адамзат өміріндегі барлық әрекет өрісіне енді. Көбінесе бұл жағдай – мини әсіресе микро ЭЕМнің қарқынды дамуымен түсіндіріледі. Қазір компьютерлерді университет лабораторияларында ғана емес, сонымен бірге мектеп сыныптарында да көруге болады. Біздің уақытта компютерлерге көптеген адамдардың, мамандығы программист болмаса да, қолы жететін мүмкіндіктері пайда болды.
1980 жылдары барлық ойындар және оқытатын программалар MS-DOS операциялық жүйеге арнап жазылған болатын, оның себебі – графикалық редакторлардың әлсіздігі және де жадының жетіспеушілігі. Кейін жаңа WINDOWS операциялық жүйелерінің пайда болды да, олардың графикалық редакторлары мықты болып, оқытатын программалар барлық ғылыми және техникалық мекемелерінде пайда болды, сонымен қатар кішкентай балаларды оқытатын ойын программалары пайда болды.
Енді өзімнің ойыныма кішкене тоқталып өтейін. Ежелгі Индияда шахмат пайда болғалы бері бұл ойын барлық адамзатты қызықтырды. Шахмат ойыны адам логикасының әрі қарай дамытады. Шахмат тақтасында әйгілі математикалық есептердің бірі болып, 8 ферзь есебі болып табылады. Бұл есепті шығарумен ең алғаш Карл Гаусс айналысқан болатын. Енді мен де өз күшімді сынап көрейін.
1) Кнут Д. Искусство программирования для ЭВМ. Том 3: Сортировка и поиск Москва, Мир,1978
2) Зуев Е.А.
Язык программирования Turbo Pascal 6.0 Москва,Унитех 1992
3) Фаронов В.В. Turbo Pascal 7.0, Москва,Нолидж,1990
4) Гусева А.И. Учимся программировать: Turbo Pascal. Москва, Диалог-Мифи,2000
5) Е.М.Епанешников, В.А.Епанешников
Turbo Pascal 7.0,Москва,Диалог-Мифи,2000
        
        Тақырыбы: 8 ФЕРЗЬ
Мазмұны
Кіріспе
1. Есептің қойылымы
2. Әдіс – тәсілдерді баяндау
2.1.Сұрыптау тәсілдерінің класификациясы
2.1.1.Сұрыптау тәсілдері
2.1.2.Таңдау ... ... ... ... ... ... тәсілі
2.6.Мәліметтер структурасы
2.7.Қосалқы ішкі программалар
2.8.Модуль GRAPH
2.9.Модуль CRT
3. Есептің алгоритмі
4. Программаның блок-схемасы
5. Логикалық құрылымның баяндалуы
6. Қорытынды
7. ... ... ... ... есептеуіш техника адамзат өміріндегі барлық әрекет
өрісіне енді. Көбінесе бұл жағдай – мини ... ... ... ... ... Қазір компьютерлерді университет лабораторияларында
ғана емес, сонымен ... ... ... да ... ... ... ... көптеген адамдардың, мамандығы программист болмаса
да, қолы ... ... ... ... жылдары барлық ойындар және оқытатын программалар MS-DOS ... ... ... ... оның ... – графикалық редакторлардың
әлсіздігі және де жадының жетіспеушілігі. ... жаңа WINDOWS ... ... ... да, ... ... ... мықты болып,
оқытатын программалар барлық ғылыми және техникалық ... ... ... қатар кішкентай балаларды оқытатын ойын программалары ... ... ... ... ... өтейін. Ежелгі Индияда шахмат
пайда болғалы бері бұл ойын барлық адамзатты қызықтырды. Шахмат ... ... әрі ... дамытады. Шахмат тақтасында әйгілі математикалық
есептердің бірі болып, 8 ферзь есебі ... ... Бұл ... ... алғаш Карл Гаусс айналысқан болатын. Енді мен де өз күшімді ... ... ... ... ... ферзьді бір-біріне қауіп төндірмейтіндей етіп
орналастыру керек. Яғни, екі ферзь бір вертикальда, бір ... ... ... ... қажет. "Сегіз ферзь" ойынын құру үшін ферздің
денесін және 8*8 шахмат тақтасын бейнелеу керек.
Есептің шарты:
1. Ферзь денесін белгілі бір фигураға ... ... ... Ферзь жүргеннен кейін артында із қалдырмау керек.
3. Шахмат ... ... , оның ... ... ... және ферз ... тақтасының сыртына шығып кетпеуі керек.
4. Программа сегіз ферздің ... ... ... барлық
варианттарын қарастырып шығу керек.
2.Әдіс-тәсілдерді баяндау
Компьютерлік есептерді шешкенде, компьютерлік ойындар құрастырғанда
көптеген әдістер ... Бұл ... ... ... ... ... ... гөрі дами түскен. Бірақ, сол көп жылдар бойы ... осы ... ... кең ... ... ... ... (методы сортировки), іздеу әдістерін
(методы поиска) қолдануға болады. Бұл әдістер біздің есебімізді ... ... ... ... ... (реттеу) – бұл берілген жиын элементтердің белгілі бір ретпен
орналасуы: ... кему ... арту ... Сұрыптау үшін жиындар -
массив элементтері немесе файлдар болуы мүмкін. Ал кілт - ... ... ... ... ... ... және ... жиындағы іздеу болуы
мүмкін. Мысалы, ... ... ... сынақ кітапшасының
номерімен сұрыптауға болады.
Сұрыптау мынау үшін керек:
1. үлкен мәліметтерде оңай ... ... ... ету ... іздеу);
2. адамдардың массив мәліметтеріне оңай анализ жасау үшін, мысалы
студенттер тізімі;
3. үлестіру ... ... ... – бұл мәліметтерді өңдеудегі ең қызықты да және ... ... ... ... ... ... уақыты
жалпы өңдеу уақытының 35-70% құрайды.
2.1.1.Сұрыптау тәсілдері
Кестелермен жұмыс істегенде – оның негізгі опреациялары – ол жазбаларды
реттеу және ... шарт ... ... ... ... жасау. Сұрыптау
- бұл кейбір критерийлері бойынша жазбаны кестелерде нақты бір ... ... ... ... ... кілттерінің мәндерімен сәйкес
іске асады (мыс,. Алфавит бойынша ... ... ... сандарды өсу
бойынша реттеу). Сұрыптаудың көптеген бір – бірінен айрықша ... ... де ... ... ЭЕМ – нің ... жадында орналастырса, онда оның
реттелуі ішкі деп аталады. Ал егер де ... ... ... ... есте сақтау құрылғысы пайдаланса, онда бұндай ... ... ... ... салыстырудың орташа саны, сұрыптаудың ... және де ... ... таңдаған кезде кейбір ... Ішкі ... ... екі ... ... ... Разервтік жадыны қажет ететін тәсілдер
• Резервтік жадыны қажет етпейтін ... ... ... ... көпіршік (пузырька), Шелл тәсілдері
жатса, екінші топқа квадраттық таңдау, қосылу тәсілі және т.б. ... ... ... ... ... шамамен n**2 салыстыруын
талап етеді. ... одан да ... ... ... ... ... берілуін қамтамасыз етеді. Бірақ та кез келген
жағдайларда қолайлы сұрыптау жоқ, себебі олардың ... ... ... және олардың алдын ала реттелуіне байланысты. ... ең кең ... ... ... ... сұрыптауы
(тік таңдау, сызықты таңдау)
Осы метод бойынша, кестедегі бірінші жазбадан бастап, ең ... ... ... ... ... ... ... орын-ауыстырудың
нәтижесінде, кілттің ең кішкентай мәні бар жазбаны кестедегі ... ... Одан ... ... ... ... ... ең кіші мәні бар кілттің ізденуі жүзеге ... ... ... ... ... орын ... Бұл процесс кілттің кодтары
өсу реті бойынша реттелмейінше тоқтамайды. Осы ... ... саны ... –ге тең, ... n – ... жазбалардың саны. Осындай сұрыптау
кезінде орын ауыстырудың ең үлкен саны (n-1) – ге тең. ... ... бар ... үшін ... қадамдарын мысал ретінде қарастырамыз:
23 11 4 56 9 35 ... ... ... ... реттелуін көрсетеді
(орын ауыстыратын элементтердің асты сызылған):
23 11 4 56 9 35 7
4 11 23 56 9 35 7
4 7 23 56 9 35 11
4 7 9 56 23 35 11
4 7 9 11 23 35 ... ... ... пайдаланған кезде (n-1) – дің ең үлкен өтулері керек.
Кестенің бірінші өтуі ... ... және ... жазбаның К1 және К2
кілттері салыстырылады, егер де олардың арасындағы ... ... ... R2 жазбалары орындарын ауыстырады. Содан кейін осы ... R2 ... R3 және R4 ... үшін ... Осы ... аз кілттері бар
жазбаларды қозғалтуға және білінуге мәжбүр етеді. Бірінші өтүден кейін ... мәні бар ... кілт ... n-ші ... ... Әрбір
келесі өтулер кезінде ең көп мәндері бар келесі жазбалардағы кілттер n-1,
n-2, …,2 ... ... ... ... ... ... өтулерден кейін осы өтулер кезінде ауыстырулар болда ма, жоқ ... ... да ... ... Егер де ... жоқ ... онда ол
кесте сұрыпталғаны екені және де одан арғы ... ... ... Сонымен қатар, соңғы ауыстырудың индексін есте сақтауға болады.
Бұл келесі қадамдағы қарайтын қосалқы кестені кішірейтуге мүмкіндік ... ... ... ... ең ... ... және n(n-1)/2 ... құрайды. Салыстырудың және
ауыстырудың орташа саны n**2 рет.
Паскаль және Си ... ... ... іске ... ... ... : char;
f2 : integer;
f3 : integer
End;
Table = Array[1..100] Of Rec;
procedure bubble(var T:Table;
*t,int n);
n:integer);
{ T - ... n – оның ... ... f3 ... бойынша сұрыптау}
сұрыптау */
var
i:integer;
temp:Rec;
switch:boolean;
begin
repeat
for i:=1 to n-1 do
if T[i].f3>T[i+1].f3 then
begin
switch:=true;
temp:=T[i];
T[i]:=T[i+1];
T[i+1]:=temp
end
until not(switch)
end
2.2.1.«Көпіршік» тәсілімен ... ... ... ... сұрыптауды пайдаланады. Ол салыстыру
операцияларының циклында орындалуында және ... ... ... ... ... Оның ... ... толтырылған
резервуардағы көпіршіктердің қозғалу кезіндегі процесске ұқсас болғандықтан
шықты. ... ... өз ... табады. Төменде көпіршік ... ең ... ... ... ... ... ... басталуы}
procedure Bubble(var item: DataArray; count:integer);
var
i,j: integer;
x: DataItem;
begin
for i := 2 to count do
begin
for j := count downto i ... ... ... := ... := item[j];
item[j] := x;
end;
end;
end; { Көпіршік тәсілімен ... ... ... ... ... «item» «Dataitem» элементінің массиві болып табылады.
Ол сұрыпталады да, ал берілген «count» массивінде ... саны ... ... ... екі ... бар. ... элементінің саны
«count» айнымалымен берілгендіктен, сыртқы цикл count массивінің қаралуын !
рет ғана шақырады. Бұл ... ... ... ... ... ... ... қамтамасыз етеді. Ішкі цикл салыстыру және ауыстыру
операцияның шындығымен орындалатынына негізделген. ... ... осы ... ... ... ... мәндерін өсу
реті бойынша сұрыптай алады.
Көпіршік тәсілімен сұрыптауының бір ерекшелігі бар: массивтің соңындағы өз
орнында тұрмаған ... ... «dcab» ... «а» ... бір ... өз орнына жетеді, ал массивтің басында орналасқан элемент (мысалы,
«d» элементі), өз орнына өте баяу жетеді. Барлық қарауларын бір бағытта
істеу міндетті ... Оның ... ... ... ... ... бағытта
істеуге болады. Бұл жағдайа өз орнынан қатты алыстап кеткен элементтер тез
арада өз ... ... ... тәсілі (бинарлық кірістіру)
Тура қосу тәсілін жақсарту үшін, кестенің кезекті элементін реттелген
қосалқы кестеге ... оны ... ... ... ... ... көмегімен жүзеге асыруға болады.
Сұрыптаудың j-ші қадамы:
5 6 8 10 14 18 9 2 ¦ i = 6/2 = 3; 9 > ... ~~~~~~ ~~ ... ... ¦
--¬ ¦
. . . 10 14 18 9 2 ¦ i = (4+6)/2 = ... ~~~~~ ¦ 9 < ... ... ¦
. . . 9 10 14 18 2 ¦ i = 4; 9 < ... ... элементтердің арасындағы ара-қашықтығын ... ... ... ... ... ... ... 2 суретте
«оасве» массиві үшін Шелл сұрыптауы ... тұр. ... ... ... ... ... ... сұрыпталады. Одан соң екі позицияға
жылжыған барлық элементтер сұрыпталады. Ең ... ... ... ... өту f d a c b ... өту c b a f d ... өту a b c e d f
шығарылатын нәтиже a b c d e f
{ Шелл сұрыптауы }
procedure ... item: ... ... = ... j, k, s, m: ... array[1..t] of integer;
x: DataItem;
begin
h[1]:=9; h[2]:=5; h[3]:=3; h[4]:=2; h[5]:=1;
for m := 1 to t do
begin
k:=h[m];
s:=-k;
for i := k+1 to count ... := ... := ... s=0 ... := ... := ... := x;
end;
while (x

Пән: Информатика
Жұмыс түрі: Реферат
Көлемі: 11 бет
Бұл жұмыстың бағасы: 300 теңге









Ұқсас жұмыстар
Тақырыб Бет саны
5 ферзі22 бет
8 Ферзі21 бет


Исходниктер
Пәндер
Көмек / Помощь
Арайлым
Біз міндетті түрде жауап береміз!
Мы обязательно ответим!
Жіберу / Отправить


Зарабатывайте вместе с нами

Рахмет!
Хабарлама жіберілді. / Сообщение отправлено.

Сіз үшін аптасына 5 күн жұмыс істейміз.
Жұмыс уақыты 09:00 - 18:00

Мы работаем для Вас 5 дней в неделю.
Время работы 09:00 - 18:00

Email: info@stud.kz

Phone: 777 614 50 20
Жабу / Закрыть

Көмек / Помощь