Курстық жұмыс: Бағдарламалау | Биоритмді анықтау программасы
Мазмұны
1.Кiрiспе……………………………………………3
2.Жұмыстың тағайындалуы және
оның қолдану аумағы.Есептiң
шарты…………………………………………….4
3.Қолданылған әдістер,
алгоритмын сипаттамасы
программаның құрама бөліктері
мен өз ара байланыстарың
сипаттамасы……………………………………5
4.Кiрiс және шығыс мәлiметтердiң
сипаттамасы……………………………………7
5.Қолданушыға арналған нұсқау………10
6.Шешiм………………………………………….11
7.Әдебиеттiң тiзiмi…………………………..12
8.Қосымша 1. Программа тізбесі………13
9.Қосымша 2. Жұмыс нәтижесі………..21
1.Кiрiспе
Pascal программалау тiлiн Швейцария ғалымы Николас Вирт 1973 жылы жасаған және атақты француз физигі, математигі және әлемдегі бiрiншi (1641 ) (қосатын ) есептеуiш машинаның авторы болып табылған философ Блез Паскальдің (1623-1662 ) атымен атады. Тiл басында программалауға үйренудiң мақсаттары үшiн жасалды. Тiлдiң авторының сөздерi бойынша «… Паскаль тiлiнiң өңдеуi екi маңызды тұжырымдамаларға негiзделдi. Бiрiншiсi бұл табиғи тiл жүйелi түрде пәнге ашық, үйренуге ыңғайлы программалау тiлін ойлап шығаруда болды. Екiншiсі iргелi жағдайларға негiзделетiн қазiргi ЭЕМ-дерде қолдануға сенiмдi және тиiмдi болар едi. Блез Паскаль бұл тiлдiң нақты ұсыныстарының өңдеуiн ойлады. Вирттың пікірінше « студенттің оқитын тілі оның ойлау қабілетіне, ойлау әдiсiне және тапқырлыққа айтарлықтай ықпал етедi. қазiргi тiлдерде орын алған тәртiпсiздiк студенттердiң программалау стиліне тiкелей ықпал етедi.» Қазiргі уақытта Вирт өзінің алдына қойған мақсаттарына жетті деп сенiмдiлiкпен айтуға болады.
Паскаль тiлі программалауға үйренуде ең жақсы тiл болумен қатар, ол қазiргi ЖЭСМ-дерiне оңай iске асырылатын, жүйелiк программалауда қарапайым тiлiн қолдану ғана емес, қуатты тiлдердi жасауға арналған базасы болып табылады.
2.Жұмыстың тағайындалуы және оның қолдану аумағы.
Есептiң шарты.
Адамның творчестволық және физикалық белсендiлiгi бұрыннан белгілі болғандай
тұрақты болып тұрмай, циклдап өзгередi, және де оның өзгерiсiнiң мерзiмдiлiгi айдың жерді айналу кезеңiне шамамен сәйкес келеді.Адамның физикалық, эмоционалдық және интеллектуалдық белсендiлiгі биоритмдарға бағынатындығы туралы теория бар. Әрбiр биоритм қатал тұрақты мерзiмi бар синусоида түрінде болады және де әрбiр биоритмға сәйкес өз мерзiмi болады. Жеке алған күндерде адамның барлық үш биоритмы өз максимумына жете алады, сол уақытта адам творчестволық және физикалық күштерінің артуын сезеді, осындай күндері адам басқа уақыттарда күрделiрек болатын мәселелерді оңай шешеді.Сонымен қатар барлық үш биоритмдарға тиісті төмен құлдырайтын « қара» күндер болады.
Бұл программада адамның туу күнімен қатар оның күйiн бағалауға керек болатын датаны да сұрайды. Жұмыс кезеңінде көрсетілген уақытқа жақын кезеңдегі болатын биоритмнің өсуі мен төмендеуін есептеп экранға көрсетеді
3. Қолданылған әдістер,
алгоритмын сипаттамасы программаның құрама бөліктері мен өз ара байланыстарың сипаттамасы.
Программаның алгоритмін төмендегiше ірiлендiрiліп жазып алуға болады:
Туу датасы және ағымдағы датаны енгiзу.
Олардың дұрыстығын және қайшылық еместiгін тексеру.
Ағымдағы датаға арналған синусоидалардың фазасын анықтау үшiн екi даталардың арасындағы күндердiң саны есептеу.
Ағымдағы датаға жақын уақыттағы биоритмнің өсуі мен кемуі арасындағы күндерді есептеу.
Екі датаны анықтап ,басып шығару.
Бәсеңдейтiн программалауды әдiстеменi қолданамын.
Туу датасы және ағымдағы датаның арасындағы күндерді есептеуiн жеңiлдетулерi үшiн. Size_of_month айдың ұзындығы массивын қолданамын және кризистiк күндер датасын анықтап оның дұрыстығын тексеру үшін үшін глобальді жасаймын. Сонымен жоғарыда айтылған массив үш процедураларда қолданылады.
Күндердің санын есептеу кезенінде екi датаны айырғыш күндерде (туу мен кәзіргі ағымдағы) сандары есептеуде, даталардың арасында қайшылық еместiктiң бақылауынан басқа енгiзiлген (минималды және максимальдық дұрыс даталар1900 және 2100 жылдар болуы мүмкiндігі)төмендегі жағдайлар есепке алынуы керек:
• Бір айлық бөбек (жылы мен айы бірдей болғанда )-күндер саны екі сан айырмасымен табылады.
• Жылдық бөбек ( екі датаның жылдары бірдей болғанда) сонда күндер саны –( туған айдағы қалған күндер)+(ағымдағы айдағы күндер саны )+(екі датаны бөлетін айлар арасындағы күндер );
• Ортақ вариант ( айырмасы жылдарда)-онда күндер саны –( туу күнінен бастап жылдың аяғына дейінгі күндер саны )+ (жылдар айырмасындағы күндер саны +(ағымдағы жылдын басынан бері күндер саны).
Бұл варианттардың барлықтары GET_NUMBERS_OF_DAYS процедураларында есепке алынады.
VARIANT2 және VARIANT3 — қосалқы процедуралар. Олар арқылы негiзгi программамен глобалдi айнымалы арқылы байланысу үшін қолданылады.
FINDMAXMIN процедурасында кризистiк күндердiң iздестiреді, демек барлық үш биоритм өз максимумы және минимумдарға жететiн ағымдағы датаға ең жақын кундерді іздейді.Биоритмдар синусоидаль тәуелдiлiктерiне өмiр сүрiлген күндердiң саны бойынша өзгеретіндіктерін ескере , TF, TE және TI мерзiмдерiнде адамның физикалық, эмоциональдық және интелектуальдық белсендiлiгiнiң сәйкестігі ер-әйелдер үшiн ортақ шамалы болып табылатындығын қабылдаймын.
Келесi мерзiмдерді қабылдаймын (күндердегi)
TF 23.6884 физикалық белсендiлiктiң
мерзiмi
TE 28.4261 эмоционалдық белсендiлiктiң мерзiмi
TI 33.1638 интелектуалдық белсендiлiктiң мерзiмi
Ағымдағы осы күнге және одан кейінгі күндерге кризистік күндердiң iздестiруi бірінші максимумның немесе минимумға алдын ала интервалда анықталады, осы жағдайда 30 күн.
WRITEDATES 2~ процедурасы арқылы программаның жұмысының нәтижелерi экранда шығарылады. Өйткені, есептеу екi рет жүргiзiледi, биоритмнің өсу датасы мен кему датасына, сондықтан WRITEDATE жеке процедурасына көтерiп шығару орынды.
4. Кiрiс және шығыс мәлiметтердiң сипаттамасы.
Бастапқы деректерді енгізу (адамның туу датасы және ағымдағы дата ) сурау бойынша ДД ММ ГГГГ форматында жазылады (айнымалы түрi, бұл мәндер тиiстi Integer ).
Экранға биоритмның өсу датасы мен кему датасын шығару үшін ең қолайлы күндер немесе ең қолайсыз күндерде Integer- типін қолданамын. Өмiрдi ұзақтығы туралы мәліметтерді сағат, минут және секунд түрінде шығару үшін Longintтi («ұзын» бүтін) қолданамын, өйткені Integer диапазонның түрiне мәлiметтердiң мәндерi -32768 ден +32767ге дейін болуы мүмкiн.
Егер адамның орташа өмiрi 70 жыл деп есептесек жанында ұзақтық ескерсе, демек 25550 күн демегi, және сәйкесiнше 36792000 сағат,онда тек кана Longint типті мәлімттер – 2147483648 дан +2147483647 мәндер аралығында керек.
Программалық және аппараттық жұмысын дұрыс қамтамасыз етуi үшін Turbo Pascal 7.0 программасы керек, орындалатын файлдың жоқ болғанында MS-DOS 6.0 немесе Windows 95- тен жоғары MS-DOSтың эмуляциясы бар басқару жүйесi керек .
5. Қолданушыға арналған нұсқау
Бастапқы деректердiң енгiзуi программаның сұрау салуы бойынша клавиатурадан iске асырылады. Мәлiметтер көрcетiлген қалыпты ұстап уұра қатал енгізу керек : ДД ММ ГГГГ күнге екі символ айға екі символ және жылға төрт символ енгізу керек, күн, ай, жыл мәндерін бос орын арқылы бөлу керек. Мәлiметтер жолын енгiзуiн аяқтағанын ENTER арқылы растаймыз.
6. Шешiм
Адам организмінің психо-физикалық параметрлерiнің максимум және минимум күндерiн анықтауына қызмет көрсетедi. Адамдардың күнделікті өмірінде аса маңызды шараларды жоспарлауға қолдануға болады, мысалы : белсендi спортпен шұғылданатындарға белсенді жаттығу күндерін анықтау үшін, сұхбат беру үшін, саясатшыларға арналған ашық сөз сөйлеулер үшін, кәсiпкерлерге арналған аса маңызды келiссөздердiң жүргiзу үшін, әрі сол сияқты…