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

38) Двумерный массив. Элементы матрицы

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

 

Чтобы обработать такие данные в программе, нужно организовать их как массив студентов, в котором каждый элемент представляет собой массив оценок одного студента. Каждая оценка в таком массиве определяется двумя индексами, например так  A[i,j], где первый или старший индекс указывает номер студента по списку, а второй номер работы за которую получена оценка.

 

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

33) Одномерный массив

Объявление массива

Объявление массива производится аналогично объявлению переменных, необходимо только указать диапазон изменения индекса. Например, объявление одномерного целочисленного массива, содержащего 10 элементов, производится следующим образом:

A: array [1..10] of integer; Основные задачи при работе с массивами

1. Формирование (заполнение) массива

1.1. по формулам For i:=1 to 10 do a[i]:= i*i;

1.2. сгенерировать случайным образом For i:=1 to 10 do a[i]:= random(20):

Встроенная функция RANDOM(MAX), возвращает случайное целое число, равномерно распределенное в диапазоне от 0 до МАХ – 1(МАХ – параметр обращения)

1.3. ввести с клавиатуры For i:=1 to 10 do read(a[i]);

2. Сортировка массива (по возрастанию, по убыванию);

3. Поиск элементов в массиве;

4. Выбор элементов из массива по условию;

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

Для начала работы с массивом его необходимо заполнить, т.е. присвоить элементам массива определенные значения. Для генерации последовательности случайных чисел используем функцию Random(100). При запуске программы данная функция выведет псевдослучайную последовательность целых чисел в интервале от 0 до 100.

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

Действия с одномерными массивами

1. Вычисление суммы элементов

s := 0;

For I := 1 To 10 Do s:=s+ a[i]; (обычное накопление суммы в s)

2. Вычисление произведения

р := 1;

For I := 1 To 10 Do р:=р* a[i]; (обычное накопление произведения в р)

3. Поиск элемента с заданным значением

3. Применение умений и навыков на практике

Проект “Сумма элементов в массиве”. Разработаем проект “Сумма элементов в массиве”, который будет производить заполнение массива случайными числами и вычислять сумму этих чисел

Для начала создадим процедуру заполнения массива

1. Запустить систему программирования Delphi.

2. Работа над проектом начинается с создания графического интерфейса, для этого в окне Конструктор форм на форму помещаются управляющие элементы. Для создания графического интерфейса проекта разместим на форме два текстовых поля для вывода числовых данных (одно – заполнение массива, другое – вывод суммы) и две кнопки для реализации событийных процедур: заполнение массива и сумма

3. С помощью Панели инструментов поместить на форму Forml текстовое поле Editl и командную кнопку Buttonl

<Рисунок 1>

Далее необходимо задать новые значения свойств управляющих элементов.

Следующим шагом является создание программного кода событийных процедур. Двойной щелчок мышью по кнопке, для которой надо создать программный код, вызывает окно Программный код с пустой заготовкой событийной процедуры.

4. Осуществить двойной щелчок по кнопке Buttonl, появится заготовка событийной процедуры TForml.ButtonlClick: Произвести объявление массива A и описание переменных I, S в разделе описания переменных var

var

A:array[1..100] of integer;

I:integer;

s:integer;

procedure TForm1.Button1Click(Sender: TObject);

begin

Randomize;

Edit1.Clear;

For I := 1 To 10 Do

begin

A[I] := Random(10);

Edit1.Text := Edit1.Text +' ' + IntToStr(a[i]);

end;

end;

5. Сохранение проекта (Save Project As)

6. Компиляция проекта (Project - Compile)

< Рисунок 2 >

Теперь создадим процедуру для вычисления суммы элементов в заполненном массиве

С помощью Панели инструментов поместим на форму Forml кнопку Button2 и текстовое поле Edit2. Двойной щелчок мышью по кнопке Button2, для которой надо создать программный код, вызывает окно Программный код с пустой заготовкой событийной процедуры.

procedure TForm1.Button2Click(Sender: TObject);

begin

s := 0;

For I := 1 To 10 Do

begin

s:=s+ a[i];

end;

Edit2.Text := Edit2.Text +' ' + IntToStr(s)

end;

Сохранение проекта всего проекта ( Save Project).

Произведем компиляцию проекта (нажатием клавиши F9).

Щелкнуть по кнопкам Заполнить массив и Сумма.

В текстовое поле будут выведены результаты сумм при различных вариантах заполнения

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