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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2011, 20:34   #1
Donatello
Форумчанин
 
Аватар для Donatello
 
Регистрация: 22.12.2010
Сообщений: 109
Смущение TPascal ряды

Помогите решить задачу, или объясните что тут делать вообще надо, а то эти ряды никогда не понимал. Могу конечно выложить то что сделал, но там мне кажется полный бред + если и не бред, то все равно есть ошибка при вычисление, получается что я должен делить на ноль.
Я бы изменил мир, но бог не дает исходников (c)

И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки.
Donatello вне форума Ответить с цитированием
Старый 11.05.2011, 21:21   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
получается что я должен делить на ноль.
Такое получится, если сумма элементов векторов n и m будет равна нулю. Даже если задавать элементы векторов через ГСЧ, это будет довольно редко. Ну а чтобы наверняка избежать деления на ноль, проверяйте знаменатель дроби на наличие нуля.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 11.05.2011, 21:35   #3
Donatello
Форумчанин
 
Аватар для Donatello
 
Регистрация: 22.12.2010
Сообщений: 109
По умолчанию

ну я сделал вот так, верно это или нет я не уверен. И у меня ошибка, я почему то в примере единицу принял за L, так что в этом ошибка походу основная. Если моя ошибка только в том что я единицу принял за L, то буду править если нет, то где ошибся?
Код:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  l: array [1..8] of Integer;
  n: array [1..5] of Integer;
  m: array [1..5] of Integer;
  i,rnd,buff: Integer;
  sumL,sumN,sumM: Integer;
  Z1, Z2: real;
begin
  { TODO -oUser -cConsole Main : Insert code here }
  { Íàïîëíèì ìàññèâû ñëó÷àéíûìè ÷èñëàìè è âûâåäåì èõ }
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 8 do begin
    l[i] := random(rnd);
    Write(l[i],' ');
  end;
  buff := l[1];
  WriteLn;
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 5 do begin
    n[i] := random(rnd);
    Write(n[i],' ');
  end;
  WriteLn;
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 5 do begin
    m[i] := random(rnd);
    Write(m[i],' ');
  end;
  WriteLn;
  { Ïîäñ÷èòàåì ñóììû ìàññèâà l }
  sumL := 0;
  sumN := 0;
  sumM := 0;
  for i := 1 to 8 do
    sumL := sumL + l[i]*l[i];
  for i := 1 to 5 do begin
    sumN := sumN + n[i];
    sumM := sumM + m[i];
  end;
  WriteLn('Summa l ', sumL);
  WriteLn('Summa n ', sumN);
  WriteLn('Summa m ', sumM);
  Z1 := buff * (sumN + sumM);
  WriteLn('Z = ', Z1:10:2);
  ReadLn;
end.
Я бы изменил мир, но бог не дает исходников (c)

И сказал мыслитель, напиши свою проблему на бумаге и ты увидишь свои ошибки.
Donatello вне форума Ответить с цитированием
Старый 11.05.2011, 22:00   #4
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Цитата:
я почему то в примере единицу принял за L,
И все таки в знаменателе не единица, а первый элемент вектора L. Согласитесь, единице нижний индекс никчему. Кроме того при подсчете, вы посчитали только знаменатель, а числитель разделить на него забыли. Вообщем вот
Код:

var
  l: array [1..8] of Integer;
  n: array [1..5] of Integer;
  m: array [1..5] of Integer;
  i,rnd,buff: Integer;
  sumL,sumN,sumM: Integer;
  Z1, Z2: real;
begin
  Randomize;
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 8 do begin
    l[i] := random(rnd);
    Write(l[i],' ');
  end;
  buff := l[1];
  WriteLn;
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 5 do begin
    n[i] := random(rnd);
    Write(n[i],' ');
  end;
  WriteLn;
  Write('Vvedite 4islo random dl9 zapolneni9 massiva: ');
  ReadLn(rnd);
  for i := 1 to 5 do begin
    m[i] := random(rnd);
    Write(m[i],' ');
  end;
  WriteLn;
  { Iian?eoaai noiiu ianneaa l }
  sumL := 0;
  sumN := 0;
  sumM := 0;
  for i := 1 to 8 do
    sumL := sumL + l[i]*l[i];
  for i := 1 to 5 do begin
    sumN := sumN + n[i];
    sumM := sumM + m[i];
  end;
  WriteLn('Summa l ', sumL);
  WriteLn('Summa n ', sumN);
  WriteLn('Summa m ', sumM);
  If l[1]*(SumN+SumM) > 0 then
  Begin
    Z1 := SumL/(l[1]*(sumN + sumM));
    WriteLn('Z = ', Z1:10:2)
  End
  else
  Writeln('Delenie na 0');
  ReadLn
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемки с TPascal Arioh Помощь студентам 4 17.11.2010 20:27
TPascal) работа с файлами Анюта) Помощь студентам 1 14.12.2009 17:27
TPascal матрицы( Анюта) Помощь студентам 2 14.12.2009 00:40
Writeln в TPascal VadEr Помощь студентам 8 13.05.2009 15:12
Простые програмки на TPascal cL1zMa Помощь студентам 9 13.06.2007 16:32