вычисление площади в delphi

Видео:Нахождение площади треугольника в DelphiСкачать

Нахождение площади треугольника в Delphi

Расчет площади и объема фигур на Делфи (часть 1)

Простой пример программы на расчет площади поверхности цилиндра и полого цилиндра, шара и объема шара на Делфи. Дляэтогосоздадимновыйпроект (VCL Forms Aplication — Delphi) в Embarcadero RAD Studio 2010 . Сохраним в новой папке. Будем отталкивать от постановленной задачи.

Вычислить площадь поверхности и объем:

  1. цилиндра (радиус r, высота h);
  2. полого цилиндра (радиусы R и r, высота h);
  3. шара (S=4Pr2, V=(3/4)Pr3).

Примерный расклад событий: будет вводиться радиусы R и r, высота h. Формулы для расчетов соответственно:

площадь S = 2 π r(h + r) , объем цилиндра равен V = Pr 2 H ;

площадь S=2PRh-2Prh=2Ph(R-r), объем полого цилиндра V= PR2H- Pr2H=Ph(R2-r2);

площадь S =4 Pr 2, объем шара V =(3/4) Pr 3.

На моей форме будет располагаться три компонента TEdit и три компонента TLabel . А также кнопка TButton и компонент TCombobox . Примерно выглядит так:

вычисление площади в delphi

Вывод ответа будет осуществляется в четвертый TLabel . Немного переделаю главную форму. Она не должна развертываться на полный экран – в BorderIcons ( biMaximisize ) ставлю false . BorderStyle=bsSingle.

В каждом TLabel напишем нужные названия. Теперь выделяем наши три TLabel ( Shift + нажатие мышки на объекте) и ставим Size =14 в Font . Теперь сброс – просто клик где угодно на форме. Также выделяем три объекта TEdit . Ставим NumbersOnly – галочка , Alignment – toRightJustify, в Text уменястоит 0. Опять сбросим выделение и займемся кнопкой. Просто поле Caption будет название &Вычислить. На этом визуальное оформление можно было бы закончить, но остается Combobox . Он нужен для выбора. Будет выбираться фигура для расчета. У компонента TCombobox есть список Items . Там заполняем нужную информацию для дальнейшего выбора фигур. У меня список: цилиндр, полый цилиндр и шар. В поле Textвыберите фигуру. Визуальная заготовка выглядит так:

вычисление площади в delphi

В следующей статье рассмотрим детальное решение для нашей программы.

. площадь целиндра вычислить delphi вычисление площади объема формула 4pr2 площадь целиндра вычислить delphi площадь полого цилиндра формула

Видео:Нахождение площади треугольника по координатам.mp4Скачать

Нахождение площади треугольника по координатам.mp4

BestProg

Видео:Интегралы №12 Вычисление площадейСкачать

Интегралы №12 Вычисление площадей

Разработка простейшей программы расчета площади круга и объема шара как Windows-приложения

В этой теме рассматривается пример создания простейшего приложения, предназначенного для эксплуатации в среде Windows.

Содержание

Условие задачи

Составить программу для вычисления площади круга S и объема шара V на основе заданного радиуса R . Программу реализовать как Windows-приложение.

Математическая постановка задачи

Перед началом разработки приложения необходимо осуществить математическую постановку задачи, то есть, определить формулы по которым будет произведен расчет а также входные данные и исходящие результаты.

Площадь круга вычисляется по формуле:

S = π ·

Входящим значением здесь есть радиус окружности R, результатом есть площадь круга – S.
Объем шара вычисляется по формуле:

V = 4/3 · π · R³

Входящим значением здесь есть, опять же, радиус окружности R, результат – объем шара (хотя, как известно, «шара» объема не имеет).
В обеих формулах фигурирует константа π, равная 3,14159.
Таким образом, нарисуем последовательность этапов решения задачи (рисунок 1).

вычисление площади в delphi

Рис. 1. Этапы решения задачи

Выполнение

1. Создание приложения типа VCL Form Application .

Запустить систему визуальной разработки приложений Embracadero RAD Studio Delphi 2010 и создаем Windows-приложение. Подробный пример создания приложения по шаблону Windows Form Application описан здесь.

Первоначальный вид формы приложения перед началом проектирования изображен на рисунке 2.

вычисление площади в delphi

Рис. 2. Вид окна программы

2. Вкладка Standard панели инструментов Tool Palette .

В данном приложении необходимо использовать несколько компонент, которые перечислены ниже:

  • компонент типа TLabel , представляющий строку текста, которая выводится на форме;
  • компонент типа TButton , представляющий кнопку на форме;
  • компонент типа TEdit , являющийся строкой ввода текста.

Все эти компоненты размещены на панели инструментов Tool Palette на вкладке Standard (см. рис. 3.).

вычисление площади в delphi

Рис. 3. Вкладка Standard на палитре компонент

3. Компонент TLabel

3.1. Размещение компонента TLabel на форме

Для этого необходимо кликнуть мышкой на компоненте TLabel (рис. 4), а потом кликнуть в верхнем левом углу формы, как изображено на рис. 5.

вычисление площади в delphi

Рис. 4. Компонент TLabel на палитре инструментов

вычисление площади в delphiРис. 5. Компонент типа TLabel на главной форме программы

3.2. Задание текста в TLabel

Для выполнения каких-либо действий с компонентом TLabel его сначала необходимо выделить с помощью «мышки» или выбором в панели Object Inspector . После этого устанавливаем свойство Caption компонента TLabel в значение « R = » (рис. 6).

вычисление площади в delphi

Рис. 6. Свойство Caption

В результате на форме текст « Label1 » изменится на текст « R = «.
Object Inspector дает возможность просматривать много других свойств этого компонента. В нашем случае нас будет интересовать свойство Name , в котором содержится значение названия переменной (объекта). По умолчанию это значение равно « Label1 «. Это значит, что во время написания программного кода к свойствам этого компонента можно обращаться с префиксом « Label «. Например, для того чтобы в программе изменить свойство Caption необходимо набрать следующую строку:

Таким же образом выносим на форму компоненты с именами Label2 и Label3 чуть ниже предыдущего компонента. Устанавливаем значения свойства Caption соответственно в « S = » и « V = «.

Форма приложения должна иметь приблизительно следующий вид (рис. 7).

вычисление площади в delphi

Рис. 7. Форма приложения после размещения компонент Label1, Label2, Label3

Перенос и обработка всех других компонент с палитры Tool Palette осуществляется аналогично.

4. Компонент TEdit

Добавляем из палитры Tool Palette с вкладки Standard компонент TEdit , представляющий строку ввода. С помощью использования этого компонента будем получать значения радиуса окружности введенного пользователем с клавиатуры. После добавления компонента на форму система Delphi создает компонент-переменную с названием Edit1 (свойство Name ).

Очищаем свойство Text компонента.

5. Компонент TButton

Добавляем из палитры Tool Palette компонент TButton , представляющий собой обычную кнопку, после нажатия на которой будет вычисляться площадь круга и объем шара. В приложении системой Delphi автоматически будет добавлено компонент-переменную с именем Button1 .

Свойство Caption компонента устанавливаем в значение « Вычислить «.

Форма приложения в режиме проектирования будет иметь вид, изображенный на рис. 8.

вычисление площади в delphi

Рис. 8. Форма приложения после добавления компонент TEdit и TButton

6. Программирование события клика на кнопке « Вычислить «

Следующим шагом в разрабатываемом приложении есть программирование события в Delphi, которое возникает при нажатии на кнопке Button1. Событие клика мышкой на кнопке называется OnClick.

Delphi 2010 автоматически создает фрагмент программного кода, в котором необходимо вписать собственный код обработки события. Созданный системой код имеет вид:

Первоочередным заданием есть определение входных данных, результатов или промежуточных переменных, которые будут использоваться в программе.

Согласно условия задачи в нашей программе опишем три переменные с соответствующим обозначением:

  • R – радиус окружности;
  • S – площадь круга;
  • V – объем шара.

Все переменные должны быть вещественного типа.
Также в программе используется одна константа – число Пи. Обозначим его именем Pi . Следует отметить, что в Delphi есть встроенная функция с именем Pi , но в нашем приложении она не будет задействована. Таким образом, описание переменных и констант перед словом begin будет следующим:

Между операторами begin и end вписываем следующие строки основного программного кода:

Объясним некоторые функции (методы), использующиеся в программном коде. Функция StrToFloat осуществляет преобразование строчной величины Edit1.Text в число вещественного типа. Например, после выполнения следующего кода

значение х станет равно -3.675 .

В пунктах 2 и 3 происходят обычные вычисления площади круга и объема шара с помощью арифметических операций языка Паскаль.

В пункте 4 осуществляется вывод результатов. Поскольку программа реализована как Windows -приложение, то для вывода результата достаточно заполнить значение свойства Caption в компонентах Label2 (площадь) и Label3 (объем).

Функция FloatToStrF осуществляет обратное преобразование к функции StrToFloat , то есть преобразует число вещественного типа в строку. Например, для преобразования числа 2.87 в строку с точностью 4 знака после запятой нужно написать:

где v – переменная вещественного типа; str – переменная строкового типа; ffFixed – формат преобразования. Константа 8 означает, что используется общая ширина вывода размером в 8 знаков. Константа 4 означает точность после запятой.

Общий листинг процедуры обработки события OnClick компонента Button1 имеет вид.

7. Установка названия приложения

Чтобы изменить название приложения вместо непонятного « Form1 » нужно в свойстве Caption главной формы установить значение « Расчет площади круга и объема шара «.

8. Результат выполнения приложения

После запуска приложения (программы) на исполнение отображается окно с запросом о введении радиуса окружности R . Вводим значение 2,5 . Окно с результатом выполнения программы изображено на рисунке 9.

вычисление площади в delphi

Рис. 9. Результат выполнения приложения

Итоги

При решении данной задачи было использовано компоненты следующих типов:

  • TLabel — компонент типа «метка», представляющий обычную текстовую строку для вывода на форме;
  • TButton — компонент, представляющий обычную кнопку на форме;
  • TEdit — компонент реализующий строку ввода, предназначенную для получения информации введенной пользователем с клавиатуры.

Для проектирования интерфейса программы использовалась панель инструментов Tool Palette а также инспектор объектов Object Inspector .

Также рассмотрено две дополнительные функции, осуществляющие преобразование строки в число и обратно, а именно:

  • функция StrToFloat , преобразующая строку, отображающую число, в вещественное число (например, ‘3,678’ => 3.678 ) с учетом региональных настроек Windows ;
  • функция FloatToStrF , преобразующая вещественное число в строковой вид соответственно заданному формату (например 2.88 => ‘2,880’ ) с учетом региональных настроек Windows .

Видео:Delphi Квадратное уравнениеСкачать

Delphi  Квадратное уравнение

Метод Монте-Карло вычисления площадей фигур и его реализация в среде Delphi

В начале урока рассказываю идею метода. Ребята, сегодня мы рассмотрим интересный метод приближенного вычисления площадей фигур – метод Монте – Карло. Пусть у нас есть какая – нибудь фигура на плоскости, площадь которой ( Sfig ) нам необходимо найти. Ограничим ее другой фигурой, площадь которой ( Stotal ) мы можем легко вычислить. Например, прямоугольником АСDB со сторонами, параллельными координатным осям (см. рис. 1). И пусть про любую точку прямоугольника мы можем быстро узнать, попадает эта точка внутрь фигуры, площадь которой мы ищем, или нет.

вычисление площади в delphi

А теперь начнем опыт – будем бросать на бумагу зерна случайным образом (вообще – то это нелегко сделать, чтобы обеспечить случайность). Когда нам покажется, что зерна почти полностью покрыли бумагу, посчитаем, сколько всего зерен на прямоугольнике (пусть их число Ntotal ) и сколько из них на фигуре ( Nfig ). Ясно, что число зерен, попавших внутрь фигуры, пропорционально ее площади: больше площадь – больше зерен, меньше площадь – меньше зерен. Поэтому, поделив количество зерен , попавших внутрь фигуры , на количество всех зерен в прямоугольнике, мы сможем найти, какую часть площади прямоугольника занимает фигура:

Промоделируем этот опыт на ЭВМ. Предположим, нам надо найти площадь фигуры ограниченной сверху кривой Y = F(X), а снизу – осью абсцисс. Пусть Y = cos(X), а Х I [– p /2, p /2] (см. рис. 2). Ограничим нашу фигуру прямоугольником АСDB, его площадь равна p .

вычисление площади в delphi

Из чего должен состоять алгоритм:

1. Бросание зерна – бросание случайной точки, координаты X и Y которой случайны, причем Х должна меняться от – p /2 до p /2, а Y – от 0 до 1. И в этих интервалах X и Y должны появляться с одинаковой вероятностью в любой точке этих отрезков, т.е. X и Y должны быть равномерно распределены по осям. Тут надо напомнить ребятам, как получить равномерно распределенное случайное вещественное число на интервале [А, В]:

Х = random* ( B – A) + A

2. Надо определить, куда попала точка – под кривую или выше нее. И вести подсчет Nfig. Условие попадания точки под кривую: Y ? sin (X).

3. Повторить пп.1 и 2 столько раз, чтобы получить желаемую точность результатов.

Дети без труда напишут программу по данному алгоритму (на практическом занятии). И после этого наступает момент разочарования. Сухие цифры.

Предложение учителя: давайте создадим проект в Delphi, который наглядно демонстрировал бы работу метода Монте – Карло. Разработаем интерфейс программы. Тут ребята сами предлагают несколько вариантов оформления проекта, один из которых представлен на рис. 3.

Разместим на форме следующие компоненты:

Edit – окно редактирования для ввода общего количества испытаний (бросков зерен) – Ntotal;

Button – кнопка для запуска работы метода Монте – Карло;

Panel – панель для вывода посчитанной площади фигуры;

(все вышеперечисленные компоненты расположены на вкладке Standart Палитры компонентов)

Image – для вывода точек, попавших в искомую область (компонент расположен на вкладке Additional Палитры компонентов).

Если необходимо, надо напомнить ребятам некоторые свойства и методы выбранных компонентов (это может быть и домашним заданием предыдущего урока, чтобы не терять время на “воспоминания”) .

Свойство Text – содержит текст, который пользователь набирает в окне Edit. Этот текст надо преобразовать в число Ntotal. Для этого в Delphi есть необходимая функция StrToInt:

Ntotal = StrToInt (Edit1.Text).

Свойство Caption – содержит текст, который выводится на панель. Чтобы вывести полученное число Sfig на панель, мы должны преобразовать его в строку S с помощью процедуры Str:

а потом вывести эту строку на панель следующим образом:

Panel1.Caption := ‘Площадь фигуры = ‘ + S

Свойства Height и Width – соответственно высота и ширина компонента;

Свойство Canvas – отводит канву (место) для рисования на компоненте Image;

FillRect(ClientRect) – закрашивает область клиента компонента Image каким – либо цветом

(по – умолчанию – белым), т.е. стирает предыдущую картинку;

MoveTo(X, Y) – перемещает перо в точку с координатами X, Y без проведения линии (координаты задаются в пикселях);

LineTo(X, Y) – проводит линию из текущей точки в точку с координатами X, Y;

Pixels[I, J] – содержит цвет точки с координатами I, J.

У кнопки (компонент Button) мы будем обрабатывать событие onClick (событие нажатие кнопки). Т.е. вышеописанный алгоритм мы программируем в процедуре Button1Click.

Тут учитель задает вопрос классу: “ Какая проблема возникает при выводе точки на экран (на компонент Image)?” Ответ: расчетные координаты очень малы (0 ? Y ? 1,меньше пикселя, -p /2 ? X ? p /2); а если взять другую кривую Y = F(X), они могут оказаться слишком большими (больше размера компонента Image). Поэтому, при выводе значений функций (графиков) на экран монитора, необходимо преобразовывать расчетные координаты в графические с учетом дискретности растровой сетки монитора, а также предусмотреть возможность автоматического масштабирования функции (графика) по осям координат. Для этого желательно создать отдельную подпрограмму.

Для полного размещения функции (графика) в расчетной области (это область компонента Image) необходимо определить X_min, X_max, Y_min, Y_max – минимальные и максимальные значения по X и по Y соответственно. X_min =А, X_max = В. Как найти Y_min, Y_max.

Коллективно обсуждается следующий алгоритм:

1. Разобьем интервал [А, В] по Х на N равных частей и определим массивы значений аргумента и функции X[i] и Y[i] = F(X[i]), где I = 1..N;
2. Определяем наибольшее Y_max и наименьшее Y_min значения функции в заданном интервале изменения аргумента;
3. Находим коэффициенты масштабирования Kx, Ky при построении графика в заданной области;
4. Т.к. коэффициенты масштабирования Kx, Ky могут отличаться, то выводимый график может искажаться. Устраняем искажения графика;
5. Преобразуем расчетные координаты точки X, Y в графические Xg, Yg. С учетом того, необходимости “переворота” оси Y, которая в координатах монитора направлена сверху вниз.

Листинг программы, реализующей данные алгоритмы представлен в конце статьи. Результат работы программы при разном количестве испытаний представлен на рис. 3, 4.

вычисление площади в delphi
вычисление площади в delphi

Задания для самостоятельной работы:

1. Применить метод Монте – Карло для приближенного вычисления площади фигуры, ограниченной сверху кривой Y = sin (X), при Х I [ 0, p ];
2. Применить метод Монте – Карло для приближенного вычисления числа p . Подсказка: рассмотреть круг единичного радиуса с центром в т. (1, 1). Его площадь и будет равна p .
3. Применить метод Монте – Карло для приближенного вычисления площади фигуры, ограниченной сверху кривой Y = sin (X), при Х I [ 0, 2p ];
4. Применить метод Монте – Карло для приближенного вычисления площадей фигур, представленных на рис. 5 – 7.
вычисление площади в delphi
вычисление площади в delphi
вычисление площади в delphi
5. Доработать проект:

а) организавать проверку правильности ввода информации в поле Edit (чтобы вводились только целые числа);
б) разметить оси и подписать числовые значения.

На последующих уроках, на которых предполагается изучение тем “Вычисление площадей (интегралов) методом трапеций и методом прямоугольников”, можно предложить ребятам доработать проект, поместив на форму дополнительные компоненты Image, Button, Edit, Panel (для каждого численного метода – свои). В окно компонента Edit пользователь будет вводить количество разбиений интервала [А, В] по Х. Таким образом, ребята смогут сравнить и наглядно увидеть работу всех трех численных методов.

unit Monte;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons;
type
TForm1 = class(TForm)
Panel1: TPanel;
BitBtn1: TBitBtn;
Edit1: TEdit;
Label1: TLabel;
Image1: TImage;

const A = -Pi/2.0; B = pi/2.0; n = 1000;

var
Form1: TForm1;
N_total:longint;
implementation

Function FUNC(x:real):real;
begin
Func:=Cos(x);
end;

Procedure Graphic( var right, down: integer;
var X_min, X_max, Y_min, Y_max, Kx, Ky: real);
type arr=array[1..n] of real;
var
X, Y: arr; dx: real;
i: integer;
begin
dx:=(B-A)/(n-1);
for i:=1 to n do begin X[i]:=A+dx*(i-1);
Y[i]:=FUNC(X[i]);
end;

X_max:=B; X_min:=A;
Y_max:=Y[1]; Y_min:=Y[1];
for i:=2 to n do begin
if Y_max Y[i] then Y_min:=Y[i];
end;

💡 Видео

Вычисление площади круга и длинны окружности по заданному радиусу в Паскаль с применением константыСкачать

Вычисление площади круга и длинны окружности по заданному радиусу в Паскаль с применением константы

Программа вычисления площади треугольника на языке Си.Скачать

Программа вычисления площади треугольника на языке Си.

program integral delphiСкачать

program integral delphi

Delphi-экзаменатор. Задача про тортСкачать

Delphi-экзаменатор. Задача про торт

Видеоурок по математике "Вычисление площади фигуры"Скачать

Видеоурок по математике "Вычисление площади  фигуры"

Delphi. Видеокурс. Урок2Скачать

Delphi. Видеокурс. Урок2

Вычисление площади треугольника по координатам его вершин. | Задачи C#Скачать

Вычисление площади треугольника по координатам его вершин. | Задачи C#

Уроки Lazarus|Delphi Проект "Площа фігур"Скачать

Уроки Lazarus|Delphi Проект "Площа фігур"

Курсы программирования. Урок 6. Математические функции DelphiСкачать

Курсы программирования. Урок 6. Математические функции Delphi

Вычисление площади треугольника через основание и высоту в программе на языке ПаскальСкачать

Вычисление площади треугольника через основание и высоту в программе на языке Паскаль

#9 Программирование в Delphi. Математические операцииСкачать

#9 Программирование в Delphi. Математические операции

рисуем круг и отрезаем кусочек делфи программированиеСкачать

рисуем круг и отрезаем кусочек делфи программирование

Вычисление площади и периметра прямоугольника на Pascal.Скачать

Вычисление площади и периметра прямоугольника на Pascal.

Программирование в Delphi / Урок 1. Знакомство со средой разработки. Приложение "Привет, мир!"Скачать

Программирование в Delphi / Урок 1. Знакомство со средой разработки. Приложение "Привет, мир!"

Вычисление площади и периметра прямоугольника в ПаскальСкачать

Вычисление площади и периметра прямоугольника в Паскаль
Поделиться или сохранить к себе: