Обработка массивов данных в среде Turbo Pascal

Самой распространенной ошибкой при работе с массивами является выход индексов за допустимые диапазоны. Для исключения таких ошибок в среде Turbo

Обработка массивов данных в среде Turbo Pascal

Методическое пособие

Компьютеры, программирование

Другие методички по предмету

Компьютеры, программирование

Сдать работу со 100% гаранией

Министерство образования Российской Федерации

УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

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

 

 

 

 

 

 

 

 

 

 

ОБРАБОТКА МАССИВОВ ДАННЫХ В СРЕДЕ TURBO PASCAL

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к лабораторному практикуму по курсу

“Информатика и программирование”

 

 

 

Составители: Ю.Б. Головкин, Р.А. Ярцев

 

 

 

 

 

 

 

УФА 2007

УДК 681.3

 

Обработка массивов данных в среде Turbo Pascal: Методические указания к лабораторному практикуму по курсу “Информатика и программирование”/ Уфимск. гос. авиац. техн. ун-т; Сост.: Ю.Б.Головкин, Р.А.Ярцев. -Уфа, 2007. - 14 с.

 

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

 

Библиогр.: 5 назв.

 

Рецензенты: канд. техн. наук, доц. А.М.Сулейманова;

канд. техн. наук, доц. Р.В.Насыров

 

© Уфимский государственный

авиационный технический

университет, 2007

 

СОДЕРЖАНИЕ

 

1. Цель работы

2. Теоретическая часть

2.1 Понятие массива данных

2.2 Одномерные массивы

2.3 Многомерные массивы

2.4. Действия над элементами массивов

2.5 Ввод и вывод элементов массива

2.6 Контроль ошибок при работе с массивами

3. Решение задач - примеров

4. Порядок выполнения работы

5. Требования к отчету

6. Контрольные вопросы

Библиографический список

Приложение. Варианты заданий на лабораторную работу

 

1. ЦЕЛЬ РАБОТЫ

 

Целью настоящей работы является приобретение студентами умений и навыков работы с массивами данных в среде Turbo Pascal.

 

2. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

 

2.1 Понятие массива данных

 

На практике, при функционировании автоматизированных систем управления, информационных систем, измерительных комплексов и др., возникает необходимость обрабатывать большое количество различной информации. Например, показания температуры воздуха окружающей среды, стоимость товаров, значения координат движущихся объектов, характеристики приборов и других технических устройств и т.д. Программное обеспечение таких систем должно обеспечивать обработку, хранение, ввод-вывод больших объемов всевозможных данных. Интегрированная среда Turbo Pascal позволяет эффективно разрабатывать, тестировать и отлаживать программы, связанные с обработкой массивов данных самой различной структуры.

В языке Pascal под массивом понимается упорядоченный набор фиксированного количества однотипных данных.

Массивы, наряду с записями, строками, множествами, относятся к структурированному типу данных языка. Массивы могут быть одномерные и многомерные. При этом размер массива не ограничивается. Размерность массивов на практике ограничивается лишь объемом рабочей памяти конкретного компьютера. В памяти компьютера элементы массива располагаются в последовательных соседних ячейках памяти.

 

2.2 Одномерные массивы

 

Переменные массивов можно задавать двумя способами:

а) через объявление типа в формате

 

TYPE

< имя типа > = ARRAY [тип индекса] OF < тип элементов >;

VAR

< идентификатор >: < имя типа >;

 

б) через объявление переменных в формате

 

VAR

< идентификатор >: ARRAY [тип индекса] OF < тип элементов >;

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

Примеры объявления массивов:

 

CONST

N = 25; { размерность массива }

TYPE

X = ARRAY [1.. 100] OF INTEGER;

Y = ARRAY [1.. N] OF REAL;

Z = RECORD

R, I: REAL

END;

VAR

M: X; { целочисленный массив }

V1, V2: Y; { вещественные массивы }

L1, L2: ARRAY [1.. 20 ] OF Z; { массивы записей }

K: ARRAY [ BYTE ] OF CHAR; { массив символов }

R: ARRAY [ 1.. 5 ] OF STRING [25]; { массив строк }

T: ARRAY [-10.. 9] OF BYTE; { массив целых чисел }

S: ARRAY [ BOOLEAN ] OF REAL; { вещественный массив }

F: ARRAY [ GREEN, RED, BLUE ] OF INTEGER; { целый массив с перечислимым типом-индексом}

G: ARRAY [ 1.. N ] OF (MO, TU, WE, TH, FR, SA, SU );

{ массив перечислимого типа }

 

Типизированная константа-массив объявляется в программе следующим образом:

CONST

A: ARRAY [1.. 5] OF INTEGER = ( 1, 2, 3, 4, 5 );

B: ARRAY [1.. 4] OF REAL = ( 1.1, 2.2, 3.3, 4.4 );

 

2.3 Многомерные массивы

 

Элементами массивов могут быть также массивы. В этом случае мы имеем двухмерный массив ( матрицу ).

Двухмерные массивы задаются в программе следующим образом:

а) через объявление типа в формате

 

TYPE

< имя типа > = ARRAY [тип индекса 1] OF ARRAY [тип индекса 2] OF < тип элементов >;

 

или

 

< имя типа > = ARRAY [ тип индекса 1, тип индекса 2 ] OF <тип элементов>;

 

Обе формы описания равносильны, но вторая употребляется чаще.

VAR

< идентификатор >: < имя типа >;

 

б) через объявление переменных в формате

 

VAR

< идентификатор >: ARRAY [тип индекса 1, тип индекса 2] OF < тип элементов >;

 

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

Примеры объявления двухмерных массивов:

 

CONST

N = 5;

M = 10;

TYPE

A = ARRAY [ 1.. N, 1.. M ] OF WORD;

B = ARRAY [ 1.. 10, 1.. 20 ] OF REAL;

VAR

C: ARRAY [ 1.. N, BOOLEAN ] OF -20.. 20;

D1, D2: A;

F1, F2: B;

 

Типизированная константа-матрица объявляется в программе следующим образом:

 

CONST

M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6));

Массивы могут быть не только одномерными или двухмерными, но и 3-х, 4-х и n-мерными. В этом случае они описываются в программе следующим образом:

 

VAR

M: ARRAY [ 1.. 10, -10.. 9, CHAR ] OF BYTE;

N: ARRAY [ 1.. 5, 1.. 10, 1.. 15, 1.. 20 ] OF SHORTINT;

 

В памяти компьютера элементы размещаются друг за другом так, что при переходе от младших адресов к старшим наиболее быстро изменяется самый правый индекс массива. Например, для матрицы 2х2: A[1,1], A[1,2], A[2,1], A[2,2].

 

2.4 Действия над элементами массивов

 

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

Примеры задания индекса:

M [5] - непосредственно числом;

M [x] - косвенно через переменную x;

M [y+5] - косвенно через выражение;

M [Succ(i)] - косвенно через значение функции.

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

VAR

X, Y: ARRAY [1.. 10] OF INTEGER;

Z: ARRAY[1.. 10] OF INTEGER;

 

то допустим следующий оператор присваивания:

 

X: = Y;

 

но недопустим оператор

 

Z: = X;

 

так как массивы X и Z не идентичных типов.

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

 

2.5 Ввод и вывод элементов массива

 

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

Примеры ввода одномерных массивов:

а) ввод с клавиатуры

 

FOR I: = 1 TO N DO READ ( M [I] );

 

б) вво

Похожие работы

1 2 3 > >>