![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Массив относится к структурированным типам данных. Массив - это регулярная структура, расположенная в памяти последовательно и имеющая имя. Для объявления массивов используется специальная конструкция языка, которая имеет следующий вид:
Array [ Диапазоны индексов ] of ТипКомпонентов
Наиболее часто массивы используются для хранения дискретных последовательностей чисел (так называемых векторов или матриц). При объявлении массивов необходимо соблюдать лишь два требования:
Если диапазон – числовой, то он обязан «уместиться» в тип Word;
Произведение количества компонентов массива на размер компонента в байтах не может превышать 65520 байт (почти 64 Кбайт). Это требование является общим для всех структур данных языка Pascal.
Таким образом, массивы могут быть описаны так
Var <Имя массива>: array [<Начальное значение индекса>..
<Конечное значение индекса>] of <Тип элементов массива>;
Var a: array [1..10] of Real;
Так хранится в памяти одномерный массив из 10 вещественных чисел.
Примеры объявления массивов:
1){ объявление вектора из 10 элементов типа Real }
const N_max = 10;
var a: Array [ 1.. N_Max ] of Real;
2) (* такое объявление удобнее *)
const N_max = 10;
Type Vector = Array [ 1.. N_max ] of Real;
var a: Vector;
b: Array [1..n] of Real;
c,d: Vector;
С точки зрения транслятора Pascal a и b разные, а c и d одинаковые и можно выполнять групповые присваивания (операции).
3) Const nmax = 10;
nmin = -2;
Type
Vector = Array [ nmin.. nmax ] of Real;
{ 13 элементов }
VectorChar = array [‘a’..’z’] of char; { 26 элементов }
var a: Vector;
b: VectorChar;
Switch: Array [ Boolean ] of Byte;
Как видно из третьего примера, ничто не обязывает объявлять диапазон индексов массива числами от 1 до N_max, в качестве индексов можно использовать любые перечислимые типы, как встроенные, так и вводимые пользователем. Если диапазон соответствует всему типу, то вместо него можно записать просто имя этого перечислимого типа.
Ввод и вывод одномерных массивов
Ввод массивов можно организовать по-разному: для одномерных массивов (векторов) – в строку или в столбец; для двумерных (матриц) – по строкам или по столбцам.
{Ввод вектора в столбец }
for i = 1 to n do RealLn(a[i]); { Можно но не нужно! }
{ Лучше ввод организовать так: }
WriteLn(‘Введите элементы вектора:’);
for i:= 1 to n do begin
Write(‘a[‘, i, ’] = ’);
ReadLn(a[i]);
end;
{ Вывод вектора: }
Writeln(‘Результирующий вектор: ’);
for i:= 1 to n do Write(a[i], ‘_‘);
WriteLn;
Лабораторная работа №4 (2 часа)
Тема: Составление и запись алгоритмов сортировки элементов одномерного массива в виде программы Компиляция и тестирование программы.
Цель: Приобрести навыки составления и анализа программ алгоритмов заполнения и сортировки элементов массивов, компиляции и тестирования программы.
Задание: Разработатьалгоритм решения задачи согласно варианту (см. практическую работу №5), представить его в виде программы на языке программирования Turbo Pascal. Провести компиляцию и тестирование программы.
Дата публикования: 2015-02-22; Прочитано: 327 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!