Автор: Пользователь скрыл имя, 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
Московский
Государственный институт Экономики,
Статистики и Информатики.
Лабораторная работа №2
“Программная
обработка структурных данных”.
Москва
2010г.
СОДЕРЖАНИЕ.
Под массивом понимается упорядоченная совокупность однотипных элементов в оперативной памяти. Все элементы массива имеют одно имя, обращение к элементам массива осуществляется с помощью индексов. Индексы могут задаваться в виде констант, переменных или арифметических выражений. Каждому элементу массива ставятся в соответствие один или несколько индексов. Если указывается несколько индексов, то индексы разделяются запятой. Если для обращения к элементам массива использовать один индекс. То массив называется одномерным, если два – то двумерным.
Тип массива может быть определен в разделе TYPE. При задании типа должен быть определен диапазон значений и тип элементов массива. Диапазон значений индексов содержит максимальное и минимальное значения, разделенные двумя точками. Границы диапазона задаются в виде циклических констант. Использование переменных для задания границ диапазона не допускается. Допускается задание отрицательного значения индекса.
Для выделения оперативной памяти для элементов массива требуется задать описание массива в разделе VAR. Описание массива выполняется в соответствии с следующим списком:
<список имен массива>:<тип>;
При описании массива может быть использовано задание типа, определенного в разделе TYPE.
В процессе обработки можно использовать значение индекса, не выходящее за границы диапазона. Поступление информации в массив обеспечивается при помощи команды:
Read(A[I]);
Создать программный проект, обеспечивающий обработку одномерного числового массива. Программный код должен обеспечить выполнение следующих действий:
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.
Под записью понимается структура данных, состоящая из фиксированного числа элементов. Каждый элемент записи имеет свой идентификатор и тип.
Идентификатор в пределах записи должен быть уникален. Для обращения к отдельным элементам записи указываются составные имена. Составное имя состоит из имени записи, после которого ставится точка и записывается идентификатор элементов записи: PotrM.Date. Использование записей позволяет объединять в единое целое совокупность логически связанных реквизитов документов. В программной системе Pascal для описания структурных взаимосвязей различных реквизитов предназначено утверждение Record, которое описывается в разделе TYPE:
<имя структуры>=Record
<имя элемента>:<тип>;
[<имя элемента>:<тип>;]
End;
При обработки документов, представленных в виде записи, можно использовать имена записей.
Особенности обработки экономической информации, организованной в виде массива записи.
<имя массива>[значение индекса]
<имя реквизита>
В многострочных документах в виде элементов массива записи представлена каждая строка документа. Фактически используемое количество элементов массива будет соответствовать числу введенных строк многострочного документа.
Для обращения к реквизитам документа используется конструкция:
PotrM[2].Date
Создать программный проект, обеспечивающий обработку массива записи, содержащего информацию, выбранную из документа: товарно-транспортная накладная. Документ содержит следующие реквизиты:
Требуется разработать программный код, обеспечивающий расчет общей суммы по всем товарам, имеющимся в накладной. Сумма по каждому из товаров определяется как произведение количества товара на цену товара.
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].
Writeln('Сумма',Sum:8:2);
Readln;
End.
Требуется разработать программный код, обеспечивающий ввод информации в формировании массива записи и определяющий поставщика, по которому наблюдается максимальное значение реквизита суммы поставленной продукции.
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.
Информация о работе Программная обработка структурных данных