27.06.2011, 18:39 | #1 (permalink) |
Новичок
Регистрация: 27.06.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Нужна помощь в решении двух задач
1) Даны координаты x[ i ], y[ i ] (i = 1, . . ,n) точек (n<=100) A[ 1 ], . . ,A[ n ] на плоскости. Найти минимальную площадь кольца с центром в начале координат. Внутри и на границе находятся точки, расположенные на расстоянии от начала координат не более чем на r (r-задано). 2) Сформировать массив y=(y[ i , j ]) размера n*n (n<=20), элементы которого вычисляются по формуле y=((-1)^ i+j)*(z^i+j)/((i*j)!), где z-заданное число. Или хотя бы разъяснение как их решить на языке Паскаль. Заранее благодарен. |
27.06.2011, 18:39 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Скорее всего по этим ссылкам содержится много полезной для вас информации Требуется срочная помощь в решении задач по электротехнике Нужна помощь в решении задачи Нужна помощь в решении задач на Паскале |
27.06.2011, 21:02 | #2 (permalink) | ||
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
1. Все точки располагаются внутри круга заданного радиуса - переобозначим его для удобства Rmax. Эта величина дана. 2. Требуется найти расстояние до наиболее близкой к началу координат точки. Обозначим это расстояние Rmin. Делается это так: а) Строим массив r[i] = корень квадратный из (x[i]^2 + y[i]^2). б) Стандартной процедурой находим минимальный элемент полученного массива. Он и будет искомым значением Rmin. 3. Находим площадь кольца: S=Pi*(Rmax^2 - Rmin^2). Всё! Цитата:
Код:
VAR Y:Array[1..20,1..20] of Extended; Z:Real; N:Byte; i,j:Integer; function Nfact(n:LongInt):Extended; VAR i:LongInt; fact:Extended; BEGIN IF n=0 THEN fact:=1 ELSE BEGIN fact:=1; FOR i:=1 TO n DO fact:=fact*i; END; Nfact:=fact; END; Function Sign(M:Byte):ShortInt; begin If (M mod 2) = 0 then Sign:=1 else Sign:=-1; end; function X2np(X:Extended; n:WORD):Extended; Var i:WORD; Y:Extended; BEGIN IF n=0 THEN X2np:=1 ELSE IF n=1 THEN X2np:=X ELSE BEGIN Y:=X; FOR i:=2 TO n DO Y:=Y*X; X2np:=Y; END; END; BEGIN Write('N (<21) = '); Readln(N); Write('Z= '); Readln(Z); For i:=1 to N do For j:=1 to N do begin Y[i,j]:=(Sign(i)+j)*(X2np(Z,i)+j)/Nfact(i*j); Writeln('Y[',i:2,',',j:2,']= ',Y[i,j]); end; Readln END. |
||
27.06.2011, 21:59 | #3 (permalink) |
Новичок
Регистрация: 27.06.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо огромное вам за помощь.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|