1 глоссарий алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм



бет2/3
Дата28.01.2018
өлшемі0,54 Mb.
#34220
1   2   3

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

Сызықтық бағдарлама жазу үшін келесі операторларды білу қажет:



        • меншіктеу операторы : =

        • енгізу операторы;

        • шығару операторы;

Меншіктеу операторы жазылған өрнектердің мәнін есептеп оны айнымалыға беру үшін қолданылады.
Жазылу ережесі <айнымалы атауы>:=<өрнек>;

мұндағы <айнымалы атауы>- айнымалы идентификаторы, := меншіктеу белгісі, яғни айнымалының мәні орнектің есептелген сан мәнін қабылдайды; <өрнек> - арифметикалық өрнек немесе сан.






Сурет 2 Меншіктеуге мысалдар

А:=10; B:=45; REZ:=A*B;

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


Алгоритмнің басы


Мәліметтерді енгізу


меншіктеу

Меншіктеу




Нәтижелерді шығару





Алгоритмнің соңы


Сурет 3 Сызықтық алгоритмнің блок-схемасы

1.2.3 Тармақталушы алгоритм

Егер алгоритм қадамдарының тізбектеле орындалуы қандай да бір шартқа тәуелді өзгеретін болса, онда ондай алгоритмді тармақталушы алгоритм дейміз.

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


  • сол жақ бөлігі;

  • салыстыру таңбасы;

  • оң жақ бөлігі.

Мысалдар келтірейік: А > 0, Х < А+С, К = 6


Мына төменде алгоритмнің тармақталушының бөлігінің жалпы түрі келтірілген.
егер < шарт >

онда "иә" тармағы

әйтпесе " жоқ " тармағы

бітті

Мұнда егер, онда, әйтпесе, бітті – қызметші сөздер, егер команданың басын, ал бітті команданың аяқталуын білдіреді.



1.2.4 Циклдік (қайталанушы) алгоритм

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

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

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



Әзір < шарт >

ЦБ

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

ЦС

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


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

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

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

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

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

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

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

Бұл мамандықты таңдаған адам өмір бойы үйренеді деп айтуға болады. Өйткені жыл санап алуан түрлі программалау тілдері (орталары) қосылып, ауысып келіп отырады.

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

Хат жазғанда да адамдар оларды әр түрлі тілдерде жазады. Мысалы, қазақ тілінде , ағылшын тілінде т.с.с. Ағылшын мен қазақ тілінде жазылған хаттардың сыртқы көрінісі тіптен бөлек болады.

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

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

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

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

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

2.3.1 Есепті компьютерде шығарудың

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


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

  • есеп туралы ақпараттарды жинау;

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

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

  • деректерді сипаттау ( олардың түрін, шамалардың ауқымын, құрлымын т.с.с. )

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

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

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

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

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

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

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

  • алгоритмді жазу пішінін ( блок-схема, алгоритмдік тіл т.б. ) таңдау;

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

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

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

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

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

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

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

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

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

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

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

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

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



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

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

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


2.4 Математикалық модельдер
Зерттелетін объект немесе процесс олардың сандық параметрлерін байланыстыратын формула түрінде берілетін жағдайлар жиі кездеседі. Бұған мына төмендегі формулаларды жатқызуға болады:

  • дененің геометриялық параметрлерін сипаттайтын формулалар;

  • физикалық процестерді сипаттайтын формулалар;

  • химиялық формулалар;

  • тауардың бағасын есептеп шығаруға арналған тұрмыстық формулалар т.с.с.

Математикалық модель деп- объектіні немесе процесті олардың сандық параметрлерімен байланыстыратын математикалық формуламен сипаттауды айтамыз.

Математикалық модельдерді жазуда әр түрлі ғылымдарда қабылданған түрлі таңбалау жүйелері пайдаланылады.

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

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



Математикалық модельдің мысалы ретінде дененің түзу сызықты орын алмастыру формуласын алуға болады:

мұндағы, х- ағымдағы координата, х0- бастапқы координата, vxt- бастапқы жылдамдықтың х осіне проекциясы, aхt- үдеудің х осіне проекциясы, t- уақыт. Құбылысты сипаттау үшін оның ең маңызды қасиеттерін, заңдылықтарын, ішкі байланыстарын оның кейбір жеке сипаттамаларын бөліп көрсетіп, маңызды еместерін ескермеуге болады. Құбылыстың метематикалық моделін жасақтауда осы айтылғандарды ескеру қажет.

Метематикалық модельді ең ұтымды түрде есептеу эксперименті деп аталатын алгориттмдік модель түрінде компьютерде жүзеге асыруға болады.

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

Сонымен, есепті шешу үшін метематикалық моделін жасақтауда модель құра отырып, мыналарды ескеруіміз керек:


  • математикалық модель құруда негізге алынатын болжамды бөліп көрсету;

  • алғашқы деректер және нәтижелер деп неніесептеу керектігін анықтау;

  • нәтижелерді алғашқы деректермен байланыстыратын метематикалық қатысты жазу.

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

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

Есепті компьютерде шығаруға даярлауды 4-суреттегідей сұлбамен беруге болады. Өмірде күрделі есептерді шығаруда үлкен ұжымдар жұмыс істейді.

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



Сурет 4 Есепті компьютерде шығаруға даярлау сұлбасы



Достарыңызбен бөлісу:
1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет