Определение площади геометрической фигуры
Вычисление площади геометрических фигур с помощью интегрального исчисления. Основные свойства площади как функции. Разработка алгоритма работы программы на языке Object-Pascal в среде Delphi. Текст программы, порядок ее запуска и полученный результат.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 06.06.2013 |
Размер файла | 281,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Пензенский государственный университет
Кафедра ?Автоматика и телемеханика?
Пояснительная записка
к курсовому проекту по курсу
"Программирование и основы алгоритмизации"
Определение площади геометрической фигуры.
Выполнил: студент гр.12Пр1
Жабкин К.В.
Проверил:
Берестень М.П.
Пенза, 2013
Содержание
- Введение
- Описание метода
- Алгоритм работы программы
- Текст программы
- Результат
- Заключение
- Список литературы
Введение
Площадь - численная характеристика двумерной (плоской или искривлённой) геометрической фигуры, неформально говоря, показывающая размер этой фигуры. Исторически вычисление площади называлось квадратурой. Фигура, имеющая площадь, называется квадрируемой. Конкретное значение площади для простых фигур однозначно вытекает из предъявляемых к этому понятию практически важных требований. Фигуры с одинаковой площадью называются равновеликими.
Общий метод вычисления площади геометрических фигур предоставило интегральное исчисление. Обобщением понятия площади стала теория меры множества, пригодная для более широкого класса геометрических объектов.
Площадь - функция, которая обладает следующими свойствами:
· Положительность, то есть площадь неотрицательна;
· Аддитивность, то есть площадь фигуры равна сумме площадей составляющих её фигур без общих внутренних точек;
· Инвариантность, то есть площади конгруэнтных фигур равны;
· Нормированность, то есть площадь единичного квадрата равна 1.
Описание метода
Интеграл функции - аналог суммы последовательности. Неформально говоря, (определенный) интеграл является площадью части графика функции (в пределах интегрирования).
Определение.
Разность F (b) - F (a) называется интегралом от функции f (x) на отрезке [a; b] и обозначается так - формула Ньютона-Лейбница.
Вычисление:
Нам даны три функции:
y = k1 x + b1
y = k2 x + b2
y = k3 x + b3
Мы заранее подобрали нужные коэффициенты для того, что бы получить треугольник при их пересечении, итак:
k1 |
0,45 |
|
k2 |
3,2 |
|
k3 |
3 |
|
b1 |
0,6 |
|
b2 |
2,5 |
|
b3 |
3,5 |
Получаем уравнения такого вида:
y = 0,45 x + 0,6
y = 3,2 x + 2,5
y = 3 x + 3,5
График этих уравнений выглядит так:
При вычислении площади этого треугольника используют интеграл суммы отдельных его частей, для того что бы вычислить сумму мы наш треугольник разбиваем на маленькие его части:
После чего вычисляем площадь треугольника через интеграл.
Алгоритм работы программы
Блок-схема программы
Текст программы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, TeeProcs, TeEngine, Chart, Series, StdCtrls, Buttons;
type
TForm1 = class (TForm)
Chart1: TChart;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Series1: TLineSeries;
Series2: TLineSeries;
Series3: TLineSeries;
Series4: TLineSeries;
BitBtn4: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
fu1: TLabel;
fu2: TLabel;
fu3: TLabel;
procedure BitBtn1Click (Sender: TObject);
procedure BitBtn2Click (Sender: TObject);
procedure BitBtn4Click (Sender: TObject);
procedure FormCreate (Sender: TObject);
end;
var
Form1: TForm1;
const
k1: real= 0.45;
k2: real= 3.2;
k3: real=-3.0;
b1: real=-0.6;
b2: real= 2.5;
b3: real= 3.5;
var
xa, xb, xc, ya, yb, yc: real; // Координаты вершин треугольника
implementation
{$R *. dfm}
// Треугольник
procedure TForm1. BitBtn1Click (Sender: TObject);
var fu: string;
begin
// Проверка допустимости заданных коэффициентов
if (k1=k2) or
(k1=k3) or
(k2=k3) then
begin
ShowMessage ('Как минимум 2 (две) '+chr (13) +
'из заданных прямых'+chr (13) +
'параллельны! '+chr (13) +
'Надо иные значения');
exit;
end;
// Определяем точки пересечения прямых
xa: = (b2-b1) / (k1-k2);
xb: = (b3-b2) / (k2-k3);
xc: = (b3-b1) / (k1-k3);
ya: =k1*xa+b1;
yb: =k2*xb+b2;
yc: =k3*xc+b3;
// Очищаем рисунок
Series1. Clear;
Series2. Clear;
Series3. Clear;
Series4. Clear;
// Смещение осей от края области рисунка на 20%
Chart1. LeftAxis. StartPosition: =20;
Chart1. LeftAxis. EndPosition: =80;
Chart1. BottomAxis. StartPosition: =20;
Chart1. BottomAxis. EndPosition: =80;
// Изображаем треугольник
Series1. AddXY (xa,ya,'',clBlack);
Series1. AddXY (xc,yc,'',clBlack);
Series2. AddXY (xa,ya,'',clBlack);
Series2. AddXY (xb,yb,'',clBlack);
Series3. AddXY (xb,yb,'',clBlack);
Series3. AddXY (xc,yc,'',clBlack);
fu: ='y='+FloatToStrF (k1,ffFixed,7,2) +' x';
if b1>=0 then fu: =fu+'+';
fu: =fu+FloatToStrF (b1,ffFixed,7,2);
fu1. Caption: =fu;
fu: ='y='+FloatToStrF (k2,ffFixed,7,2) +' x';
if b2>=0 then fu: =fu+'+';
fu: =fu+FloatToStrF (b2,ffFixed,7,2);
fu2. Caption: =fu;
fu: ='y='+FloatToStrF (k3,ffFixed,7,2) +' x';
if b3>=0 then fu: =fu+'+';
fu: =fu+FloatToStrF (b3,ffFixed,7,2);
fu3. Caption: =fu;
Chart1. Title. Text [0]: ='Нажмите вычислить - площадь треугольника будет вычислена';
BitBtn4. Enabled: =true; // Разрешение кнопки вычислить
end;
// Очистка
procedure TForm1. BitBtn2Click (Sender: TObject);
begin
// Очищаем рисунок
Series1. Clear;
Series2. Clear;
Series3. Clear;
Series4. Clear;
Chart1. Title. Text [0]: ='Нажмите кнопку построить для построения треугольника';
BitBtn4. Enabled: =false; // Запрет кнопки вычислить
fu1. Caption: ='';
fu2. Caption: ='';
fu3. Caption: ='';
end;
// Площадь
procedure TForm1. BitBtn4Click (Sender: TObject);
const n=40; // Количество штрихов
var k: integer;
var x1, x2, x3, y1, y2, y3, x, y, hx, hy, h, yn, s: real;
begin
// Поиск левой, средней и правой точек
x1: =xa; x2: =xb; x3: =xc;
y1: =ya; y2: =yb; y3: =yc;
if x2<x1 then
begin
y: =x1; x1: =x2; x2: =y;
x: =y1; y1: =y2; y2: =x;
end;
if x3<x1 then
begin
y: =x1; x1: =x3; x3: =y;
x: =y1; y1: =y3; y3: =x;
end;
if x2>x3 then
begin
y: =x2; x2: =x3; x3: =y;
x: =y2; y2: =y3; y3: =x;
end;
Series4. Clear; // Очистка штриховки
hx: = (x3-x1) /n; // Шаг по оси абсцисс
hy: = (y3-y1) /n; // Шаг по оси ординат
s: =0; // Площадь
for k: =0 to n do
begin
// Для нечетных точек вычисляем координаты нижней точки
x: =x1+hx*k;
yn: =y1+hy*k;
// Для четных точек вычисляем координаты верхней точки
if not odd (k) then Series4. AddXY (x,yn,'',clBlue) else
begin
// Для левой и правой частей
if x<x2 then y: =y1+ (y2-y1) / (x2-x1) * (x-x1)
else y: =y2+ (y3-y2) / (x3-x2) * (x-x2);
h: =abs (y-yn); // Высота от нижней линии до верхней
s: =s+h*hx*2; // т.к. через одну точку, то множим на 2
Series4. AddXY (x,y,'',clRed); // Линия штриховки
end;
end;
Chart1. Title. Text [0]: =
'Площадь треугольника s = '+FloatToStrF (s,ffFixed,7,3);
end;
procedure TForm1. FormCreate (Sender: TObject);
begin
end;
end.
Результат
Запускаем программу. Для этого запускаем файл "площадь. exe" в папке "курсовая работа"
Нажимаем кнопку "построить". Эта кнопка дает нам построить график наших функций.
программа площадь геометрическая фигура
Итак, фигура построена, теперь нужно вычислить её площадь. Для этого нажимаем кнопку "вычислить"
Заключение
В данной курсовой работе представлен проект по вычислению площади фигуры, построенной при пересечении трех функций. Программа, разработанная на языке Object-Pascal в среде Delphi, вычисляет площадь фигуры интегральным методом.
Список литературы
1. Индивидуальные задания по высшей математике часть 2 под редакцией А.П. Рябушко.
2. http://ru. wikipedia.org/wiki/%CF%EB%EE%F9%E0%E4%FC
3. Avtoshema - программа для создания блок-схемы
Размещено на Allbest.ru
Подобные документы
Сущность основных понятий объектно-ориентированного программирования: объект, класс, полиморфизм. Блок-схема алгоритма и текст программы для вычисления площади круга, прямоугольника и трапеции. Принцип работы и результаты тестирования приложения.
курсовая работа [588,7 K], добавлен 17.07.2012Программирование и структура программы на языке Turbo Pascal и MS Visual C++6.0. Вычисление площади круга. Реализация программы в системе Turbo Pascal и MS VISUAL C++6.0 для Windows. Структура окна ТРW. Сохранение текста программы в файле на диске.
лабораторная работа [3,7 M], добавлен 22.03.2012Разработка программы обработки типизированных файлов с кодом на языке Object Pascal, с использованием компонентов Delphi для ввода и вывода данных. Разработка экранных форм и алгоритма программы. Описание программных модулей и инструкция оператору.
курсовая работа [1,5 M], добавлен 08.02.2011Создание программы для мобильного устройства, для решения геометрических задач: нахождения площади треугольника по формуле Герона, площади прямоугольного треугольника и круга. Реализация программных модулей, интерфейс программы, руководство пользователя.
курсовая работа [314,9 K], добавлен 07.12.2014Разработка алгоритма и написание программы на языке Object Pascal, предназначенной для расчета траверса крюка мостового крана на изгиб. Определение расчетных размеров крана с помощью табличного процессора Microsoft Excel. Блок-схема и алгоритм расчета.
курсовая работа [519,3 K], добавлен 03.06.2010Описание алгоритма решения задачи графическим способом. Вывод элементов массива. Описание блоков укрупненной схемы алгоритма на языке Pascal. Листинг программы, а также ее тестирование. Результат выполнения c помощью ввода различных входных данных.
контрольная работа [150,4 K], добавлен 03.05.2014Описания объектов, свойств, методов, формы и основных модулей текста программы в среде Delphi. Создание Windows-приложения на алгоритмическом языке Object Pascal в среде визуального программирования. Анализ результатов тестирования программного продукта.
курсовая работа [2,4 M], добавлен 27.08.2012Основы работы на языке высокого уровня Turbo Pascal. Основное оборудование и программное обеспечение. Операторы, необходимы для работы в графической среде Turbo Pascal. Запуск графического режима. Текст программы в графической среде Turbo Pascal.
лабораторная работа [12,7 K], добавлен 14.05.2011Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.
курсовая работа [742,6 K], добавлен 03.07.2011Этапы процедуры принятия решений. Разработка математического алгоритма. Блок-схема алгоритма работы программы. Разработка программы на языке программирования С++ в среде разработки MFC. Текст программы определения технического состояния станка с ЧПУ.
курсовая работа [823,0 K], добавлен 18.12.2011