Главная Минимаркер Информатика и вычислительная техника Минимаркер Программное обеспечение - Паскаль Минимаркер Массивы языка Паскаль

Массивы языка Паскаль

Массив – набор данных одной природы, обозначенных один именем. Элементы массива идентифицируются по номеру или индексу в массиве.

Массивы языка Паскаль характеризуются двумя параметрами:

  • Размерность. Указывает на порядок расположения массива в памяти. Различают: одномерные, двухмерные и многомерные (размерность больше 2) массивы;
  • Размер. Указывает на количество элементов по каждой координате. Общее количество элементов определяется как произведение количество элементов по каждой координате.

Для одномерного массива общее количество элементов совпадает с общим количеством.

OcProg[25];

k = 25.

Двумерный массив:

    Физика История Физкультура Математика Программирование
1 Андреев 4 4 5 5 3
2 Белоусов 5 3 5 4 5
25 Яковлев 4 4 5 4 4

1. OcProg[1,1]=4; OcProg[1,2]=4; OcProg[1,3]=5; OcProg[1,4]=5; OcProg[1,5]=3;

2. OcProg[2,1]=5; OcProg[2,2]=3; OcProg[2,3]=5; OcProg[2,4]=4; OcProg[2,5]=5;

25. OcProg[25,1]=4; OcProg[25,2]=4; OcProg[25,3]=5; OcProg[25,4]=4; OcProg[25,5]=4;

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

OcProg[25], то компилятор может отвести в памяти:

101 - OcProg[1]

125 - OcProg[25]

Элементы двумерного массива располагаются в оперативной памяти по строкам и столбцам.

OcProg[25,5], то компилятор зарезервирует 125 ячеек памяти в соответствии с заданным массивом:

101 - OcProg[1,1]

105 - OcProg[1,5]

106 - OcProg[2,1]

225 - OcProg[25,5]

Массив, как и другие элементы программы, должен быть объявлен в разделе описания.

В языке паскаль массив – структурированный тип и относится к стандартным типам. Он может быть объявлен в одном из двух разделе описаний: Var или Type. Поскольку массив относится к стандартным типам, то наиболее часто объявляется в Var.

Формат: [имя_массива]:ARRAY[размер_1, размер_n] OF [тип];

ARRAY – служебное слово, объявляющее массив. [имя_массива] – имя, задаваемое пользователем. размер_n – размер по каждой координате. [тип] – тип элементов массива.

Для объявления размера массива обычно используется тип-диапазон, в котором первое значение указывает начальный индекс массива, а второй – конечный. В качестве номеров используются целые числа, при этот индексы могут быть отрицательные. Для массива существует ограничение на общее количество элементов, оно не должно превышать 65525.

Примеры:

OcProg:Array[1..25] of Byte;

Oc:Array[1..25,1..5] of Byte;

Oc1:Array[-35..40] of Read;

Если в программе используется несколько однотипных массивов, то в этом случае можно задать один тип массивов в разделе Type и в разделе Var этот раздел присвоить нескольким массивам.

Пример:

Type

 ocenki = Array[1..25,1..5] of Byte;

Var

 cr1, cr2, cr3: ocenki;

Работа с элементами массивов

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

Обработка одномерного массива осуществляется в цикле For:

For i := [начальный_индекс_массива] To [конечный_индекс_массива] Do

For i := 1 To 25 Do

Работа с элементами двухмерного массива осуществляется в двух вложенных циклах с параметрами. Внешний цикл по первой координате, а внутренний по индексам второй координаты:

For i := [начальный_индекс_1_коорд] To [конечный_индекс_1_коорд] Do

 For j := [начальный_индекс_2_коорд] To [конечный_индекс_2_коорд] Do

For i := 1 To 25 Do

 For j := 1 To 5 Do

Структуры ввода и вывода элементов массивов

Для работы с элементами массива в программе значения элементов необходимо ввести. При объявлении массива в программе компилятор задает: для числовых типов присваивается нулевое значении, для символьных и строковых типов – значение пустая строка.

В программе на языке Паскаль можно рассматривать 4 структуры ввода:

  • с клавиатуры (Read);
  • присвоения с оператором присвоения;
  • типизированной константой;
  • формированием из элементов другого массива.

Вывод массива зависит от его размерности. Вывод 2-мерного массива всегда осуществляется в форме матрицы или таблицы. Вывод 1-мерного массива одним из 3 способов:

  • в столбик;
  • в одну строку;
  • в несколько строк.

Первые два способа используются при небольшом количестве, не превышающим 15.

При работе с массивами используются математические понятия. Обычно 1-мерный массив связывают с понятием вектор, 2-мерный массив с понятием матрицей.

Ввод элементов одномерного массива с клавиатуры

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

Алгоритм ввода элементов с клавиатуры

Ввод элементов с клавиатуры

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

Ввод оператором присвоения

Пример: ввести значение одномерного массива A из 10 элементов, как значение функции y=sin(x), где x равен 10 и шаг 5.

Алгоритм ввода элементов оператором присвоения

Ввод элементов оператором присвоения

Random – генерирует вещественное случайное число от 0 до1. Random (N) – генерирует целое случайное число от 0 до N-1.

Пример: 20*Random – 10 генерирует случайное число от -10 до 10.

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

Ввод типизированной константой

По определению константа – это объект программы, который не может быть изменен. Ее тип определяется компилятором по форме записи. Обычная константа имеет один из простых видов.

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


© 2013 - 2017 Учебно-образовательный портал "Все лекции"
Материалы, представленные на страницах нашего сайта, созданы авторами сайта, присланы пользователями, взяты из открытых источников и представлены на сайте исключительно для ознакомления. Все авторские права на материалы принадлежат их законным авторам.
Разработка сайта - Скобелев Алексей





Яндекс.Метрика