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

Заполнение одномерного массива значениями

Заполнение и вывод массива можно осуществить только поэлементно, то есть можно сначала присвоить значение первому элементу, затем второму и так далее, то же самое и с выводом на экран - выводим первый, второй, третий и так до последнего.

Паскаль не имеет средств ввода-вывода элементов массива сразу, поэтому ввод и значений производится поэлементно. Значения элементу массива можно присвоить с помощью оператора присваивания, или ввести с клавиатуры с помощью операторов Read или Readln. Очень удобно перебирать все элементы массива в цикле типа for.

Способы заполнения одномерных массивов:

  1. Ввод значения с клавиатуры.

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

  3. Задание значений по формуле.

  4. Ввод элементов массива из файла

1. Ввод значений элементов массива с клавиатуры. В связи с тем, что использовался оператор Readln, каждое значение будет вводиться с новой строки.

Procedure Init1(Var m : myarray);

{Процедура заполнения (инициализации) массива с клавиатуры}

Var i : Integer; {i - это переменная для работы с элементами массива}

Begin

Writen ('введите',n,'чисел');

For i:=1 To n Do {ввод массива с клавиатуры}

Readln(m[i]); {чтение i-го элемента}

End;

2. Заполнение массива числами, сгенерированными случайным образом из интервала [a; b]. Подключаем датчик случайных чисел - функцию random.

Procedure Init2(a,b:integer; Var m : myarray);

{

Процедура заполнения массива случайными числами из интервала [a,b] и вывода на экран.

a, b: границы интервала;

m : массив.

}

Var i : Integer;

Begin

Randomize; {Инициализация генератора случайных чисел}

For i:=1 To n Do

begin

m[i]:= a+random(b-a+1);

write(m[i],' ')

end;

writeln;

End;

3. Заполнение массива по формуле. Каждому элементу массива присваивается значение, вычисленное по формуле. Если каждый элемент массива равен утроенному значению его порядкового номера (индекса), то процедура будет иметь вид:

Procedure Init3(Var m : myarray);

{Процедура заполнения (инициализации) массива по формуле}

Var i : Integer; {i - переменная для работы с элементами массива}

Begin

For i:=1 To n Do

a[i]:= i*3;

End;

4. Чтение чисел из файла. Нужно заранее создать текстовый файл, в который запишите несколько строк, в каждой из которых по 30 чисел.

Procedure Init4(Var m : myarray);

{Процедура заполнения (инициализации) массива из файла}

Var i : Integer; {i - это переменная для работы с элементами массива}

Begin

Writen ('введите',n,'чисел');

For i:=1 To n Do {ввод массива из файла}

Readln(f, m[i]); {чтение i-го элемента}

End;