Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по информатике. Часть 2.doc
Скачиваний:
67
Добавлен:
27.03.2016
Размер:
10.52 Mб
Скачать

Технология выполнения работы

В данной работе сначала создается форма приложения, а затем процедура обработки процесса.

Содержание отчета

  1. Задание и цель работы.

  2. Описание формы.

  3. Текст процедуры обработки процесса.

Вопросы для защиты работы

  1. Назначение Инспектора объектов (ObjectInspector).

  2. Что такое интерфейс приложения?

  3. Для какой цели используется палитра компонентов?

  4. Что такое функциональность приложения?

  5. Какой язык программирования используется при работе с Delphi?

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

Время выполнения – 4 часа.

Цель работы

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

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

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

  • знать основы работы с массивами данных в среде Delphi;

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

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

Для обеспечения выполнения работы необходимо иметь компьютер со следующим математическим обеспечением: операционная система Windows2003 и выше и система визуального программирования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– признак наследования характеристик шрифта формы.

Пример.

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

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

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

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

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

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

  • Label1– ввод массива (панельPanel1);

  • Label2– результаты ( вывод результата в панельPanel2)

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

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

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

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

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

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

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

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

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

  • Options.go.Editingtrue;

  • Options.goTabstrue;

  • 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).