- •Часть 2
- •Лабораторная работа № 6. Программирование циклических вычислительных процессов. Итерационные циклы
- •Отладка модулей проекта
- •Отладка синтаксических ошибок
- •Отладка логических ошибок
- •Итерационные циклы
- •Текст модуля UnIterate
- •Пример создания приложения
- •Сохранение проекта
- •Размещение компонентов на Форме
- •6.4. Выполнение индивидуального задания
- •Лабораторная работа № 7. Программирование с использованием строк
- •Краткие теоретические сведения
- •7.1.1. Символьные типы
- •7.1.2. Строковые типы
- •7.1.3. Процедуры и функции для работы со строками
- •Применение компонентов ListBox и ComboBox для работы со строками
- •7.3. Пример создания приложения
- •7.3.1. Сохранение проекта
- •7.3.2. Размещение компонентов на Форме
- •7.3.3. Создание процедуры-обработчика события активизации Формы FormActivate.
- •7.3.4. Создание процедуры-обработчики события ComboBox1KeyPress
- •7.3.5. Создание процедуры-обработчики события нажатия клавиши «мыши» ComboBox1Click
- •7.3.6. Работа с приложением
- •7.4. Текст модуля UnStr
- •7.5. Выполнение индивидуального задания
- •С использованием записей
- •8.1. Краткие теоретические сведения
- •8.2. Пример создания приложения
- •8.2.1. Указания по созданию приложения
- •8.2.2. Размещение компонентов по Форме
- •8.2.3.Создание процедур обработки событий FormCreate и ButtonClick
- •8.2.4. Работа с приложением
- •8.2.5. Текст модуля UnZap
- •8.3. Выполнение индивидуального задания
- •Лабораторная работа № 9. Програмирование с использованием файлов
- •9.1. Краткие теоретические сведения
- •9.2. Пример создания приложения
- •9.2.1. Указания по созданию приложения
- •9.2.2.Размещение компонентов по Форме.
- •9.2.3.Создание процедур обработки событий
- •9.2.4. Текст модуля UnFile
- •9.2.5. Работа с приложением
- •9.3. Выполнение индивидуального задания
- •Лабораторная работа № 10. Программирование с использованием функций и процедур. Процедурные типы. Создание модулей
- •10.1. Краткие теоретические сведения
- •10.1.1. Объявление и описание функций и процедур
- •10.1.2. Различные варианты передачи параметров в функции и процедуры
- •10.1.3. Процедурные типы
- •Текст модуля UnFancProc
- •Текст модуля UnModul
- •Выполнение индивидуального задания
- •Лабораторная работа № 11. Программирование с использованием динамических структур данных
- •11.1. Краткие теоретические сведения
- •11.1.1. Указатели
- •11.2. Использование динамических переменных
- •Пример создания приложения
- •11.3.1. Сохранение проекта
- •Размещение компонентов на Форме
- •11.3.3. Создание процедуры обработки событий FormCreate
- •Текст модуля UnDinMas
- •11.5. Выполнение индивидуального задания
- •Лабораторная работа № 12. Программирование с использованием средств для построения и отображения графиков
- •12.1. Методика построения графиков с помощью компонента tChart
- •12.2. Пример написания программы
- •12.2.1. Настройка формы
- •12.2.2. Работа с компонентом tChart
- •12.2.3. Написание программы обработчика события создания формы
- •12.2.4. Написание программ обработчика событий нажатия на кнопки
- •12.3. Модуль программы построения и отображения графиков
- •12.4. Выполнение индивидуального задания
- •Приложение 1 п1. Свойства и методы компонентов п1.1. Общие свойства компонентов
- •2. Компоненты страницы standard
- •3. Компоненты страницы additional
- •4. Компоненты страницы dialogs
- •П2. Простые типы данных языка object pascal
- •П3. Процедуры и функции для работы со строками
- •Литература
Текст модуля UnModul
unit UnModul;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Spin;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
SpinEdit1: TSpinEdit;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
func=function(x:real):real; // функциональный тип
proc=procedure(x:real; var s:real); // процедурный тип
var
Form1: TForm1;
implementation
uses UnFuncProc; // Delphi подключает модуль
// UnFuncProc
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
SpinEdit1.Text:='8'; // начальное значение N
Edit1.Text:='0,1'; // начальное значение Xn
Edit2.Text:='1'; // начальное значение Xk
Memo1.Clear;
end;
{В процедуре Tab вычисляется и выводитчя таблица значений x, S(x), Y(x)}
procedure Tab(Summa:proc;F:func;n:byte;xn,xk,h:real);
var
x,s,y:real;
begin
Form1.Memo1.Lines.Add(#9+'X'+#9+'S'+#9+'Y'); // заголовок таблицы
x:=xn;
repeat // цикл по х
Summa(x,s); // вызов процедуры Summa для вычисления S(x)
y:=F(x); // обращение к функции F для вычисления Y(x)
Form1.Memo1.Lines.Add(#9+FloatToStrF(x,ffFixed,6,2)+ // вывод x
#9+FloatToStrF(s,ffFixed,6,3)+ // вывод S
#9+FloatToStrF(y,ffFixed,6,3)); // вывод Y
x:=x+h;
until x>xk;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var
xn,xk,x,h,y,s,p,ab,ot:real;
n,i:byte;
begin
n:=StrToInt(SpinEdit1.Text);
xn:=StrToFloat(Edit1.Text);
xk:=StrToFloat(Edit2.Text);
h:=(xk-xn)/n; // шаг h
Memo1.Clear;
Tab(Summa,F,n,xn,xk,h); // вызов процедуры Tab
end;
end.
Выполнение индивидуального задания
По указанию преподавателя выберите из таблицы два варианта индивидуальных заданий. Создайте модуль, в котором вычисление значений S(x) реализуйте в виде подпрограммы-процедуры, а вычисление значений Y(x) – в виде подпрограммы-функции. На панели интерфейса установите компонент. С помощью которого реализуйте возможность выбора соответствующего варианта задания и вывод таблицы значений x, Si(x), Yi(x), где i – номер варианта. Созданный модуль подключите к проекту и выполните приложение.
Индивидуальные задания
№ |
Xn |
Xk |
S(x) |
n |
Y(x) |
|
|
0,1 |
1 |
|
8 |
|
|
|
|
|
|
18 |
|
|
|
|
|
|
6 |
|
|
|
0,1 |
0,8 |
|
12 |
|
|
|
0,1 |
1 |
|
16 |
|
|
|
0,1 |
1 |
|
14 |
|
|
|
0,1 |
1 |
|
8 |
|
|
|
0,1 |
0,8 |
|
10 |
|
|
|
0,2 |
1 |
|
6 |
|
|
|
|
|
|
16 |
|
|
|
0,1 |
0,8 |
|
20 |
|
|
|
0,1 |
1 |
|
18 |
|
|
|
0,1 |
0,8 |
|
14 |
|
|
|
0,1 |
0,8 |
|
12 |
|
|
|
|
|
|
18 |
|
|
|
0,1 |
1 |
|
16 |
|
|
|
0,1 |
1 |
|
10 |
|
|
|
0,1 |
1 |
|
12 |
|
|
|
0,1 |
1 |
|
8 |
|
|
|
0,1 |
1 |
|
14 |
|
|
|
0,1 |
1 |
|
8 |
|
|
|
0,1 |
1 |
|
12 |
|
|
|
0,1 |
1 |
|
10 |
|
|
|
0,1 |
1 |
|
14 |
|
|
|
0,1 |
0,5 |
|
15 |
|
|
|
0,1 |
0,8 |
|
10 |
|
|
|
0,1 |
2 |
|
8 |
|
|
|
-2 |
-0,1 |
|
16 |
|
|
|
0,2 |
0,8 |
|
12 |
|
|
|
-1 |
1 |
|
10 |
|
