- •Содержание
- •Введение
- •1.Теоретическая часть.
- •1.1 Математическая модель метода.
- •1.2 Блок схема алгоритма метода
- •2. Практическая часть
- •2.1. Создание интерфейса приложения
- •2.2. Кодирование метода
- •2.4. Вычислительный эксперимент
- •2.5 Сравнение результатов выполнения приложения с результатом, полученным в математическом пакете
- •Заключение
- •2.3. Визуализация
1.2 Блок схема алгоритма метода
Рисунок 2 - Блок схема алгоритма
2. Практическая часть
2.1. Создание интерфейса приложения
Создадим главное окно программы. Обозначим на ней пункты меню: «Вычисление», «Об авторе», «О программе», «Выход». В «Вычисление» создадим подменю и обозначим в ней «Ввод промежутка», «Вычислить интеграл», «Построить график». Это окно будет являться главным и опорным пунктом для наших дальнейших действий. Обозначим его как Form1.
Рисунок 3 - Главное окно
Далее создадим другие формы, на которые в дальнейшем будем ссылаться. Form2 – «Ввод промежутка»:
Рисунок 4 - "Ввод промежутка"
Для этой же формы вызовем событие On Create и напишем программу, которая сразу же при открытии данного кода выдаст нам исходный промежуток:
procedure TForm2.FormCreate(Sender: TObject);
begin
edit1.Text:=FloatToStr(0);
edit2.Text:=FloatToStr(pi/2);
end;
Далее создадим окно «Вычисление интеграла» - Form3:
Рисунок 5 - Вычисление интеграла
Окно «График» - From4:
Рисунок 6 – График
Окно «Об авторе» - Form5:
Рисунок 7 - Об авторе
Окно «О программе» - Form6:
Рисунок 8 - О программе
Теперь, после того как мы создали все необходимые формы, можем приступать к созданию программного кода, в котором свяжем каждую из них.
procedure TForm1.MenuItem4Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «Ввод промежутка», открывает Form2
begin
form2.show;
end;
procedure TForm1.MenuItem2Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «Об авторе», открывает Form5
begin
form5.show;
end;
procedure TForm1.MenuItem3Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «Выход», закрывает приложение.
begin
form1.close;
end;
procedure TForm1.MenuItem5Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «Вычислить интеграл», открывает Form3
begin
form3.Show;
end;
procedure TForm1.MenuItem6Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «График», открывает Form4
begin
form4.show;
end;
procedure TForm1.MenuItem7Click(Sender: TObject); // Процедура происходящая при нажатии пункта меню «О программе», открывает Form6
begin
form6.show;
end;
2.2. Кодирование метода
Для удобства в дальнейшей работе с программным кодом, в unit1 создадим функцию, на которую будем ссылаться.
Function TForm1.Z(x1:real):real; // Функция Z для любого вещественного типа
begin
Z:=sqr(sin(x1)); // Присваиваем Z значение нашей функции
end;
Для того что бы мы могли ссылаться на эту функции в других «юнитах», опишем её в разделе «public»: Public Function Z(x1:real):real;
Соответствующие «юниты» свяжем в разделе uses после implementation.
Далее приступим к созданию программного кода вычисления интеграла методом «правых прямоугольников». В form3 для объекта button3 вызовем событие On Click и напишем следующий алгоритм:
procedure TForm3.Button3Click(Sender: TObject);
var r,a,b,c,h,x,y,s:real; n,i:integer; // Описываем необходимые переменные
begin
a:=StrToFloat(form2.edit1.text); // Вереводим текстовую строку в число
b:=StrTofloat(form2.edit2.text);
n:=StrToint(form2.Edit3.text);
h:=(b-a)/n; // Вычисляем шаг
x:=b; s:=0; // Присваиваем для х конечное значение промежутка, и нуль для суммы
for i:=n downto 1 do // Цикл с параметром с шагом -1
begin
y:=Form1.Z(x); // Присваиваем переменной у значение нашей функции от х, с использованием заранее созданной подпрограммы
s:=s+y; // Записываем в переменную s суммы значений нашей функции
x:=x-h; // Берем следующее значение x, отняв шаг
end;
r:=s*h; // Вычисляем наш интеграл
if checkbox1.checked then edit1.text:=Floattostrf(r,fffixed,7,4)
else edit1.text:=Floattostr(r); // Вывод интеграла. На «форме» имеется объект CheckBox (Форматный вывод). В случае если флажок находтиться в активном положении, то программа выдаст нам отформатированный вариант ответа, если же нет, то значение интеграло будет выведенно в обычном виде.
end;
Теперь нам необходимо запрограммировать кнопку «Сохранить». Её код будет выглядеть следующем образом:
procedure TForm3.Button2Click(Sender: TObject);
var f:textfile;
begin
AssignFile(f,'save.txt'); // Связываем файловую переменную с конкретным местом на диске
Rewrite(f); // Создает файл и открывает его
writeln(f,Edit1.Text); // Записывает строку Edit1.Text в файл f
CloseFile(f); // Закрывает файл
end;
