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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 21:11   #1
кусака
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 19
По умолчанию процедуры

40 50 40
Z= (∑sin(Xi)+∑cos(Yi)/∑|Xi|)
I=1 i=1 i=1
Yi Xi- произвольные массивы любого размера
все суммы вычислить в одной процедуре.
как правильно организовать эту процедуру? и как к ней обратится из программы?
помогите! это срочно! завтра зачет!
кусака вне форума Ответить с цитированием
Старый 27.04.2010, 21:45   #2
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

переменная x типа array[1..100] of real
n- размерность массива
kl- это ключ, по которому мы судим, какую сумму накапливаем:
-сумму синусов;
-сумму косинусов;
3- сумму модулей

Код:
procedure pr_sum(kl:byte; a:array[1..100] of real;n:byte; var sum:real);
var i:byte;
begin
  for i:=1 to n do
  case kl of
  1:sum:=sum+sin(a[i]);
  2:sum:=sum+cos(a[i]);
  3:sum:=sum+abs(a[i]);
  end;
end;
begin
  .........//вводишь первый массив
  .........//вводишь второй массив
  .........
  pr_sum(1,x,n,sum1);
  pr_sum(2,y,n,sum2);
  pr_sum(3,x,n,sum3);
  z:=sum1+sum2/sum3;
end;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 27.04.2010, 21:47   #3
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

Код:
procedure pr_sum(a:array[1..100] of real;n:byte; var sum1,sum2,sum3:real);
var i:byte;
begin
  for i:=1 to n do
  begin
  sum1:=sum1+sin(a[i]);
  sum2:=sum2+cos(a[i]);
  sum3:=sum3+abs(a[i]);
  end;
end;
begin
  .........
  .........
  .........
  pr_sum(x,n,sum1,sum2,sum3);
  z:=(sum1+sum2)/sum3;
или так. Даже будет лучше
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 27.04.2010, 22:05   #4
кусака
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 19
По умолчанию

так у меня число сумм разное. синуса 50 косинуса 40. как с этим быть?
кусака вне форума Ответить с цитированием
Старый 27.04.2010, 22:14   #5
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

размерности разные?
Если да то:

Код:
procedure pr_sum(kl:byte; a:array[1..100] of real;n:byte; var sum:real);
var i:byte;
begin
  for i:=1 to n do
  case kl of
  1:sum:=sum+sin(a[i]);
  2:sum:=sum+cos(a[i]);
  3:sum:=sum+abs(a[i]);
  end;
end;
begin
  .........//вводишь первый массив
  .........//вводишь второй массив
  .........
  pr_sum(1,x,40,sum1);//количество суёшь вместо n
  pr_sum(2,y,50,sum2);
  pr_sum(3,x,40,sum3);
  z:=sum1+sum2/sum3;
end;
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 27.04.2010, 22:32   #6
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

лучше функцию использовать, т.к. есть зависимость от i
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Старый 27.04.2010, 23:31   #7
Жека-старший
Пользователь
 
Регистрация: 09.04.2010
Сообщений: 52
По умолчанию

mifomen, на все сто согласен!
Но у него написано процедуру.
ICQ 594 237 582
Жека-старший вне форума Ответить с цитированием
Старый 28.04.2010, 00:14   #8
mifomen
Help, если смогу!
Пользователь
 
Регистрация: 14.09.2009
Сообщений: 55
По умолчанию

Да, я видел. Просто с функцией будет рациональней решение.
Я помог =Нажми, НА ВЕСЫ.
Почему форум не поддерживает spoiler & spoiler2 ?
Если я вам помог, не будьте скупым R409586472993
mifomen вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры Qwerty91 Помощь студентам 1 15.12.2009 22:07
процедуры Maxxx 83 Помощь студентам 3 02.10.2009 19:16
Процедуры Sergeo_89 Паскаль, Turbo Pascal, PascalABC.NET 2 28.01.2009 19:05
Процедуры perojenko Паскаль, Turbo Pascal, PascalABC.NET 3 23.01.2009 10:42
Запуск процедуры из процедуры с дополнением 1sal1 Общие вопросы Delphi 3 06.10.2008 21:54