Санды табу



Кіріспе ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .4
1. Есептің қойылымы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 5
2. Қолданылатын әдістер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...6
2.1 Сұрыптау әдісі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...6
2.1.1 Таңдау сұрыптауы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .6
2.1.2 Бөлу сұрыптауы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .7
2.2 Іздеу әдісі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...7
2.3 Си тілінде қолданылған графикалық функциялар ... ... ... ... ... ... ... ... .8
3.Есептің алгоритмі ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 11
4. Программаның баяндалуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..16
4.1. Жалпы мағұлыматтар ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..16
4.2. Функциялық қолданылуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 16
4.3 Логикалық құрлымның баяндалуы ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..16
4.4. Қолданылатын техникалық жабдықтар ... ... ... ... ... ... ... ... ... ... ... ... ..18
4.5. Программаның шақырылуы мен жүктелуі ... ... ... ... ... ... ... ... ... ... ... .18
4.6. Енгізілген мәлімет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..19
4.7. Шығарылған мәлімет ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... .19
Қорытынды ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...20
Қолданылған әдебиеттер ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..21
Қосымша ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... 22
Қазіргі уақытта есептеуіш техника адамзат өміріндегі барлық әрекет өрісіне енді. Көбінесе бұл жағдай – макро әсіресе микро ЭЕМ-нің қарқынды дамуымен түсіндіріледі. Қазір компьютерлерді университет лабораторияларында ғана емес, сонымен бірге мектеп сыныптарында да көруге болады.Біздің уақытта компютерлерге көптеген адамдардың, мамандығы программист болмаса да, қолы жететін мүмкіндіктері пайда болды.
1980 жылдары барлық ойындар және оқытатын программалар MS-DOS операциялық жүйеге арнап жазылған болатын, оның себебі – графикалық редакторлардың әлсіздігі және де жадының жетіспеушілігі. Кейін жаңа WINDOWS операциялық жүйелерінің пайда болды да, олардың графикалық редакторлары мықты болып, оқытатын программалар барлық ғылыми және техникалық мекемелерінде пайда болды, сонымен қатар кішкентай балаларды оқытатын ойын программалары пайда болды.
Қазіргі таңда компьютерлік ойындарды жасау кең орын алып отыр. TGF және The Pie GCS сияқты программаларда ойындарды санаулы сағаттар ішінде жасай алады. Бұл программаларда осындай мүмкіндікті туғызатын құралдар өте жоғары деңгейде дамыған. Ол жерде ойын жасап жүрген шеберлер өздерінің барлық мүмкіндіктерін көрсете алады, жас бағдарламаушылар да тез меңгеріп кетеді.
Бірнеше жыл бұрын әлемдегі ең бірінші компьютерлік ойындар чемпионаты өтті, бұл компьютерлердің адам өміріндегі ролін арттырды. Сондықтан да бүкіл әлемдегі ойындарды жасау индустриясы үлкен қарқынмен дамып жатыр.
Санды табу ойыны міне осындай компьютерлік ойындардың бірі болып табылады . Онда іздеу, салыстыру тәсілдері арқылы берілген санның ішіннен компьютер ойлаған сандарды ойлап табу керек. Бұл қарапайым программа әрбір адамға қолданылуда түсінікті болады деп ойлаймын.
1. Уэит, Мартин Д. “Язык Си” М.:1988ж.
2. Мұртазина Ә.Ө., Сатпаева А.К. “Си тілінде программалаудың негіздері” Алматы: ҚазҰТУ, 2002ж.
3. Уиннер Р. “Язык Turbo C” М.:1991ж.
4. Культин Н. “C/C++” М:2001ж.

ҚАЗАҚСТАН РЕСПУБЛИКА ҚАЗАҚСТАН РЕСПУБЛИКАСЫ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ

Қ.И.Сәтпаев атындағы Қазақ ұлттық техникалық университеті

Ақпараттық технологиялар институты

КУРСТЫҚ ЖҰМЫС

Бағдарламалау технологиясы пәні бойынша

Тақырыбы : санды табу

Қабылдаған: Аскарова
Н.Т.

Студент: Күлшебаев Қ.Р.

Мамандығы: 3704

Оқу тобы: ЗБИ-03-1к.

АЛМАТЫ 2005

КУРСТЫҚ ЖҰМЫСТЫ ОРЫНДАУҒА ТАПСЫРМА

Студент: Күлшебаев Қаршыға
Тақырыбы:
Санды табу.
Аяқталған жұмысты тапсыру уақыты:_____________________
____ ______________ 2005 ж.
Жұмыс барысында қолданылатын бастапқы мәліметтер мазмұны, жұмысты
сипаттайтын негізгі бөлім қорытынды.

Сызба материалдар саны: _____

Жұмыс жетекшісі: Аскарова Н.Т.
Тапсырманы орындауға қабылдап алған студент: Күлшебаев Қаршыға
____ ______________ 2005ж.

МАЗМҰНЫ
Кіріспе
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... .4
1. Есептің қойылымы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... 5
2. Қолданылатын әдістер
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
...6
2.1 Сұрыптау әдісі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ...6
2.1.1 Таңдау сұрыптауы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .6
2.1.2 Бөлу сұрыптауы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... .7
2.2 Іздеу әдісі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ...7
2.3 Си тілінде қолданылған графикалық функциялар
... ... ... ... ... ... ... ... .8
3.Есептің алгоритмі
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... 11
4. Программаның баяндалуы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . ..16
4.1. Жалпы мағұлыматтар
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
..16
4.2. Функциялық қолданылуы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . 16
4.3 Логикалық құрлымның баяндалуы
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...16
4.4. Қолданылатын техникалық жабдықтар
... ... ... ... ... ... ... ... ... ... ... ... ...18
4.5. Программаның шақырылуы мен жүктелуі
... ... ... ... ... ... ... ... ... ... ... ..18
4.6. Енгізілген мәлімет
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ..19
4.7. Шығарылған мәлімет
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... .19
Қорытынды
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ...20
Қолданылған әдебиеттер
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ..21
Қосымша
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ..
... ... ... ... ... ... ... ... 22

Кіріспе
Қазіргі уақытта есептеуіш техника адамзат өміріндегі барлық
әрекет өрісіне енді. Көбінесе бұл жағдай – макро әсіресе микро ЭЕМ-нің
қарқынды дамуымен түсіндіріледі. Қазір компьютерлерді университет
лабораторияларында ғана емес, сонымен бірге мектеп сыныптарында да көруге
болады.Біздің уақытта компютерлерге көптеген адамдардың, мамандығы
программист болмаса да, қолы жететін мүмкіндіктері пайда болды.
1980 жылдары барлық ойындар және оқытатын программалар MS-DOS
операциялық жүйеге арнап жазылған болатын, оның себебі – графикалық
редакторлардың әлсіздігі және де жадының жетіспеушілігі. Кейін жаңа WINDOWS
операциялық жүйелерінің пайда болды да, олардың графикалық редакторлары
мықты болып, оқытатын программалар барлық ғылыми және техникалық
мекемелерінде пайда болды, сонымен қатар кішкентай балаларды оқытатын ойын
программалары пайда болды.
Қазіргі таңда компьютерлік ойындарды жасау кең орын алып отыр. TGF
және The Pie GCS сияқты программаларда ойындарды санаулы сағаттар ішінде
жасай алады. Бұл программаларда осындай мүмкіндікті туғызатын құралдар өте
жоғары деңгейде дамыған. Ол жерде ойын жасап жүрген шеберлер өздерінің
барлық мүмкіндіктерін көрсете алады, жас бағдарламаушылар да тез меңгеріп
кетеді.
Бірнеше жыл бұрын әлемдегі ең бірінші компьютерлік ойындар
чемпионаты өтті, бұл компьютерлердің адам өміріндегі ролін арттырды.
Сондықтан да бүкіл әлемдегі ойындарды жасау индустриясы үлкен қарқынмен
дамып жатыр.
Санды табу ойыны міне осындай компьютерлік ойындардың бірі болып
табылады . Онда іздеу, салыстыру тәсілдері арқылы берілген санның ішіннен
компьютер ойлаған сандарды ойлап табу керек. Бұл қарапайым программа әрбір
адамға қолданылуда түсінікті болады деп ойлаймын.

1. Есептің қойылымы
Санды табу ойынын Turbo C тілінде жазу. Мұнда бір ойыншы
( компьютер деп алар болсақ) 1–ден 10-ға дейін сан ойлайды, келесі
ойыншы сол санды бес рет ойлау арқылы санды табу керек. Табушыға арнап
программа жазу керек.

2. Есепті талдау әдістері
2.1 Сұрыптау

Сұрыптау барлық программалау саласында қолданылады. Сұрыптау бұл
ақпараттық обьекттердің өсу немесе кему бойынша реттелуін іске асыратын
процесс. Мысалы, егер i=i=...=i болса, онда n – элементтеріндегі
тізімдері өсу бойынша сұрыпталады. Сұрыптау алгоритімнің екі түрі бар:
операциялық жадыда немесе дискідегі файл түрінде орналастырылған
массивтердің сұрыпталуы және магниттік ленталардағы немесе дисктерде
орналасқан кезекті файлдардың сұрыпталуы. Мен тек қана сұрыптаудың бірінші
түріне тоқталдым, себебі осындай сұрыптаудың тәсілдерімен басқаларға
қарағанда программисттер жиі-жиі қолданады. сұрыптаудың негізгі ерекшелігі
– массивтің әрбір элементі әр уақытта жеңіл беріледі. Ол әр уақытта
массивтің кез келген элементі басқа бір массивтің элементімен салыстырылады
да, массивтің кез-келген екі элементтері орындарымен ауыстырылуы мүмкін. Ал
кезекті файлда әрбір уақытта тек қана бір элемент беріледі. Осындай
айырмашылықтардан сұрыптаудың тәсілдерінде бір-бірінен үлкен өзгерістері
бар.

2.1.1 Таңдау сұрыптауы
(Сызықты таңдау)
Осы метод бойынша, компьютер ойлаған санды берілген санның ішіндегі
бірінші ең кіші саннан бастап қарастыруға болады. Егер ойлаған саннан артық
немесе кіші болса , онда сандарды біртіндеп азайту немесе арттыру арқылы
осы санды тауып алуға болады.
Мысалы:
Берген санымыз ойлаған саннан үлкен болса xz, боладыда біз санды
біртіндеп үлкейте бастаймыз. Алойлаған саннан кіші болса xz, ,міне
осындай бірнешерет сұрыптау барысында ,x=z болса біз ойлаған санды тапқан
боламыз.

2. 1.2 Бөлу сұрыптауы

Бұл тәсіл ауыстыру тәсілінің дамуы болып табылады. Ол эффектілі
болғаннан кейін, оны тез сұрыптау тәсілі деп атаған. Оның негізгі идеясы
Х массивінің кез-келген элементі таңданады да, осы массив a[i] (a[i]X)
элементі кездескенге дейін сол жағынан қарастырылады, одан кейін массив
a[j] (a[j]X) элементін кездескенге дейін оң жағынан қарастырылады. Осы екі
элементтер орындарымен ауыстырылады да, қарау, салыстыру және ауыстыру
процесстері Х элементке жеткенге дейін жалғастырылады. Нәтижесінде массив
екі бөлікке бөлінеді: оң, оның кілттердің мәндері Х-тан кіші болады және
сол, оның кілттерінің мәндері Х-тан үлкен болады. Осыдан кейін процесс
рекурсивті түрде әрбір бөлікте бір ғана элемент болғанға дейін
жалғастырылады. .
Бізге түсініктірек болу үшін 1-10 аралығындағы сандарды бес бөліктерге
бөліп көрсетейік. Бес бөлікке бөлгенде 2 санды бөліктердің шекаралық
мәндері болатындай етіп таңдап аламыз.
Санды табу үшін ең алдымен осы аралық мәндерді айтамыз. Осы сандардан
үлкен, кішілігіне байланысты аралықты тағы осы сияқты бөліктерге бөліп,
тағы да шекаралық мәндерді келесі кезекте айтамыз. Әр кезекте сандар
тізбегі қысқара береді. 2 рет болжам айтқаннан кейін жасырылған санды табу
оңайға түседі.

2.2 Іздеу (поиск)

Біз массив ішінде іздеу жүргізе аламыз. Ол үшін массивтің әрбір
элементін бізге керек ақпаратпен салыстырамыз. Егер ондай элемент бар
болса, онда оның орны қайтарылуы керек. Іздеу массивтің соңы болғанша, жүру
керек. Мысалы бізге массивтің ішіндегі max ,(min) элементті табу керек.
Оның алгоритмі былай болады. Егер ондай элемент бар болса, онда оның орны
қайтарылуы керек. Іздеу массивінің соңы болғанша, жүру керек. Мысалы бізге
массивтің ішіндегі максимал элементті табу керек. Оның алгоритмі былай
болады:
Бір айнымалыға мысалы max массивінің 1-элементін меншіктеу керек.
Екінші элементтен бастап, массивтің әр элементін
max,(min)айнымалысымен салыстыру керек. Егер айнымалының қазіргі мәнінен
үлкен мән табылса, онда сол мәнді айнымалыға меншіктеу керек.осы әдіспен
массивтің әр элементін қарастыру керек.
Бұл алгоритмді си тілінде көшірсек Бұл алгоритмді си тіліне
көшірсек (фрагмент) былай болады: if(az)
For (i=0; istrlen(s2); i++)
X+=(s2[i]-48)* pow(10,strlen(s2)-i-1);

2.3.Си тілінде қолданылған графикалық функциялар

Си тілінің графикалық фүнкциялар белгіленуі үшін мына функциялар
қолданылады .
Void ar initgraph (int far –drive-“, int far mode, char far-path);
Бірінші параметір кітапханаға жұмыс жасайтын адаптер типін
көрсетеді. Осы параметрге сәйкес бағытталған видеоадптердің драйвері
қосылып , барлық кітапханаға белгіленуі жүреді.Стандартты
Драйверлерді: CGA,EGA, VGA,DETECT .тб.
Көрсететін бір неше тұрақтылар анықталған .
DETЕDCT мағанасы кітапханаға бар видеоадаптердің типін өзі анықтау
керек.
Екінші параметір –моде- режимді анықтайды.
Егер бірінші парметір ретінде DETECT мәні алынып қойлса, онда моде
параметрі қолданылылмайды . үшінші параметір ретінде
Каталог аты қолданылады,файл типі BGI болатын адаптер драйвері осы
каталогта орналасқан.
Grok мәні дұрыс аяқталғанын көрсетеді.
Кітапханамен жұмысты аяқтау үшін ciosegraph
функцияларын міндетті түрде шақыру керек.
Мысалы:
#includegraphics.h.
main ()
{
int d=DETECT,m,z,x,n=0,y=30,I;
intgraph(&d,&m,””);
setbkolor(1);
Программа графикалық режимге өтіп, экран бетінің түсін салады .
Қате байқалған жағдайда стандартты диагностикалық хабар береді. Кітапхана
белгіленіп болған соң адаптер сәйкесінше режимге көшеді де келесі
кординаттар жүйе орындалады.
Getgpaphmode функциясы көмегімен дәл қандай режим орнатылған екенін
көруге болады .
Clearviewpor функцииясы экранды тазарту үшін пайдалануға болады.
Сызықтық обьектілерді салу. Сызықтық обьектіні салуда про негізгі
құрал болып табылады. Өйткені осы құралмен сурет салады. Про келесі
қасиеттерге ие:
▪ Түсі
▪ Қалыңдығы
▪ Шаблоны
Setcolor процедурасы пронның түсін анықтайды:
Void far setcolor ( int color);
мысалы: setcolor(14);
Бұл обьектінің түсінің сары екенін көрсетеді.
Setlinestyle функциясы пронның қалған параметрлерін анықтайды.
Void far setlinestyle(int Style, unsignet pattern6 int Thickness);
Бірінші параметір шаблон сызығын береді. Көп жағдайда параметір
ретінде алдын –ала анықталған шаблон пайдаланады.

Экранның фоны Setbkcolop процедурасының көмегімен орындалады,
Жазылуы:
Setbkcolor(с);
Мұндағы түс коды 0-ден 15-ке дейін өзгереді ( түс кодтарының
шкаласы алдыңғы тарауда берілген). Процедураның орындалу нәтижесінде экран
С нөмірлі түске боялып шығады. Бұл процедурамен орындалған түс кодының
мәнін Getbkcolor процедурасының көмегімен анықтауға болады.

3. Есептің алгоритмі

Бұл есепті шешу үшін көптеген операторларды пайдаланамыз. Осы
программада жолдарға қолданылатын шартты операторларды және тілдердің тағы
көптеген мүмкіндіктерін ... жалғасы

Сіз бұл жұмысты біздің қосымшамыз арқылы толығымен тегін көре аласыз.
Ұқсас жұмыстар
Бастауыш сыныптарда теңдеулермен жұмыс істеу әдістемесі.
Математика оқу бағдарламасы 1 - 4 сыныптар
Проценті бойынша санды табу
«Математика» оқу пәнінің базалық мазмұны
БАСТАУЫШ СЫНЫПТАРДА ТЕҢДЕУДІ ОҚЫТЫП ҮЙРЕТУДІҢ ӘДІСТЕМЕСІ
Тurbo Pascal тілінде ”Санды тап” ойынына программа құру
Математика пәнінің мазмұнын ұйымдастыру
Сандарды салыстыру
Әріпті өрнектерді оқыту
Математикалық өрнектермен таныстыру
Пәндер