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

Инициализация массива.

Инициализация массива (задание первоначальных значений)- присваивание каждому элементу массива одного и того же значения.

Рассмотрим на примере:

. . . . . . .

var a: array [1..5] of real;

b: array [1..3,1..5] of integer;

i,j:byte;

. . . .

{инициализация одномерного массива}

for i:=1 to 5 do a[i]:=5;

{инициализация двумерного массива}

for i:=1 to 3 do

for j:=1 to 5 do

b[i,j]:=1;

. . . . . . . . .

Заполнения массива по формуле.

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

. . . . .

var a: array [1..5] of integer;

b: array [1..3,1..5] of integer;

i,j:byte;

. . . . .

{заполнение по формуле одномерного массива}

for i:=1 to 5 do a[i]:=3*sqr(i);

Дома: заполнить двумерный массив 3х6 по следующей формуле: каждый элемент равен разности квадратов индексов строки и столбца.

for i:=1 to 3 do

for j:=1 to 5 do

b[i,j]:=sqr(i)-sqr(j);

Задание массивов случайным образом.

Вспомним некоторые процедуры и функции модуля CRT:

Random- функция, результатом которой является случайное действительное число в интервале от 0 до 1.

Random(i), где i положительное число (word)- функция, результатом которой является случайное целое число в интервале от 1 до i.

Randomize- процедура, которая изменяет базу генератора случайных чисел.

Задание одномерного массива случайными действительными числами от 0 до 1 рассмотрим на примере.

Uses crt;

. . .

var b: array [1..3,1..5] of real;

i,j:byte;

. . . . . .

Randomize;

{заполнение двумерного массива случайным образом}

for i:=1 to 3 do

for j:=1 to 5 do

b[i,j]:=random;

. . . . .

Дома: заполнить одномерный массив, размер которого равен 10, случайными числами от 5 до 35.

Uses crt;

. . . . .

var a: array [1..5] of integer;

i,j:byte;

. . . . . .

Randomize;

{заполнение одномерного массива случайными числами от 5 до 35 }

for i:=1 to 5 do a[i]:=5+random(30);

Лекция 21. Ввод массива с клавиатуры.

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

А(a[1],a[2],a[3],…a[n])

Алгоритм ввода одномерного массива можно записать так:

  1. Запросить ввод первого элемента. Ввести первый элемент.

  2. Запросить ввод второго элемента. Ввести второй элемент.

. . . . . .

n. Запросить ввод n-го элемента. Ввести его.

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

Для i:=1 до n повторять

Нач

Вывод(‘введите a[’,i,’]’);

Ввод(a[i]);

Кон;

На Turbo Pascal он будет выглядеть следующим образом

Var a: array [1..n] of integer;

I: integer;

. . . . . .

{алгоритм ввода одномерного массива}

For i:=1 to n do

Begin

Writeln(‘введите а[’,I,’]’);

Readln(a[i]);

End;

Аналогичным образом запишется алгоритм ввода двумерного массива:

Var a: array [1..n,1..m] of real;

I,j: integer;

. . . . . .

{алгоритм ввода двумерного массива}

For i:=1 to n do

For j:=1 to n do

Begin

Writeln(‘введите а[’,i,’,’,j,’]’);

Readln(a[i,j]);

End;