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

Автор работы: Пользователь скрыл имя, 22 Ноября 2012 в 20:30, реферат

Описание работы

Егер сіз берілген есепті шешу үшін қандай да бір программалау тілінде программа жазғыңыз келсе, онда алдымен есепті шешудің алгоритмін құруыңыз керек. Алгоритм – математикадағы ең бір іргелі ұғымдардың бірі. Алгоритм сөзі ІХ ғасырда өмір сүрген, адамдардың квадрат теңдеулерді жүйелей құрып оны шеше білуге үйреткен ұлы математик Әл- Хорезмидің атының латынша жазылуы algorithmi сөзінен алынған.

Файлы: 1 файл

реферат (2).doc

— 880.00 Кб (Скачать файл)

                                        Жөндеуші

 

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

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

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

    Пайдаланушы  модуліндегі қателіктерді екі  түрге бөлуге  болады:

  • синтаксистік (пайдаланып отырған программалау тілінің  синтаксисі бойынша жіберуге болмайтын модуль  мәніндегі құрылымдар);
  • мазмұндық (арифметикалық өрнектердегі дұрыс  қойылмаған жақшалар, есептелу процесіндегі тармақталу  шарттарының дұрыс тұжырымдалмауы, циклдің  қайталану санының дұрыс берілмеуі  т.с.с.).

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

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

    Мазмұнындағы  қателіктерді анықтау үшін жоғарыда  айтылғандай тест қолданылады.

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

    Бақылау нүктесі–бұл мына төмендегідей қосымша  әрекеттер жасау керектігін білдіретін прогрммадағы нүкте:

    • аралық нәтижелерді баспаға шығару;
    • прогрмманың кезектегі бөлігіне қажетті бастапқы  деректерді беру;
    • прогрммада қарастырған командалардың орындалу  реттілігін өзгерту т.с.с.

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

    Жөндеуші  екі бөлімнен тұрады;

  • қайталаушы;
  • өңдеуші.

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

    Компьютерде  программаны орындауға даярлаудың  танымал схемасы  (келесі 80-ші  бетте) мына төменгідей  болады. Программаны даярлау мәтін редакторын  пайдаланып  орындалатын бастапқы  модуль файлын құрып  қалыптастырудан басталады. Бұдан соң бастапқы модульді  компилятордың немесе ассемблердің көмегімен  тарнсляциялау орындалады. Трансляциялаудың нәтижесінде басқа объектік модульдермен бірге құрастырушы бір  жүктелетін модульге біріктіретін объектік модуль файлы пайда  болады. Пайдаланушының командасы бойынша монитор  жүктелетін модульді операциялау жүйеге орналастырады  және оның орындалуын қамтамасыз етеді.

 

 


                                                                                 Мәтін редакторын

                                                                                 пайдаланып


                                                                                 орындалады


                                                                                


                                                                                 Алғашқы  модуль




                                                                                 Компилятормен

                                                                                 немесе ассамблермен


                                                                                 орындалады




                                                      Стандартты


                                                                            бағыныңқы программа

                                                                            кітапханасы, қосымша


                                                                            объектік модульдер



 


                                                                            Құрастырушы

                                                                            программа орындайды



 

 


                                                                          Жүктелетін модуль


Модульді  программалау

 

    Басқа  программалармен бірлесе отырып  бірнеше рет  жұмыс істеуге  есептеліп жасалған, әрі тиісті  түрде  безендірілген программа  модуль  деп аталады.

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

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

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

  • пайдаланушы модуль;
  • жүктелуші модуль;
  • абсолютті модуль.

 

 

 

 

 

 

 

 

 

 

 

 

Пайдаланушы модулі

 

    Бұл  үлгідегі модуль адамға ыңғайлы  программалау тілінде  жасалады.

    Пайдаланушы  модулі екі бөлімнен тұрады:

  • модуль денесі;
  • паспорт.

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Жүктелуші модуль

 

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

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

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

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

    Жүктелуші  модуль пайдаланушы модуль сияқты  екі  бөлімнен тұрады:

  • модуль денесі;
  • паспорт.

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

 

 

 

 

 

Абсолютті  модуль

 

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

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

    Пайдаланушының  компьютер көмегімен белгілі  бір жұмыс атқаратын тапсырманы  программалау жүйесінде тұжырымдап  беру мүмкіндігі бар. Бұл үшін  адамның жүйемен қарым-қатынас  тілі пайдаланылады. Тапсырманың құрамында мыналар болуы мүмкін:

трансляциялауға жататын пайдаланушы модулінің  мәтіні;

қандай модулдерді трансляциялағанан соң кітапханаға  жазу керектігі туралы информация;

жеке модулдерден, оның ішінде дайын модулдерден пайдаланушыны қызықтыратын программаны  жинау туралы жүйеге берілетін нұсқау;

алынған программаларды орындау туралы нұсқау.

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

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

    Жүктелуші модулдер компьютердің сыртқы жадындағы бір кітапханада сақталады. Әрбір модуль үшін кітапхана каталогында белгіленген модулдің аты, оның ұзындығы және кітапханадағы орны болады. Модулдің паспортын жеке сақтауға болады, сонда каталогта берілген модулдің паспортының ұзындығы және оның жадтағы орны туралы информация болады.

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

Информация о работе Алгоритм және оның қасиеттері