1 / 1 / 0
Регистрация: 19.03.2017
Сообщений: 4

Интеграл методом прямоугольников

25.04.2017, 11:28. Показов 4072. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
в функции алгоритм выдает неправильный результат. Запускаю почти тоже самое в обработчике все адекватно работает
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  a,b,n:integer;
  I,y:real;
implementation
 
{$R *.dfm}
function summ(y:real):real;
 var
 h,x,Q:real;
 begin
  h:=(b-a)/n;
  x:=a;
  y:=0;
  Q:=0;
  while b>=x do
   begin
   y:=sqrt(1-0.5*sqr(sin(x)));
   Q:=Q+y;
   x:=x+h;
   end;
 end;
procedure TForm1.Button1Click(Sender: TObject);
var
 h,x:real;
begin
Memo1.Clear;
a:=strtoint(Edit1.Text);
b:=StrToInt(Edit2.Text);
n:=StrToInt(Edit3.Text);
  {h:=(b-a)/n;
  x:=a;
  y:=0;
  Q:=0;
  while b>=x do
   begin
   y:=sqrt(1-0.5*sqr(sin(x)));
   Memo1.Lines.Add(FloatToStr(x)+'    '+FloatToStr(y));
   Q:=Q+y;
   x:=x+h;
   end;}
I:=summ(y)*((b-a)/n);
Edit4.Text:=FloatToStr(I);
end;
 
end.
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.04.2017, 11:28
Ответы с готовыми решениями:

Определенный интеграл. Метод прямоугольников
Товарищи, как решить такую задачку - необходимо вычислить площадь под функцией (вычислить определенный интеграл) методом прямоугольника. С...

Не вычисляется интеграл по методу левых и правых прямоугольников
Здравствуйте!! Не подскажете почему у меня программа не вычисляет интеграл по методу левых и правых, методом трапеции работает, а те нет ...

Используя формулы центральных прямоугольников вычислить интеграл

8
 Аватар для Animalia
225 / 80 / 35
Регистрация: 01.04.2017
Сообщений: 182
25.04.2017, 12:25
Эм... А вам компилятор предупреждение о том, что результат функции не определен, не выдает?
Там строчку вида Result:=трям пам пам Result:=summ(y)*((b-a)/n) или еще какую добавить нужно
А так функция мусор, а не результат возвращает.
1
1 / 1 / 0
Регистрация: 19.03.2017
Сообщений: 4
25.04.2017, 12:34  [ТС]
так правильнее будет. в теме отредактировать не успел
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function summ(Q:real):real;
 var
 h,x,y:real;
 begin
  h:=(b-a)/n;
  x:=a;
  y:=0;
  Q:=0;
  while b>=x do
   begin
   y:=sqrt(1-0.5*sqr(sin(x)));
   Q:=Q+y;
   x:=x+h;
   end;
 end;
и в обработчике I:=summ(Q)*((b-a)/n);

Добавлено через 1 минуту
Animalia, компилятор не ругается
0
 Аватар для Animalia
225 / 80 / 35
Регистрация: 01.04.2017
Сообщений: 182
25.04.2017, 13:09
В функции ДОЛЖНО быть result:=...
Сейчас запись I:=summ(Q)*((b-a)/n) равносильна I:=мусор*((b-a)/n)
Ругаться и не будет, все скомпилируется, но в лог запишется warning
1
1 / 1 / 0
Регистрация: 19.03.2017
Сообщений: 4
25.04.2017, 13:30  [ТС]
Animalia, Result не могу использовать, ругается. И что с result делать тож пока непонятно
0
Модератор
 Аватар для D1973
9785 / 6331 / 2444
Регистрация: 21.01.2014
Сообщений: 26,985
Записей в блоге: 3
25.04.2017, 13:39
Цитата Сообщение от Tardis Посмотреть сообщение
Result не могу использовать, ругается
Матом?
Tardis,
1. Зачем в функцию передавать какой-то параметр (в Вашем случае Q) если в теле функции это Q благополучно обнуляется в строке 8?
2. Animalia говорит совершенно верно: функция должна возвращать значение. Добавьте между 14 и 15 строками
Delphi
1
result := y;
3. Замените real на double или extended
1
1 / 1 / 0
Регистрация: 19.03.2017
Сообщений: 4
25.04.2017, 13:45  [ТС]
Result :=Q сработало.))
0
0 / 0 / 0
Регистрация: 22.03.2021
Сообщений: 1
23.03.2021, 17:30
, Tardis, Можно исходник?
0
Почетный модератор
 Аватар для Puporev
64312 / 47609 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
23.03.2021, 17:35
Цитата Сообщение от egor442 Посмотреть сообщение
Можно исходник?
Еще 4 года подожди, может и будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2021, 17:35
Помогаю со студенческими работами здесь

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

Вычисление определенного интеграла методом прямоугольников
Надо разработать приложение для вычисления определенного интеграла методом прямоугольников слдующего вида y=Sinx/(Cos(x))^3*dx ...

методом средних прямоугольников и трапеций.
Решение задачи численного интегрирования методом средних прямоугольников и трапеций. Yеобходимо проанализировать предложенные методы...

Интеграл методом Симпсона
Доброе время суток! Задача: Пусть требуется вычислить интеграл от f(x)dx. Я знаю как методом левого,правого,среднего прямоугольника...

Посчитать интеграл методом трапеций
Нужно посчитать интеграл exp(x) от 0 до pi, при n=32 методом трапеций.Не могу найти ошибку в своей программе begin a:=0; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru