У вас вопросы?
У нас ответы:) SamZan.net

темах автоматизации управления офисных системах проектирования и моделирования

Работа добавлена на сайт samzan.net: 2016-03-30

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 6.4.2025

Общая характеристика задач обработки файлов.

Файлы - одна из наиболее используемых структур данных в системах автоматизации управления (офисных системах), проектирования и моделирования. В этих системах файлы часто являются не только средством долговременного хранения данных, но и средством связи между различными процессами обработки данных (связь по данным). Файлы, объединенные по функциональному или иному принципу, составляют интегрированную базу данных, информация которой может быть доступна одной или нескольким системам обработки данных.

Практика создания и использования систем обработки файлов данных накопила в настоящее время солидный опыт и определила некоторые базисные задачи для таких систем, а также эффективные методы их алгоритмизации. Это достаточно обширная область, выходящая за рамки основ программирования. Введение в типовые задачи обработки файлов данных. К числу таких задач мы отнесли:

создание файла, т.е. ввод данных в новый или в существующий файл;

анализ файла, т.е. просмотр (чтение) всего содержимого файла и вычисление некоторых интегральных характеристик или показателей этого содержимого;

сортировка файла, предполагающая упорядочение записей файла по заданному логическому критерию, зависящему от содержания записей;

коррекция файла, т.е. изменение содержимого файла либо путем обновления записей, либо коррекции по некоторым глобальным критериям (удаление "лишних" записей);

поиск и выборка данных по некоторым логическим критериям содержимого записей файла;

печать файла, т.е. вывод файла на принтер или на экран в заданном формате размещения информации из записей файла;

Создание файла данных - важнейшая процедура, с которой обычно начинается цикл обработки данных. Она предполагает добавление исходных данных в пустой файл или в уже созданный ранее файл. Исходные данные могут вводиться с различных носителей (в том числе с клавиатуры). Типичной проблемой при вводе исходных данных является контроль возможных ошибок (как синтаксических, таких как соответствие формату или шаблону, так и семантических, связанных со значениями данных). Турбо Паскаль предоставляет для текстовых и типизированных файлов простые средства, как создания нового файла, так и добавления записей в уже существующий файл, а также проверки существования файла или возможности открытия нового файла на указанном носителе.

Следующий пример программы иллюстрирует простой алгоритм создания типизированного файла с некоторыми процедурами контроля.

program create_file; {Создание файла данных о группе студентов}

       uses CRT;

       type stud =record num:byte;name:string[16];average:real end;

                gr_st=file of stud;{типизированный файл записей}

       var gr:gr_st{файл группы студентов}; st:stud{запись о студенте};

             nm:string{имя исходного файла}; s:char{признак Y/N};

             numb:integer{число записей в файле nm};

 BEGIN    clrscr;  repeat write('Имя файла: ');readln(nm);

               if nm='' then halt;assign(gr,nm);s:='Y';

              {$I-}reset(gr);{$I+} if IOResult<>0 then

                    begin write('Открыть новый файл ', nm, '?(Y/N)');

               readln(s); if upcase(s)='Y' then

               begin {$I-}rewrite(gr);{$I+} if IOResult<>0 then

                      begin writeln('Диск недоступен!');nm:= '' end;

               end                                   else nm:='';

                    end until nm<>'';numb:=0;if upcase(s)='Y' then

                        begin seek(gr,filesize(gr));numb:=filesize(gr) end;

           writeln('Всего записей в файле:',numb, '. Введите очередную запись:');

           with st do repeat repeat writeln('Фамилия,инициалы ','Cредний балл');

              readln(name,average);if(average<2)or(average>5) then

              writeln('Ошибка! Повторите ввод последней записи');

           until(average>=2)and(average<=5);inc(numb);num:=numb; write(gr,st);write('Ввод следующей записи?(y/n)');readln(s);

                    until upcase(s)<>'Y';close(gr);if numb=0 then erase(gr);

        {Конец цикла записи}writeln('Всего записей в файле ',nm,' ',numb);

END {create_file}.

Если все точки плоскости, заданные своими координатами, попадают в круг с радиусом R и центром в начале координат, определить их среднюю абсциссу и ординату, иначе распечатать номера точек, не попавших в заданый круг.

Unit Z433_10;

interface

Const n = 5;

Type mass = array[1..n] of real;

function InArea(X,Y:mass; R:real):boolean;

{возвращает true, если все точки попали в круг радиусом R}

procedure SrZnach(A:mass; Var s:real);

{Вычисляет среднее значение массива A}

procedure PrintNum(X,Y:mass; R:real);

{Печатает номера точек, не попавших в круг радиусом R}

implementation

function InArea(X,Y:mass; R:real):boolean;

Var i:integer;

   b:boolean;

Begin

b := true;

i := 0;

repeat i := i + 1;

      if sqrt((sqr(X[i]) + sqr(Y[i]))) > R then b := false

until (not b) or (i >= n);

InArea := b;

end;  {InArea}

procedure SrZnach(A:mass; Var s:real);

Var i:integer;

Begin

s := 0;

for i := 1 to n do

s := s + A[i];

s := s / n;

end;  {SrZnach}

procedure PrintNum(X,Y:mass; R:real);

Var i:integer;

Begin

for i := 1 to n do

if sqrt((sqr(X[i]) + sqr(Y[i]))) > R then write(i,' ');

end;  {PrintNum}

END.

program z433_10;

uses Z433_10;

Var X,Y:mass;

   i:integer;

   R,sx,sy:real;

BEGIN

for i := 1 to n do

 Begin

 write('X: ');

 readln(X[i]);

 write('Y: ');

 readln(Y[i]);

 end;

write('R: ');

readln(R);

if InArea(X,Y,R) then

 Begin

 SrZnach(X,sx);

 SrZnach(Y,sy);

 writeln('A: ',sx,' O: ',sy)

 end

                else Begin

                     write('N: ');

                     PrintNum(X,Y,R);

                     end;

END.




1. Учёт и анализ фонда заработной платы
2. предохранитель разборный; НПН насыпной предохранитель неразборный; ПНР2 предохранитель насыпной раз
3. Красноярский государственный медицинский университет имени профессора В1
4. Контрольная работа- Історія розвитку юридичної психології та структура злочинних груп
5. Статья- Обзор позднекайнозойских пресмыкающихся Башкирии
6. ТЕМА МЕТОДЫ ПЕДАГОГИЧЕСКИХ ИССЛЕДОВАНИЙ ЗАДАНИЕ N 1 Анкеты бывают
7. україни Київської держави але все ж лишилося живим в Україні центральній а згодом перейшло і в Волинь де з
8. Традиционный театр Японии
9. відродження свідчить про бажання людини повернути щось втрачене віднайти в минулому відповіді на суттєві
10. Введение8