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

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

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

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

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

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

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

    Айнымалылардың типтері  %, !, #символдары арқылы берілген жағдайда ғана жоғарыдағы ереже орындалмайды.

    Нақты айнымалы латын  әріптерімен немесе соңынан цифр  келетін латын әріптерімен таңаланады. Мысалы, А,В5, С1, ZO,Y9.

Ол нақты тұрақты үшін рұқсат етілген кез- келген  мәнді қабылдай алады.

    Бүтін айнымалы да  нақты айнымалы сияқты таңбаланады,  бірақ % таңбасымен аяқталуы тиіс. Мысалы, A%, C8%, B%2, I%, Ол бүтін тұрақты  үшін рұқсат етілген кез-келген  мәнді қабылдай алады.

    Символдық айнымалы соңынан  $ таңбасы келетін әріппен  –цифрмен таңбаланады. Мысалы, B% ,C1$, A5$. Ол символдық тұрақты үшін рұқсат  етілген кез-келген мінді қабылдай алады.

    Аттары белгілі бір  әріптен және цифрдан тұратын  айнымалылар бола алады.

Мысалы:

  • А5- нақты  айнымалы;
  • А5%- бүтін айнымалы;
  • А5% -символдық айнымалы.

  Айнымалы атының дұрыс жазылуының  мысалдары:

  1. 2С- цифрдан басталады;
  2. Ю1-орыс әріптері рұқсат етілмейді;
  3. $2- ақша бірлігінің символынан басталады;
  4. %К – пайыз символынан басталады.

BASIC тілінде қарастырылған символдардан  басқа индексті айнымалыларды да (кейін қарастырамыз) пайдалануға рұқсат етіледі.

 

 

 

 

 

BASIC тілінің стандартты  функциялары

 

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

         BASIC тілінде  пайдалынатын стандатты функциялар:

  • SIN(X)- синус (sin) функциясы, х  аргументінің синусын есептеу;
  • COS(X)-  косниус (cos) функциясы, х  аргументінің косниусын есептеу;
  • TAN(X) тангенс (tgx) функциясы, х  аргументінің тангенсін есептеу;
  • ATN (X)- арктангенс (arctgx) функцифясы,-p/2п-ден+p/2 п аралығындағы х аргументінің арктангенсін есептеу;
  • EXP(X)- дәрежесі х болатын е=2.718281828 санын беріді. Е саны натурал логарифмнің негізгі екендігіне назар салыңыздар, ал ЕХР және LOG функциялары өзара кері функциялар. Осылайша, LOG (EXP(X))=X= ЕХР(LOG(X))
  • LOG(X)- нанурал логарифм (Inx) функциясы, х оң аргументінің  нанурал логарифмін есептейді;
  • SQR(X)- квадрат түбір ( ) функциясы, х аргументінің   теріс емес мәндерін береді, х аргументі оң сан немесе 0-ге тең боуы тиіс;
  • ABS(X)- абсалютті шама ( )функциясы, х аргументінің  абсалюттік  мәнін (модулін) есептейді.АВС(-4.3)=4.3;
  • INT(X)- бүтін санды функция, х аргументінен артық емес ең үлкен бүтін санды береді, яғни  онда N<=x+1;
  • SGN(X)- таңба (sign x) функциясы. Төмендегі ережелерге сәйкес х- тың таңасын береді.

 

          SGN(X)=         

    • RGN(X)-кездейсоқ сандар функциясы, 0-ден 1-ге дейінгі аралықта жататын кездейсоқ сандарды береді. х аргументінің міні жоққа шығарылады;
    • FIX(X)*- х-тың сандық мәнінің бөлшек бөлігі алынып тасталады. Мына өрнекке: SGN(X)* INT(ABC(X)) баламалы және х-тың мәні болғанағы INT(X) функциясына  сай келеді;
    • CINT(X)- x-тың стандатты нақты мәнін бүтін типке түрлендіреді яғни; INT функциясының әрекетін іске асырады.Мұнда х-тың -32767-ден 32768-ге дейінгі аралықта болуын ескеру  керек;
    • CDBL(X)-x- тың стандарты нақты мінін екі еселі мәнге түрлендіреді. Мысалы, мына операторды А# = CDBL(364.57) орындау нәтижесінде  А# айнымалысы 364.57 екі еселі дәлдікті мәнеге ие болады;
    • CSNG(X)- x-тың екі еселі дәлдікті мәнін стандатты дара дәлдікті нақты мәнге түрлендіреді.

      Тригонометриялық  функциялардың аргументтері радианмен  беріледі. Егер градуспен берілсе,  онда оны мына формуламен радианға  рудару қажет:

                <радианға мәні >=<градустық  мәні> * РІ/ 180

      BASIC тілінің кейбір  түрлерінде х санының натурал логарифмін  есептеу үшін тек бір LOG(X) функциясы бар. Бірақ натурал логрифмді мына формуланы пайдаланып, кез-келген негізгі логарифмге оңай аударуға блады: log N= 1na/lna мұнда а негізі.

    Бүтін санды INT(X) функциясы, х аргументінен артық емес оң үлкен бүтін санның мәнін есептейді.

Мысалы, INT(24.67)=24.

    Берілген санды оған  жақын бүтін санға дейін дөңгелектеуді  орындау үшін INT(X+5) деп жазу жеткілікті. Мысалы, 3.9 саны да 4-ке дейін дөңгелектене ,ал 4.3  саны да 4-ке дейін дөңгелектенеді. Мысалы, INT(5.9+5)= INT(6.4) =6, INT(1,3+5)= INT(1.8)=1.

     INT(X) функциясын мына  төмендегі өрнектің көмегімен  кез-келген берілген ондық разрядқа  дейін дөңгелектеу үшін  пайдалануға  болады:

INT((X*10D)+5)/10D. Мұнда, D –пайдаланушы беретін  және дөңгелектеу  дәлдігін анықтаушы бүтін сан.

     RID(X) функциясының аргументі  пайдаланылмайды және кез-келген  сан бола алады. Функция кездейсрқ  сандар генераторы ретінде жұмыс  істейді, яғни  таралудың бір  қалыпты заңы бойынша (0.1) ауқымнан  еркін сандарды шығарады. Кездейсоқ сандарды әр түрі ақуымда алуға болады. Мысалы, 0-ден 9-ға дейінгі кездейсоқ сандарды алу үшін мына өрнекті пайдалануға болады:     INT(10* RID(0)).

    Берілген аралықтағы  кездейсоқ сандарды да алуға  болады. Мысалы, (А,В)  аралығындағы  кездейсоқ сандарды алу үшін өрнек пайдалынады. (В-А)* RID(0)+А.

 

 

 

 

Арифметикалық өрнектер

 

    Сандық тұрақтылармен  айнымалылармен және стандартты  функциялармен кәдімгі арифметикалық  амалдарды орындауға болады.

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

       Арихметикалық   амалдардың таңбаларына мыналар  жатады:

  • ^ - дәрежеге шығару;
  • * - көбейту;
  • / - бөлу;
  • + -қосу;
  • - - алу.

Өрнектерді жазуда мына мөмендегі  ұсыныстар мен шектеулерді ескеру қажет:

1. Формулалар  ешқандай төменгі немесе жоғары таңбаларсыз бір қатарға жазылуы тиіс:

Арихметикалық өрнекті жазудың  мысалдары:

       Математикалық  жазылуы         BASIC тілінде  жазылуы

                        5                                                 5

           а                                                А

                    в+5                                           В+5

                         3с                                            3* С

                         а+в                      

                         4+с                                         (А+В)/(4+С)

2 Әсіресе өзіңе-өзің сенімсіздеу  жағдайларда орындалтын амалдардың  реттілігін көрсету үшін дөңгелек жақшаны пайдалану қажет. Жақша ішіндегілер бірнеще кезекте есептеледі. Егер жақшаға алынған өрнектің өзі жақшаға алынған болса, онда есептеу ішкі жақшадан басталады. Жақшаның ішінде амалдар солдан оңға қарай амалдардың дәрежесіне сәйкес орындалады:

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

Мысады, BASIC тіліндегі -2+А/В*С+3^2 өрнегі мына  -2+А/В*С+3^2 математикалық өрнекке баламалы. Оны есептеу алгаритімі  мынандай реттілікпен орындалады:

    • Х= 32;
    • Ү=(А/В)С;
    • Z=-2+Ү+Х.

3. Арихметикалық амалдың екі таңбасын екі бірінің жаңына бірін қоюға және көбейгіштердің арасындағы көбейту таңбасын қалдырып кетуге болмайды. Мысалы, мына 8ху/-z  математикалық өрнекті BASIC тілінде  былай жазылады:8*Х*Ү/(-Z). типтері бірдей  арихметикалық өрнектермен арифметикалық амалдар орындалғана сол типтегі нәтиже алынады. A%+ B% +10% = бүтін сан, С1* D= нақты сан.

4. Бүтін және нақты шамалармен орындалатын амалдар нақты нәтиже  береді. Мысалы, А*В%= нақты сан, 5.4*3% =16.2

5. mju Бүтін дәрежеге шығару көптеген рет көбейту арқылы орындалады. Мысалы, A^ 3% =A*A* A C^ N%= C*C*… C. N рет

6. Егер дәреженің көрсеткіші нақты сан болса, онда нәтижені есептеу ЕХР және LOG функцияның көмегімен жүзеге асырылады: Х^ Y= EXP (Y*LOG(X)). Арихметикалық өрнектерді жазуда кететін қателіктер: 3А+В, 2*-В, SIN +В.

 

 

 

Логикалық өрнектер және операциялар

 

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

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

    BASIC  праграммалау тілі  алты салыстыру операциясын пайдалынылады.  Осы  операциялардың кейбіреуіне  сәйкес келетін стандартты математикалық  символдардың таңбалары стандартты пернетақтада болмағандықтан құрама таңбалар ретінде теріліп жазылады:

                   Таңба                             Операция

                     >                                   үлкен

                     <>                                 тең емес

                     >=                                 үлкен немесе тең

                     <=                                 кіші немесе тең

    Мұнда «= » таңбасына ерекше назар аудару керек. Жоғарыда біздер бұл  таңба таңба меншіктеу операциясын  сипаттайды делік.  Ал берілген жағдайда «= » таңбасы – бұл логикалық салыстыру операторы. Траслятор берілген таңбаны қалай пайдалану керек екендігін маңынасына қарай өзі анықтайды.

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

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

    BASIC тілінде  праграммалауда  қызметші сөздердің көмегімен  мына төмендегідей алты логикалық  операция жиі беріледі:

  • AND- коньюнкция (логикалық көбейту);
  • OR – дизъюнкция (логикалық қосу);
  • NOT- логикалық теріске шығару;
  • XOR – немесе емес;
  • EQV- баламалық (бір мезгілде ақиқат немесе бір мезгілде жалған);
  • IMP- импликация (бірнеше ақиқат болғанда мәні жалған, қалған басқа жағдайлардың бәрінде екінші жалған және ақиқат).

    Біз осы келтірілген логикалық операциялардың ішінен (AND) логикалық көбейтуді; (OR ) логикалық қосуды және (NOT) логикалық теріске шығаруды қарастырамыз. Бұл операциялардығ қолданылуы нәтижесін мына төмендегідей кестеден көреміз:

    А                 В          А AND В        А OR В        NOTА

Ақиқат       Ақиқат       Ақиқат           Ақиқат         Жалған

Ақиқат       жалған      Жалған          Ақиқат

Жалған     Ақиқат       Жалған          Ақиқат         Ақиқат  

Жалған     Жалған      Жалған         Жалған

     AND операциясы. Кестеде көрініп тұрғандай А AND В   өрегі А және В операциялары ақиқат болғанда ақиқат болады. Сіз өзініз суретіңізді бөлмеңіздің қабырғасына іліп қойғыңыз келді дейік. Қағылатын шегені А аргументімен, ал болғаны В мен белгілейік. Оң нәтиже  алу үшін ( суретті қабырғаға ілу) сіздің қолыңызда шеге де және балға да болу керек. Егер сіз қолыңызда осы аталған екі нәрсенің біреуі ғана болса, онда сіздің бөлмеңізді әсемдей алмайсыз.

    OR операциясы. Жоғарыда келтірілген кестеде егер  А және В операндыларының кез келгенін мәні (немесе екеунің мәні де) ақиқат болса, А OR В өрнегінің мәні де ақиқат болатындығы көрінеді. Сіз аштығығыңызды аласыз. Ал егер сізді ешқайсы болмаса, онда сіз аш қаласыз. Мұның теріс нәтиже екендігіне келіспеу қиын.

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

 

 

 

 

 

 

BASIC тілінде программалау негіздері

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