Сызықты және тармақты құрылымды алгоритмдерді программалау

Автор работы: Пользователь скрыл имя, 05 Июня 2015 в 08:33, курсовая работа

Краткое описание

Программа құрылымы
Программа келесі бөлімдерден тұруы мүмкін, бұл бөлімдер (тек соңғыдан басқасы) бір-бірінен нүктелі-үтір арқылы ажыратылады:
программа тақырыбы;
белгілер бөлімі;
тұрақтылар бөлімі;
типтерді сипаттау бөлімі;
процедура мен функцияларды сипаттау бөлімі;
программа денесі;

Содержание

Паскаль тілінің негізгі түсініктері..............2

1.1 Турбо паскаль тілінің операторлары .........4

Негізгі бөлім

1.2 Циклдік құрылымды алгоритмді программалау....5

1.3 Алғы шартты цикл операторы. While операторы ..........6

1.4 Келесі шарт бойынша циклді ұйымдастыру.
Repeat операторы................8

1.5 Параметрлі қайталану операторы.
For операторы.......9

1.6 Күрделі циклдер..............11

1.7 ЭЕМ-де есеп шығару кезеңдері.
Қадам бойынша орындау әдісі......................11

1.8 Мысал есептер..............................12

Қайталау (цикл).................................19

2.0 Сызықты және тармақты құрылымды алгоритмдерді программалау....21

2.1 Қайталанған құрылымды алгоритмдерді программалау.....28

Қорытынды
Әдебиеттер тізімі..........................20

Вложенные файлы: 1 файл

турбо паскаль алгоритм.doc

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

       Негізгі  программаға  енгізілетін  функцияны шақыру  командасы да жеке оператор  түрінде емес, Бейсик тіліндегі  секілді sinx,cosx тағы  басқа стандартты функциялар  сияқты, өрнекке енгізіліп  жазылады.

 

Qbasis, Pascal тілдерінде жолдық  мәліметтер

 

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

         Компьютер  жадында жолдық тұрақтылар ендірілетін  арнайы блок бар.Жолдық айнымалыға  меншіктелген әр мәтін осы  блоктың бір адрестен тұратын  ұяшықтар тобына енгізіледі.Мысалы,компьютердің A$ = “Мен оқушымын” командасын орындауы нәтижесінде A$  адресіне осы тұрақты жазылып қойылады. Бейсикте LEN (A$) функциясы арқылы мәтін ұзындығы (length -ұзындық) есептеледі.Мәтіндермен біріктіру және қиып алу амалдарын ғана орындау мүмкін.Біріктіру амалының таңбасы – плюс (+), ол екі мәтінді бір мәтін түрінд біріктіреді. Қиып алу операциясы мәтіннен бір шама үзінді бөліп алады.Ол Бейсикте MID$, LEFT$  және RIGTH$ функциялары арқылы орындалады (mid – ортта,left – сол, right-оң).   MID$(A$,M,N) – A$  айнымалысы мәнінің m – символынан бастап 

n – символын, MID$(A$,N) - A$ мәнінің   m – символынан басталған үзіндісін,LEFT$(A$,N) – мәнінің сол жақ n  символын, RIGTH$(A$,N) A$  мәнінің оң жақ n символын  бөліп алатын функциялар.

Pascal тілінде жолдық мәліметтер. Жолдың типі оң жағына ашу,жабу тік жақшалары қойылып,олардың ішіне мәнін жадқа ендіру үшін таңдап алынған бүтін сан енгізілген STRING (string - жол) қызметші сөзі арқылы анықталады.Оны программаның TYPE не VAR бөлімінде сипаттауға болады.Мысалы, а1:=’сынып ’

                      Oku:= ‘Мен оқушымын’

1) type  jol1=string[5];jol2=string[12]

      var f1:jol1;oku:jol2;

2) var f1:string[5];oku:string[12]

 

Мұндағы string[5]6string[12] – жолдық типтер; jol1,jol2 – осы типтерге берілген атаулар, а1,oku – жолдық айнымалылар.STRING(M) типін оқып шығып, компьютер сипатталған айнымалы  үшін жадтан әрқайсысына  бір  символ сиятын қатар орналасқан M ұяшық қалдырып кетеді. Турбо Паскальда жолдармен түрлі әрекеттер жасап,өңдеуге арналған стандартты функциялар бар.

LENGTH, “+” не CONCAT, COPY,  POS (length –ұзындық; “+” – плюс таңбасы,concat –біріктіру;copy –көшірме; pos(position)-позиция,тұрған орны).

  • Length(стр)-жолдың ұзындығын есептейді (стр(стринг)-жолдық айнымалының не оның мәнінің орнына пайдаланылған символдар тізбегі).Мысалы,length(a1)=S;length(oku)=17:length(‘мен’)=3
  • Concat (стр1, стр2) не стр1+стр2 – стиринг1 мен стринг2 жолдарын біріктіреді.

Concat (‘оқушы’,’мын’) – оқушымын;             

  • Copy (стр,m,n) – жолдың m – символынан бастап n символдық үзіндісін кесіп алады.

     Copy(‘оқушымын’,3,5) – ушымы;

  • Pos(стр1, стр2)- стринг2 жолынан стринг1 үзіндісін іздеді де,жолдың басынан есептегенде үзінді басталған орынның нөмірін анықтайды,үзінді табылмаса, оны 0 –ге тең деп нәтижелейді.

        Pos(‘ушы’,’оқушымын’) – 3

 

Берілгендер файлы. Жазу

 

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

         1. Мұстафаева  Жадыра  1975  қазақ

         2. Қарабаев  Мұқтар       1974   қазақ   

         3. Сармантаева  Жанна   1974  қазақ

  Берілгендер файылының элементі  жазу деп аталады; жазу құрайтын  мәндер өріс элементтері делінеді.Яғни  тізімнен тұратын берілгендер файлы – жазулар жиынтығы, әр жазу – файлдың бір элементі.Жазу ұзындығы 255 – тен аспауы тиіс.Өрістің атауы 8 символдан аспауы тиіс.

Мысалда берілген мәліметтік тізімде әр жазу төрт өріс элементінен, ал файл үш элементтен және оларға сәйкес төрт бағаннан тұр.Өріс элементтері ретінде студенттердің реттік нөмері, аты –жөні,туған жылы, ұлты жазылғандықтан,сипаттаманы СТУД1  деп атап, мынадай түрде жазып қоюға болады:

        СТУД1(нөмірі, аты-жөні, туған жылы,ұлты)

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

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

     IBM  PC   дербес  компьютерінде тізбекті ену файлымен  жұмыс істеу программасында пайдаланылатын  операторлар:

    OPEN (ашу)- файлды дискіге  жазу не дискіден оқу үшін  файлды ашу:

    PRINT # M –файл жолын дискіге  жазу;

    INPUT # M – файл жолын  дискіден оқу;

    CLOSE (жабу)- файлды жабу

    Бұлардың программада  жазылу түрлері:

1) Атауы F$ арқылы берілгендер файлын  дискіге жазу үшін орын белгілеп, оны ашу:

         1: OPEN “O”,# M, F$        

         2: OPEN F$  FOR   OUTPUT  AS  # M

    Дискіде F$ атаулы файлды  оқу үшін оны ашу:

          1: OPEN  “I” ,# M ,F$

          2: OPEN  F$  FOR INPUT  AS  # M    

Мұндағы:

O,I – OUTPUT (шығару), INPUT (ендіру) қызметші сөздерінің бірінші әріптері;

F$ -берілгендер файлының атауы;

# M – файлдың логикалық нөмері;

        Кез келген  БФ тек жазу не тек оқу  үшін ғана ашылыды. Оларды қатар  орындау үшін ашу мүмкін емес.

2) Атрибуттарының атаулары A, B$, C, D$   арқылы және логикалық нөмірі.#1 арқылы белгіленген файлдың бір жазуын дискіге тиеу операторы:

            PRINT  #   1, A;  “,”; B$; “,”; C; “,”;D$

   Мұндағы  “,” таңбасы  – мәндерді дискіге үтір арқылы  ажыратып, үнемді түрде жазу белгісі; D$ - тун соң қалдырылған бос  аралық –жолдың аяқталу белгісі.

3) A, B$, C, D$  элементтерінен  тұратын  файл жолын дискіден оқу (жадқа  енгізу) операторы;

            INPUT #1, A, B$, C, D$   түрінде беріледі. Әр элементті үлгі бойынша  манитор экранына шығару, әдеттегідей, PRINT операторы арқылы орындалады.

4) Ашылған берілгендер файлымен  жұмыс істеуді аяқтаған соң  оны жабу керек.Жабу операторының  жазылу түрі:

       CLOSE #1 не  CLOSE 1

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

           142141  Айдаболова Фариза   1986    қазақ

           142142  Алибаева   Нұргүл     1986    қазақ

           142143  Болатова   Гүлдана    1987    қазақ

Жазудың сипстталу үлгісі Type бөлімінде типтың атын анықтап аламыз.          

Type <тип атауы>= record<өріс атауы>: <өріс типі>;

                                            <өріс атауы>:<өріс типі>;

                                  end;

var<жазу атауы>:< тип атауы>;

Өрістің атау 8 таңбадан аспауы тиіс.Өріс айнымалыларын толық түрде жазу гүрделі  программаларды оқуды қиындатады. With (қосу,біріктіру) жалпы түрі.                                   

                  With <жазу атауы> do

                   Begin

                         <операторлар>;

                   end;

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

                142141       Айдаболова Фариза     1986         қазақ

                142142       Алибаева Нұргүл         1986         қазақ

                142143       Болатова  Гүлдана       1987         қазақ

Құрылымы; студент (шифры,аты –жөні, туған жылы,ұлты ).

Файл типін сипаттау үлгісі мынадай:

         Type<тип  атауы>=file of<элементтер типі>;

         Var <айнымалы  атауы>:<тип атауы >;

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

          Type  student = record   a1:longint; a2:string[17];

                                                  a3:integer; a4:string[10];

                                     end;

           var  F:file of student;v:student;         

     Мұндағы student – жазу  типінің атауы; f – элементтері сипатталған жазулардан тұратын файлды, V –осы жазуларды анықтайтын айнымалылар.Жазу өрістері нүкте арқылы бөлінгег жазу мен атрибут атауларынан тұрады:v.a1, v.a2, v.a3, v.a4.

     Файл элементтері  дискіге жазылғанда  0-ден бастап  автоматьы түрде нөмірленіп қойылады.Файлды СУСҚ тиеу файлды жазу деп аталады, ол СҚ –дан анық машинаның аперативтік жадына енгізу файлды оқу деп аталады.

F – файлдық айнымалы

Bf – берілгендер файылының атауы  меншіктелетін айнымалы

V – файлдық элементтер болсын

v.a1, v.a2, v.a3, v.a4 - өрістік айнымалылар  болсын

Турбо Паскальда да файлмен жұмысты тізбекті және еркін ену тәсілдері бойынша жүргізу мүмкін.Файлды жазу үшін мынадай операторлар пайдаланылады:

      ASSIGN(f,bf) –bf  файлға f  атауын беру.Ол bf-ң мәнін f–ке меншіктейді.  Компьютер f-ті саны белгісіз элементтерден тұратын bf- тің атауы деп қабылдайды.Бұл әдіс программада түрлі берілгендер файлын өңдеуге мүмкіндік береді;

     REWRITE(f) – атауы assign операторында  анықталған файлды жазу үшін  дискілік файлды ашу.Ол берілгендер файлы үшін дискіден орын бөліп,көрсеткішті осы орынның басына орналастырады.

Ескерту.Егер ол дискіде осындай атаулы Б.Ф бұрыннан бар болса rewrite (f) арқылы өшіріледі;

      WRITE(f,v) –f үшін бөлінген  дискілік файлға v  элементін жазу.Ол элементті көрсеткіш тұрған орыннан бастап жазылып шығады.Оператор орындалған соң көрсеткіш келесі элемент жазылатын орынның басына ауысады;

      CLOSE(f) – файлды  жабу ;

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

      ASSIGN (f,bf)- bf файлын f  файлын байланыстыру;

      RESET(f)-атауы f пен берілген  сыртқы файлды ашып,көрсеткішті  осы файлдың басына орналастыру;

     WHILE  NOT  EOF(f) –do - көрсеткіш файлдың соңына жеткенге дейін программаны орындау циклі. EOF  end  of  file – файл соңы.Егер көрсеткіш файлдың соңғы элементтерінен енді асса,eof мәні –true, әйтпесе-false;

      READ(f,v)- атауы f арқылы  берілген файлдың бір элементін  дискілік файлдан оқу.Оператор орындалып болған соң көрсеткіш келесі элементтің басына ауысады.

     WRITE (v.a1, ‘ ’,v.a2, ‘  ’,v.a3, ‘ ’,v.a4 )- файл элементін  экранға шығару.Кейде мына типте  де жазуға болады.  Write (v.a1:7, v.a2:17)

String типті айнымалы мәнін бағананың сол жағынан бастап шығарған дұрыс.Ол үшін v.a2,’’:18-length(v.a2) қолданылады.

     Компьютерде жазуды  бірден іздеп табу үшін программаға seek(f,k-1)

операторы, одан кейін read (f,v) не rewrite (f,v) операторларының қажеттісі енгізіледі.Егер іздеу белгісі ретінде орындалатын k саны  алдын ала енгізілмесе, онда seek (f, k-1) операторы керсеткішті 0 жазудың басына апарады.Керісінше жағдайда көрсеткіш  k-шы жазудың басына орналастырады.(seek-іздеу).

     Filesize(f) –файл жазулардың  санын анықтайды.Сыртқы файл жазуларына осылайша тез жету тәсілі файлға еркін тікелей ену тәсілі деп , ал файлдың өзі еркін ену файл деп аталады.Жазудың ұзындығы 32767 –ден аспауы тиіс.    

 

 

 

 

Қорытынды

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

                                     

                                     Қолданылған әдебиеттер:

 

  1. “Turbo Pascal”  Ж.Қ.Масанов, Б.А.Бельгибаевб

                                  А.С.Бижанова, Қ.Қ.Мақұлов

 

  1. Паскаль тіліндегі программалау негіздері.

                                      А.Б.Дәулетқұлов, С.С.Алғазы

 

  1. “Алгоритмы и программы на языке Turbo Pascal''

                                             Ю.Федоренко

 

  1. “Алгоритмдеу және программалау негіздерін оқыту”

                                                  Б.Д.Сыдықов

 

  1. “Паскаль тілінің негіздері”

                                                    Б.Нақысбек

                                                   Г.Қалықова

 

6. Интернет сайт  WWW.RAMBLER.RU

                

Информация о работе Сызықты және тармақты құрылымды алгоритмдерді программалау