Программирование на языках высокого уровня "Стипендия"

Автор: Пользователь скрыл имя, 13 Декабря 2012 в 12:20, курсовая работа

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

Современная вычислительная техника позволяет решать большое количество различных задач. Пожалуй, наиболее важным применением ЭВМ стало хранение информации. Удобные и разнообразные средства для этой цели предоставляют технологии баз данных и информационно-справочных систем. Целью данной курсовой работы является приобретение опыта алгоритмизации, конструирования, практической реализации программ и широкого применения ЭВМ, на примере программирования информационно-справочной системы. В качестве языка программирования выбран язык TURBO PASCAL, изучаемый на занятиях по дисциплине “Программирование на языках высокого уровня”.

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

Пояснительная Записка.doc

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

        then

          begin

            EquelString:=false;

            exit;

          end

        else if (parStr1[i] < parStr2[i]) then

        begin

          EquelString := true;

          Exit;

        end;

      end;

  end;

 

Procedure SortHelpArray(var parMasSort:sortArray;

                        parCount:integer;

                        parVariantSort:integer);

  var

    i,j:integer;

    promLine:sort;

  begin

    if (parVariantSort=1)

    then

    begin

      for i:=1 to parCount-1 do

        for j:=i+1 to parCount do

          if not EquelString(parMasSort[i].nameSort,parMasSort[j].nameSort)

          then

            begin

              promLine:=parMasSort[i];

              parMasSort[i]:=parMasSort[j];

              parMasSort[j]:=promLine;

            end;

    end

    else

    if (parVariantSort=2)

    then

      for i:=1 to parCount-1 do

        for j:=i+1 to parCount do

          if EquelString(parMasSort[i].nameSort,parMasSort[j].nameSort)

          then

            begin

              promLine:=parMasSort[i];

              parMasSort[i]:=parMasSort[j];

              parMasSort[j]:=promLine;

            end;

  end;

 

 

function Sorttablic1(parNameFile:string;parVariantSort:integer):string;

  var

 

    myAnketa,sortFile:file of stud;

    oneMan:stud;

    i,sizeFile:integer;

    oneLine:sort;

    masSort:sortArray;

  begin

    TextBackGround(11);

    clrscr;

    assign(myAnketa,parNameFile);

    reset(myAnketa);

    sizeFile:=FileSize(myAnketa);

    for i:=1 to sizeFile do

      begin

        read(myAnketa,oneMan);

        with oneMan,oneLine do

          begin

            IdSort:=i;

            nameSort:=fam;

          end;

        masSort[i]:=oneLine;

      end;

    SortHelpArray(masSort,sizeFile,parVariantSort);

    seek(myAnketa,0);

    assign(sortFile,'studBD.txt');

    rewrite(sortFile);

    for i:=1 to sizeFile do

      begin

        seek(myAnketa,masSort[i].idSort-1);

        read(myAnketa,oneMan);

        write(sortFile,oneMan);

      end;

    close(myAnketa);

    close(sortFile);

    sorttablic1:='studBD.txt';

  end;

 

function Sorttablic2(parNameFile:string;parVariantSort:integer):string;

  var

 

    myAnketa,sortFile:file of st;

    oneMan:st;

    i,sizeFile:integer;

    oneLine:sort;

    masSort:sortArray;

  begin

    TextBackGround(11);

    clrscr;

    assign(myAnketa,parNameFile);

    reset(myAnketa);

    sizeFile:=FileSize(myAnketa);

    for i:=1 to sizeFile do

      begin

        read(myAnketa,oneMan);

        with oneMan,oneLine do

          begin

            IdSort:=i;

            nameSort:=fam;

          end;

        masSort[i]:=oneLine;

      end;

    SortHelpArray(masSort,sizeFile,parVariantSort);

    seek(myAnketa,0);

    assign(sortFile,'stBD.txt');

    rewrite(sortFile);

    for i:=1 to sizeFile do

      begin

        seek(myAnketa,masSort[i].idSort-1);

        read(myAnketa,oneMan);

        write(sortFile,oneMan);

      end;

    close(myAnketa);

    close(sortFile);

    sorttablic2:='stBD.txt';

  end;

end.

 

{****************************************************************************}

{ *                        Модуль PS  вспомогательный модуль к основной программе                   *}

{*                         предназначен для прорисовки меню выбора сортировки                           *}

{****************************************************************************}

 

Unit PS;

interface

  uses poiskovik,hat,crt;

  var i:integer;

      key:char;

  Procedure Search;

  Procedure Search2;

implementation

  Procedure Search;

   begin

      clrscr;

      textbackground(11);

      i:=1;

        repeat

  clrscr;

  textbackground(11);

  TextColor(0);

  gotoXY(43,10);

  Writeln('ВЫБЕРИТЕ ');

          gotoXY(38,11);

          Writeln('МЕТОД СОРТИРОВКИ');

          TextColor(0);

          textbackground(7);

          gotoXY(2,25);

          Write('             ',#24,'- Вверх          ');

          Write('    ',#25,' - Вниз           ');

          Write('Enter - Выбор          ');

          repeat

            if (Key=#80) then i:=i+1;    {переход вниз}

            if (Key=#72) then i:=i-1;    {переход вверх}

            if (i=5) then i:=1;          {переход с последней на первую строку}

            if (i=0) then i:=3;          {переход с первой на последнюю  строку}

        case i of

             1: begin

                 textbackground(14);

                 textcolor(0);                   {первое положение}

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке ');

                 textbackground(7);

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 gotoXY(33,15);

                 Writeln('            Выход            ');

                end;

             2: begin                   {второе положение}

                 textbackground(7);

                 textcolor(0);

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке ');

                 textbackground(14);

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 gotoXY(33,15);

                 textbackground(7);

                 Writeln('            Выход            ');

               end;

             3: begin                   {третье положение}

                 textbackground(7);

                 textcolor(0);

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке ');

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 textbackground(14);

                 gotoXY(33,15);

                 Writeln('            Выход            ');

                 textbackground(7);

               end;

        end;

          TextColor(0);

          key:=readkey;              {нажатие клавиши}

        until (Key=#13);

       case i of

          1: begin

                    FileName:=Sorttablic1('studentinf.txt',1);

                    shap1(filename);

                    readkey;

             end;

          2:begin

                    FileName:=Sorttablic1('studentinf.txt',2);

                    shap1(filename);

                    readkey;

            end;

        end;

       until i=3;

      end;

 

 

  Procedure Search2;

    begin

      clrscr;

      textbackground(11);

      i:=1;

        repeat

  clrscr;

  textbackground(11);

  TextColor(0);

  gotoXY(43,10);

  Writeln('ВЫБЕРИТЕ ');

          gotoXY(38,11);

          Writeln('МЕТОД СОРТИРОВКИ');

          TextColor(0);

          textbackground(7);

          gotoXY(2,25);

          Write('             ',#24,'- Вверх          ');

          Write('    ',#25,' - Вниз           ');

          Write('Enter - Выбор          ');

          repeat

            if (Key=#80) then i:=i+1;    {переход вниз}

            if (Key=#72) then i:=i-1;    {переход вверх}

            if (i=5) then i:=1;          {переход с последней на первую строку}

            if (i=0) then i:=3;          {переход с первой на последнюю строку}

        case i of

             1: begin

                 textbackground(14);

                 textcolor(0);                   {первое положение}

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке ');

                 textbackground(7);

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 gotoXY(33,15);

                 Writeln('            Выход            ');

                end;

             2: begin                   {второе положение}

                 textbackground(7);

                 textcolor(0);

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке  ');

                 textbackground(14);

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 gotoXY(33,15);

                 textbackground(7);

                 Writeln('            Выход            ');

               end;

             3: begin                   {третье положение}

                 textbackground(7);

                 textcolor(0);

                 gotoXY(33,13);

                 Writeln(' В прямом алфавитном порядке  ');

                 gotoXY(33,14);

                 Writeln('В обратном алфавитном порядке');

                 textbackground(14);

                 gotoXY(33,15);

                 Writeln('            Выход            ');

                 textbackground(7);

               end;

        end;

          TextColor(0);

          key:=readkey;              {нажатие клавиши}

        until (Key=#13);

       case i of

          1: begin

                    FileName:=Sorttablic2('stip.txt',1);

                    shap2(filename);

                    readkey;

             end;

          2:begin

                    FileName:=Sorttablic2('stip.txt',2);

                    shap2(filename);

                    readkey;

            end;

        end;

       until i=3;

      end;

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАКЛЮЧЕНИЕ.

 

Написание данной курсовой работы помогло глубже разобраться в особенностях языка Паскаль, лучше ознакомиться со структурными методами программирования, понять необходимость составления блок-схемы перед написанием программы.

Конечно, для первоначального  ознакомления с каким-либо языком программирования, в том числе и с Borland Pascal 7.0, просто необходимо изучить теорию. В этом естественно помогает тематическая литература, лекции дают определенные ориентиры. Но для овладения языком просто необходима практика. Лабораторные занятия развивают определенные практические навыки, но более широко изучить возможности языка позволяет курсовой проект.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                              Список литературы

 

 

  1. Конструирование программ: Методические указания к курсовой работе/Рязан. радиотехн. ин-т; Сост.: В.С. Новичков, О.Г. Швечкова. Рязань, 1992. №2133.
  2. Алгоритмические языки и программирование: Методические указа-ния к курсовой работе/ Рязан. гос. радиотехн. акад.; Сост.: В.С. Новичков, А.Н. Пылькин. Рязань, 2002. 32 с. №3269.
  3. “Языки Паскаль”. М., Высшая школа. Новичков В. С., Парфилова Н. И., Пылькин А. Н. 1994.
  4. Турбо Паскаль 7.0. Фаронов В.В.  – М: Издательство “Нолидж ”, 2001.

 



Информация о работе Программирование на языках высокого уровня "Стипендия"