В настоящее время резко возрос интерес к языкам высокого уровня благодаря возможности использования в научных исследованиях, в технике и экономике вычислительных машин, выполняющих построение некоторых величин в точном соответствии с указанным алгоритмом. Эта возможность привлекательна по той причине, что явления и процессы, которые изучаются в рамках упомянутых исследований, часто удается описать с помощью понятий математики — функций, систем уравнений, неравенств — и для получения конкретных сведений об изучаемых явлениях и процессах надо провести некоторые действия над математическими объектами. Человеку достаточно описать алгоритм необходимых преобразований и вычислений, а сами действия (как правило, настолько обширные и громоздкие, что их невозможно выполнить вручную) выполнит вычислительная машина.
Правила записи алгоритма для выполнения его вычислительной машиной оказываются очень жесткими — автомат не может ничего додумывать за человека. Совокупность средств и правил представления алгоритма в виде, пригодном для выполнения вычислительной машиной, называется языком программирования, а каждый алгоритм, записанный на некотором языке программирования, называется программой. Для удобства составления программ предлагаются различные языки программирования.
Задание на курсовую работу: разработать приложение для вычисления интеграла от заданной функции в заданных пределах по формуле Симпсона, прямоугольников, трапеций.
1.Краткое описание предметной области
Для приближенного вычисления определенного интеграла
разбивается отрезок интегрирования [a,b] на n равных частей точками
Значения функции y=f(x) в точках разбиения x i обозначено через yi . Непрерывная подынтегральная функция y=f(x) заменяется сплайном — кусочно-полиномиальной функцией S(x), аппроксимирующей данную функцию.
Интегрируя функцию S(x) на отрезке [a,b], получается некоторая формула численного интегрирования (квадратурная формула).
В зависимости от функции , аппроксимирующей подынтегральную функцию, получаются различные квадратурные формулы.
Если на каждой части [x i -1 ,xi ] (i=1,n) деления отрезка [a,b] функцию y=f(x) заменить функцией, принимающей постоянное значение, равное, например, значению функции y=f(x) в серединной точке i-й части
«Разработка методической поддержки базового курса информатики ...
... программирования в базовом курсе информатики. Создать сайт учителя. Структура дипломной работы. ... с их помощью высококвалифицированным программистом программы занимают меньше места ... функции записи и редактирования исходного текста программы; загрузчик программ ( Load ), позволяющий выбрать из директория нужный текстовый файл программы; запускатель программ ( Run ), осуществляющий процесс выполнения ...
то функция будет иметь ступенчатый вид:
в этом случае:
и получается квадратурную формулу прямоугольников:
Если функцию y=f(x) на каждом отрезке [x i -1 ,xi ] заменить её линейной интерполяцией по точкам (xi -1 ,yi -1 ) и (xi ,yi ), то получится непрерывная кусочно-линейная функция
Графиком этой функции является ломаная линия.
В этом случае:
в итоге получена квадратурная формула трапеций:
Можно получить квадратурную формулу Симпсона, называемую также формулой парабол, если сплайн S(x), аппроксимирующий подынтегральную функцию y=f(x), представляет собой непрерывную функцию, составленную из примыкающих парабол. На отрезке [x i -1 ,xi ] парабола проходит через точки (xi -1 ,yi -1 ), (xi -1 /2 ,yi -1 /2 ), (xi ,yi ).
Используя построение интерполяционного многочлена Лагранжа второго порядка на отрезке [xi -1 ,xi ], получим сплайн:
Для дальнейших преобразований вводится переменная t € [0,1] с помощью равенства x = x i -1 +h*t. Выражают сплайн через новую переменную:
Учитывая, что
В результате получена квадратурная формула парабол(или формула Симпсона):
которая при интегрировании степенной функции, степень которой не выше трёх, квадратурная формула Симпсона даёт точный результат.
2.Описание последовательности действий программы при вычислении интеграла от заданной функции в заданных пределах по формулам Симпсона, прямоугольников и трапеций
1. Вводим функцию, как она есть, соблюдая правила расстановки знаков и скобок.
2. Вводим нижний предел.
3. Вводим верхний предел.
4. Вводим количество отрезков для разбиения.
5. Выбираем метод для вычисления интеграла
- По формуле Симпсона
- По формуле прямоугольников
- .По формуле трапеций
6. Нажимаем кнопку вычислить.
7. Проверяется выбранный метод, в зависимости от выбора рассчитывается интеграл по соответствующему методу.
8. Для формулы Симпсона, сначала рассчитываются первые два узла интегрирования и шаг.(для других методов аналогично, только меняются пункты 8, 9, 10)
9. После, рассчитываются результаты интегрирования на 3ем узле и 4том. Здесь используются потоки, в зависимости от количества отрезков на каждый узел.
10. После суммируются и умножаются переменные содержащие суммы результатов интегрирования на всех отрезках.
11. На экран выводится метка с результатом интегрирования.
12. После расчетов и просмотра результатов, окончание работы программы производится кнопкой выход.
3.Краткая инструкция по работе программы
программирование средний прямоугольник формула
Данная программа разработана для вычисления интеграла от заданной функции в заданных пределах по формуле Симпсона, прямоугольников, трапеций
Для того чтобы начать работу необходимо запустить файл PrIntegral.exe. После запуска на экране появится окно (рис. 1).
Создание проекта для тестирования знаний студентов по языку программирования ...
... разработки Delphi при программной реализации, позволило создать качественное современное программное обеспечение, обладающее высокой скоростью работы, ... Компоненты вкладки Standard: Frames. MainMenu. PopupMenu. Label. Edit. Memo. Button. CheckBox. RadioButton. ListBox. ComboBox. ... новую информацию. Анализ результатов проверки данных тестов позволит диагностировать и психофизиологическую личность ...
Рис 1. Запуск программы.
Далее необходимо ввести функцию (рис. 2).
Рис 2. Ввод функции
Далее необходимо ввести пределы интегрирования (верхний и нижний) (рис. 3,4).
Рис 3,4. Ввод верхнего и нижнего пределов интегрирования.
Далее необходимо ввести количество частей, для подготовки функции к разбиению (рис. 5).
Риск 5. Ввод количества частей для разбиения
После выбирается необходимый метод для вычисления интеграла (рис. 6).
Рис 6. Выбор метода для вычисления
Далее после ввода всех данных и выбора метода необходимо нажать кнопку вычислить (рис. 7).
Рис 7. Вычисление.
После появится метка в левом нижнем экране с результатом вычислений (рис. 8).
Рис 8. Результат вычислений.
Для выхода из программы необходимо кликнуть на кнопку Выход (рис. 9).
Рис 9. Результат вычислений
4.Листинг программы
Исходный текст программы (основной модуль)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, UFunction, jpeg, ExtCtrls, Unit2, Unit3;
type
TForm1 = class(TForm)
Label1: TLabel;
- Label2: TLabel;
- Edit1: TEdit;
- Edit2: TEdit;
- Button1: TButton;
- Edit4: TEdit;
- RadioButton1: TRadioButton;
- RadioButton2: TRadioButton;
- RadioButton3: TRadioButton;
- Edit5: TEdit;
- Button4: TButton;
- Image1: TImage;
- GroupBox1: TGroupBox;
- Label5: TLabel;
- Label6: TLabel;
- Label4: TLabel;
- Label3: TLabel;
- procedure Edit1KeyPress(Sender: TObject;
- var Key: Char);
- procedure Edit2KeyPress(Sender: TObject;
- var Key: Char);
- procedure Edit4KeyPress(Sender: TObject;
- var Key: Char);
- procedure Button1Click(Sender: TObject);
- procedure Edit5KeyPress(Sender: TObject;
- var Key: Char);
- procedure Button4Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
simc2,simc3:extended; //переменные для суммирования результатов потока
end;
var
Form1: TForm1;
- OldFStroka: string;
- a, b : extended;//границы интегрирования,счетчик
nc: integer;//разбить на nc частей
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
label3.Visible:=False;
- label4.Visible:=False;
- end;
- procedure TForm1.Edit5KeyPress(Sender: TObject;
- var Key: Char);
begin
if not (key in[‘0’..’9′, ‘a’..’z’, #8, #13, ‘-‘, ‘+’, ‘*’, ‘/’,
‘^’, ‘,’, ‘.’, ‘(‘, ‘)’]) then key:=#0;
Информатика» «Разработка программы для игры «Питон
... выполнять поставленные задачи и правильно функционировать.[3] Задачей данной курсовой работы стала разработка программы для игры «Питон». Разработанная программа, предназначенная для изображения движущегося “питона”, ... заполнение таблицы и формы программы. Алгоритм процедуры TForm1.FormCreate представлен на рисунке 3. procedure TForm1.FormCreate (Sender: TObject) Связать finfo с файлом i=0 Нет Файл ...
- end;
- procedure TForm1.Edit1KeyPress(Sender: TObject;
- var Key: Char);
begin
if not (key in[‘0’..’9′, #8, ‘-‘, ‘E’, ‘e’, ‘,’, ‘.’]) then key:=#0;
- end;
- procedure TForm1.Edit2KeyPress(Sender: TObject;
- var Key: Char);
begin
if not (key in[‘0’..’9′, #8, ‘-‘, ‘E’, ‘e’, ‘,’, ‘.’]) then key:=#0;
- end;
- procedure TForm1.Edit4KeyPress(Sender: TObject;
- var Key: Char);
begin
if not (key in[‘0’..’9′, #8]) then key:=#0;
- end;
- procedure Pr;
begin
FStroka:=Form1.Edit5.Text;
if length(OldFStroka) = 0 then
begin
CreateSh;
- OldFStroka:=FStroka;
end else
if OldFStroka <> FStroka then
begin
DeleteSh;
- CreateSh;
- OldFStroka:=FStroka;
- end;
- end;
- function Log: boolean;
begin
if Form1.Edit5.Text <> » then Log:=true else Log:=false;
- if Form1.Edit1.Text <>
- » then a:=strtofloat(Form1.Edit1.Text) else
Log:=false;
- if Form1.Edit2.Text <>
- » then b:=strtofloat(Form1.Edit2.Text) else
Log:=false;
- if Form1.Edit4.Text <>
- » then nc:=strtoint(Form1.Edit4.Text) else
Log:=false;
- end;
//формула Симпсона
function IntegralSimpson: extended;
- var c0, c1, c2, c3, c4, dx: extended;
- i: integer;
- Thr: Threadc2;Thr2: Threadc3;
- k: real;
begin
c0:=(b-a)/(3*nc);
- c1:=(F(a)+F(b))/2;
- dx:=(b-a)/nc;
- c2:=0;
- i:=0;
- c3:=0;
- k:=-0.5;
repeat
i:=i+1;
- Thr:=Threadc2.Create(False);
- Thr.Priority:=tpHighest;
- Thr.FreeOnTerminate:=True;
- Thr.a:=a;
- Thr.dx:=dx;
- Thr.nc:=nc;
- Thr.i:=i;
- until i = nc-1;
repeat
k:=k+1;
- Thr2:=Threadc3.Create(False);
- Thr2.Priority:=tpHighest;
- Thr2.FreeOnTerminate:=True;
- Thr2.a:=a;
- Thr2.dx:=dx;
- Thr2.nc:=nc;
- Thr2.k:=k;
- until k = nc-0.5;
- IntegralSimpson:=c0*(c1+Form1.simc2+2*Form1.simc3);
- end;
//формула прямоугольников
function IntegralPrmg: extended;
- var sum, dx: extended;
- k: real;
begin
dx:=(b-a)/nc;
- sum:=0;
- k:=-0.5;
repeat
k:=k+1;
- sum:=sum+F(a+dx*k);
- until k = (2*nc-1)/2;
- IntegralPrmg:=dx*sum;
- end;
//формула трапеций
function IntegralTrap: extended;
- var dx, c0, c1: extended;
- i: integer;
begin
dx:=(b-a)/nc;
- c0:=(F(a)+F(b))/2;
- c1:=0;
- i:=0;
repeat
Содержание … 2 Введение Обзор технологий и стандартов BIM ...
2 3 Содержание Реферат... 2 Введение Обзор технологий и стандартов BIM технологии IFC формат Продукты, реализующие ... частности. 5 6 1 Обзор технологий и стандартов 1.1 BIM технологии Building information modeling (BIM) это процесс, включающий в себя ... поставленной цели были выявлены следующие задачи: Ознакомиться с BIM технологиями и IFC форматом Выявить недостатки существующего стандарта IFC ...
i:=i+1;
- c1:=c1+F(a+dx*i);
- until i = nc-1;
- IntegralTrap:=dx*(c0+c1);
- end;
- procedure TForm1.Button1Click(Sender: TObject);
begin
Pr;simc2:=0;simc3:=0;
- label3.Caption:=»;
if Log then
if Form1.RadioButton1.Checked then Form1.Label3.Caption:=floattostr(IntegralSimpson)
else
if Form1.RadioButton2.Checked then Form1.Label3.Caption:=floattostr(IntegralPrmg) else
if Form1.RadioButton3.Checked then Form1.Label3.Caption:=floattostr(IntegralTrap);
- label3.Visible:=True;
- label4.Visible:=True;
- end;
- procedure TForm1.Button4Click(Sender: TObject);
begin
close;
- end;
- end.
Исходный текс потока 1(Unit2)
unit Unit2;
interface
uses
Classes;
type
Threadc2 = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
- procedure SIMP;
Public
dx,a,tr2,c,cc,c0,c1,c2,c3,nc,k:Extended;
- i:integer;
- end;
implementation
uses unit1, Forms, SysUtils, UFunction;
{ Threadc2 }
procedure Threadc2.SIMP;
begin
c2:=F(a+dx*i);
- Form1.simc2:=Form1.simc2+c2;
- end;
- procedure Threadc2.Execute;
begin
SIMP;
- end;
- end.
Исходный текс потока 2(Unit3)
unit Unit3;
interface
uses
Classes;
type
Threadc3 = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
- procedure SIMP;
Public
dx,a,tr2,c,cc,c0,c1,c2,c3,nc,k:Extended;
- i:integer;
- end;
implementation
uses unit1, Forms, SysUtils, UFunction;
{ Threadc3 }
procedure Threadc3.SIMP;
begin
c3:=F(a+dx*i);
- Form1.simc3:=Form1.simc3+c3;
- end;
- procedure Threadc3.Execute;
begin
SIMP;
- end;
- end.
Дополнительный модуль(UFunction):
- unit UFunction;
interface
uses
Windows, SysUtils, Math;
Const
a: array[1..10] of string[6] = (‘arcsin’, ‘arccos’, ‘arctan’, ‘sin’, ‘cos’, ‘tan’, ‘ctg’, ‘ln’, ‘exp’, ‘abs’);
Type
PExt = ^extended;
- ElemSh = ^Dat;
Dat = record
L, R: PExt;
- fn: integer;
- Rez: extended;
- Next: ElemSh;
- end;
Var
FStroka: string;//функция в виде строки
Mch: array of PExt;
- n, nn: integer;
- p: PExt;
- FX: extended;
- U: ElemSh;
- BeginUz: ElemSh;
- function F(X: extended): extended;//функция
procedure CreateSh;//создать схему
procedure DeleteSh;//удалить схему
Разработка web-приложения
... препятствовать корректной работе приложения. Но использование активных серверных страниц ASP позволило в большей степени избежать данных проблем. Цель работы: Спроектировать и разработать Web-приложение для упрощенного ... пользователя велись вручную. Для теста использовался яндекс.браузер. Интерфейс определяет все возможности пользователя, и его разработка велась параллельно с разработкой каждого из ...
implementation
function StrToLogstr(str: string): string;
- var i, k: integer;
- s: string;
begin
s:=str;
- while pos(‘ ‘, s) <>
- 0 do delete(s, pos(‘ ‘, s), 1);
- if s[1] = ‘-‘ then insert(‘0’, s, 1);;
- while pos(‘(-‘, s) <>
- 0 do insert(‘0’, s, pos(‘(-‘, s)+1);
for i:=low(a) to high(a) do
while pos(a[i], s) <> 0 do
begin
insert(‘f’+inttostr(i), s, pos(a[i], s));
- delete(s, pos(a[i], s), length(a[i]));
- end;
- i:=0;
repeat
i:=i+1;
if s[i] = ‘f’ then
begin
k:=i+1;
- while s[k] <>
- ‘(‘ do
begin
k:=k+1;
- if k >
- length(s) then break;
- end;
- i:=i+(k-i-1);
end else
if s[i] in [‘0’..’9′, ‘,’, ‘.’] then
begin
k:=i;
- while s[k] in[‘0’..’9′, ‘,’, ‘.’] do
begin
k:=k+1;
- if k >
- length(s) then break;
- end;
- n:=n+1;
- p:=new(PExt);
- setlength(MCh, n+1);
- MCh[n]:=p;
- p^:=strtofloat(copy(s, i, k-i));
- delete(s, i, k-i);
- insert(‘<‘+inttostr(n)+’>’, s, i);
- if n <
- 10 then i:=i+2 else if n <
- 100 then i:=i+3 else if n <
- 1000 then i:=i+4;
end else
if (s[i] = ‘p’) or (s[i] = ‘e’) then
begin
p:=new(PExt);
- if s[i] = ‘p’ then p^:=pi else p^:=exp(1);
- if s[i] = ‘p’ then delete(s, i, 2) else delete(s, i, 1);
- n:=n+1;
- insert(‘<‘+inttostr(n)+’>’, s, i);
- setlength(MCh, n+1);
- MCh[n]:=p;
- if n <
- 10 then i:=i+2 else if n <
- 100 then i:=i+3 else if n <
- 1000 then i:=i+4;
end else
if s[i] = ‘x’ then
begin
delete(s, i, 1);
- n:=n+1;
- insert(‘<‘+inttostr(n)+’>’, s, i);
- setlength(MCh, n+1);
- MCh[n]:=@FX;
- if n <
- 10 then i:=i+2 else if n <
- 100 then i:=i+3 else if n <
- 1000 then i:=i+4;
- end;
- until i >= length(s);
- nn:=n;
- StrToLogstr:=s;
- end;
- procedure InsUz(AddrL, AddrR: PExt;
- fnd: integer;
- var U: ElemSh);
begin
new(U);
- U^.L:=AddrL;
- U^.R:=AddrR;
- U^.fn:=fnd;
- U^.Next:=nil;
- end;
- function Fbs(str: string): string;
- var i, k, t, m, NOper: integer;
- s: string;
- Q: ElemSh;
begin
Разработка программы «Простой калькулятор»
... Разработка рабочего проекта 1.5 Разработка программы Для создания приложения программы “Калькулятор” используется среда визуального программирования Delphi. Проект программы содержит два окна: ... TForm1.Button4Click(Sender: TObject); begin Pole.Text:= Pole.Text+'/'; end; procedure TForm1.Button5Click(Sender: TObject); var s: string; i: word; First: boolean; begin s:=Pole.Text; rez:=0; while (s[1 ...
s:=str;
- while (pos(‘^’, s) <>
- 0) or (pos(‘*’, s) <>
- 0) or (pos(‘/’, s) <>
- 0) do
begin
Q:=U;
- i:=4;
- while not (s[i] in[‘^’, ‘*’, ‘/’]) do i:=i+1;
- NOper:=0;
if s[i] = ‘*’ then NOper:=high(a)+3 else
if s[i] = ‘/’ then NOper:=high(a)+4 else
if s[i] = ‘^’ then NOper:=high(a)+5;
- k:=i-2;
- while s[k-1] <> ‘<‘ do k:=k-1;//(k-1) — поз.
‘<‘
m:=strtoint(copy(s, k, i-k-1));
- t:=k;
- k:=i+2;
- while s[k+1] <> ‘>’ do k:=k+1;//(k+1) — поз.
‘>’
InsUz(Mch[m], Mch[strtoint(copy(s, i+2, k-i-1))], NOper, U);
- if Q <>
- nil then Q^.Next:=U else BeginUz:=U;
- n:=n+1;
- setlength(MCh, n+1);
- MCh[n]:=@U^.Rez;
- delete(s, t, k-t+1);
- insert(inttostr(n), s, t);
- end;
- while (pos(‘+’, s) <>
- 0) or (pos(‘-‘, s) <>
- 0) do
begin
Q:=U;
- i:=2;
- while not (s[i] in[‘+’, ‘-‘]) do i:=i+1;
- NOper:=0;
if s[i] = ‘+’ then NOper:=high(a)+1 else
if s[i] = ‘-‘ then NOper:=high(a)+2;
- k:=i-2;
- while s[k-1] <> ‘<‘ do k:=k-1;//(k-1) — поз.
‘<‘
m:=strtoint(copy(s, k, i-k-1));
- t:=k;
- k:=i+2;
- while s[k+1] <> ‘>’ do k:=k+1;//(k+1) — поз.
‘>’
InsUz(Mch[m], Mch[strtoint(copy(s, i+2, k-i-1))], NOper, U);
- if Q <>
- nil then Q^.Next:=U else BeginUz:=U;
- n:=n+1;
- setlength(MCh, n+1);
- MCh[n]:=@U^.Rez;
- delete(s, t, k-t+1);
- insert(inttostr(n), s, t);
- end;
- Fbs:=s;
- end;
- procedure Skb(str: string;
- var U: ElemSh);
- var i, k, g: integer;
- s, sc: string;
- Q: ElemSh;
begin
s:=str;
- while pos(‘(‘, s) <>
- 0 do
begin
i:=pos(‘)’, s);
- k:=i-4;
- while s[k] <>
- ‘(‘ do k:=k-1;
- if s[k-1] in[‘0’..’9′] then
begin
sc:=Fbs(copy(s, k+1, i-k-1));
- Q:=U;
- g:=k-1;
- while s[g-1] <>
- ‘f’ do g:=g-1;
- InsUz(MCh[strtoint(copy(sc, 2, length(sc)-2))], nil, strtoint(copy(s, g, k-g)), U);
- if Q <>
- nil then Q^.Next:=U else BeginUz:=U;
- n:=n+1;
- setlength(MCh, n+1);
- MCh[n]:=@U^.Rez;
- delete(s, g-1, i-g+2);
- insert(‘<‘+inttostr(n)+’>’, s, g-1);
end else
Технология обработки информации
... и усвоение информации. Понятие обработки информации является весьма широким. Ведя речь об обработке информации, следует дать понятие инварианта обработки. Обычно им является смысл сообщения (смысл информации, заключенной в сообщении). При автоматизированной обработке информации объектом обработки ...
if (k-1 = 0) or (s[k-1] in[‘+’, ‘-‘, ‘*’, ‘/’, ‘^’, ‘(‘]) then
begin
sc:=Fbs(copy(s, k+1, i-k-1));
- delete(s, k, i-k+1);
- insert(sc, s, k);
- end;
- end;
- sc:=Fbs(s);
- if U <>
- nil then if BeginUz <>
- U then U^.Next:=BeginUz;
- end;
- procedure CompileUz(var U: ElemSh);
begin
case U^.fn of
1: U^.Rez:=arcsin(U^.L^);
2: U^.Rez:=arccos(U^.L^);
3: U^.Rez:=arctan(U^.L^);
4: U^.Rez:=sin(U^.L^);
5: U^.Rez:=cos(U^.L^);
6: U^.Rez:=sin(U^.L^)/cos(U^.L^);
7: U^.Rez:=cos(U^.L^)/sin(U^.L^);
8: U^.Rez:=ln(U^.L^);
9: U^.Rez:=exp(U^.L^);
10: U^.Rez:=abs(U^.L^);
11: U^.Rez:=U^.L^+U^.R^;
12: U^.Rez:=U^.L^-U^.R^;
13: U^.Rez:=U^.L^*U^.R^;
14: U^.Rez:=U^.L^/U^.R^;
15: if U^.L^ = 0 then U^.Rez:=0 else U^.Rez:=exp(U^.R^*ln(U^.L^));
- end;
- end;
- procedure CreateSh;
begin
Skb(strtologstr(FStroka), U);
- n:=-1;
- setlength(MCh, nn+1);
- end;
- procedure DeleteSh;
- var Q: ElemSh;
- i: integer;
begin
U:=BeginUz;
- if U <>
- nil then if U^.Next = nil then Dispose(U) else
begin
repeat
Q:=U;
- U:=U^.Next;
- Dispose(Q);
- until U^.Next = BeginUz;
- Dispose(U);
- end;
- U:=nil;
- for i:=low(Mch) to nn do if Mch[i] <>
- @FX then dispose(Mch[i]);
- setlength(MCh, 0);
- p:=nil;
- end;
- function F(X: extended): extended;
begin
FX:=X;
- U:=BeginUz;
if U = nil then F:=Mch[0]^ else
begin
if U^.Next = nil then CompileUz(U) else
begin
repeat
CompileUz(U);
- U:=U^.Next;
- until U^.Next = BeginUz;
- CompileUz(U);
- end;
- F:=U^.Rez;
- end;
- end;
Begin
n:=-1;
- end.
Заключение
В заключение хотелось бы отметить, что методы структурного программирования позволяют более мобильно и качественно проводить работу по модернизации программного обеспечения. Так достаточно усовершенствовать отдельный модуль откомпилировать его и главный модуль, для достижения, желаемого результата. Более того, текст главной программы более читаем, и занимает меньше места. Имеющиеся наработки в отдельных модулях можно использовать в других программах, не задумываясь об их работоспособности. Четко вычерченная структура позволяет яснее представить цели и задачи стоящие перед программистом. Не нужно все время перемещаться по тексту взад и вперед. В любой промежуток времени работы над очень большой программной появляется возможность сконцентрироваться на отдельном модуле. Открывается возможность совместной работы нескольких человек над одной громоздкой программной. Удачно разработанный модуль одного программиста становиться, доступен другим.
Список литературы
[Электронный ресурс]//URL: https://inzhpro.ru/kursovaya/kursovyie-rabotyi-tehnologii-programmirovaniya/
Измеритель дальности на ультразвуковом датчике с GSM модулем
... измерителя дальности на ультразвуковом датчике c GSM модулем. Изготовлению печатной платы устройства. В заключении, приводится выводы работы, и технические характеристики канал ультразвуковой датчик микроконтроллер (от ... обеспечивает контроль качества работы и управление всей сетью. Обрабатывает аварийные сигналы, при которых требуется вмешательство персонала. Обеспечивает проверку состояния сети, ...
1. Культин Н.П. Delphi в задачах и примерах.- БХВ-Петербург, 2010. — 288 с
2. Амосов А. А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров.- М.: Высшая школа, 2008. — 544 с
3. Хомосенко А.А, Гофман В.А., Мещеряков Е.В., Никифоров И.П. Delphi 7. Наиболее полное руководство.- БХВ — Петербург, 2009. — 355 с.