Показать сообщение отдельно
Старый 28.05.2009, 15:04   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Ксюха Посмотреть сообщение
1 Даны действительные числа S,T.
Получить H(S,T)+H(S-T,S*T)-H(2.5, S/T),
где H(A,B)= A / (1+B²) + B/ (1+A²) -(A-B)³ описать в программе как функцию.


2. Описать процедуру, которая в том из векторов А, В или С, где больше всего отрицательных элементов (считать, что такой вектор один), все его положительные элементы заменяет на их кубы — если это вектор А или вектор В, и на обратные величины — если это вектор С.
Пожалуйста:

1.
VAR
S, T:REAL;

FUNCTION H(A,B:REAL):REAL;
BEGIN
H:=A/(1+SQR(B))+B/(1+SQR(A))-(A-B)*SQR(A-B);
END;

BEGIN
Write('S = '); ReadLn(S);
Write('T = '); ReadLn(T);
Writeln('Result = ', H(S,T)+H(S-T,S*T)-H(2.5, S/T));
ReadLn;
END.

2.
CONST
N=10;

TYPE
AR=ARRAY [1..N] of REAL;

PROCEDURE CHANGE_VECTOR(A_in, B_in, C_in:AR; VAR A_out:AR; VAR B_out:AR; VAR C_out:AR);
VAR
p_A, p_B, p_C, i:INTEGER;

BEGIN
p_A:=0;
p_B:=0;
p_C:=0;
FOR i:=1 TO N DO
BEGIN
IF A_in[i]<0 THEN INC(p_A);
IF B_in[i]<0 THEN INC(p_B);
IF C_in[i]<0 THEN INC(p_C);
END;

IF (p_A>p_B) AND (p_A>p_C) THEN
BEGIN
B_out:=B_in;
C_out:=C_in;
FOR i:=1 TO N DO
IF A_in[i]>0 THEN A_out[i]:=A_in[i]*A_in[i]*A_in[i]
ELSE
A_out[i]:=A_in[i];
END;

IF (p_B>p_A) AND (p_B>p_C) THEN
BEGIN
A_out:=A_in;
C_out:=C_in;
FOR i:=1 TO N DO
IF B_in[i]>0 THEN B_out[i]:=B_in[i]*B_in[i]*B_in[i]
ELSE
B_out[i]:=B_in[i];
END;

IF (p_C>p_A) AND (p_C>p_B) THEN
BEGIN
A_out:=A_in;
B_out:=B_in;
FOR i:=1 TO N DO
IF C_in[i]>0 THEN C_out[i]:=1/C_in[i]
ELSE
C_out[i]:=C_in[i];
END;

END;

Последний раз редактировалось Vladimir_S; 28.05.2009 в 16:50 Причина: Второпях пропустил пару END-ов. Поправил.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070