Программная обработка структурных данных

Автор: Пользователь скрыл имя, 26 Апреля 2012 в 17:04, лабораторная работа

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

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

Содержание

1. ОРГАНИЗАЦИЯ ДАННЫХ В ВИДЕ МАССИВА. 3
1. 1. Описание конструкций языка, обеспечивающих обработку одномерного массива. 3
1.2. Условие задачи на обработку одномерного массива. 4
1.3. Программный код. 4
1.4. Результаты выполнения. 5
5
2. ОБРАБОТКА ЭКОНОМИЧЕСКОЙ ИНФОРМАЦИИ, ОРГАНИЗОВАННОЙ 6
В ВИДЕ МАССИВА ЗАПИСИ. 6
2.1. Описание конструкций языка, обеспечивающих обработку экономической информации. 6
Условие задачи на обработку экономической информации. 7
Программный код. 7
Результаты выполнения. 9
3. Постановка задач на обработку экономической информации с использованием массива записи. 9
3.1. Условие задачи. Имеется документ, содержащий информацию о стоимости поставки определенного вида продукции от поставщиков к потребителям. Строка документа содержит следующие реквизиты: 9
3.2. Программный код. 10
3.3. Результаты выполнения. 11
Используемая литература: 12

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

Программная обработка структурных данных.doc

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

Московский  Государственный институт Экономики, Статистики и Информатики. 
 
 
 
 
 
 
 
 
 
 
 

Лабораторная  работа №2

“Программная обработка структурных данных”. 
 
 
 
 
 
 
 
 
 

Москва

                2010г.

СОДЕРЖАНИЕ. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

1. ОРГАНИЗАЦИЯ ДАННЫХ В ВИДЕ МАССИВА.

1. 1. Описание конструкций языка, обеспечивающих обработку одномерного массива.

      Под массивом понимается упорядоченная совокупность однотипных элементов в оперативной памяти. Все элементы массива имеют одно имя, обращение к элементам массива осуществляется с помощью индексов. Индексы могут задаваться в виде констант, переменных или арифметических выражений. Каждому элементу массива ставятся в соответствие один или несколько индексов. Если указывается несколько индексов, то индексы разделяются запятой. Если для обращения к элементам массива использовать один индекс. То массив называется одномерным, если два – то двумерным.

      Тип массива может быть определен  в разделе TYPE. При задании типа должен быть определен диапазон значений и тип элементов массива. Диапазон значений индексов содержит максимальное и минимальное значения, разделенные двумя точками. Границы диапазона задаются в виде циклических констант. Использование переменных для задания границ диапазона не допускается. Допускается задание отрицательного значения индекса.

      Для выделения оперативной памяти для элементов массива требуется задать описание массива в разделе VAR. Описание массива выполняется в соответствии с следующим списком:

<список имен массива>:<тип>;

При описании массива может быть использовано задание типа, определенного в  разделе TYPE.

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

Read(A[I]);

1.2. Условие задачи на обработку одномерного массива.

      Создать программный проект, обеспечивающий обработку одномерного числового массива. Программный код должен обеспечить выполнение следующих действий:

  1. Ввод элементов массива.
  2. Определение местоположения (координаты) максимального элемента в массиве. Если несколько элементов имеют одинаковое максимальное значение, то выдаются координаты всех максимальных элементов.

1.3. Программный код.

Program Lab2;

Var

  L,K,Max:Integer;

  D:Array [1..100] of Integer;

Begin

  Writeln('Введите количество элементов в массиве');

  Readln(K);

  Writeln('Введите массив');

  Writeln;

  For L:=1 To K Do

  Begin

   Writeln('Введите элемент массива под номером ',L);

   Readln(D[L]);

  End;

  Write('Массив: ',' ');

  For L:=1 To K Do

   Write(D[L],' ');

  Max:=D[1];

  For L:=2 To K Do

   If Max<D[L] Then

   Max:=D[L];

   Writeln;

  Writeln('Координаты максимальных элементов');

  For L:=1 To K Do

   If D[L]=Max Then

   Writeln(L);

   Readln;

  End.

1.4. Результаты выполнения.

 
2. ОБРАБОТКА ЭКОНОМИЧЕСКОЙ ИНФОРМАЦИИ,  ОРГАНИЗОВАННОЙ

В ВИДЕ МАССИВА ЗАПИСИ.

2.1. Описание конструкций языка, обеспечивающих обработку экономической информации.

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

      Идентификатор в пределах записи должен быть уникален. Для обращения к отдельным элементам записи указываются составные имена. Составное имя состоит из имени записи, после которого ставится точка и записывается идентификатор элементов записи: PotrM.Date. Использование записей позволяет объединять в единое целое совокупность логически связанных реквизитов документов. В программной системе Pascal для описания структурных взаимосвязей различных реквизитов предназначено утверждение Record, которое описывается в разделе TYPE:

<имя структуры>=Record

<имя элемента>:<тип>;

[<имя элемента>:<тип>;]

End;

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

Особенности обработки экономической  информации, организованной в виде массива записи.

<имя  массива>[значение индекса]

<имя реквизита>

     В многострочных документах в виде элементов массива записи представлена каждая строка документа. Фактически используемое количество элементов массива будет соответствовать числу введенных строк многострочного документа.

      Для  обращения к реквизитам документа  используется конструкция:

PotrM[2].Date

 

    1. Условие задачи на обработку экономической информации.

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

  1. Поставщик. Реквизит представлен в виде символьной строки длиной в 20 символов.
  2. Пункт назначения. Реквизит представлен в виде символьной строки длиной в 20 символов.
  3. Название товара. Реквизит представлен в виде символьной строки длиной в 20 символов.
  4. Количество. Реквизит представлен в виде числа, не имеющего дробной части.
  5. Цена. Реквизит представлен в виде числа. Имеющего дробную часть.

    Требуется разработать программный код, обеспечивающий расчет общей суммы по всем товарам, имеющимся в накладной. Сумма по каждому из товаров определяется как произведение количества товара на цену товара.

    1. Программный код.

program Lab2_2;

Type

  T_TIN=Record

  Post:String[20];

  PynktN:String[20];

  NazvTov:String[20];

  Kolich:Integer;

  Cena:Real;

End;

  T_Array_TIN=Array[1..40] of T_TIN;

Var

  TIN:T_Array_TIN;

  N,I:Integer;

  Sum:Real;

Begin

  Writeln('Введите количество записей');

  Readln(N);

  Writeln('Введите документ');

  For I:=1 to N do

Begin

  Writeln('Код поставщика');

  Readln(TIN[I].Post);

  Writeln('Пункт назначения');

  Readln(TIN[I].PynktN);

  Writeln('Название товара');

  Readln(TIN[I].NazvTov);

  Writeln('Количество');

  Readln(TIN[I].Kolich);

  Writeln('Цена товара');

  Readln(TIN[I].Cena);

End;

  Sum:=0;

  For I:=1 to N do

  Sum:=Sum+TIN[I].Kolich*TIN[I].Cena;

  Writeln('Сумма',Sum:8:2);

  Readln;

End.

    1. Результаты  выполнения.

3. Постановка задач  на обработку экономической информации с использованием массива записи.

3.1. Условие задачи. Имеется документ, содержащий информацию о стоимости поставки определенного вида продукции от поставщиков к потребителям. Строка документа содержит следующие реквизиты:

  1. Код продукции. Реквизит представлен в виде символьной строки длиной в 10 символов.
  2. Код поставщика продукции. Реквизит представлен в виде символьной строки длиной в 20 символов.
  3. Код потребителя. Реквизит представлен в виде символьной строки длиной в 20 символов.
  4. Сумма поставленной продукции. Реквизит представлен в виде числа, имеющего дробную часть.

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

 

3.2. Программный код.

 

program Lab2_3; 

Type

TStPost=Record

Prod:String[10];

Post:String[20];

Potr:String[20];

Sum:Real;

end;

T_Array_TStPost=Array[1..40] of TStPost;

Var

StPost:T_Array_TStPost;

N,I:integer;

Max:real;

MaxPost:String[20];

begin

Writeln('Введите количество записей');

Readln(N);

Writeln('Введите документ');

For I:=1 to N do

begin

  Writeln('Введите код продукции');

  Readln(StPost[I].Prod);

  Writeln('Введите код поставщика');

  Readln(StPost[I].Post);

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

  Readln(StPost[I].Potr);

  Writeln('Введите сумму поставленной продукции');

  Readln(StPost[I].Sum);

end;

Max:=-MaxInt;

For I:=1 to N do

If StPost[I].Sum>Max then

begin

  Max:=StPost[I].Sum;

  MaxPost:=StPost[I].Post;

end;

Writeln('Поставщик ',MaxPost);

Readln;

end.

3.3. Результаты выполнения.

 
 
 
 
 
 
 
 
 
 

Используемая  литература:

  1. Калмыкова О.В. Основы алгоритмизации и программирования. – М.: МЭСИ, 2006. – 228с.
  2. Малахина М.П. Программирование на высоком уровне. – СПб.: БВХ – Петербург, 2006. – 544с.

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