Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одномерный массив.doc
Скачиваний:
0
Добавлен:
17.01.2020
Размер:
95.74 Кб
Скачать

Описание одномерного массива

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

  1. способ.

VAR

<имя массива>: array [t1..t2] of <тип элементов>;

t1— начальный индекс, t2 — конечный индекс; например [1...10] или [-2...2]

[t1...t2] , где t1<t2 и t1, t2 заранее определены, порядкового типа (целые числа), определяющие диапазон изменения индексов (номеров) элементов массива.

Имя массива выбирается в соответствии с обычными правилами Паскаля.

Например,

var

X: array [1..5] of real; {массив из 5 вещественных чисел с именем Х и индексами от 1 до 5}

X1: array[1..6] of integer; {массив из 6 целых чисел с именем Х1 и индексами от 1 до 6}

S: array[10..13] of char; {массив из 4 символов с именем S и индексами от 10 до 13}

Ошибка, если ...ARRAY [5]...

2) Способ

Путём введения тип-массив.

TYPE

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

VAR

<имя массива >:< имя типа>;

Например: type

mass =array[1..5] of real;

var

X : mass;

Задание в программе размерности массива.

Что называется размерностью массива? (Максимальное количество элементов массива, которое определяется при описании)

Если по условию массив задан с переменной размерностью (например, дан массив с N элементами), тогда размерность можно задать несколькими способами:

  1. CONST

n = 50; - размерность задаётся константой

VAR

X: array[1 .. n] of real;

  1. При описании массива задаётся максимально возможная размерность для массива в данном алгоритме, а затем конкретная размерность вводится с клавиатуры.

VAR

X: array [ 1..50 ] of real;

n: integer; {переменная для хранения конкретной размерности массива}

begin

....

write(‘ введите размерность массива n<= 50’);

readln (n);

....

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

Строкой описания лишь задаётся место в памяти для массива, но не сам массив.

Ввод и вывод элементов одномерного массива может осуществляться в столбец или в строку. Если количество вводимых или выводимых элементов в совокупности на­ходится в пределах 20, то вводить и выводить эти эле­менты удобно в столбец с указанием индекса вводимого или выводимого элемента. Для массивов с большим количеством элементов ввод элементов и их вывод лучше осуществлять по строкам.

Ввод в столбец элементов массива А из вещественных чисел с количеством элементов n.

{Ввод размерности массива}

Write('Введите количество элементов массива:');

Readln(n); На экране:

{Ввод элементов массива} введите A[1]=

For i: = 1 to n do введите А [2]=

Begin Write('Введите A[',i,']='); … … …

Readln(A[i]) введите A [n]=

end;

Ввод элементов массива А из веществен­ных чисел с количеством элементов n в строку, через пробел.

{Ввод размерности массива}

Write ('Введите количество элементов массива:');

Readln(n);

{Ввод элементов массива в строке, через пробел}

For i: = 1 to n do

Readln(A[i])

End;

Элементы набираются через пробел или с новой строки.

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

Функция Random(H) возвращает целые числа в диапазоне от 0 до H-1

А:= Random(10); — переменная А получит значение случайного целого числа в диапазоне от 0 до 9

А:= Random(11); — переменная А получит значение случайного целого числа в диапазоне от 0 до 10

А:= Random(10) + 1; — переменная А получит значение случайного целого числа в диапазоне от 1 до 10

Write('Введите количество элементов массива:');

Readln(n);

Randomize;

For i: = 1 to n do

Begin

A[i]:=Random(101);

Write(A[i], ‘ ‘)

end;

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

{Random(101) генерирует целые числа в диапазоне от 0 до 100}