Судоку ойын алаңы
Жоспар
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
1.Негізгі бөлім
1.1Судоку ойыны туралы жалпы мағлұмат ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.2Ойнау шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .5
2. С# тілі туралы жалпы мәлімет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
2.1 C# программалау ортасы туралы жалпы мәліметтер ... ... ... ... ... ... . ... ... ... ... 7
2.2 Атаулар, айнымалылар және константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.3 С# тіліндегі мәліметтер типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.4 C# тілінің операторлары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
Зерттеу бөлімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .15
3.Visual Studio C# ортасында Судоку ойының программасын құру әдістемесі ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... 18
Қосымша А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .19
Қосымша Ә ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .30
Кіріспе
Заманауи Судоку-ның сиқырлы квадрат деп аталатын прототипі ежелгі Қытайда анықталған. Еуропа, XVIII ғасырда бұл сияқты Швейцариялық Леонард Эйлер (Леонард Эйлер) мөлшері 9x9 матрицаның әрбір жол және әрбір баған белгілі тәртіппен 1-ден 9 дейін сандар және қайталаусыз толтыруға болады деп тапты. Оның қазіргі түрінде алғаш рет Судоку 1979 жылы американдық кроссворд журналдарда пайда болды. Джозеф авторы - американдық азамат, 74 жастағы Говард Гарнтың зейнетақысы бойынша сәулетші болған. Баспагер - Журнал бұл ойынға Математика Puzzles және логика мәселелері Puzzle саны Place атауын берді. Пазлдың нақты танымалдығы 2005 жылы Жапонияның Николи журналы оны өз беттерінде үнемі жариялай бастағаннан басталды.
2004 жылы Судоку Англия газеттерін басып шығара бастады, сол жерден ол Еуропа мен Австралия тарала бастады. Соңында, 2005 жылы, бұл пазл АҚШ оралды әлемдік турне. Қазіргі уақытта, мамандандырылған журналдар мен жинақтарда бірқатар ескере отырып, оларды шешу жолдары туралы кітаптар мен нұсқаулар, көптеген газеттер кроссвордтар бар. Сонымен қатар судоку шахматы басқатырғыш ойындардың бірі болып табылады. Судоку - бұл жаңа кроссворд басқатырғыш. Судокуды ойнау үшін кітапханада отыруға және энциклопедиясында дұрыс сөз іздеп қажеті жоқ. Судокуда еш сөз жоқ. Судокуда тек сандар ғана бар.
Жапонша су- сан, доку- бөлек, оқшау деген мағына білдіреді. Ал кейбір ақпарат көздерінде Судоку сөзі - "Suuji wa dokushin ni kagiru" сөзінің қысқартылған түрі, ал бұл сөздің мағынасы сан тек бірегей болуы тиіс. Біраз уақыт ішінде Жапонияның көптеген газеттерінде жарияланды. Бірақ, судокуға атауды Жапония бергенімен, бұл елде Nanpure деп аталды. 2004 жылы Ұлыбританияда THE Times газеті беттерінен орын алған соң, басқа мемлекеттерге жылдам тарала бастады.
Ойын ережесі туралы айтар болсақ, 3*3 ретімен орналасқан 9 ұяшықтан тұрады. Ұяшықтарда кейбірінде сандар тұрады. Олар басқа да сандарды табуға көмектеседі. Ойын мақсаты, барлық көлденең және тік орналасқан ұяшықтардағы сандардың қайталанбауы.
Алайда, кез келген жұмыс компьютерлік операторы әрқашан жаңа компьютерлік ойын талап етеді, және жиі төмен энергетикалық жабдықтарды кеңсе компьютерді мүмкіндік бермейді пайдалануға емес, орындау жылғы үзіліс кезінде демалуға мүмкіндігі болуы үшін. Бұл мақсат - жұмыс күндерінен қалған осы курстық жоба бағдарламасы аясында әзірленді.
Сыртқы қарапайымдылыққа қарамастан, бағдарлама бір-бірімен өзара әрекеттесудің күрделі жүйесі болып табылады. Ойын жазу үшін көп уақыт пен күш талап етілді. Және бағдарлама кодын жақсартуға болады және жаңа функциялар қосылады.
Судокуды шешу - логикалық ойлау қабілетін және белгілі бір комбинаторлық дағдыларды талап шығармашылық процес. Уақыт өте келе, тәжірибе жинақталады және әр ойыншы өз стратегиясын дамытады.
Судоку ережелері өте қарапайым. Судокудың ойын өрісі 9 бағаннан, 9 жолдан және 9 шағын квадраттан тұратын 81 ұяшықтан тұрады.
Курстық жұмысымның мақсаты адамдардың ойлау қабілетін дамытуға мүмкіндік беретін Судоку жасып шығу.
Курстық жұмысымдағы алдыма қойған міндет: Visual Studio C# ортасында Судоку ойының құру.
Курыстық жұмыс мазмұны: кіріспеден, екі тараудан, зерттеу бөлімінен , қорытындыдан, пайдаланылған әдебиеттер тізімінен және қосымшадан тұрады.
Зерттеу объектісі: Visual Studio C# ортасы.
1. Негізгі бөлім
1.1 Судоку ойыны туралы жалпы мағлұмат
Судоку - сандармен ойналатын ми қатырғыш. Бүгінгі күнде танымалдылығы сонша көптеген адамдар оны жақсы біледі немесе басылым беттерінен көрген. Бүгінгі мақаламызда судокудың пайда болу тарихын айтамыз.
Судокудың негізі Леонард Эйлердің латындық шаршыны математикалық - ғылыми зерттеуінен басталды. Ол шаршының ішіне сандар емес, символдар орналастырған болатын. Эйлер шаршыны ми қатырғыш ретінде емес, математикалық есеп ретінде қарастырды.
Атауы Жапонияны аңғартқанымен, түп-тамыр тарихы Жапониядан басталмайды. Ең алғаш ойлап тапқан - Ховард (Кейде Роберт) Гарнс. Болашақ архитектор бола тұра, ол газеттер мен журналдарға ми қатырғыштарды жасап отырған. Судокуды 1979 жылы алғаш Dell pencil Puzzles and Word Games журналында Number place деген атпен жариялайды. Алайда судоку оқырмандарды қызықтармады.
Сол уақыттарда дәл Жапониялықтар ең алғашқы болып ми қатырғышты жоғары бағалады. 1984 жылы Жапонияның мерзімді басылымдарының бірінде жарық көрді. SUDOKU атауын Nicoli баспасы ұсынды. Кейінірек кеңінен тарала бастады.
Жапонша су- сан, доку- бөлек, оқшау деген мағына білдіреді. Ал кейбір ақпарат көздерінде Судоку сөзі - "Suuji wa dokushin ni kagiru" сөзінің қысқартылған түрі, ал бұл сөздің мағынасы сан тек бірегей болуы тиіс. Біраз уақыт ішінде Жапонияның көптеген газеттерінде жарияланды. Бірақ, судокуға атауды Жапония бергенімен, бұл елде Nanpure деп аталды. 2004 жылы Ұлыбританияда THE Times газеті беттерінен орын алған соң, басқа мемлекеттерге жылдам тарала бастады.
Ойын ережесі туралы айтар болсақ, 3*3 ретімен орналасқан 9 ұяшықтан тұрады. Ұяшықтарда кейбірінде сандар тұрады. Олар басқа да сандарды табуға көмектеседі. Ойын мақсаты, барлық көлденең және тік орналасқан ұяшықтардағы сандардың қайталанбауы.
Судоку - 9х9 шаршы. Ол 9 кіші 3x3 квадратына бөлінген. нақты ережелер бойынша бос ұяшықтарға толтыру - ойын басында кейбір жасушаларда 1 ден 9-ға дейінгі сандар мақсаты болып табылады. Бұл проблема қарапайым болуы мүмкін және ұсынылған параметрлерге байланысты, күрделі болуы мүмкін емес. Судокуда көптеген мүмкіндіктер бар. Нанғысыз көп - 6.670.903.752.021.072.936.960.
Судоку - ды жұмыстан үйге қатып бара жатқанадамдар жақсы ойнайды. Судоку компьютерге мұқтаж емес. Судокуды қағаз және қаламмен ойнауға болады. Маған сеніңіз, жол жүру уақыты ондаған есе азаяды!
Судоку сөзінің жапон тамыры бар. Бірде Жапонияда өткен ғасырдың елуінші жылы басып шығарылған американдық Number Place журналы шығады, сол журналда алғаш рет осы ойын шығарылған.
1.2 Ойнау шарты
Судокуды шешу - логикалық ойлау қабілетін және белгілі бір комбинаторлық дағдыларды талап шығармашылық процес. Уақыт өте келе, тәжірибе жинақталады және әр ойыншы өз стратегиясын дамытады.
Судоку ережелері өте қарапайым. Судокудың ойын өрісі 9 бағаннан, 9 жолдан және 9 шағын квадраттан тұратын 81 ұяшықтан тұрады. Бұл шын мәнінде Судокудың сиқырлы алаңы. Күрделілік дәрежесіне байланысты кейбір ұяшықтарда сандар бар. Сіздің міндетіңіз жасушаларыңыздың қалған бөлігін сұр жасушаларыңызды толтыру. Назар аударыңыз келесі ережеге жасалады: ойын 1-9 сандар ғана. Ойын өріс (9x9 шаршы) осындай әрбір саны (9 1) әрбір жолында пайда етіп, әрбір бағандағы және әрбір толтырылған болуы тиіс көздейді кіші квадрат (3x3) тек бірақ рет қана толтырылады. Басқатырғыштар мақсаты -. әрбір жол, әр баған және әрбір 3x3 шағын шаршы әрбір таңбалы бір рет қана кездесті, сондықтан сіз 1-ден 9-ға дейінгі сандар бос ұяшықтар толтыруыңыз керек. Дұрыс басқатырғыштың бір шешімі бар.
1-сурет. Судоку ойын алаңы
Жақында 9x9 жасушадағы кроссворды басқатырғыштардан басқа күрделі өзгерістер болды. Тәжірибелі ойыншыларға арналған 15х15 немесе тіпті 16x16 мөлшеріндегі судоку бар. Балалар үшін шағын судоку, мысалы, 2х2 қолданылады.
Ойынды қалай бастау керек?
Біреуден бастаңыз. Ойын тақтасына бірінші кезекте, 1-ден бастап барлық ұяшықтарды табыңыз. Шағын квадраттардың әрқайсысын (3x3) тексеріңіз, онда сандар барма. Бір кішігірім квадраттың ішіндегі барлық ұяшықтарды табуға тырысыңыз. Алайда, негізгі ереже туралы ұмытпаңыз: әрбір нөмір әр бағытта, әр бағанда және әрбір кіші шаршыда бір рет тұра алады. Бірлік мүмкін болмайтын барлық ұяшықтарды алып тастау қажет, себебі баған немесе жол немесе шаршы қазірдің өзінде басып алынған. Көрінетін квадраттардың кез-келгенінде бірлік болуы мүмкін бір ғана ұяшық болады. Егер бұл нөмір тек осы ұяшықта және басқа еш жерде жоқ екеніне сенімді болмасаңыз, осы шаршыны қалдырып, екіншісімен әрекеттену керек. Қолайлы нәрсені табуға болады!
Сондықтан барлық квадраттарды (3x3) тексеріңіз. Әрине, тек қана бірлікке қажеті болмаған жерлерді ғана іздеу керек! Барлық квадраттарды 1 өтіп болған соң, іздеуді басқа нөмірмен қайталаңыз. Мәселен, деуce. Содан кейін тройка және тағы басқалар. Сіз 9 1 барлық сандарды тексерсеңіз дейін, содан кейін дейін, Сіз қазірдің өзінде өте көп жасушаларының толтырылған деп табады. Осыдан кейін, біз басынан бастап қайтадан тұтас тәртібін кривошип кеңес - тағы да 1-ден 9-ға дейінгі Сіз көптеген жасушалар сіз әлдеқашан толтырылуы болатынмын, себебі ол, оңай келеді байқайсың. Сіз бұрын қай жерде күмәнданғаныңызды байқайсыз, енді сіз өз нөміріңізді сенімді түрде орналастыра аласыз.
Курстық жобада нені білдіреді?
Жоба барысында судоку ойына арналған бағдарлама жазылады. Ол барлық жағдайда жауап қайтара алатын болады. Бағдарлама бұрын сақталған ойынды сақтап, жүктей алады.Сондай-ақ, бағдарламаны талдау, өңдеу және түзету кезеңдерінің барлық сипаттамалары келтірілген.
Мәселе қойылымы:
Судоку ойыны объектілі-бағдарлы стильде әзірлеп, бағдарламамен іске асырыңыз. Бағдарлама ақпараттық тығыздық, модульдік және иерархиялық ұйым принциптерін құрметтеуі керек.
Ойында болуы керек:
1. Еркін ойын алаңын және бұрын берілген Судоку ойынын шешу алгоритмі.
2.Кездейсоқ судоку ойын өрісін құру алгоритмі.
3. Экрандағы ойын өрісін көрсету үшін Windows қолданбасы.
4. Ағымдағы ойынды сақтау және бұрын сақталған ойын жүктеу мүмкіндігі.
2. Visual Studio C#
2.1 C# программалау ортасы туралы жалпы мәліметтер
С# тілін (Си-шарп деп айтылады, мұнда Бетховеннің Ай сонатасындағы музыкалық нотация -- до-диез таңбасы (#) пайдаланылған; ағылшындар оны си-шарп деп оқиды) Microsoft компаниясының маманы Андерс Хейлзберг (Anders Hejlsberg) жаңа объектіге бағытталға программалау тілі ретінде С, C++, Java және BASIC тілдерінің негізінде жасап шығарған. Бұл пәнде осы тілдің негізгі элемент-тері қарастырылады.
С # тілі Microsoft фирмасының .NET (дот-нет) архитектурасы үшін программалар жазуға арналған тілі. .NET - программалау технологиясындағы жаңа платформа, ол желіге қосыл-ған компьютерлерге арналып жасалған.
.NET көмегімен шағын мобильді компьютер-лерде орындалатын программалар жазу ыңғай-лы деп есептеледі. Бұл технология Visual Studio.NET деп аталады да, бұл ортада Visual Basic, басқарылатын С++ және С # тілдерінде программалар жасау қарастырылған, бірақ ол осылармен ғана шектеліп қалмайды.
С # тілінің мүмкіндігі Java тілімен қатарлас, осы екі тіл қазіргі алдыңғы қатарлы технологияларға жатады. С# тілін сүйемелдейтін .NET платформасының программа жасау ортасы бастапқы программаны бірден машиналық кодқа емес, MicroSoft Intermediate Language (MSIL не IL) атты аралық тілге аударады. Ол ОЖ-дан, ком-пьютер типінен тәуелсіз командалардан тұра-ды да, бірден орындалмай, тілдің жалпы орындалу ортасы Common Language Runtime - CLR деп аталатын жүйе арқылы атқары-лады. CLR ортасы кез келген ОЖ-да орында-ла береді. Программаны орындау кезінде, CLR JIT-компиляторын (just in time - дер кезінде) шақырады. Компилятор программаны бөліктерге бөле отырып, оның тек осы сәтте керек бөлігін ғана орындайды.
Компилятор жұмысы нәтижесінде құрас-тыру (сборка) деп аталатын ехе немесе dll типті файл жасалады, онда IL тіліндегі код пен метамәліметтер болады.
Метамәліметтер программада қолда-нылатын объектілер және құрастыру туралы ақпарат сақтайды. Ол тіларалық әрекеттесу, қауіпсіздік, сенімділік сияқты мүмкіндіктерді қамтамасыз етеді.
.NET платформасында көлемді кластар кітапханасы бар, оны осы ортадағы кез келген тілде пайдалана беруге болады.
Кез келген табиғи тілдің мәтінінде символдар, сөздер, сөз тіркестері және сөйлемдер болады. Осындай элементтер программалау тілдерінде де болады, мұнда бірақ сөздер - лексемдер (қарапа-йым конструкциялар), сөз тіркестері - өрнектер деп, ал сөйлемдер - операторлар деп аталады.
Лексемдер симолдардан тұрады, өрнектер - лексемдер мен символдардан, ал операторлар - символдардан, өрнектерден және лексемдерден тұрады.
:: Тілдің алфавиті немесе оның символдары -- бұл бөлінбейтін негізгі белгілер, солардан тілдің барлық мәтіндері құрастырылады. С# тілінің алфавиті ретіне Unicode символдары қолданылады. Unicode кодтары барлық қолданылатын алфавиттерді бірден бейнелей алады. Оның алғашқы 128 символы ANSI-кодтар кес-тесіне сәйкес келеді.
:: Лексем (token-токен) немесе қарапайым конструк-ция -- өзіндік мағынасы бар тілдің ең кіші бірлігі. Олардың құрамы:
1. Идентификаторлар;
2. Түйінді сөздер;
3. Операция таңбалары;
4. Айыру таңбалары;
5. Константалар (литералдар).
2.2. Атаулар, айнымалылар және константалар
С# тілінің алфавиті Си ++ тілімен бірдей деуге болады:
- бас және кіші латын әріптері;
- 0-ден 9-ға дейінгі араб цифрлары;
- арнайы белгілер: [] {} , . ( ) + - * \ % ; : ? = ! & # ^ " ';
- айыру символдары: бос орын (пробел), табуляция символы, жаңа жолға көшу таңбасы;
Символдардан лексемдер құралады, олар:
- идентификаторлар;
-түйінді сөздер;
- операция таңбалары;
- костанталар, яғни тұрақтылар;
- бөлгіштер (жақша, нүкте, үтір, айыру символдары).
Идентификаторлар - программалық объектінің аты (атауы). Әріп немесе астын сызу таңбасы иденти-фикатордың бірінші символы болуы мүмкін, бірақ цифр бола алмайды. Идентификаторлар мысалдары:
X, bc, A12, Bagasy, BITES_PER_WORD , aty_goni
Түйінді сөздер (keyword) - компилятор үшін ар-найы мәні бар қордағы (резервтегі) идентификаторлар.
Операция таңбалары - операндтармен (мәндер-мен) іс-әрекет атқару үшін қолданылатын бір немесе бірнеше символдар.
Тұрақтылар - программа орындалу барысында өзгермейтін шамалар.
Комментарийлер - компилятор үшін маңызы жоқ программаның бөлігі және программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол * және * қоршалып тұрады немесе жол соңында символынан басталады.
2.3 С# тіліндегі мәліметтер типтері
С# тілі қатаң түрде типтелген тіл, яғни әрбір ай-нымалы немесе объект данасы белгілі бір типке жатқызылуы тиіс, бұл орындалатын амалдардың дұрыстығын тексеру мүмкіндігін береді.
Егер элементтер құрастырылуын негізге алсақ, онда типтер қарапайым және құрылымды болып бөлінеді.
Жасаушыға байланысты типтер құрамдас және программалаушы анықтаған болып бөлінеді.
Статикалық типтегі мәліметке жады бірден бөлінеді де, динамкалық типтегі мәліметке жады оны жариялау кезінде емес, оны программада пайдалану кезінде бөлінеді.
С# тілінде құрамдас 15 тип бар, олардың сегізі бүтін сандық типке жатады. Олар -- С# түйінді сөздерімен анықталады да, кез келген программада қолданыла береді
Программада кездесетін константалардың жазылуына қарай, яғни солардың сыртқы бейнесіне сәйкес белгілі бір тип тағайын-далады. Егер ол типті өзгерту керек болса, онда санның соңына жалғастырылып кер-екті типтің атына ... жалғасы
Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .3
1.Негізгі бөлім
1.1Судоку ойыны туралы жалпы мағлұмат ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..4
1.2Ойнау шарты ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .5
2. С# тілі туралы жалпы мәлімет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
2.1 C# программалау ортасы туралы жалпы мәліметтер ... ... ... ... ... ... . ... ... ... ... 7
2.2 Атаулар, айнымалылар және константалар ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.3 С# тіліндегі мәліметтер типтері ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 8
2.4 C# тілінің операторлары ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .9
Зерттеу бөлімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .15
3.Visual Studio C# ортасында Судоку ойының программасын құру әдістемесі ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 15
Қорытынды ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 17
Пайдаланылған әдебиеттер тізімі ... ... ... ... ... ... ... . ... ... ... ... ... ... ... ... ... ... ... ... 18
Қосымша А ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .19
Қосымша Ә ... ... ... ... ... ... ... ... .. ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .30
Кіріспе
Заманауи Судоку-ның сиқырлы квадрат деп аталатын прототипі ежелгі Қытайда анықталған. Еуропа, XVIII ғасырда бұл сияқты Швейцариялық Леонард Эйлер (Леонард Эйлер) мөлшері 9x9 матрицаның әрбір жол және әрбір баған белгілі тәртіппен 1-ден 9 дейін сандар және қайталаусыз толтыруға болады деп тапты. Оның қазіргі түрінде алғаш рет Судоку 1979 жылы американдық кроссворд журналдарда пайда болды. Джозеф авторы - американдық азамат, 74 жастағы Говард Гарнтың зейнетақысы бойынша сәулетші болған. Баспагер - Журнал бұл ойынға Математика Puzzles және логика мәселелері Puzzle саны Place атауын берді. Пазлдың нақты танымалдығы 2005 жылы Жапонияның Николи журналы оны өз беттерінде үнемі жариялай бастағаннан басталды.
2004 жылы Судоку Англия газеттерін басып шығара бастады, сол жерден ол Еуропа мен Австралия тарала бастады. Соңында, 2005 жылы, бұл пазл АҚШ оралды әлемдік турне. Қазіргі уақытта, мамандандырылған журналдар мен жинақтарда бірқатар ескере отырып, оларды шешу жолдары туралы кітаптар мен нұсқаулар, көптеген газеттер кроссвордтар бар. Сонымен қатар судоку шахматы басқатырғыш ойындардың бірі болып табылады. Судоку - бұл жаңа кроссворд басқатырғыш. Судокуды ойнау үшін кітапханада отыруға және энциклопедиясында дұрыс сөз іздеп қажеті жоқ. Судокуда еш сөз жоқ. Судокуда тек сандар ғана бар.
Жапонша су- сан, доку- бөлек, оқшау деген мағына білдіреді. Ал кейбір ақпарат көздерінде Судоку сөзі - "Suuji wa dokushin ni kagiru" сөзінің қысқартылған түрі, ал бұл сөздің мағынасы сан тек бірегей болуы тиіс. Біраз уақыт ішінде Жапонияның көптеген газеттерінде жарияланды. Бірақ, судокуға атауды Жапония бергенімен, бұл елде Nanpure деп аталды. 2004 жылы Ұлыбританияда THE Times газеті беттерінен орын алған соң, басқа мемлекеттерге жылдам тарала бастады.
Ойын ережесі туралы айтар болсақ, 3*3 ретімен орналасқан 9 ұяшықтан тұрады. Ұяшықтарда кейбірінде сандар тұрады. Олар басқа да сандарды табуға көмектеседі. Ойын мақсаты, барлық көлденең және тік орналасқан ұяшықтардағы сандардың қайталанбауы.
Алайда, кез келген жұмыс компьютерлік операторы әрқашан жаңа компьютерлік ойын талап етеді, және жиі төмен энергетикалық жабдықтарды кеңсе компьютерді мүмкіндік бермейді пайдалануға емес, орындау жылғы үзіліс кезінде демалуға мүмкіндігі болуы үшін. Бұл мақсат - жұмыс күндерінен қалған осы курстық жоба бағдарламасы аясында әзірленді.
Сыртқы қарапайымдылыққа қарамастан, бағдарлама бір-бірімен өзара әрекеттесудің күрделі жүйесі болып табылады. Ойын жазу үшін көп уақыт пен күш талап етілді. Және бағдарлама кодын жақсартуға болады және жаңа функциялар қосылады.
Судокуды шешу - логикалық ойлау қабілетін және белгілі бір комбинаторлық дағдыларды талап шығармашылық процес. Уақыт өте келе, тәжірибе жинақталады және әр ойыншы өз стратегиясын дамытады.
Судоку ережелері өте қарапайым. Судокудың ойын өрісі 9 бағаннан, 9 жолдан және 9 шағын квадраттан тұратын 81 ұяшықтан тұрады.
Курстық жұмысымның мақсаты адамдардың ойлау қабілетін дамытуға мүмкіндік беретін Судоку жасып шығу.
Курстық жұмысымдағы алдыма қойған міндет: Visual Studio C# ортасында Судоку ойының құру.
Курыстық жұмыс мазмұны: кіріспеден, екі тараудан, зерттеу бөлімінен , қорытындыдан, пайдаланылған әдебиеттер тізімінен және қосымшадан тұрады.
Зерттеу объектісі: Visual Studio C# ортасы.
1. Негізгі бөлім
1.1 Судоку ойыны туралы жалпы мағлұмат
Судоку - сандармен ойналатын ми қатырғыш. Бүгінгі күнде танымалдылығы сонша көптеген адамдар оны жақсы біледі немесе басылым беттерінен көрген. Бүгінгі мақаламызда судокудың пайда болу тарихын айтамыз.
Судокудың негізі Леонард Эйлердің латындық шаршыны математикалық - ғылыми зерттеуінен басталды. Ол шаршының ішіне сандар емес, символдар орналастырған болатын. Эйлер шаршыны ми қатырғыш ретінде емес, математикалық есеп ретінде қарастырды.
Атауы Жапонияны аңғартқанымен, түп-тамыр тарихы Жапониядан басталмайды. Ең алғаш ойлап тапқан - Ховард (Кейде Роберт) Гарнс. Болашақ архитектор бола тұра, ол газеттер мен журналдарға ми қатырғыштарды жасап отырған. Судокуды 1979 жылы алғаш Dell pencil Puzzles and Word Games журналында Number place деген атпен жариялайды. Алайда судоку оқырмандарды қызықтармады.
Сол уақыттарда дәл Жапониялықтар ең алғашқы болып ми қатырғышты жоғары бағалады. 1984 жылы Жапонияның мерзімді басылымдарының бірінде жарық көрді. SUDOKU атауын Nicoli баспасы ұсынды. Кейінірек кеңінен тарала бастады.
Жапонша су- сан, доку- бөлек, оқшау деген мағына білдіреді. Ал кейбір ақпарат көздерінде Судоку сөзі - "Suuji wa dokushin ni kagiru" сөзінің қысқартылған түрі, ал бұл сөздің мағынасы сан тек бірегей болуы тиіс. Біраз уақыт ішінде Жапонияның көптеген газеттерінде жарияланды. Бірақ, судокуға атауды Жапония бергенімен, бұл елде Nanpure деп аталды. 2004 жылы Ұлыбританияда THE Times газеті беттерінен орын алған соң, басқа мемлекеттерге жылдам тарала бастады.
Ойын ережесі туралы айтар болсақ, 3*3 ретімен орналасқан 9 ұяшықтан тұрады. Ұяшықтарда кейбірінде сандар тұрады. Олар басқа да сандарды табуға көмектеседі. Ойын мақсаты, барлық көлденең және тік орналасқан ұяшықтардағы сандардың қайталанбауы.
Судоку - 9х9 шаршы. Ол 9 кіші 3x3 квадратына бөлінген. нақты ережелер бойынша бос ұяшықтарға толтыру - ойын басында кейбір жасушаларда 1 ден 9-ға дейінгі сандар мақсаты болып табылады. Бұл проблема қарапайым болуы мүмкін және ұсынылған параметрлерге байланысты, күрделі болуы мүмкін емес. Судокуда көптеген мүмкіндіктер бар. Нанғысыз көп - 6.670.903.752.021.072.936.960.
Судоку - ды жұмыстан үйге қатып бара жатқанадамдар жақсы ойнайды. Судоку компьютерге мұқтаж емес. Судокуды қағаз және қаламмен ойнауға болады. Маған сеніңіз, жол жүру уақыты ондаған есе азаяды!
Судоку сөзінің жапон тамыры бар. Бірде Жапонияда өткен ғасырдың елуінші жылы басып шығарылған американдық Number Place журналы шығады, сол журналда алғаш рет осы ойын шығарылған.
1.2 Ойнау шарты
Судокуды шешу - логикалық ойлау қабілетін және белгілі бір комбинаторлық дағдыларды талап шығармашылық процес. Уақыт өте келе, тәжірибе жинақталады және әр ойыншы өз стратегиясын дамытады.
Судоку ережелері өте қарапайым. Судокудың ойын өрісі 9 бағаннан, 9 жолдан және 9 шағын квадраттан тұратын 81 ұяшықтан тұрады. Бұл шын мәнінде Судокудың сиқырлы алаңы. Күрделілік дәрежесіне байланысты кейбір ұяшықтарда сандар бар. Сіздің міндетіңіз жасушаларыңыздың қалған бөлігін сұр жасушаларыңызды толтыру. Назар аударыңыз келесі ережеге жасалады: ойын 1-9 сандар ғана. Ойын өріс (9x9 шаршы) осындай әрбір саны (9 1) әрбір жолында пайда етіп, әрбір бағандағы және әрбір толтырылған болуы тиіс көздейді кіші квадрат (3x3) тек бірақ рет қана толтырылады. Басқатырғыштар мақсаты -. әрбір жол, әр баған және әрбір 3x3 шағын шаршы әрбір таңбалы бір рет қана кездесті, сондықтан сіз 1-ден 9-ға дейінгі сандар бос ұяшықтар толтыруыңыз керек. Дұрыс басқатырғыштың бір шешімі бар.
1-сурет. Судоку ойын алаңы
Жақында 9x9 жасушадағы кроссворды басқатырғыштардан басқа күрделі өзгерістер болды. Тәжірибелі ойыншыларға арналған 15х15 немесе тіпті 16x16 мөлшеріндегі судоку бар. Балалар үшін шағын судоку, мысалы, 2х2 қолданылады.
Ойынды қалай бастау керек?
Біреуден бастаңыз. Ойын тақтасына бірінші кезекте, 1-ден бастап барлық ұяшықтарды табыңыз. Шағын квадраттардың әрқайсысын (3x3) тексеріңіз, онда сандар барма. Бір кішігірім квадраттың ішіндегі барлық ұяшықтарды табуға тырысыңыз. Алайда, негізгі ереже туралы ұмытпаңыз: әрбір нөмір әр бағытта, әр бағанда және әрбір кіші шаршыда бір рет тұра алады. Бірлік мүмкін болмайтын барлық ұяшықтарды алып тастау қажет, себебі баған немесе жол немесе шаршы қазірдің өзінде басып алынған. Көрінетін квадраттардың кез-келгенінде бірлік болуы мүмкін бір ғана ұяшық болады. Егер бұл нөмір тек осы ұяшықта және басқа еш жерде жоқ екеніне сенімді болмасаңыз, осы шаршыны қалдырып, екіншісімен әрекеттену керек. Қолайлы нәрсені табуға болады!
Сондықтан барлық квадраттарды (3x3) тексеріңіз. Әрине, тек қана бірлікке қажеті болмаған жерлерді ғана іздеу керек! Барлық квадраттарды 1 өтіп болған соң, іздеуді басқа нөмірмен қайталаңыз. Мәселен, деуce. Содан кейін тройка және тағы басқалар. Сіз 9 1 барлық сандарды тексерсеңіз дейін, содан кейін дейін, Сіз қазірдің өзінде өте көп жасушаларының толтырылған деп табады. Осыдан кейін, біз басынан бастап қайтадан тұтас тәртібін кривошип кеңес - тағы да 1-ден 9-ға дейінгі Сіз көптеген жасушалар сіз әлдеқашан толтырылуы болатынмын, себебі ол, оңай келеді байқайсың. Сіз бұрын қай жерде күмәнданғаныңызды байқайсыз, енді сіз өз нөміріңізді сенімді түрде орналастыра аласыз.
Курстық жобада нені білдіреді?
Жоба барысында судоку ойына арналған бағдарлама жазылады. Ол барлық жағдайда жауап қайтара алатын болады. Бағдарлама бұрын сақталған ойынды сақтап, жүктей алады.Сондай-ақ, бағдарламаны талдау, өңдеу және түзету кезеңдерінің барлық сипаттамалары келтірілген.
Мәселе қойылымы:
Судоку ойыны объектілі-бағдарлы стильде әзірлеп, бағдарламамен іске асырыңыз. Бағдарлама ақпараттық тығыздық, модульдік және иерархиялық ұйым принциптерін құрметтеуі керек.
Ойында болуы керек:
1. Еркін ойын алаңын және бұрын берілген Судоку ойынын шешу алгоритмі.
2.Кездейсоқ судоку ойын өрісін құру алгоритмі.
3. Экрандағы ойын өрісін көрсету үшін Windows қолданбасы.
4. Ағымдағы ойынды сақтау және бұрын сақталған ойын жүктеу мүмкіндігі.
2. Visual Studio C#
2.1 C# программалау ортасы туралы жалпы мәліметтер
С# тілін (Си-шарп деп айтылады, мұнда Бетховеннің Ай сонатасындағы музыкалық нотация -- до-диез таңбасы (#) пайдаланылған; ағылшындар оны си-шарп деп оқиды) Microsoft компаниясының маманы Андерс Хейлзберг (Anders Hejlsberg) жаңа объектіге бағытталға программалау тілі ретінде С, C++, Java және BASIC тілдерінің негізінде жасап шығарған. Бұл пәнде осы тілдің негізгі элемент-тері қарастырылады.
С # тілі Microsoft фирмасының .NET (дот-нет) архитектурасы үшін программалар жазуға арналған тілі. .NET - программалау технологиясындағы жаңа платформа, ол желіге қосыл-ған компьютерлерге арналып жасалған.
.NET көмегімен шағын мобильді компьютер-лерде орындалатын программалар жазу ыңғай-лы деп есептеледі. Бұл технология Visual Studio.NET деп аталады да, бұл ортада Visual Basic, басқарылатын С++ және С # тілдерінде программалар жасау қарастырылған, бірақ ол осылармен ғана шектеліп қалмайды.
С # тілінің мүмкіндігі Java тілімен қатарлас, осы екі тіл қазіргі алдыңғы қатарлы технологияларға жатады. С# тілін сүйемелдейтін .NET платформасының программа жасау ортасы бастапқы программаны бірден машиналық кодқа емес, MicroSoft Intermediate Language (MSIL не IL) атты аралық тілге аударады. Ол ОЖ-дан, ком-пьютер типінен тәуелсіз командалардан тұра-ды да, бірден орындалмай, тілдің жалпы орындалу ортасы Common Language Runtime - CLR деп аталатын жүйе арқылы атқары-лады. CLR ортасы кез келген ОЖ-да орында-ла береді. Программаны орындау кезінде, CLR JIT-компиляторын (just in time - дер кезінде) шақырады. Компилятор программаны бөліктерге бөле отырып, оның тек осы сәтте керек бөлігін ғана орындайды.
Компилятор жұмысы нәтижесінде құрас-тыру (сборка) деп аталатын ехе немесе dll типті файл жасалады, онда IL тіліндегі код пен метамәліметтер болады.
Метамәліметтер программада қолда-нылатын объектілер және құрастыру туралы ақпарат сақтайды. Ол тіларалық әрекеттесу, қауіпсіздік, сенімділік сияқты мүмкіндіктерді қамтамасыз етеді.
.NET платформасында көлемді кластар кітапханасы бар, оны осы ортадағы кез келген тілде пайдалана беруге болады.
Кез келген табиғи тілдің мәтінінде символдар, сөздер, сөз тіркестері және сөйлемдер болады. Осындай элементтер программалау тілдерінде де болады, мұнда бірақ сөздер - лексемдер (қарапа-йым конструкциялар), сөз тіркестері - өрнектер деп, ал сөйлемдер - операторлар деп аталады.
Лексемдер симолдардан тұрады, өрнектер - лексемдер мен символдардан, ал операторлар - символдардан, өрнектерден және лексемдерден тұрады.
:: Тілдің алфавиті немесе оның символдары -- бұл бөлінбейтін негізгі белгілер, солардан тілдің барлық мәтіндері құрастырылады. С# тілінің алфавиті ретіне Unicode символдары қолданылады. Unicode кодтары барлық қолданылатын алфавиттерді бірден бейнелей алады. Оның алғашқы 128 символы ANSI-кодтар кес-тесіне сәйкес келеді.
:: Лексем (token-токен) немесе қарапайым конструк-ция -- өзіндік мағынасы бар тілдің ең кіші бірлігі. Олардың құрамы:
1. Идентификаторлар;
2. Түйінді сөздер;
3. Операция таңбалары;
4. Айыру таңбалары;
5. Константалар (литералдар).
2.2. Атаулар, айнымалылар және константалар
С# тілінің алфавиті Си ++ тілімен бірдей деуге болады:
- бас және кіші латын әріптері;
- 0-ден 9-ға дейінгі араб цифрлары;
- арнайы белгілер: [] {} , . ( ) + - * \ % ; : ? = ! & # ^ " ';
- айыру символдары: бос орын (пробел), табуляция символы, жаңа жолға көшу таңбасы;
Символдардан лексемдер құралады, олар:
- идентификаторлар;
-түйінді сөздер;
- операция таңбалары;
- костанталар, яғни тұрақтылар;
- бөлгіштер (жақша, нүкте, үтір, айыру символдары).
Идентификаторлар - программалық объектінің аты (атауы). Әріп немесе астын сызу таңбасы иденти-фикатордың бірінші символы болуы мүмкін, бірақ цифр бола алмайды. Идентификаторлар мысалдары:
X, bc, A12, Bagasy, BITES_PER_WORD , aty_goni
Түйінді сөздер (keyword) - компилятор үшін ар-найы мәні бар қордағы (резервтегі) идентификаторлар.
Операция таңбалары - операндтармен (мәндер-мен) іс-әрекет атқару үшін қолданылатын бір немесе бірнеше символдар.
Тұрақтылар - программа орындалу барысында өзгермейтін шамалар.
Комментарийлер - компилятор үшін маңызы жоқ программаның бөлігі және программа мәтінін оқу ыңғайлы болуы үшін қолданылады. Ол * және * қоршалып тұрады немесе жол соңында символынан басталады.
2.3 С# тіліндегі мәліметтер типтері
С# тілі қатаң түрде типтелген тіл, яғни әрбір ай-нымалы немесе объект данасы белгілі бір типке жатқызылуы тиіс, бұл орындалатын амалдардың дұрыстығын тексеру мүмкіндігін береді.
Егер элементтер құрастырылуын негізге алсақ, онда типтер қарапайым және құрылымды болып бөлінеді.
Жасаушыға байланысты типтер құрамдас және программалаушы анықтаған болып бөлінеді.
Статикалық типтегі мәліметке жады бірден бөлінеді де, динамкалық типтегі мәліметке жады оны жариялау кезінде емес, оны программада пайдалану кезінде бөлінеді.
С# тілінде құрамдас 15 тип бар, олардың сегізі бүтін сандық типке жатады. Олар -- С# түйінді сөздерімен анықталады да, кез келген программада қолданыла береді
Программада кездесетін константалардың жазылуына қарай, яғни солардың сыртқы бейнесіне сәйкес белгілі бір тип тағайын-далады. Егер ол типті өзгерту керек болса, онда санның соңына жалғастырылып кер-екті типтің атына ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz