Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB4.DOC
Скачиваний:
9
Добавлен:
12.02.2015
Размер:
208 Кб
Скачать
☆

Лабораторная работа 4.

ИПОЛЬЗОВАНИЕ ПРОЦЕДУР И ФУНКЦИЙ. РАБОТА С МАССИВАМИ. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ

Массив

Массив – это упорядоченные данные одного типа. Массив состоит из элементов, имеющих порядковые номера, называемые индексами. Например, объекты одинакового типа можно обозначить одним общим именем "A", тогда элементы объекта будут A[1], A[2] и т. д. В квадратных скобках указывается индекс (порядковый номер элемента). К элементам массива можно обращаться только по индексу. Если элементы имеют один индекс, то массив называется одномерным (вектор). Массивы с двумя независимыми индексами называются двумерными (матрицами, таблицами). Значения элементов двумерного массива обычно выводят на экран в виде таблицы. Массивы, имеющие три независимых индекса трехмерным и т.д.

Описание массивов:

Type

Vector: array[1..3] of real; { задание типа массив с именем Vector }

Var

A: Vector; { объявление массива А типа Vector }

B: array[1. . 30] of Integer; { объявление массива В без имени }

C, D: array[1. . 3] of real;

S: array[1. . 30] of string[12];

Инициализация массива или присвоение значений элементам массива:

1. Через операции присвоения в программе A[1]:=5; A[2]:=4; A[3]:=4.5; и т.д.

2. Если известна зависимость, по которой изменяются значения элементов массива, то присвоение значений удобно проводить в операторах цикла с параметром или с условием. Например, присвоим значения элементам массива "y" по зависимости: y=sin(x), где x= Pi * i/180, 0<= i <=180 .

For i:= 0 to 180 Do y[i]:= sin(Pi * i/180);

3. Присвоение случайных значений. Например, в диапазоне от -30 до +40 ста элементам массива "R":

Randomize; For i:= 1 to 100 Do R[i]:= - 30 + Random(71);

4. Присвоение значений с клавиатуры. Например, семи элементам массива "A" оператором Readln:

For i:= 1 to 7 Do begin Write( ' Введите A[ ' , i , ' ] = ' ); Readln( A [i] ) end;

5. Ввод из файла

Assign(F1,'File1.dat'); { назначить F1 файл File1.dat }

Reset(F1); i:= 1; { открыть файл File1.dat для чтения }

While not (EOF(F1)) =True do { выполнять пока не достигнем конца файла File1.dat }

begin read(F1, X[i]); I+1 end;{ считать данные из файла File1.dat }

Close (F1); { закрыть файл File1.dat }

Поэлементная обработка массивов

В цикле удобно определять:

1. сумму элементов массива, и, удовлетворяющие некоторому условию, например:

s:= 0; for i:= 1 to 100 do s:= s + a[i]; { s - сумма элементов массива }

2. наибольший (наименьший) элемент

a_max:= a[1]; for i:= 1 to 100 do { поиск наибольшего элемента a[j] }

if a[i] > a_max then begin a_max:= a[i]; j:= i end;

3. создавать новые массивы

j:= 0; k:= 0;

for i:=1 to 100 do {создание новых массивов с элементами: b[j] >=0, c[k] <0}

if a[i] >= 0 then begin j:= j+1; b[j]:= a[i] end

else begin k:= k+1; c[k]:= a[i] end;

j:= 0; k:= 8;

for i:= 1 to 100 do {создание массива номеров "M" для элементов: a[i] > a[k]}

if a[i] > a[k] then begin j:= j+1; M[j]:= i end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]