Мәтіндік файлға мәліметтер жазу және оқу

Автор работы: Пользователь скрыл имя, 31 Января 2013 в 13:25, реферат

Описание

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

Содержание

КІРІСПЕ...................................................................................................................3
І. БІР ӨЛШЕМДІ МАССИВКЕ СИПАТТАМА
1.1. Массив туралы жалпы түсінік...............................................................5
1.2. Бір өлшемді массив................................................................................8
ІІ. ЕКІ ӨЛШЕМДІ МАССИВТІҢ ПРОГРАММАЛАУДА ҚОЛДАНЫЛУЫ
2.1. Екі өлшемді массив.............................................................................14
2.2. Мәтіндік файлға мәліметтер жазу және оқу......................................15
2.3. Массивтерді сорттау және іздеу........................................................22
2.4. Масссив элементтерін пайдалана отырып есептер шығару............24
ҚОРЫТЫНДЫ......................................................................................................29
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР..................................................................31

Работа состоит из  1 файл

Массивтер).doc

— 205.00 Кб (Скачать документ)

     reset(Fileln);

                  readln(Fileln,Sanau);

                       for i:=1 to Sanau do

                           read(Fileln,San[i]);

     close(Fileln);

                                                     end;

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

procedure lnit;

                                                     var

                                                     i,j:byte;

                                                    {айнымалы атауын мәтiндiк файл түрiнде сипаттау}

                                                    Fileln  :text;

                                                    begin

                                                   {айнымалыны нақтылы файл атымен байланыстыру}

                                                   assing(Fileln,`mayFile5.in`);

                                                  {файлды оқуға ашу}

                                                 reset(File);

                                                 {массив өлшемдерiн оқу, курсорды жаңа жолға көшiру}

                                                 readln(Fileln,JolSany,BaganSany);

                                                 {массив элементтерiн жол және баған бойынша оқу}

                                                 for:=1 to JolSany do

                                             read(Fileln,San[i,j]);

                                            {файлды жабу}

                                            close(Fileln);

                                            end;

Мынаған көңіл  аударыңыз, массив элементтерін оқу  кезінде, Readln() процедурасын қолданбай, тек қана Read() процедурасы қолданылды. Бұл мүмкін еді, себебі массив элементтерін оқу үшін оның өлшемдері алдын  ала белгілі болды. Егер мәтіндік файлдағы элементтер жазбалар саны алдын ала белгісіз болса, онда қайталану саны белгісіз цикл операторларын қолдануға тура келеді.

Тапсырма

  1. Бір өлшемді массивті құрайтын `MayFile.in` файлынан мәліметтерді оқып, оларды компьютер экранына шығаратын программа жазыңыз және оны `MayFile6.pas` атымен сақтаңыз.
  2. Екі өлшемді массивті құрайтын  `MayFile5.in` файлынан мәліметтерді оқып, оларды компьютер экранына программа жазып және оны  `MayFile7.ipas` атымен сақтаңыз.
  3. MayFile6.pas` программасын пайдаланып, `MayFile2.in` файлынан мәліметерді оқыңыз. Алынған нәтижені  1 тапсырма нәтижесімен салыстырыңыз. Нәтижені түсіндіріңіз.
  4. BP мәтіндік редакторын пайдаланып  `MayFile1.in`,  `MayFile2.in` және  `MayFile5.in` файлдарындағы массив өлшемдерін немесе жазбалар саные көрсететін жолды алып тастаңыз.

 

  • 2.3. Массивтерді сорттау және  іздеу
  • Қолданбалы программаларда массивтерге байланысты операциялардың екі түрі кездеседі:

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

    Массивтерді сорттаудың қарапайым вариантын қарастырып көрелік (таңдап сорттау). n элементті массив болсын дерлік; ең алдымен оның ішінен элементтер арасынан 2,3,...n нөмірлі кішілерін тауып аламыз да, бірінші элементпен орнын ауыстырамыз, соңынан 3,4,...n нөмірлі элементтер ішінен кішісін тауып алып, екіншісімен ауыстырамыз және т.с.с. Нәтижесінде біздің массив өсу деңгейіне қарай өздігінен сортталған болып шығады.

    program SelectSort;

    const n = 10;

    var a: array [1..n] of integer;

        i,j,jmin,buf: integer;

        {jmin – ең кіші элемент номері,

         buf екі элемент мағыналарын өзгерткенде пайда болады}

    begin

      for i:=1 to 10 do begin

        write(' элемент номерін енгізу ',i,' -> ');

        readln(a[i]);

      end;

      for i:=1 to n-1 do begin

        jmin:=i;

        for j:=i+1 to n do

          if a[j]<jmin then jmin:=j;

          buf:=a[i];

          a[i]:=a[jmin];

          a[jmin]:=buf;

      end;

     

      write('Нәтиже: ');

      for i:=1 to 10 do write(a[i],' ');

      readln;

    end.

    Енді басқа  әдісті қарастырып көрелік — көбікті сорттау, ол алдыңғы әдіске қарағанда жылдамырақ жұмыс істейтін болады. Алғашқы этапта біз n-ші элементтен бастап 2-шіге дейін қозғалатын боламыз және оның әрқайсысын алдыңғысынан кіші ме деп тексереміз; егер кіші болса, онда соңғысын алдыңғысымен ауыстыра саламыз. Нәтижесінде алғашқы элемент массивтегі ең кішісі болады. Екінші этапта сондай-ақ n-ші элементтен 3-ге дейін жүреміз, үшіншісінде — n-шіден 4-ге,дейін және осылай жалғаса береді. Қорытындысында массив өсу ретіне қарай сортталған болып шығатынын байқаймыз.

    program BubbleSort;

    ...

    var i,j: integer;

        buf: integer;

    begin

      ...

      for i:=2 to n do

        for j:=n downto i do

          if a[j]<a[j-1] then begin

            buf:=a[j];

            a[j]:=a[j-1];

            a[j-1]:=buf;

          end;

    end.

     

       2.4. Масссив  элементтерін пайдалана отырып  есептер шығару

    А) массив элементтерінің қосындысын мен көбейтіндісін табу:

     

    PROGRAM Massiv 1;

    CONST N=5;

    Type Mas =Array[1…N] Of Integer;

    VAR A,B:Mas;   S,P,K: Integer;

    PROCEDURE Inp (N:Integer; Var X: Mas);

    Begin For K:=1 To N Do Read (X[K]); End;

    PROCEDURE Out (N: Integer; VAR X: Mas; VAR S,P:Integer);

    BEGIN S:=0; P:=1;

    For K:=1 To N Do Begin S:=S+X[K];

    P:=P*X[K] End End;

    BEGIN Inp (N,A); Out (N,A,S,P);  (негізгі программа)

    Writeln (‘қосындысы=’,S); Writeln (‘Көбейтінді’,P);

    Inp (N,B); Out (N,B,S,P);  (‘қосындысы=’,S);

    Writeln (‘Көбейтінді’,P);

    Readln END.

     

    Ә) массив элементтерінің қосындысын мен көбейтіндісін табу процедурасын параметрсіз құру:

     

    PROGRAM Massiv 2;

    CONST N=5;

    VAR X,A,B:Array; [1…N] Of Integer; S,P,K: Integer;

    PROCEDURE Inp

    Begin For K:=1 To N Do Read (X[K]); Writeln End;

    PROCEDURE Out

    BEGIN S:=0; P:=1;  For K:=1 To N

    Begin  S:=S+X[K]; P:=P*X[K] End End;

    BEGIN Inp Out;  (негізгі программа)

    Writeln (‘қосындысы=’,S); Writeln (‘Көбейтінді’,P);

    Inp; Out;

    Writeln (‘қосындысы=’,S); (‘Көбейтінді’,P);

    Readln END

     

    Б) массив элементерінің  қосындысын табу программасын парольмен  ашылатындай етіп құру

     

    PROGRAM Proce 11;

    LABEL 1;

    VAR N:Longint; K:Integer;

    PROCEDURE Parol;

    Begin Writeln(‘пароль дұрыс емес қайтадан еңгізіңіз:’);

    Readln(N); If K=3 Then Halt; K:=K+1; End;

    PROCEDURE Mas;

    CONST A: Array[1..5] Of Integer=(15,150,-80,50,60);

    VAR S:Integer;

    Begin S:=0;

    For K:=1 To 5 Do S:=S+A[K];

    Writeln (‘S=’, S) End;

    BEGIN K:=1;  (негізгі программа)

    Writeln (‘пароль еңгізіңіз:’); Readln (N);

    1:IF N < > 123456 Then Begin Parol; Goto 1 End;

    Mas; Readln END.

     

    В) Массивтің теріс  элементтерінің қосындысын шығару.

          ' PROGRAM PR1;

          CONST N=20;

          VAR K:INTEGER;X:ARRAY [1..N] OF REAL;

                      S:REAL;

          BEGIN FOR K:=1 TO N DO REFD (X[K]);

          S:=0;     FOR K:=1 TO N DO IF X [K]<0

          THEN S:=S+X [K];

          WRITELN (Теріс элементтер ќосындысы',S:7:2); END.

     

     

     

     

     

     

     

     

    ҚОРЫТЫНДЫ

     

            Курстық жұмысты жазу барысында Turbo Pascal бағдарламасымен жұмыс жасауда мол тәжірбиеге ие болдым. Turbo Pascal - дағы масивтермен жұмыс істеуді және қойылған мaқcaтты шешу, шарттарды жазуды,  жөңдеуді, мәтінді экранға шығару жолдарын үйрендім.

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

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

            Менің курстық жұмысымда массив және массив элементтері туралы жазылды. Сонымен қорытындылай келе, элементтерінің саны алдын-ала белгілі бір типті индексті айнымалылардың жиынтығын массив деп атайды. Массивтің типі күрделі болып табылады. Массивтерді бағдарламада қолдану үшін, оларға белгілі бір атау беріледі. Содан соң бағдарламаның VAR немесе TYPE ARRAY қызметші сөзімен сипаттап, компьютердің жадынан массив элементтеріне орын бөлінеді. Массивтердің жалпы жазылуы түрі мынадай болып келеді:

    TYPE «Массив атауы»= ARRAY[X1]OF X2;

    VAR «Массив атауы»:ARRAY[X1]OF X2;

    «Массив атауы»= массивті белгіленген идентификатор  Х, А, Маs т.б

        ARRAY- массив ұғымын білдіретін қызметші сөз болып табылады.                                      Қолданбалы программаларда массивтерге байланысты операциялардың екі түрі кездеседі:

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

     Кез-келген массив өсу ретіне қарай сортталған болып шығады.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР

     

    1. Абрамов В.Г., Трифонов Н.П. «Введение в язык Паскаль», М.. 1988 г.
    2. Абрамов С.А. «Задачи по программированию», М., Наука, 1988 г., 225с.
    3. Джехани Н. «Программирование на языке СИ++» М., Мир, 2000 г.
    4. Зубов В.С. «Программирование на языке Паскаль», М., 1997 г.
    5. Ким С.Т., Мырзаев Р.С., Электронный учебник «СИ и Паскаль», 2003 г.  
    6. Клинт Хикс «Руководство пользователя», Ин.лит., 2000 г.
    7. центр «МВТУ-ФЕСТО ДИДАКТИК», 1992 г.
    8. Культин Никита «Самоучитель. Программирование в Turbo Pascal 7.0 и Delphi», 2-е изд, перераб. и доп., СПб, БХВ-Петербург, 2002 г.–416 с.:ил.
    9. Марченко А.И., Л.А. Марченко «Программирование в среде Турбо Паскаль», пятое издание, базовый курс, Киев, «ВЕК+», 1999 – 464с.:ил.
    10. Перминов О.Н. «Программирование на языке Паскаль», М.. Машиностроение, 1986 г.
    11. Потоцский В.К. «Работаем на языке СИ», М., Наука, 2001 г.
    12. Подбельский В.В. «Язык СИ++», С-П, Питер, 2001 г.
    13. Романовская Л.М., Т.В. Русс, С.Г. Свитковский «Программирование в среде СИ», С-П., Питер Пресс, 2001 г.
    14. Светозарова Г. «Практикум по программированию на языке Бейсик», 1988 г.
    15.   Страуступ Б. «Языки программирования», М. Изд.ин.лит., 2000 г.
    16. Шаньгин В.Ф., Поддубная Л.М. «Программирование на языке Паскаль», М., Высшая школа, 1991 г.
    17. Уэйт М., С. Прата, Д. Мартин «Язык СИ», Изд.ин.лит., 2000г.
    18. Форсайт Р. «Паскаль для всех», М., Машиностроение, 1986 г.
    19. Фаронов В.В. «Основы Турбо-Паскаля» - М., Учебно-инженерный
    20. Фаронов В.В. «Турбо Паскаль 7.0. Практика программирования. Учебное пособие. Издание 7, перераб.» - М., Нолидж, издатель Молгачева С.В., 2001–416с.:ил.

     




    Информация о работе Мәтіндік файлға мәліметтер жазу және оқу