Главная страница
Контакты

    Басты бет


Алгоритм және оның қасиеттері

жүктеу 1.45 Mb.



жүктеу 1.45 Mb.
бет2/11
Дата20.03.2017
өлшемі1.45 Mb.

Алгоритм және оның қасиеттері


1   2   3   4   5   6   7   8   9   10   11

Қайталанушы алгоритм

Егер берілген шамаға тәуелді алгоритмнің белгілі бір тізбектелген қадамдарды бірнеше рет орындалатын болса, онда ондай алгоритмді қайталанушы (циклдік) алгоритм дейміз. Бұл берілген шама цикл параметрі деп аталады.

Цикл (гр. kyklos - дөңгелек) термодинамикадағы цикл - дөңгелек процесті кейде осылай атайды; техникадағы цикл - периодты түрде қайталанып отыратын құбылыстар жүйесіндегі процестердің жиынтығы; затты белгіленген бір ретпен әсер етіп өзгерткенде алғашкы жағдайына қайта оралып мезгіл- мезгілімен қайталанып тұратын үрдістің жиынтығы.

Кез келген қайталанушы алгогритмде ол аяқталу үшін параметр болуы тиіс. Параметр белгілі бір мәнге ие болған кезде цикл аяқталатын болады.

Мына төменде циклдің басында параметр үшін қойылған шартты тесеруге арналған қайталаушы алгоритмнің алгоритмдік тілде жазылуы және блок – схемасмының жалпы түрі берілген.


Әзір < шарт >

ЦБ

команадалар тізбегі



ЦС
Мұнда әзір, ЦБ (циклдің басы), ЦС (циклдің соңы) – қызметші сөздер, ЦБ және ЦС әзірше шарт орындалғанға дейін орындалатын командалар тізбегін таңбалайды.










жоқ











Ал мына суретте циклдің соңында параметр үшін қойылған шартты тексеруге арналған қайталанушы алгоритмнің блок – схемасының жалпы түрі бейнеленген.














жоқ





Осы соңғы циклге мысал келтірейік.


S = К К- қосындысын есептейік және оның нәтижесін баспаға шығаратын қайталанушы алгоритмнің блок – схемасы мына суреттегідей болады.



















Алгоритмдерді құрылымын негізге

ала отырып құрастыру
Компьютер есеп шығару үшін алгоритм құру арнайы дағдыны талап ететін жұмыс.

"Еңбек" - өзінің тұтынушылығын қамтамасыз етуге қажетті бүкіл заттар жиынтығын жасайтын адам әрекетінің негізгі формасы.
Бұл жағдайда әсіресе бөтен алгоритмдерді оқуда алгоритм мынандай талаптарды қанағаттандыруы тиіс:

  • Түсінікті әрі өте жеңіл қабылданатын болуы;

  • Алгоритмнің жеңіл тексерлетін болуы;

  • Құрылымын түгел өзгерпей-ақ өзін модификациялауға мүмкіндік беруі.

Осы аталғандарға қол жеткізу үшін алгоритмдерді құруда оның құрылымы жағынан келу деп аталатын ерекше тәсілді башылыққа алу керек. Алгоритмдерді құрастыруға құрылымы жағынан келгенде оның жоғарыда қарастырылған үш базалық құрылымы:

Ілесу, тармақталу және қайталану негізге алынады, яғни кез келген күрделі алгоритм осы құрылымдардан құрастырылады. Мысал ретінде үш санның ішінен үлкенін іздеу алгоритмін қарастырайық.









у: = а

у: = в







у : = a











Блок-схемадан көрініп тұрғанындай бұл алгоритм екі тармақталудың ілесуі болып табылады. Бірінші ілесуде (тармақталу командасының толық үлгіде жазылуы) а және в сандарының үлкені ізделінеді және олардың үлкені у-ке меншіктеледі.

Екінші ілесуде (тармақталу командасының қысқаша түрде жазылуы) у-тің мәні үшінші сан с-мен салыстырылады. Егер у<с болса, онда у-ке с меншіктеледі, ал керісінше болса, онда у өзгерісіз қалады. Осылайша алгоритм орындалғанда айнымалы у өзінің мәні етіп а,в және с сандарының ең үлкенін қабылдайды.



Программаларды жасақтау технологиясы

Программалауға кіріспе
Компьютер жұмыс істеу үшін оған керекті програмаларды програмалаушы адам жасайды.

Пргораммалаушы мамандығы дүние жүзіндегі ең бір тапшы мамандықтардың бірі.

Программалау мамандығын таңдаған адам өмір бойы үйренеді.

Оқып шығып бірден программалаушы бола салатын ешқандай оқу құралы жоқ.

Құрал (Инструмент; лат. instrumentum - құрал, қару) - 1)адам еңбегінің құралы немесе өнеркөсіптік кәсіпорын жағдайындағы жұмысқа арналған машинаның атқарушы механизмі.

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

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

Бірінші команданы ендірдік, компьютер оны қалай орындайды, қарап шықтық, екінші команданы ендірдік, нәтижесін бағаладық,үшінші команданы ендірдік. Осылайша, ендірілетін командалар көп әрі біртектес болған сайын оларды ендіру адамның шыдамын тауысып жалықтырып жібереді. Төрт-бес команданы есте сақтай отырып ендіруге, ал он команданы ендіру үшін қағазға жазып алуға болады.

Қағаз (парсыша: كاغد‎ - «кағоз») - өсімдік талшықтарын белгілі бір тәсілмен өңдеу және бір-бірімен ұйыстыра байланыстыру арқылы жұқа парақ түрінде жасалатын материал. Италиянша bambagіa, яғни мақта деген ұғымды білдіреді; кейін осыдан барып қағаз сөзі өмірге келді.
Жүзден астам командаларды ендіру үшін өте жоғары шыдамдалық қажет.

Ал егер жиі қайталанатын командалар тізбегін компьютерде файл түрінде қатаң немесе иілгіш магниттік дискіге жазып сақтап қойып, командаларды біздің пернетақтадан ендіруімізді күтпей-ақ сол дискідегі файлдан енгізуді компьютердің өзіне жүктесек, қалай болған болар еді? Әрине, қолмен қайта-қайта теріп отырғаннан горі ыңғайлы болар еді. Программаларды жасау осылайша басталады, жоғарыда айтылғандай дискіге жазылған командалардан тұратын файл нағыз прграмманың өзі болып табылады. Сонымен, прграмма дегеніміз командалардың реттелген тізімі. Программа үшін оған қандай командалардың кіретіндігі ғана емес, сонымен бірге олардың қандай ретпен берілетіндігі де маңызды.

Прграмманы арнайы дайындықпен өткен адамдар жасайды. Оларды программалаушылар деп атайды. Программаны қалай жасайды? – деген сұраққа жауап беру қиын. Программалаушыллардың шеберлігінің көптеген құпиялары бар, бірақ олардың бәрі мына төмендегідей екі нәрсені пайдаланады:


  • программалау саймандары

  • программалар кітапханасы

Программалау саймандары

Программалау саймандары дегеніміз не?-деген сұраққа жауап беру үшін мынадай қарапайым ұқсастыру мысалын, яғни ауылда жер жыртып жүрген троктлрды алайық. Трактор қандай саймандардың көмегімен жасалған? Ол зауытта станоктың және жабдықтардың көмегімен жасалған. Бұл аталғандар тракторды жасаушы саймандар блып табылады.

Ал станоктар мен жабдықтардың өздері қандай саймандардың көмегімен жасалған?

Фабрика (лат. fabrіca - шеберхана) - машиналар жүйесін қолдануға негізделген өнеркәсіп орны. Фабрика мен зауыттың арасында экон. тұрғыдан айырма жоқ. Дегенмен, фабрика негізінен жеңіл және тамақ өнеркәсібінің тауарларын дайындайтын кәсіпорын.
Ауыл - дәстүрлі қазақ қоғамында ежелден қалыптасқан қауымдастық. Қазақ халқындағы “Ауыл түбі - бірлік, қауым түбі - тірлік” деген мақал ауылдың этникалық, экономикалық және рухани маңыздылығын білдіреді.
Жабдық - бір нәрсеге керек механизмдер, тетіктер, әр түрлі құралғылар жинағы.
Олар басқа зауытта басқа станоктар мен жабдықтардың көмегімен жасалған. Ал бұл станоктар мен жабдықтар қалай жасалған?

Осылайша, сұрақты қоя берсек әрбір станоктың өзінің алдында оны жасаушы, алдыңғысынан қарапайым басқа станоктың бар екендігі келіп шығады. Егер әрбір станоктың пайда болу тарихын қозғай берсек, онда біздер орта ғасырдағы балға, егеу және төсті пайдаланатын ұстаханаға келіп тірелеміз.

Тарих (көне грек. ἱστορία -сұрастыру, зерттеу) - адамзат баласының өткенін зерттейтін қоғамдық ғылым.

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

Енді программа жасаудың жоғарыда келтірілген мысалға қандай қатысы бар соған келейік.

Программалаушы пайдаланатын сайманнның өзі прграмма болып табылады. Басқаша айтқанда, жаңа программаның өзін сайманның ролін атқаратын басқа программаның көмегімен жасайды. Ал осы сайман программалар қалай жасалған? Жоғарыда келтірілген ұқсастыру мысалымыздағы сияқты алдыңғысына қарағанда қарапайым басқа сайман программалардың көмегімен жасалған. Осылайша, басқа программалардың көмегімен жасалған жаңа программалардың жасалу ретін тізе берсек, онда біздер жоғарыда айтқанымыздай программа жасаудағы «балға мен төске» келеміз, яғни басқа сөзбен айтқанда программалаушылардың қолында ешқандай программа болмайды, тек оның орнына белгілі сандық кодтарды ғана түсінетін процессор болады. Мұндай кодтарды машиналық кодтар деп атайды.

Процессордың түсінетін және орындайтын кодтарының жиынын оның комндалар жүйесі деп атайды.

INTEL фирмасының үйлесімді процессорларының командалар жүйесінде бірнеше жүз түрлі командалар бар. Компьютердің программалары осы командалардан жасалады.

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

Машиналық код (Машинный код; computer (machine) code) - 1) жоғары деңгейлі программалау тілін аудару арқылы алынған машиналық тілдегі программа; компилятордың немесе ассемблердің көмегімен алынган, микропроцессор қабылдайтын және орындайтын



Программалар кітапханасы

Зауытта жұмысшы тракторды құрастырғанда оған қажетті болтты өз қолымен қалыпқа құйып, содан соң оған ойық бұранды шығарып дасап алу ойына да келмейді.

Қалып құрылыс алаңында тұрғызылатын монолит бетонды немесе темір-бетонды құралымдар мен ғимараттар пішіндерін жасауға арналған бөлшектер мен элементтер жиынтығы. Ағаштан, металдан, фанерадан, темір-бетоннан, пластмассадан, т.б.
Кітапхана - мәдени-ағартушылық мекеме. Кітапхана баспасөз шығармаларын жинау, сақтау, насихаттаумен, оқырмандарға баспасөз шығармаларын берумен, мәдени-ағарту және ғылыми-көпшілік жұмыстарын ұйымдастырумен шұғылданады.
Оның орнынына ол жанында тұрған сореден қолын созып керекті болтты таңдап алады. Егер басқа болт керек болса , онда ол оны басқа сөреден алады. Алдын ала даярланған стандартты бөлшектер жатқан мұндай сөрелер бұл кітапхана іспеттес.

Программалаушы адам да программа құрғанда осы жоғарыда айтылғанға ұқсас әрекет етеді. Үлкен программалардың 95 пайызы шағын ғана бұрын жасалып қойылған дайын стандартты бағыныңқы программалардан құрастырылады. Бүкіл дүние жүзі бойынша жазылған көптеген мың программалардың ішінен деректерді пернетақтадан ендіруді немесе информацияны экранға шығаруды басқаратын бағыныңқы стандартты программаны пайдаланбайтын жағдай өте сирек кездеседі. Бір кодты бірнеще рет қайта-қайта жазудың керегі не? Ішінен стандартты блоктарды алып, ешқандай өзгерістер ендірмей-ақ пайдалануға болатын программалар кітапханасында файлдар бар.

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

Он бес жылдан астам уақыт бұрын компьютерлік программаның орташа өлшемі 40-50 Кбайтқа жететін. Ал он жыл бұрын ол 100 Кбайтқа жетті. Программалаушылар қазіргі кезде бірнеше Мбайт орын алатын программалар жасауда. Егер олар программалар кітапханасын пайдаланбайтын болса, онда мұндай программаларды даярлауға жиырма жылдай уақыт жұмсалған болар еді.

Қазіргі кезде стандартты, коммерциялық және фирмалық бағыныңқы программалар бар.

Уақыт - өлшемдер жүйесінің оқиғаларды реттеу, олардың ұзақтығын және араларындағы интервалдарын сипаттауда, және нәрселердің қозғалысын сипаттауда пайдаланатын маңызды мүшесі. Уақыт мифология, философия және ғылымның әр салада пайдалану үшін қарама-қайшылысыз сипаттау, зерттеу нысаны болып, талай-талай ұлы ғалымдарды өмірге әкелген.
Фирма (итал. firma - қойылған қол) - пайда алу мақсатымен ресурстарды тауарлар өндіру немесе қызметтер көрсету үшін пайдаланатын, бір немесе бірнеше кәсіпкер иеленетін және басқаратын ұйым; заңи тұлға құқықтарын пайдаланатын шаруашылық, өнеркәсіптік, сауда кәсіпорны; бір текті немесе сабақтас кәсіпорындар бірлестігі; ұжымдық немесе жеке кәсіпкерлердің ең кең таралған ортақ атауы.
Стандартты программалар кітапхана-лары кеңінен таралған. Әрбір программалаушы адам оларды басқа компаниялар арнайы коммерциялық прграммалар кітапханаларын жасаумен айналысып оларды басқа компаниялар мен жеке программалаушыларға сатумен айналасуда. Көптеген компанияларда ж ұмыс істеген жылдары жиналған өздерінің фирмалық программалар кітапханасы бар. Әрбір фирма безендірілуі, стилі және басқарылуы әр түрлі өздерінің жеке программалар кітапханаысн пайдалануда. Фирмалық программалар кітапханалары таратылмайды және сатылмайды. Оларды бәсекелестерінен өте мұқият қорғайды. Программаны жасаушы фирмалар үшін бұл өте бағалы дүние болып есептеледі.


Программаның көрінісі
Хат жазғанда да адамдар оларды әр түрлі тілдерде жазады. Мысалы, қазақ тілінде, ағылшын тілінде т.с.с.
Бағалау, экономикада - материалдық игіліктердің құнын анықтау мақсатында жүзеге асырылатын іс-әрекеттердің жиынтығы.
Ағылшындар (ағылш. English) - германды халық ұлты, Ұлыбританияның негізгі халқы. Саны 48,5 млн. Ұлыбританияда - 44,7 млн., Австралияда - 940 мың, ОАР-да 230 мың, Канадада - 100 мың, АҚШ-та - 650 мың, Үндістанда - 200 мың адам т.б.
Қазақ тілі (төте: قازاق ٴتىلى, латын: qazaq tili) - Қазақстан Республикасының мемлекеттік тілі, сонымен қатар Ресей, Өзбекстан, Қытай, Моңғолия жəне т.б. елдерде тұратын қазақтардың ана тілі.
Ағылшын тілі (ағылш. English, English language) - Үндіеуропа тілдері жанұясының батыс герман тобына жататын тіл. Ағылшын тілі ежелгі тіл болып есептеледі, ол қазіргі Ұлыбритания аумағын ежелде басып алған Англосаксондардың тілі, бірақ жауланған кельттердің тілдері де әсерін тигізген.
Ағылшын мен қазақ тілінде жазылған хаттардың сыртқы көрінісі тіптен бөлек болады.

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

Бізді қоршаған орта: жан-жануарлар мен өсімдіктер, Жер мен Ай, Күн мен алыстағы жұлдыздар - осылардың барлығы да табиғат деген ауқымды ұғымды білдіреді.

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

Бірақ барлық программалау тілдерінің бір ортақ қасиеті бар. Олар програмалаушыларға түсінікті, бірақ процессорға түсініксіз. Процессор тек сандармен ғана жұмыс істей алады, сондықтан тек машиналық кодта жазылған программаларды ғана түсінеді, сондықтан кез-келген тілде жазылған программа алдымен процессор тіліне аударылады, яғни машиналық кодқа айналады. Бұл аудару жұмысын арнайы аудармашы программа орындайды.

Аудару (Трансляция; tranlation) - 1) белгілі бір ереже бойынша бір тілден екінші тілге мағынасын көп өзгертпей аудару; 2) программалау тілдерінің бірінде берілген программаны оған эквивалент басқа тілдегі программаға түрлендіру.
Аударма - бір тілде бейнеленген мазмұнды екінші бір тілге әрі дәл әрі толық қайталай бейнелейтін тілдік қимыл.
Оның жұмысын мына схемадан көруге болады.


Бейсик тілі Ассемблер тілі



Машина тілі
Схемадан көрініп тұрғанындай программаны қандай тілде жазсақ та, ол аудармашы программаның жұмысының нәтижесінде ең соңында машина тіліне (машиналық кодқа) аударылады.
Ассемблерлеу тілі (орыс. Язык ассемблирования; ағылш. assembly language) - адрестер мен операцияларға символдық атау қою мумкіндігі бар, нақты бір компьютердің командалар жиынымен тығыз байланысқан бағдарламалау тілі; әдетте, ассемблер коды машиналық бір кодқа ауыстырылады.

Аудару ағылшынша трансляция ( translation ) деп аталады, сондықтан программаларды машина кодына аудару жұмысын орындаушы программаларды трансляторлар деп атайды.

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

Есепті компьютерде шығаруға даярлау технологиясы
Есепті компьютерде шығарудың

негізгі кезеңдері

Есепті компьютерде шығару біраз бөлігі компьютерсіз жүзеге асырылатын мынадай негізгі кезеңдерден тұрады:



  1. Есептің қойылуы:

  • есептің шартын тұжырымдау;

  • есепті шығарудың ақтық мақсатын анықтау;

  • деректерді сипаттау ( олардың түрін, шамалардың ауқымын, құрлымын т.с.с.
    Ауқым (Диапазон; ағылш. band) - берілген шектерде жатқан спектрдің бір болігі. L-, S, С-, Кu және Кa әріптерімен "band" терминінің үйлесімділігі жер үстілік және ғарыштық телекоммуниканиялық қызметтерді атқаратын, қысқа жиілік жолағын корсету мақсатында қолданылады.
    )

  1. Есепті, моделдерді талдау және зерттеу:

  • есептің бар ұқсастарын талдау;

  • техникалық және программалық құралдарды талдау;

  • математикалық модельді жасақтау;

  • деректер құрлымын жасақтау.

  1. Алгаритмді жасақтау:

  • алгоритмді жобалау тәсілдерін таңдау;

  • алгоритмді жазу пішінін ( блок-схема, мектептік алгоритмдік тіл . т.б.
    Таңдау (белгілеу, ерекшелеу) (Выбор (выделение, маркирование; selecting) Windows ортасында - жұмыс үстелінің кез келген объектісіне тышқан меңзерін алып барып, оны шерту операциясы. Осылай белгіленген объект түсі өзгеріп ерекшеленеді.
    Пішін (Форма) - қарапайым орташа күрделі, күрделі, өте күрделі тікбүрышты, үшбүрышты, көпбү- рышты, цилиндрлі, жайылмалы қорамалы болып келеді.
    ) таңдау;

  • тестерді және тестілеу тәсілдерін таңдау;

  • алгоритмді жобалау.

  1. Программалау:

  • программалау тілін таңдау;

  • деректерді ұйымдастыру тәсілдерін айқындау;

  • алгоритмді таңдалынып алынған программалау тілінде жазу.

5. Тестілеу және жөндеу:

  • синтаксистік жөндеу;

  • семантикалық және логикалық құрлымын жөндеу;

  • тестілік есептеулер және тестілеу нәтижелерін талдау;

  • программаны жетілдіру.

6. Есептің шешілу нәтижесін талдпу:

Қажет болатын болса 2-5 кезеңдерді қайтадан орындай отырып математикалық модельді айқындай түсу.



  1. Программаны даярлау:

  • нақтылы есепті шығару үшін программаны жетілдіру;

  • есепті шешуге, математикалық модельге, алгоритмге, программаға, тестер жиынына, программаны пайдалану үшін құжаттар жасау.

1   2   3   4   5   6   7   8   9   10   11

  • Алгоритмдерді құрылымын негізге ала отырып құрастыру Компьютер есеп шығару үшін алгоритм құру арнайы дағдыны талап ететін жұмыс
  • Программаларды жасақтау технологиясы Программалауға кіріспе
  • Программалау саймандары
  • Программалар кітапханасы
  • Бейсик тілі Ассемблер
  • Есепті компьютерде шығаруға даярлау технологиясы Есепті компьютерде шығарудың негізгі кезеңдері
  • Есепті, моделдерді талдау және зерттеу
  • Алгаритмді жасақтау: алгоритмді жобалау тәсілдерін таңдау ; алгоритмді жазу пішінін
  • 5. Тестілеу және жөндеу
  • 6. Есептің шешілу нәтижесін талдпу

  • жүктеу 1.45 Mb.