ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.04.2024
Просмотров: 4559
Скачиваний: 0
СОДЕРЖАНИЕ
2.1. Файловая структура, файлы, папки
2.2. Работа с программой Проводник
2.2.1. Навигация по файловой структуре
2.2.2. Запуск программ и открытие документов
2.2.4. Копирование и перемещение файлов и папок
2.2.5. Удаление файлов и папок
2.2.6. Создание ярлыков файлов, представление объектов
2.2. Содержимое стандартного набора вкладок
2.3. Ввод, редактирование, форматирование и рецензирование текста
2.4. Основы работы с таблицами
2.6. Сохранение и печать созданного документа
Основы работы с пакетом Microsoft Excel
2.2 Создание электронных таблиц пакетом Microsoft Excel
Ввод, редактирование и форматирование данных
Вычисления в электронных таблицах
Использование стандартных функций
Построение диаграмм и графиков
2.3 Сохранение и печать созданной книги
2.2. Основные этапы составления программы
2.3. Оформление окна программы (размещение компонентов на форме)
2.4. Назначение и основные свойства некоторых компонентов
Компонент Memo (Многострочный текстовый редактор)
Компонент ComboBox (Блок с комбинированным раскрывающимся списком)
2.2. Создание заготовок процедур-обработчиков событий. Текст модуля программы
2.2. Оформление окна программы
2.3. Изменение свойств компонентов. Получение заготовки процедуры
2.4. Программирование вычислений определенных интегралов
2.1.2. Сложение и вычитание матриц
2.1.3. Умножение матрицы на число
2.1.5. Транспонирование матрицы
2.1.6. Линейные преобразования
2.2 Массивы и переменные с индексами
2.3. Составление программ реализующих основные матричные операции
Оформление эскиза окна программы
2.3. Составление программ реализующих основные матричные операции
Программирование в Delphi проводится с учетом взаимодействия 2-х процессов: процесса создания(конструирования) окна программы и процесса написания фрагментов программы на языке Object Pascal, которые по общепринятой терминологии будем называть кодом. Между содержимым окна программы и кода существует неразрывная связь, которая строго отслеживается системой Delphi. Поэтому при составлении программы условно выделим следующие этапы:
- оформление эскиза и окна программы;
- размещение компонентов на форме и изменение их свойств;
- составление программы.
Задание 1
Даны 2 вещественные квадратные матрицы:
, .
Составим программу, в которой предусмотрим:
- ввод каждого элемента матриц A и B;
- получение матрицы C=A*B;
- отображение на экране (в окне программы): вводимых элементов матриц А и В (для контроля правильности ввода исходных данных); значений элементов матрицы С, полученных в результате счета в виде:
с[1,1]=
с[1,2]=
…
с[4,4]=
Оформление эскиза окна программы
.Рис. 7.1. Эскиз окна программы.
Окно программы должно быть «понятным» для пользователей и аккуратно оформленным. Разделив процедуры ввода исходных данных и вывода результатов, а также используя знания о компонентах Delphi, нанесем в эскизе окна программы (см. рис. 7.1) нижеперечисленные компоненты.
1. Компонент Edit1 – это однострочный текстовый редактор, который в общем случае используется для отображения, ввода и редактирования однострочных текстов. Основным свойством Edit1 является Text, которое представляет собой отображаемую компонентом строку. В этой строке будем отображать «подсказки» при вводе элементов матриц А и В. «Подсказки» будут иметь вид: a[1,1]=, a[1,2]=,…, a[4,4]=.
2. Правее компонента Edit1 начертим компонент Edit2.В строке Edit2 будут отображаться вводимые с клавиатуры значения элементов матриц А и В согласно «подсказкам» в Edit1. Заметим, что вводимые значения воспринимаются как строки (имеют тип string), поэтому при вводе чисел с клавиатуры следует целую часть числа отделять от дробной символом “,” .
3. Ниже компонента Edit1 начертим компонент Memo1- это многострочный редактор. В окно Memo1 будем выводить вычисленные значения элементов матрицы С. Каждый элемент матрицы С будет выводиться в отдельную строку методом Add (добавить) свойства Lines. Это свойство содержит пронумерованный список строк (нумерация строк начинается с 0).
4. Справа от окна Memo1, соблюдая симметрию, начертим три командные кнопки: Button1, Button2, Button3. Каждая командная кнопка реализует связанный с ней фрагмент программы, записанный в процедуре-обработчике события Click (Щелчок). Под Click (Щелчок) обычно понимают: наведение курсора мыши на кнопку и щелчёк левой кнопкой мыши (в дальнейшем эти действия будем сокращенно записывать ЩЛК).
ЩЛК на кнопке Button1 будет приводить к выполнению процедуры-обработчика события Click, которая реализует:
- преобразование стандартной функцией StrToFloat(Edit2.Text) строкового типа значения элемента массива а (матрицы А), введенного с клавиатуры в строку Edit2.Text, в вещественный тип, и присваивание его элементу массива в памяти ПК;
- отображение введенного значения в окне Memo1 (для контроля правильности ввода);
-проверку условий принадлежности номеров строк и столбцов диапазону [1,4] и реализацию необходимых изменений номеров;
- отображение в строке Edit1.Text “подсказки” для ввода очередного элемента матрицы А.
Заметим, что заголовок этой процедуры-обработчика имеет вид:
procedure TForm1.Button1Click (Sender:TObject);
и задается автоматически системой Delphi.
ЩЛК на кнопке Button2 будет приводить к выполнению процедуры-обработчика события Click, которая реализует аналогичные 4 операции с элементами матриц B и имеет заголовок:
procedure TForm1.Button2Click (Sender:TObject);
ЩЛК на кнопке Button3 будет приводить к выполнению процедуры-обработчика события Click, которая реализует вычисление элементов матрицы С по формуле (7.5) и отображение их в окне Memo1. Delphi автоматически даст этой процедуре заголовок:
procedure TForm.Button3Click(Sender:TObject);
“Очистив” поля текстовых редакторов и изменив заголовки командных кнопок рис.1, получим окно программы (см.рис.2).
Рис. 7.2. Окно программы.
Размещение компонентов на форме и задание им нужных свойств
После первого запуска, Delphi автоматически открывает страницу Standard(Стандартные) палитры компонентов. В других случаях выбираем страницу Standard ( ЩЛК на закладке Standard) палитры компонентов и находим кнопки с выплывающими подсказками Edit, Memo, Button, которые отображают нужные нам компоненты в палитре.
Затем размещаем компоненты на форме:
- в палитре компонентов выбираем компонент (ЩЛК по нему);
- ЩЛК в точке рабочей области формы, где должен располагаться левый верхний угол компонента.
ЩЛК на кнопке Edit, а затем ЩЛК в точке рабочей области формы разместим компонент Edit1. Аналогично размещаем компонент Edit2. Затем разместим компонент Memo1 и три компонента Button1, Button2, Button3 согласно рис.1. Компоненты можно перетаскивать по форме и менять их размеры.
Компоненты размещенные на форме будем называть объектами.
Изменение свойств объектов производится в окне Object Inspector(Инспектор объекта). Это окно имеет 2 страницы: страницу Properties(Свойства),которая открывается при ЩЛК на закладке Properties, и страницу Events(события), которая открывается при ЩЛК на закладке Events. После первого запуска, Delphi автоматически открывает страницу Properties.
Изменяются свойства следующим образом:
- выбирается нужный объект (ЩЛК на нем) на форме или в выпадающем списке в верхней части окна Инспектора объекта;
- в левой колонке страницы находится названия свойства, а в правой колонке – его значение которое меняется на новое. Изменения можно производить вводом нового значения с клавиатуры или выбором одного из предопределенных значений из списка.
Свойства могут быть простыми (определяемые одним значением) или сложными (многосоставными), определяемые совокупностью значений. Слева от названия сложного свойства ставится символ +, при двойном щелчке ЩЛК (2 ЩЛК) на его названии оно раскрывается и показывает все свои вложенные подсвойства.
Изменим нужные свойства формы Form1 и размещенных на ней объектов:
Изменим, текст заголовка окна Form1. Для этого выберем Form1(ЩЛК на пустом месте рабочей области Form1). Затем на странице Properties окна Object Inspector в левой колонке найдем свойство Caption(Заголовок) и правой колонке введем с клавиатуры новый заголовок окна, т.е. текст “Перемножение матриц”.
Аналогично изменим тексты заголовков объектов:
Button1 на “Ввод a[i,j]”;
Button2 на “Ввод b[i,j]”;
Button3 на “Вычислить”.
Для объектов Edit1 и Edit2 свойству Text в правой колонке зададим, пустую строку (т.е. с клавиатуры удалим автоматически отображаемое значение Edit1)
Внимание. Заголовок объекта Memo1 не изменять.
Составление программы
В создаваемой программе необходимо запрограммировать 4 события:
1. ЩЛК на кнопке “Ввод a[i,j]” (OnClick).
2. ЩЛК на кнопке “Ввод b[i,j]” (OnClick).
3. ЩЛК на кнопке “Вычислить” (OnClick).
4. Создание формы окна (OnCreate).
С событием OnCreate (при создании) связана процедура-обработчик Form Create, заголовок которой Delphi выдает автоматически:
procedure TForm1.FormCreate (Sender: TObject);
Эту процедуру мы используем для ввода начальных значений, с которыми начинает работать программа.
Чтобы получить заготовку процедуры-обработчика FormCreate необходимо:
- выбрать форму Form1, т.е. ЩЛК на пустом месте рабочей области
формы;
- в окне Инспектора объекта открыть страницу Events, т.е. ЩЛК на
вкладке Events;
- в левой колонке найти строку с названием события OnCreate и
произвести двойной щелчок (2ЩЛК) в правой колонке этой же строки.
При этом Delphi вызовет редактор программы, в окне кода автоматически создаст нужный текст и разместит курсор в месте начала ввода операторов:
procedure TForm1.FormCreate (Sender : TObject);
begin
end;
Эта процедура – обработчик часто называется методом класса TForm1 и описывает главную форму Form1. Параметр Sender ( передающий тип) характеризует источник сообщения о случившемся событии.
Чтобы получить заготовку процедуры-обработчика события Click на кнопке ’’Ввод a[i,j]’’, надо дважды щелкнуть на ней левой клавишей мыши (2ЩЛК). При этом Delphi сделает активным окно кода, вызовет редактор программы, автоматически создаст нужный текст и разместит курсор в том месте, где можно начинать ввод операторов процедуры:
procedure TForm 1.Button1Click (Sender : TObject);
begin
end;
Аналогично создаются заготовки процедур-обработчиков, вызываемых при ЩЛК на кнопках ’’ Ввод b[i,j]’’ и ’’ Вычислить ’’.
Перед созданием очередной заготовки процедуры необходимо переместить курсор в начало пустой строки, следующей после end; (т.е. в начало строки очередной заготовки).
В каждую из 4-х полученных заготовок введем операторы, реализующие нужные алгоритмы.
1. В процедуре TForm1.FormCreate присвоим начальные значения 1 переменным i,j, определяющим соответственно номера строк и столбцов массива а, и переменным k,l, определяющим номера строк и столбцов массива b. Отображение в строке Edit1.Text подсказки ’’a[1,1]=’’ реализуем оператором присваивания:
Edit1.Text := ’a[’+IntToStr(i)+’,’+IntToStr(j)+’]=’;
Текст процедуры может выглядеть так:
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;j:=1;k:=1;l:=1;
Edit1.Text:='a['+IntToStr(i)+','+IntToStr(j)+']=';
end;
2. В процедуре TForm1.Button1Click (Sender: TObject) запишем операторы ,реализующие:
- присвоение элементу массива a числа, введенного в строке Edit2.Text;
- отображение в строке Edit1.Text подсказки очередного вводимого
элемента матрицы a;
- нужные изменения значений переменных i,j, обеспечивающие «построчный» ввод элементов матрицы a;
- отображение в Мемо1 текста «Элементы матрицы А введены», а в строке Edit1. Text - подсказки «b[1,1] =» о начале ввода элементов матрицы В. Условием отображения этой информации является равенство i=5.
Текст процедуры может выглядеть так:
procedure TForm1.Button1Click(Sender: TObject);
begin
if i<5 then begin
a[i,j]:=StrToFloat(Edit2.Text);
Memo1.Lines.Add('a['+IntToStr(i)+','+IntToStr(j)+']='+FloatToStr(a[i,j]));
if i<=4 then j:=j+1;
if j>4 then
begin
i:=i+1;j:=1;
end;
if i<5 then Edit1.Text:=’a[‘+IntToStr(i)+’,’+ IntToStr(j)+’]=’;
end else
begin
Memo1.Lines.Add(‘Элементы матрицы А введены’);
Edit1.Text:=’b[‘+IntToStr(k)+’,’+IntToStr(l)+’]=’;
end;
end;
3. Аналогично в процедуре TForm2.Button2Click (Sender: TObject) запишем операторы, реализующие:
- присвоение элементу массива b числа, введенного в строке Edit2.Text;
- отображение в строке Edit1.Text подсказки очередного вводимого
элемента матрицы b;
- нужные изменения значений переменных l,k, обеспечивающие «построчный» ввод элементов матрицы b;
- отображение в Мемо1 текста «Элементы матицы В введены».
Условием отображения этой информации является равенство k=5.
Текст процедуры может выглядеть так:
procedure TForm1.Button2Click(Sender: TObject);
begin