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

Лабораторная работа 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;

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