Смекни!
smekni.com

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

Министерство обраразования

Российской Федерации

Московский государственный университет

Экономики,статистики и информатики

(МЭСИ)

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

По теме

« Программная обработка

Структурных данных »

Проверил: Смирнов А.А

Оглавление

1. Организация данных в виде массива.

-Описание организации обработки массивов.

-Распечатка текстов программ и результатов выполнения.

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

-Описание организации обработки массивов записей.

-Распечатка текстов программ и результатов выполнения.

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

-Описание условия задачи.

-Распечатка текстов программ и результатов выполнения.

Работа состоит из частей:

Первая часть . «Организация данных в виде массива».

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

Во-первых ,ввод элементов массива;

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

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

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

-Во-первых , поставщик . Реквизит представлен в виде символьной строки длиной в 20 символов ;

-Во-вторых , пункт назначение .Реквизит представлен в виде символьной строки длиной в 20 символов ;

-В-третьих, название товара. .Реквизит представлен в виде символьной строки длиной в 20 символов ;

-В-четвертных ,количество . Реквизит представлен в виде числа ,не имеющего дробной в 20 символов

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

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

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

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

Первая часть.

«Организация данных в виде массива».

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

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

Для создания массива необходимо предварительно задать его диапазон значений и тип элементов .Это делает в разделе Type программного кода , причем оператор выглядит следующим образом :[<1> =Array [1..N1, 1 .. N2 ...] of <2>,где <1> -название типа массива , N1,2…-размеры массива по данному измерению , <2> - тип элементов массива.

Для выделения оперативной памяти для элементов массива требуется задать описание массива в разделе Var.

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

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

Program max ;

{$APPTYPE CONSOLE}

Uses

SysUtils;

var

A: array[1..30] of integer;

m ,n ,i : integer;

begin

writeln (‘vvedite kol-vo elementov ‘);

readln (n);

writeln (‘vvedite massiv’);

for i:=1 to n do

readln (A[i]);

m :=-maxint;

for I : =1 to n do

if A[i] >m then

m:=A[i];

writeln(‘koordinati’);

for I :=1 to n do

if A[i] =m then

writeln (I);

readln;

end.

Вторая часть .

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

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

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

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

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

program Project2;

{$APPTYPE CONSOLE}

uses

SysUtils;

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

{ TODO -oUser -cConsole Main : Insert code here }

writeln ('Vvedite kolichestvo zapicei ');

readln (N);

writeln ('Vvedite document');

For I:=1 to N do

begin

writeln ('Vvediteln kod prodykcii');

readln (StPost[I].Prod);

writeln ('kod postavshika prodykcii');

readln (StPost[I].Post);

writeln ('kod potrebileta prodykcii ');

readln (StPost[I].Potr);

writeln ('symma postavlennoi prodykcii ');

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 ('pstavshik ',MaxPost);

readln;

end.

Третья часть

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

Условие:

Имеется отчет о поступлении денег с разных городов на приобретение билетов в форме массива записей со следующими реквизитами:

Во –первых ,город ,откуда поступили деньги .Реквизит представлен в виде символьной строки длиной в 20 символов ;

Во-вторых ,ответственный ,принявший деньги . Реквизит представлен в виде символьной строки длиной в 20 символов ;

В-третьих ,имя сдавшего деньги . Реквизит представлен в виде символьной строки длиной в 20 символов ;

В-четвертых, количество билетов . Реквизит представлен в виде числа, не имеющего дробную часть.

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

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

Program econom;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Type

M_class=record

Imya : String [20];

Otvestv : String [20];

Gorod : String [20];

Kolichestvo :integer ;

Cena :real;

End;

M_Array_class=Array [1..40] of M_class;

Var

M :M_Array_class;

N,I,KolVo:integer ;

Sum ,Sum0,SrCena :real;

C_Imya : string[20];

Begin

Writeln (‘Vvdite kolichestvo zapicei’);

Readln (N);

Writeln (‘Vvdite document ‘);

For I:=1 to N do

Begin

Writeln (‘Imya’);

Readln (M[I].Imya);

Writeln (‘gorod’);

Readln (M [I].Gorod);

Writeln (‘Otvetstvennij’);

Readln ( [I].Otvetstv);

Writeln (‘Kolichestvo’);

Readln (M [I].Kolichestvo);

Writeln (‘Cena bileta’);

Readln (M [I].Cena);

End;

Writeln (‘Zdaite imya’);

Readln (C_Imya);

Sum :=0;

KolVo :=0;

SrCena :=0;

For I :=1 to N do

Begin

KolVo :=KolVo +M[I].Kolichestvo;

SrCena := SrCena +M[I].Cena;

If M[I].Imya=C_Imya then

Sum := Sum +M[I].Kolichestvo*M[I].Cena;

End;

Sum0 :=KolVo *SrCena;

Writeln (‘summa ‘,Sum:8:2);

Readln;

End.