Обработка результатов измерений теодолитного хода на персональном компьютере, страница 9

Программа на языке Паскаль:

program VisXod;                                 {Раздел описаний}

uses crt;

var

    Table:array[1..6,1..7] of real;

    x,y,Dir: real;

    n,i,j: integer;

    dat,cord:text;

BEGIN

 clrscr;

 assign (dat,'dat.txt');                         {Связь текстовой переменной с файлом}

 reset (dat);                                    {Файл dat.txt открывается для чтения}

 assign (cord,'cord.txt');                        {Создаётся файл cord.txt для последующей записи в него данных}

 rewrite (cord);

 readln (dat,n);                                 {Считывание данных из файла}

 for i:=1 to n do                                {их запись в массив Table[6x7]}

  begin                                          {Перевод угловых мер в десятичную систему}

   readln (dat,Dir,x,y,Table[i,3]);              {Переменные Dir,x,y используются сперва}

   Table[i,1]:=Dir+x/60                   {для перевода углов в десятичную систему,}

  end;                                           {затем им присваиваются значения дирекционного. угла и координат начальной точки хода}

  readln (dat,Dir,x,y);

  Dir:=Dir+x/60;

  readln (dat,x,y);

 Table[1,2]:= Dir - Table [1,1] + 180;            {Вычисление дирекционных углов}

  for i:=2 to 6 do

   Table[i,2]:= Table [i-1,2]-Table[i,1]+180;

 for i:=1 to 6 do                                 {Приведение дирекционных углов}

  if Table[i,4]>360 then

   Table[i,2]:=Table[i,2]-360;

 Table[1,4]:=Table [1,3]*cos(Dir*3.14/180);       {Вычисление приращений}

 for i:=2 to 6 do

  Table[i,4]:= Table [i,3]*cos(Table [i-1,2]*3.14/180);

 Table[1,5]:=Table [1,3]*sin(Dir*3.14/180);

 for i:=2 to 6 do

  Table[i,5]:= Table [i,3]*sin(Table [i-1,2]*3.14/180);

 Table[1,6]:=x+Table[1,4];                       {Вычисление координат промежуточных точек хода}

 Table[1,7]:=y+Table[1,5];

 for i:=2 to 6 do

  begin

   Table[i,6]:=Table[i-1,6]+Table[i,4];

   Table[i,7]:=Table[i-1,7]+Table[i,5]

  end;

                                                   {Запись вычисленных координат в файл}

 for i:= 1 to n do

  begin

   for j:= 6 to 7 do

    write (cord,Table[i,j]:8:3,'  ');

   writeln(cord);

   writeln(cord)

  end;

 close(dat);                                        {Закрытие файлов dat.txt и cord.txt}

 close(cord)

END.

Исходные данные:

6

103  21.37  167.56

161  37.63  137.8

86   42.25  108.88

183  38.00  97.07

100  16.17  158.44

135  24.87  152.8

339  3.05

570.68  292.31

Х                    У

570,68          292,31

726,98          231,92

804,70          345,71

834,66          450,39

739,97          450,39

587,94          516,38

519,37          379,83


ВЫВОДЫ

          Обработка теодолитного хода может производиться с использованием компьютера в вычислительной и  изобразительной частях расчета. Программа на языке программирования Паскаль является реализацией цикла табулирования, типичной задачей курса информатики. Применение электронных таблиц Micrsoft Exel, благодаря большому количеству встроенных функций, значительно ускоряет и позволяет не только производить расчеты, но и получать электронное изображение теодолитного хода.

Выполнение этих действий полностью подготовлено содержанием курса <<Информатика>>, изучавшегося в I и II семестрах.