Санды табу


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

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

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

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

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

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

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

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

Мамандығы: 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 Таңдау сұрыптауы

(Сызықты таңдау)

Осы метод бойынша, компьютер ойлаған санды берілген санның ішіндегі бірінші ең кіші саннан бастап қарастыруға болады. Егер ойлаған саннан артық немесе кіші болса, онда сандарды біртіндеп азайту немесе арттыру арқылы осы санды тауып алуға болады.

Мысалы:

Берген санымыз ойлаған саннан үлкен болса x>z, боладыда біз санды біртіндеп үлкейте бастаймыз. Алойлаған саннан кіші болса x<z, , міне осындай бірнешерет сұрыптау барысында, 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(a>z)

For (i=0; i<strlen(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 функцияларын міндетті түрде шақыру керек.

Мысалы:

#include<graphics. 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. for -параметрлі циклдік оператор;

2. DO -While - цикілдің орындалу шартынсоңынан тексеретін оператор.

Осы программаның ең басты ерекшелігі - оның жеңілдігінде. Әрбір адам оны түсіне алады. Программаның жартысы графикалық процедуралардан және Graph модулінің операторлары пайдаланған. Алдымен графиканы инициалдаимыз. Осыдан кейін алғашқы беттерге байланысты көптеген заставкаларды саламыз. Бұл программада ең көп қолданылатынны - шартты оператор. Графиканы инициалда соң бізге ең қажетті генератор, яғни кездойсоқ сандар инициализаторы керек болады. Келесі фрагменттен көреріміз 10 - ға дейінгі сандар арасынан компьютер rand() % генераторының көмегімен бір санды таңдап алады. Бұл жерден біз жасырылатын саннның интервалын 10 - ға дейін ғана емес кез келген аралықта ала аламыз. z=rand() %10+1 Осы жерде ойланған санын z айнымалысына меншіктейді де, сізден сан енгізуіңізді сұрағаннан соң, енгізілген санды z айнымалысымен салыстырады. If операторының көмегімен тексергеннен соң, егер сан ойланған саннан үлкен немесе кіші болса, ол жайында ескертеді де, сіздің логикалық ойлау арқылы санды табу мүмкіндігіңіз арта түседі. Бұл жазылған программаның бар ерекшілігі, Паскаль тілінде жазылған программамнан артықшылығы, құндылығы осы жерде болып отыр. Ал, менің қарастырған есепті шешудің өзге жолдарында бұл тексеруді do { while операторының көмегңмен жүзеге асырады. Ал, ол программада Паскальдағы сияқты randomize () кездойсақ сандар генераторын шақырғаннан соң, келесі фрагментті орындайды.

S=random (10) +1;

Бұл жерде де біз сан интервалын тек қана 1 немесе 10аралығында ғана емес өзіміз қалаған аралықты енгізуімізге болады.

Блок -схема

4. Программаның баяндалуы

4. 1. Жалпы мәліметтер

Бұл курстық жұмыста келтірілген программа жоғарыда келтірілген математикалық есепті компьютердің көмегімен шығаруға арналған .

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

4. 2 Функционалдық қолданылуы

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

4. 3 Логикалық құрлымның баяндалуы

Бұл программа негізінен екі бөліктен тұрады : программаның денесі және көмекші программа .

Программаның бас бөлігі - денесінде мәліметтерді енгізу, алынған нәтижелерді шығару сияқты басты операциялар орындалады. Сонымен қатар, айтылган болжамның санын отыру үшін FOR цикіл оператор қолданылады. Цикл 5 рет қана жұріледі. Яғни ойыншының 5 мұмкіндігі бар деген сөз. Егер 5 ретте таба алмаса программа қажетті нәтижені шығарадыда өз жұмысын аяқтайды.

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

Енді қосымшада көрсетілген программаға түсініктеме жазайық.

1-5. Препроцессордың stdio, time, math., graphics., string -Си тілінің әртүрлі кітапханаларын іске қосу.

6. Программаның басы

8-10. Айнымалыларды баяндау бөлімі.

11. grapch модулының драйверлерінің баяндалуы

12 . Экранның түсі

13. Текстік стилі

14. Текстің түсі

15. Outtextxy -енгізу, координаттар бойынша "санды табуда 1-ден 10 ға дейін 5рет таңдау сөзін "енгізу

16. Кездейсоқ сандар генараторын іске қосу

17. Компьютер ойлайтын санды Z санына меншіктеу

18. Уақытша экранды ұстап тұру

19. Шартты цикіл басы

21. Текстің түсін енгізу

22. ״Vvedite chislo״-сөзін енгізу

23. Жазуды енгізу

24. Гетіс арқылы экранға жіберу

25. х -тің бастапқы мәнін енгізу

26. S2 -нің ұзындығын қайтарғанға дейін цикл жіберу

27. х -тің мәнін сілтейді

28. Циклдің артуы

29. Қадам

30. Шарты оператор

32. Қадам

33. Текстің түсін енгізу

34. " Сіздің саныңыз берілген саннан артық " сөзін енгізу

36. Шартты оператор

38. Қадам

39. Текстің түсін енгізу

40. "Сіздің саныңыз берілген саннан кіші " сөзін енгізу

42. Шарты оператор

44. Қадам

45. Текстің түсін енгізу

46. Сіз санды таптыңыз сөзін енгізу

49. Шарты қайталану операторының соңы

50. Экранды уақытша ұстап тұру

51. grapch модулын жабу.

52. Программаның соңы

4. 4 Қолданылатын техникалық жабдықтар

(“Intel Pentium-3 процесоры 17”) мониторы бар Windows ХР операциялық жүйесі орнатылған компьютер

Программаны жазып тексеру үшін компьютер, ал оны баспаға шығару үшін принтер қажет. .

4. 5 Программаның шақырылуы мен жүктелуі

а) Компьютерді жүктеу

ә) Norton Commander \Stud_dir\tc. exe жолы арқылы бізге керек программаны ашамыз

... жалғасы

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



Реферат Курстық жұмыс Диплом Материал Диссертация Практика Презентация Сабақ жоспары Мақал-мәтелдер 1‑10 бет 11‑20 бет 21‑30 бет 31‑60 бет 61+ бет Негізгі Бет саны Қосымша Іздеу Ештеңе табылмады :( Соңғы қаралған жұмыстар Қаралған жұмыстар табылмады Тапсырыс Антиплагиат Қаралған жұмыстар kz