- •В.П. Кондратьев языки программирования
- •210700 «Инфокоммуникационные технологии и системы связи»
- •Содержание
- •Пояснительная записка
- •Перечень практических занятий
- •Практическая работа 1 Структуры языка программированиия Pascal
- •Практическая работа 2 Структуры языка программированиия Pascal
- •Практическая работа 3 Визуальная среда разработки программ delphi
- •Практическая работа 4 Визуальная среда разработки программ delphi
- •Практическая работа 5 Основные алгоритмы обработки данных.
- •Практическая работа 6 Методы вычислений.
- •Практическая работа 7 Визуальное программирование
- •Практическая работа 8 Пакет математических вычислений maple.
- •Практическая работа 9 Пакет математических вычислений maple.
- •Литература
Практическая работа 3 Визуальная среда разработки программ delphi
Реализация алгоритмов вычислительной математики на языках программирования в визуальной среде DELPHI. Алгоритмы решения уравнений и систем уравнений, квадратурные формулы.
Цель работы:
Ознакомиться с приемами работы в визуальной среде программирования Turbo DELPHI, с разделами меню, с основными компонентами визуального программирования. Реализовать алгоритмы решения уравнений и приближенного вычисления определенных интегралов в визуальной среде.
Ознакомиться с основными компонентами стандартной закладки компонент среды Turbo DELPHI, с технологией разработки простых программ в визуальной среде.
Запустить оболочку, ознакомиться с пунктами главного меню, с установкой компонент на форму, с настройкой первоначальных свойств компонентов и с их изменением в процессе работы программы.
Ознакомиться со структурой модуля формы, с интерфейсной частью модуля. Расположить вызываемые процедуры, реализующие алгоритмы в исполняемой части, описать все переменные.
Освоить отладку программы в процессе трансляции.
Написать программу решения уравнения, левая часть которого задана функцией, алгоритмом половинного деления.
Построить на основе этого алгоритма метод касательных, добавив процедуру вычисления производной.
Построить процедуру вычисления определенного интеграла функции на заданном отрезке методом средних прямоугольников.
Образец выполнения задания:
Программа решения уравнения методом половинного деления.
Установить на форму компоненты Button1, ListBox1, Label1 , расположив их примерно так, как указано на рисунке. Двойным щелчком на объекте Button1 попадаем в редактор кода для набора операторов, соответствующих событию «нажатие кнопки»: procedure TForm1.Button1Click(Sender: TObject);
Вид формы с установленными компонентами.
Часть работы по написанию кода программы берет на себя редактор кода визуальной среды. По мере установки компонент на форму редактор кода добавляет в интерфейсную часть создаваемого модуля описания компонент и используемых свойств и событий. Заголовки процедур, соответствующие обрабатываемым событиям, также создаются редактором кода.
Набираем текст процедуры, соответствующей нажатию кнопки и выделенный ниже прямым жирным шрифтом. Далее, в раздел implementation модуля вводим текст процедур и деклараций, напечатанный жирным курсивом. Отлаживаем работу программы (с учетом ошибок набора) и добиваемся правильного выполнения программы. Тестируем программу на нескольких вариантах уравнений. Сохраняем проект и модуль в отдельной папке.
Текст модуля:
unit koren;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
a=0;b=3;
eps=0.000001;
function f(t:real):real;
begin
f:=t*t*t*t*t-8*t-1;
end;
procedure root(a,b:real; var x:real);
var
ya,yb:real;
y:real;
s1,s2:string;
begin
ya:=f(a);
yb:=f(b);
if ya*yb<0 then
begin
repeat
x:=(b+a)/2;
y:=f(x);
str(x:6:3,s1);
str(y:8:4,s2);
form1.listbox1.Items.Add(s1+' '+s2);
if y*ya<0 then
b:=x else
a:=x;
until b-a<eps;
end
else
showmessage('корня на этом отрезке нет');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
x:real;
begin
form1.Caption:='Решение уравнения ';
root(a,b,x);
label1.Caption:=floattostr(x);
end;
end.
