Алгоритм. Алгоритм қасиеттері

Автор: Пользователь скрыл имя, 06 Января 2012 в 21:54, реферат

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

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

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

алгоритм касиеттери.doc

— 1.14 Мб (Скачать)

     А, В, С,..., А, Б, В,..., а, б, в,..., 0, 1, 2,...

     *, /, +, -, **, >, < >=, <=, =, <>, :=, () 

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

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

     Кейбір  қызметші сөздерді атап көрсете кетейік:

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

      Деректердің типтері. 

      Алгоритмге  түрлі шамалардың енуі де мүмкін. Математикада, физикада түрлі мәндерді қабылдайтын  нысандарды (объектілерді) шамалар  деп атайтыны белгілі. Мысалы, үшбұрыш  ауданы, жол, жылдамдық – шамалар  болып табылады. Информатикада да олар осы атпен аталады. Мұнда әр шаманың аты, мәні, типі бар.

      Айнымалы  шаманың белгіленуі (оны информатикада  идентификатор деп атайды) тип  делінеді – бұл алгоритмнің орындалу кезінде осы шаманың әр кезеңде  қабылдайтын мәндерінің сипаттамасы.

      Типтер  сандық, символдық, кестелік, литерлік, логикалық болып бөлінеді. Сандық типтер бүтін, нақты, натурал деп  бөлінеді. Мысалы, х1:=3,5 меншіктеу командасында айнымалының аты х1, типі нақты, ал ағымдық мәні 3,5.

      Литерлік  деп мәні мәтін не түрлі символдар жиынтығынан тұратын жазбалық шаманы айтады. Литерлік мәндер тырнақшаларда жазылады, мысалы х: = «күз келді».

      Алгоритмді  жазу ережесінде есепте қолданылатын шамалардың типтерін міндетті түрде  көрсетеді, мысалы: 
 
 

      алг <алгоритмнің аталуы> (типтері анықталған аргументтер мен

                   нәтижелік шамалардың тізімі)

            басы типтері көрсетілген аралық шамалар тізімі

                  алгоритмнің денесі (командалар тізбегі)

            соңы. 
 

Қадаммен  жазу:1-ші есеп:  
 

1-ші  қадам: m мәнін анықтау. 

2-ші  қадам: R мәнін анықтау. 

3-ші қадам: d айнымалыға бір санды меншіктеу. 

4-ші  қадам: d айнымалыға m бөлу р мәнін меншіктеу. 

5-ші  қадам: в айнымалыға m көбейту d мәнін меншіктеу. 

6-шы  қадам: в айнымалыға d+в мәнін меншіктеу.

7-ші  қадам: в мәнін шығару. 
 
 

Алгоритмдік тілмен жазу: 
 

Алг. Есеп 1.

     Бер m,р.

     Нәт в.

Басы

       Енгізу m,р.

            m:=1

            d:=m/p;

            в:=m*d;

            в:=a+в.

       Шығару в.

Соңы . 
 
 

Блок-схема  арқылы жазу: 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Структураланған және базалық типтер 
 

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

   Деректердің типін анықтау үшін біріншіден алгоримде  қолданылатын амалдардың қай объектіге  тиісті екенін анықтайды.

   Есептеу техниканың дамуы деректердің ролін  және оларды дұрыс ұйымдастыруын  анық көрсетеді. Компьютердің қасиетінің біреуі – үлкен көлемді ақпараттарды сақтау, өңдеу. Өңделетін ақпарат  нақты әлемнің үзіндісі болып  көрсетіледі. Мысалы, кейбір ұйымның қызметкерлер тізімі бірнеше деректерден құрылады – олар аты-жөні, қызметі, мекен-жайы т.б. Қойылған мәселені шешу үшін біріншіден осы ақпаратты көрсету тәсілін таңдайды, екіншіден қолданылатын деректер жиынын таңдайды. Қазіргі заманғы есептеу техниканың және программалық құралдардың дамуына байланысты деректердің қарапайым типтерімен қатар күрделі типтер де пайдаланады. Бұндай типтер қарапайым типтердің бірлескен (структураланған) типін құрайды. Олараға жиындар, жазбалар, файлдар жатқызылады. Кейде программист деректердің динамикалық структураларын қолданады, оларды сақтайтын жады программаның орындалу кезінде бөлінеді, оларға сызықты тізімдер, стектер, графтар жатқызылады. Мұндай типтер объектіге бағытталған программалауда жиі қолданылады.

   Базалық типтерге нақты, бүтін, кешенді, логикалық деректердің типтері жатады. Информатикада кез келген тұрақты, айнымалы, өрнек немесе функция әдеттегідей бір типке жатады. Деректің типі осы тұрақты ма, айнымалы ма, өрнек па немесе функция қабылдайтын мәндер жиынын сипаттайды. Алгоритм құру кезінде әр типтің өзінің қолдайтын операцияларын есте сақтайды. Мысалы, бүтін сандармен қосу, алу, көбейту амалдары орындалады. Ал бөлу амалы екі операцияға бөлінеді деп айтады: 1) бір санды екіншісіне бөлген кездегі бүтін бөлігін анықтау; 2) бір санды екіншісіне бөлген кездегі қалдықты анықтау.

   Компьютерде пайдаланатын бүтін сандардың қасиеттері арифметикадағы бүтін сандардың  қасиеттеріне сай. Тек диапазон шенелгендігі ғана программа құру кезінде есепке алынады, өйткені әр компьютерлік жүйенің өзіне жарамды диапазон болады – ең үлкен М+∞ жарамды бүтін саны және ең кіші М-∞. Әдетте М+∞ + 1 = М-∞-∞ - 1 = М+∞). Бұл бүтін сандардың қасиеті компьютер жадысындағы сандарды кодтауға арналған ұяшықтар ерекшеліктеріне байланысты.

   Нақты сандармен орындалатын амалдарға қосу (+), алу (-), көбейту (*) және бөлу (/) амалдары жатады. Бірақ, нақты сандарға жүктелген амалдар көрсетілген бір міннен аспайтын дәлдікпен орындалады. Мысалы, компьютерде 1/3 = 0,33333333, ал математикада 1/3 – ақырсыз ондық бөлшек.

   Мәтіндік (литерлік) тип деректің реттелгенін  білдіреді. Мәтіндік деректі тырнақша (немесе апостроф) арқылы көрсетеді 'а' < 'b', 'b' < 'с', 'с' < 'd'. Әр символдың сандық коды бар және оның реттелуі сол кодқа сәйкес жүргізіледі. Мәтіндік деректерге лайық орындалатын жалғыз амал конкатенция (жолдарды қосу), яғни  'abcd' + 'efg' = 'abcdefg'. 

   Логикалық деректерге тек екі мәнді қабылдайтын  деректер жатады. Ол мәндер ақиқат «true» және жалған «false». Логикалық типті деректерге конъюнкция (логикалық «және», «and»), дизъюнкция (логикалық «немесе», «or»), терістеу (логикалық «не», «not») амалдары қолданылады. Кейде импликация («егер»), эквиваленция («егер де және тек егер де») т.б. амалдары қолданылады. Логикалық амалдардың ақиқат кестесін төменде көрсетеміз.  
 
 

        А   В «және» «немесе» «не»
      (A and В) (A and В) (not А)
      А А А А Ж
      А Ж Ж А Ж
      Ж А Ж А А
      Ж Ж А Ж А

    

   Паскаль программалау тілінде деректердің типін анықтағанда мәндер атауларын атап шығады. Типтің мәндері аталған кезде әр мәнге 1-ден n-ге дейінгі натурал сандар сәйкестікке қойылады.Әр аталған типке реттік номері бойынша мән алу амалдары мен мәні бойынша реттік номерін анықтау амалдары сәйкестендіріледі. Одан басқа, аталып отырған типтерге салыстыру, кейін тұрған және алдыңғы мәнді анықтау амалдары қойылады. Си программалау тілінде типтерді атау кезінде мәнге кейбір бүтін сан сәйкестікке қойлады, ал аталып тұрған типтің бірінші элементінің мәні айқындалмаған болса, онда оған сәйкестікке 0 қойылады, келесіне алдыңғы мәнінен 1 үлкен мән меншіктеледі. Сондықтан, Си тілінде типтерді атау кезінде біз бүтін типті тұрақтылар тобын ыңғайлы көрсетеміз.  

      Іштей кірістірілген деректер типі 
 

   Компьютердің  командалары қолдай алатын амалдар іштей кірістірілген деректер типін анықтайды. Қазіргі заманғы компьютерлер осындай типтерге әр түрлі өлшемді бүтін сандар (1-8 байт), буль мәндері, екі және бір еселі дәлдікті жылжымалы сандар (4, 8 байт) жатады.

   CHARACTER (немесе CHAR) типі – 1) программалау тілінің ASCII коды қолдайтын алфавитіндағы баспа символдар жиыны немесе 2) 1 байтта жинақталған 1 мен 0 цифраларының комбинациясы. Бірінші анықтама Паскаль тіліндегі CHAR типті деректерге тек салыстыру амалдары қолданатынын айтады, мысалы 0 < 1 <...< 9 < A < B <...< Z < a < b <...< z сәйкестік орынды, сондықтан егер 0 <= x <= 9, онда х-тің мәні – цифра, егер A <= x <= Z, онда х-тің мәні – бас әріп, ал егер a <= x <= z, онда х – кіші әріп. Екінші анықтама Си тіліндегі CHAR типті деректер баспа символдар мен сандық константаларды да қолдайтынын көрсетеді. Сондықтан CHAR типті деректер салыстыру және арифметикалық амалдарды орындауға мүмкіндік береді.

   BOOLEAN типі екі мәнді қабылдайды  – олар TRUE (ақиқат) және FALSE (жалған). Буль мәнді типтерге конъюнкции (& немесе AND), дизъюнкции (| немесе OR) және терістеу (~ немесе NOT) амалдары қолданылады. Олар төменде көрсетілген: 
 

TRUE AND TRUE = TRUE

TRUE AND FALSE = FALSE

FALSE AND TRUE = FALSE

FALSE AND FALSE = FALSE

TRUE OR TRUE = TRUE

TRUE OR FALSE = TRUE

FALSE OR TRUE = TRUE

FALSE OR FALSE = FALSE

NOT FALSE = TRUE

NOT TRUE = FALSE  
 

   32 разрядты компьютерлерде жадыны  тиімді пайдалану мақсатында short integer (әдетте 16-разрядты), integer (әдетте long integer) және long integer (әдетте 32-разрядты) типтер қолданылады. 

   Программалау  тілдерінде сандар арасындағы есептеулер орындау үшін REAL немесе FLOAT типті  деректер қолданылады.   

   Паскаль тілінде 4 типті деректер қолданылады: бүтін (integer), нақты (real), логикалық (boolean), символдық (char). Паскаль тілінде келесі стандартты деректер типтері ажыратылады: 

1) жай  типті – бүтін сандарды көрсеті  үшін  (integer, byte, longint, shortint, word); 

2) жай типті – нақты сандарды көрсеті үшін  (real, extended, double, single, comp); 

3) логикалық тип (boolean) сандарды салыстыру нәтижесін шығару үшін пайдаланылады;

 

4) процедуралық  тип – ұқсас функциялар жиынын  көрсету үшін; 

5) жай  символдық тип (char); 

6) жолдық  тип (string); 

7) күрделінген тип - файлдар (file of…text), жиындар (set of…), жиымдар (array…of), жазулар (record). 
 

    Есеп  шешілу барысында түрлі типті  ақпараттар өңделеді. Деректердің типі дегеніміз – руқсат етілген операциялармен біріккен мөлшерлердің жиыны . Әр типтің  өзінің мәндерінің диапазоны  және оны сүреттеу үшін арнайы бөлінген сөздері бар. Турбо Паскаль тілінің  типтерінің сұрыпталу  түрі келесі схемада көрсетілген: 
 
 
 

 
 
 
 

      Басқарушы базалық структуралар. «Ілесу» базалық  структурасы. 
 
 

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

     Алгоритмнің басқарушы базалық құрылымдары  деп төрт негізгі құрылымын (структурасын) айтады:

  1. ілесу (сызықты тізбек)
  2. тармақталу
  3. таңдау
  4. қайталану (цикл)

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

Информация о работе Алгоритм. Алгоритм қасиеттері