Лабораторная работа: Программная обработка структурных данных
Название: Программная обработка структурных данных Раздел: Рефераты по информатике Тип: лабораторная работа |
Министерство обраразования Российской Федерации Московский государственный университет Экономики, статистики и информатики (МЭСИ) Лабораторная работа №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.
Третья часть «Постановка задачи на обработку экономической информации с использованием массива записей» Условие: Имеется отчет о поступлении денег с разных городов на приобретение билетов в форме массива записей со следующими реквизитами:
Программный код 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. |