Пример 1. Работа с массивами в среде программирования Borland Delphi

Лабораторная работа № 13

Работа с массивами в среде программирования Borland Delphi

Время выполнения

4 часа

Цель работы

Научиться разрабатывать программы, использующие данные, организованные в виде массивов.

Задачи лабораторной работы

После выполнения работы студент должен:

  1. Знать основы работы с массивами данных в среде Delphi.
  2. Уметь самостоятельно написать программу, работающую с массивами данных.

Перечень обеспечивающих средств

Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система Windows 2003 и выше и система визуального программирования Delphi на основе 6-ой версии.

Общие теоретические сведения

Для работы с массивами удобно использовать компоненты StringGrid и Memo.

Основные свойства StringGrid:

Name – Имя компонента;

Colcount – Количество столбцов;

RowCount – Количество строк;

Cells – Ячейка таблицы;

FixedCols – Количество зафиксированных столбцов;

Options.goEditing – Признак допустимости редактирования содержимого ячеек (true, false);

Options.goTab – Разрешает (true) или запрещает (false) использование клавиши TAB для перемещения курсора в следующую ячейку таблицы;

Options.goAlways – Признак нахождения компонента в режиме редактирования;

DefaultColWidth – Ширина колонок таблицы;

DefaultRowHeight – Высота строк таблицы;

GridLineWidth – Расстояние от левой границы поля таблицы до левой границы формы;

Left – Расстояние от верхней границы поля таблицы до верхней;

Top – Границы формы;

Height – Высота поля таблицы;

Width – Ширина поля таблицы;

Font – Шрифт для отображения содержимого таблицы;

ParentFont – Признак наследования характеристик шрифта формы.

Пример 1

Задать массив из 5-ти элементов. Найти произведение элементов массива, превышающих значение 1-го элемента. Переставить местами 1-ый и последний элементы массива. Вывести элементы массива в строку компоненты Memo.

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

  • панели Panel1 (в верхней части экрана для ввода информации) и Panel2 (в нижней части для вывода информации) (страница Standard).

Для панелей задать Caption – пустое (очистить место для вывода результата).

Разместить метки для панелей Label1 и Label2 (страница Standard).

Задать Caption для следующих объектов:

  • Label1 – Ввод массива (панель Panel1)
  • Label2 – Результаты (вывод результата в панель Panel2)

Разместить кнопку Button1 (страница Standard).

Установить для кнопки следующее свойство: Caption – Вычислить.

Добавить компонент StringGrid1 и задать следующие свойства:

ColCount – 5 (количество столбцов)

FixedCols – 0 (количество фиксированных столбцов)

RowCount – 1 (количество строк)

DefaultRowHeight – 24 (высота строки)

DefaultColWidth – 64 (ширина столбца)

Задать опции для редактирования информации (Options):

Options.go.Editing – true

Options.goTabs – true

Options.go.Always – true

Для вывода массива на экран будем использовать компоненту Memo1 (Многострочный редактор).

Управлять вычислением будет кнопка Button1.

Полученная форма будет иметь вид (рис. 1):

Рисунок 1. Форма с размещенными объектами

Для кнопки Button1 необходимо создать обработчик события OnClick (нажатие кнопки).

Двойной щелчок на этой кнопке и на экране окно кода программы.

Курсор устанавливается в процедуру-обработчика события, которая должна иметь следующий вид:

procedure Tform1.Button1Click(Sender:Tobject);

Var

a:array[1..5] of integer; // описание массива а

pr,I,с:integer; // pr – переменная для вычисления произведения элементов массива, i – индекс элементов массива, с-переменная для перестановки местами 1-го и 5-го элементов массива

stroka:string;

begin

// ввод массива

// считаем, если ячейка пустая, то соответствующий элемент массива равен 0

for i:=1 to 5 do

if Length (StringGrid1.Cells[i-1,0])<>0

then a[I]:= StrToInt(StringGrid1.Cells[i-1,0])

else a[I]:=0; // проверка наличия значения элемента массива в ячейке компоненты StringGrid1

// Обработка массива

Pr:=1;

for i:=1 to 5 do

if a[i]>a[1] then pr:=pr*a[i];

// вычисление произведения элементов массива

// вывод произведения элементов массива в заголовок панели Panel2

Panel2.Caption:=’Произведение элементов=’ +IntToStr(pr);

// перестановка местами 1-го и 5-го элементов массива

c:=a[1]; a[1]:=a[5]; a[5]:=c;

// вывод массива в строку

Stroka:=’ ’;

// в строку помещаем пробелы

Memo1.Lines.Add(‘Массив после обработки’);

for i:=1 to 5 do

stroka:=stroka+ IntToStr(a[i]);

Memo1.Lines.Add(stroka);

end;

При нажатии клавиш Ctrl+F9 выполняется компиляция кода программы.

Если компиляция выполнена успешно (ошибок нет) то можно выполнить Project1 с помощью клавиши F9. Преобразование значений элементов массива из формы выполняется в соответствии с описанием в тип Integer (StrToInt), а результат – произведение элементов массива при выводе в форму преобразуется в тип String (IntToStr).

Варианты заданий


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: