Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2016, 16:56   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
А какой вид функции на промежутке [0;1] ?
нет, судя по всему это часть окружности.

для диапазона x от 0 до 1
f(x) = 1 - корень(1 - x*x);

поэтому
Код:
if ((x >= 0) && (x<1))
{
  y_razrez = 2 * (1 - Math.sqrt(1-x*x) );
}

Последний раз редактировалось Serge_Bliznykov; 12.10.2016 в 17:20.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 12.10.2016, 17:34   #12
ura_111
Участник клуба
 
Регистрация: 14.05.2016
Сообщений: 1,793
По умолчанию

У меня вот, что получилось. (только я сделал когда функция от 0 до 1 имеет вид параболы х*х):

4.jpg

а вот в маткаде точное решение:

5.jpg
ura_111 вне форума Ответить с цитированием
Старый 12.10.2016, 18:03   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, у меня для x=1.2 получилось площадь правая s_right равна 1.173479

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

Код:
				x = 1.2;
				var ss = 0.0;
				var dx = 0.00001;
				var tempy = 0.0;
				while(x<=(2.0-dx)) {
					var tmpx = x + ( dx / 2);
					if (tmpx<1) {
						tempy = 1-Math.sqrt(1-tmpx*tmpx);	
					}
					else {
						tempy = Math.sqrt(1-(tmpx-1)*(tmpx-1));	
					}					
					ss += dx * tempy;
					x += dx;
				}
				ss *= 2;


BTW, полная площадь всей фигуры s_left + s_rigth получилась равной 2
что, впрочем, следует из
Цитата:
Сообщение от ARTEN Посмотреть сообщение
S1 = 2 - Math.PI / 2;
S2 = Math.PI / 2;

Последний раз редактировалось Serge_Bliznykov; 12.10.2016 в 18:06.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 16.10.2016, 11:44   #14
newerow1989
Я самый любопытный
Участник клуба
 
Аватар для newerow1989
 
Регистрация: 24.07.2012
Сообщений: 1,949
По умолчанию

Код:
function f(x:real):real;
begin
   Result:=0;
   If (x>=0) and (x<1) then
      Result:=1-Sqrt(1-x*x) else
   If (x>=1) and (x<=2) then
      Result:=Sqrt(1-(x-1)*(x-1));
   Result:=Result*2;
end;

const dx=0.01;
var y_razrez,s_left,s_right,x,xx:real;
begin
   Write('x = ');Readln(x);
   y_razrez:=f(x);
   Writeln('y_razrez = ',y_razrez:5:5);
   s_left:=0;
   s_right:=0;
   xx:=-dx;
   Repeat
      xx:=xx+dx;
      If xx<=x then
         s_left:=s_left+f(xx) else
         s_right:=s_right+f(xx);
   Until xx>=2;
   Writeln('s_left = ',s_left:5:5);
   Writeln('s_right = ',s_right:5:5);
   Readln;
end.
С запрограммированным приветом, Неверов Евгений!
Сайт: http://newerow1989.ru
[Паскаль] [Delphi]
newerow1989 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти площади трех колец, для которых даны внешние и внутренние радиусы C++ визуальный режим carrie bradshaw Помощь студентам 13 31.01.2014 00:42
Написать программу вычисления площади многоугольника используя формулу для вычисления площади треугольника в качестве подпрограммы сердце Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2012 18:21
НАйти ромб наибольшей площади... Altair8 Помощь студентам 12 17.03.2011 08:29
Паскаль.программа вычисления площади кольца uropb992 Помощь студентам 8 09.06.2010 19:53
Паскаль Вычисление площади Unikummm Помощь студентам 16 04.02.2009 06:52