ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.04.2024
Просмотров: 4517
Скачиваний: 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. Составление программ реализующих основные матричные операции
Оформление эскиза окна программы
if k<5 then begin
b[k,l]:=StrToFloat(Edit2.Text);
Memo1.Lines.Add('b['+IntToStr(k)+','+IntToStr(l)+']='+FloatToStr(b[k,l]));
if k<=4 then l:=l+1;
if l>4 then
begin
k:=k+1; l:=1;
end;
if i<5 then Edit1.Text:=’b[‘+IntToStr(k)+’,’+ IntToStr(l)+’]=’;
end else
Memo1.Lines.Add(‘Элементы матрицы В введены’);
end;
4. В процедуре TForm1.Button3Click (Sender: TObject) запишем операторы, реализующие:
- очистку строк редактора Memo1, которая производится стандартной процедурой Clear (Очистить);
- вычисления элементов матрицы C по формуле (5);
- отображение в строках редактора Memo1 значений элементов матрицы C.
Текст процедуры:
procedure TForm1.Button3Click(Sender: TObject);
begin
Memo1.Lines.Clear;
For i:=1 to 4 do
for j:=1 to 4 do
begin
c[i,j]:=0.0;
for k:=1 to 4 do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
Memo1.Lines.Add('c['+IntToStr(i)+','+IntToStr(j)+']='+floatToStr(c[i,j]));
end;
end;
5. Областью видимости переменных i, j, l, k и массивов a, b, c, называется связь места их описания(объявления) в модуле и места их использования. Дадим их описания в интерфейсном разделе модуля, сделав их видимыми и доступными внутри модуля (из всех процедур-обработчиков событий) и из внешних модулей:
…
var
Form1: TForm1;
i, j, l, k: integer;
a, b, c: array[1..4,1..4] of real;
…
Тогда окончательно получим текст модуля:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,j,l,k: integer;
a,b,c: array[1..4,1..4] of real;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
i:=1;j:=1;k:=1;l:=1;
Edit1.Text:='a['+IntToStr(i)+','+IntToStr(j)+']=';
end;
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;
procedure TForm1.Button2Click(Sender: TObject);
begin
if k<5 then begin
b[k,l]:=StrToFloat(Edit2.Text);
Memo1.Lines.Add('b['+IntToStr(k)+','+IntToStr(l)+']='+FloatToStr(b[k,l]));
if k<=4 then l:=l+1;
if l>4 then
begin
k:=k+1; l:=1;
end;
if k<5 then Edit1.Text:='b['+IntToStr(k)+','+IntToStr(l)+']=';
end else
Memo1.Lines.Add('Элементы матрицы В введены');
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Memo1.Lines.Clear;
for i:=1 to 4 do
for j:=1 to 4 do
begin
c[i,j]:=0.0;
for k:=1 to 4 do
c[i,j]:=c[i,j]+a[i,k]*b[k,j];
Memo1.Lines.Add('c['+IntToStr(i)+','+IntToStr(j)+']='+FloatToStr(c[i,j]));
end;
end;
end.
3. Выполнение работы
1. Включить ПК.
2. Создать 2 папки для сохранения двух проектов.
3. Согласно пункту 2.3, ввести и отладить программу задания 1. В отчете зафиксировать модуль программы и результаты счета.
4. Сохранить проект в первой папке.
5. В соответствии с номером второго задания (из пункта 4) составить, ввести и отладить соответствующую программу. В отчете зафиксировать модуль программы и результаты счета.
6. Сохранить проект во второй папке.
4. Перечень заданий
Задание 2. Даны 2 вещественные квадратные матрицы А и В (см. задание 1). Составить программу, в которой предусмотреть:
- ввод каждого элемента матриц А и В;
- получение матрицы С=А+В;
- отображение в окне программы : вводимых элементов матриц А и В (для контроля правильности ввода исходных данных); значений элементов матрицы C, полученных в результате счета в виде:
с[1,1]=
c[1,2]=
…
c[4,4]=
Задание 3. Дана вещественная матрица A (см. задание 1) и вещественное v=2,5. Составить программу, в которой предусмотреть:
- ввод каждого элемента матрицы A;
- получение матрицы C=v*A;
- отображение в окне программы значений элементов матрицы C, полученных в результате счета.
Задание 4. Дана вещественная матрица B (см. задание 1). Составить программу, в которой предусмотреть:
- ввод каждого элемента матрицы B;
- получение матрицы C=BT;
- отображение в окне программы значений элементов матрицы C, полученных в результате счета.
5. Форма отчета
Отчет должен содержать следующие разделы:
- основные положения по пунктам 2.1, 2.2 и 2.3;
- условия двух заданий и соответствующие им окна программ, тексты модулей с комментариями;
- результаты счета каждой программы.
6. Контрольные вопросы
1. Вычислите значения элементов матрицы c12 , c23 и c43 в задании 1.
2. Поясните процедуру, применяемую для присваивания начальных значений переменным, с которыми начинает работать программа.
3. Опишите изменения в модуле, если для ввода элемента матриц A и B в задании 1 применить одну командную кнопку (например, Button1).
4. Можно ли поместить описания переменных i, j, l, k и a, b, c (при выполнении задания1) в другом разделе модуля?
7. Литература
1. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов. – СПб.; Питер, 2007. – 640с.: ил.
2. Архангельский А. Я. Программирование в Delphi 7 – М.: ОАО БИНОМ-Пресс. 2004г. – 1152с.: ил.
-