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

Автор: Пользователь скрыл имя, 26 Февраля 2013 в 18:26, лекция

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

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

Работа содержит 1 файл

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

— 702.50 Кб (Скачать)

 

    BASIC тіліндегі нөмірленген  қатарлардың (Q BASIC программалау  тілінде нөмірлеуге де болады) тізбегінен тұрады. Әрбір қатарда  бір немесе бірнеше операторлар  болады. Олар бірінен – бірі («:»)  қос нүкте арқылы ажыратылып  жазылады. Қатардың жазылу пішімі:

    <Қатар нөмірі> <оператор> <ЕП> немесе <қатар нөмірі> <1-оператор>: <2-оператор>...<ЕП>

    Ескерту: <ЕП> жазуы «Енгізу пернесі» дегенді білдіреді.

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

    Оператордың жазылу пішімі:

                                     <аты>  <мазмұны>

Мұнда:

  • <аты> - жазылуы қатаң белгіленген және компьютердің нені орындайтындығын білдіретін ағылшын тілінде жазылған арнайы сөз:
  • <мазмұны> бұл операторлардың орындалуы үшін қажетті деректер. Мысалы, LET  A=B

    Атынан басқа операторлардың құрамына арнайы бөлініп алынған қызметші сөздер де енеді. Олар операторлардың орындайтын әрекеттерін нақтылай түсу қызметін атқарады. Кейбір операторлардың тек аты ғана болады. Мысалы, STOP.

    BASIC тілінде бір қатар  255 символды қамти алады. Олай  болса  BASIC тілінің бір қатары  экранда бірнеше қатарды  алып  жатады. Өйткені экрандағы бір қатарға 64 немесе 80 символ ғана сыяды. Программалау тілінен алғаш танысқанда программаның мазмұны түсінікті болу үшін әр қатарға бір оператордан ғана орналастырған жөн. Программаларды жазуда қатарларды 10 қадаммен өзгеретіндей етіп нөмірлеу қабылданған. Бұл жағдай программада қалып кеткен қатарларды қажетті қатар нөмірлері арасына ендіруге мүмкіндік береді. Программа  қатарларының нөмірлерінің өсу ретіне қарай орындалады.

    Операторлы қатарларды  былай жазамыз:

  • A=5
  • B=7
  • C=A+B
    • PRINT C
  • END

    Мұнда А айнымалысына 5 мәні, В айнымалысына 7 мәнімен жіктеледі, ал PRINT операторы С айнымалысының мәнін баспаға шығару.

 

BASIC тілінің интерпретаторы және

оның командалары

 

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

      Интерпретатор компьютердің  белгілі бір түріне арналған  болады және әр түрлі компьютерлерге арналған интерпретаторларының бірінен – бірінің мүмкіндіктері жағынан ғана айырмашылығы болуы мүмкін. Интерпретатор пайдаланушыға мына төмендегідей мүмкіндіктер жасайды.

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

    Компьютер операторды  мынадай екі режімнің бірінде  орындайды:

  • Программалау режімі;
  • Тікелей есептеу режімі.

    Программалау режімінде  программаның әрбір қатары оператордың орындалу реттілігін көрсететін нөмірден басталады.

            10  К=1

  • PRINT K
  • K=K+1
  • PRINT K

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

             К=1

PRINT K

K=K+1

PRINT K

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

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

    Қажетті программаны  компьютерге теріп енгізбес бұрын алдымен компьютердің оперативті жадын NEW командасының көмегімен тазартып алу керек. Ол үшін мынадай команда береміз:  NEW <ЕП>

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

    BASIC тілінің интерпретаторында  қатар нөмірлерін автоматты түрде  нөмірлеуге мүмкіндік беретін  арнайы AUTO командасы бар. Оның  жазылу пішімі:            AUTO N1, N2, N3.

    Мұнда AUTO – команданың аты;   N1, N2 - N1 нөмірінен бастап N2 қадаммен нөмірлеу. Мысалы, AUTO 10,5 командасын ендірсек компьютер программа нөмірлерін 10 – қатардан бастап әр қатардың арасына 5 қадам қалдырып нөмірлей бастайды.

    Интерпретатор бұрын  ендіріліп қойылған программа  қатарларының нөмірлерін қайтадан  өзгертіп нөмірлей алады, ол RENUM командсы арқылы жүзеге асырылады.  Жазылу пішімі: RENUM N1, N2, N3.

    Мұнда RENUM – команданың аты; N2 – нөмірден бастап, N3 қадаммен жаңа N1 – нөмірге алмастырылады. Интерпретатор программаның барлық қатарларын немесе кейбір қажетсіз деп есептелген қатарларын өшіріп тастай алады, ол DELETE командасы арқылы орындалады. Мысалы, DELETE N1 – N3 командасы программаларын N1 – нөмірлі көрсетілмеген болса, онда қатарлар программаның басынан бастап N3 нөмірге дейін, ал егер N3 нөмірі көрсетілмеген болса, онда N1 – ден бастап программа соңына дейін өшіріледі.

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

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

    <LIST> командасын беру арқылы енгізілген программаның мәтінін экранға шығаруға және қателіктердің бар немесе жоқ екендігін тексеруге болады. Команданың жазылу пішімі: LIST N1-N4

    Мұнда LIST – команданың аты; N1 және N4 экранға шығарылатын қатарлардың бастапқы және соңғы нөмірлері. Мысалы, LIST 10-40 командасын беру арқылы экранда нөмірлері 10-нан 40-қа дейінгі қатарларды шығаруға болады.

        BASIC тілінің операторларын екі топқа бөлуге болады:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Түсінік беру операторы

 

Мектептің информатика  курсындағы алгоритм тақырыбында келесі деректер келтірілген;

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

BASIC тілінде алгоритмнің аты  REM деп аталатын түсініктеме беру  операторы арқылы сипатталады. Алгоритмдегі аргументтерді BASIC тілінде  IUT операторының көмегімен енгізу қолайлы. Программаны толығымен құрып, компьютерге ендіріп орындалғаннан кейін, оның орындалу нәтижелерін экранға шығару қажет болады. Ол BASIC тілінде PRINT операторының көмегімен жүзеге асырылады.

Мысалы,

      алг Мысал (нақ а, в, лит к )

            берілгені а,в                                  алгоритмнің

             керек к                                            тақырыбы

       басы 

              командалар тобы                         алгоритмнің      

                                                                          денесі

       соңы

Осы алгоритмнің BASIC тіліндегі жазылуы:

      10 REM Мысал

       20 INPUT A!, B!

             •

         •

         •

    100 PRINT K

      110 END   

  REM операторы программаға түсініктеме беру арқылы оның көрнектілігін арттыру үшін қолданылады.Түсініктеме – беру пернетақтадан енгізілген кез келген символдар тізбегінен тұрады.

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

 

 

 

 

 

 

 

 

Сызықтық алгоритмнің BASIC тіліндегі жазылуы. Меншітеу операторы

 

    Сызықтық алгоритм бірнеше  меншіктеу операторынан тұрады. Мұндай алгоритмді BASIC тілінде жазудың  ешқандай қиындығы жоқ. Тек  өрнектердің   BASIC тілінде қабылданған  жазылу тәртібін сақтасақ жеткілікті. Мұндай операторлар бір қатарға орналаса алады. Бұл жағдайда олар “:” қос нүкте арқылы ажыратылып жазылады. Алгоритмдік тілде “;” нүктелі үтір арқылы ажыратылып жазылады.

   Мысалы,

алг трапеция ауданы (нақ a, b, h, s)

        берілгені a, b, h

        керек s

басы

 

            s: =(a+b) /(2*h)

соңы 

 

 

 


 

 

 

 

 

 

 

Бұл алгоритм BASIC тілінде былайша жазылады:

              10 REM Трапеция ауданы 

              20 INPUT A!, B!, H!

              30 LET S = (A+B) / (2*H)

              40 PRINT “Трапетцияның ауданы S = ” ;  S

              50 END

  

     BASIC тілінің операторларын мына төмендегідей мүмкіндіктерге ие топтарға жіктеуге болады.

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

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

    BASIC тілінде бұл амал “ =” таңбасымен белгіленеді. Меншіктеу белгісінің сол жағына айнымалының аты, ал оң жағына арифметикалық өрнек жазылады. Бұл амалды орындайтын арнайы меншіктеу операторы бар.

    Оператордың жазылу пішімі: к LET v = e

    Мұнда к- қатар нөмірі; LET-оператордың аты; v- айнымалының  аты; е-арифметикалық өрнек (жеке  жағдайда сандық немесе литерлік  тұрақты немесе сандық және  литерлік айнымалы болуы мүмкін).

    Меншіктеу операторының  орындалуын екі кезеңге бөлуге болады:

  • е өрнегінің мәні есептеледі;
  • е өрнегінің есептелетін мәні v айнымалысына меншіктеледі, яғни v айнымалысына бөлінген жады ұяшығына жіберіледі.

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

Мысал келтірейік:

  1. LET  X%=1-бүтін айнымалы Х-ке  1 саны меншіктелед;
  2. LET А=27,4- нақты айнымалы А-ға 27,4 саны меншіктелед;
  3. LET А$ = «Мектеп» -символдық (мәтіндік) айнымалы А$-ға литерлік тұрақты «Мектеп» сөзі меншіктеледі.

Ал мына мысалдарды жоғарыда аталған бірінші кезең орындалады:

  • LET Х=А* SIN(T)-нақты айнымалы х-ке а Sin t өрнегінің есептелген мәні меншіктеледі.
  • LET C$=A$+B$ -символдық айнымалы C$-ға символдық айнымалылар A$ мен B$-ның ағымдағы мәндерінің қосылуынан пайда болған нәтиже меншіктеледі.

Осылайша   LET операторының орындалар алдында "=" меншіктеу таңбасының оң жағындағы өрнектегі барлық айнымалылардың мәндері, басқаша айтқанда е өрнегі анықталған (есептелген) болуы тиіс. Мына төмендегі программада 10,20,30 – қатарлардағы операторлар орындалғанда бірінші кезең орындалмайды, ал 40,50-қатарлардағы операторлар орындалғанда бірінші кезең орындалады.

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