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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 12:23   #1
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
Вопрос цикл в цикле Delphi

Здравствуйте!
Подскажите пожалуйста!
Правильно ли составлена/работает программа на Delphi (Pascal) ?




В задании мне кажется i лишняя - опечатка.



Код:
program rabota2;

{$APPTYPE CONSOLE}

uses
SysUtils,
math;

var
n,i:integer;
s,x,f:real;

begin
writeln('Enter X');
readln(x);

s:=0;
for n:=1 to 10 do
begin

f:=1;
for i:=1 to n do
begin
f:=f*i;
end;
s:=s+power(n,n)*3*power(x,n)/f;
end;
writeln('s=',s:2:3);
readln;
end.
Заранее Благодарю!
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru

Последний раз редактировалось warma2d; 25.10.2010 в 13:11. Причина: оформил по правилам
warma2d вне форума Ответить с цитированием
Старый 25.10.2010, 13:31   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В целом правильно, но я бы лично попроще сделал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.10.2010, 14:17   #3
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
В целом правильно, но я бы лично попроще сделал...
Stilet спасибо за ответ.
прекрасно, что правильно)

любопытно, как можно сделать проще?
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru

Последний раз редактировалось warma2d; 25.10.2010 в 14:21.
warma2d вне форума Ответить с цитированием
Старый 25.10.2010, 14:45   #4
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

Ну наверное Stilet имел в виду что
Код:
s:=0;
for n:=1 to 10 do
begin

f:=1;
for i:=1 to n do
begin
f:=f*i;
end;
s:=s+power(n,n)*3*power(x,n)/f;
end;
можно заменить на
Код:
s:=0; n:=1;
for n:=1 to 10 do
begin
f:=f*n;
s:=s+power(n,n)*3*power(x,n)/f;
end;
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.
Niro вне форума Ответить с цитированием
Старый 25.10.2010, 14:45   #5
Niro
Форумчанин
 
Аватар для Niro
 
Регистрация: 23.09.2010
Сообщений: 682
По умолчанию

извиняюсь повтор
Проще всего признать свою ошибку.
Гораздо труднее еЁ осознать и исправить.

Последний раз редактировалось Niro; 25.10.2010 в 15:58.
Niro вне форума Ответить с цитированием
Старый 25.10.2010, 16:52   #6
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
Вопрос

Цитата:
Сообщение от Niro Посмотреть сообщение
извиняюсь повтор
ничего страшного Niro всё равно благодарю

вот этом примере не могу найти ошибку.


Помогите пожалуйста разобраться!

Скорее всего я что-то не понял, т.к. всегда идёт p=1.

Код:
program rabota421;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

var
  n,k,j,m:integer;
  p,s:real;


begin
  writeln('Enter j');
  readln(j);

   p:=1;
   n:=k*k;
   for m:=1 to n do
      begin
      s:=0;
      for k:=1 to j do
      s:=s+power((1-k/m),3)*(1/k);
      p:=p*s;
      end;

     writeln('p=',p:2:3);
     readln;
     end.
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru

Последний раз редактировалось warma2d; 25.10.2010 в 19:05.
warma2d вне форума Ответить с цитированием
Старый 26.10.2010, 18:32   #7
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
Печаль

Что-то в этом последнем примере я так и не могу разобраться.
По идее программа должна считать, но всегда получаю 1.
Никак не могу разобраться с ошибкой, если она есть
Помогите пожалуйста понять этот пример.
Заранее Благодарю!
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru
warma2d вне форума Ответить с цитированием
Старый 27.10.2010, 17:01   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
n:=k*k;
А k где инициализируется? Оно у тебя равно чепухе, в результате n равно чепухе. потому цикл и не начинается даже
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2010, 18:10   #9
warma2d
Пользователь
 
Аватар для warma2d
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

Stilet, Благодарю за ответ

То есть насколько я понял нужно k:=1, и всё ?

Код:
program rabota421;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  math;

var
  n,k,j,m:integer;
  p,s:real;


begin
  writeln('Enter j');
  readln(j);

   p:=1;
   K:=1;
   n:=k*k;
   for m:=1 to n do
      begin
      s:=0;
      for k:=1 to j do
      s:=s+power((1-k/m),3)*(1/k);
      p:=p*s;
      end;

     writeln('p=',p:2:3);
     readln;
     end.
Skype: warma2d
ICQ: 838012
mail warma2d@ya.ru
warma2d вне форума Ответить с цитированием
Старый 28.10.2010, 07:39   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и всё
"Доктор у меня рак моска, легких, желудка, сахарный диабет и СПИД, что мне делать?..."
"Ну, голубчик, химиотерапия, таблеточки..."
"Доктор, то есть мне принять аспирин и все?"
"Все, голубчик, все..."
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Воспользуйтесь вложенными циклами Spark3r Общие вопросы C/C++ 1 30.06.2010 12:09
Компиляция комментариев, невозможность отладки (F7) Alex Cones Общие вопросы Delphi 4 24.11.2009 18:55
НУЖНА ПОМОЩЬ "Программирование алгоритмов с вложенными арифметическими циклами при работе с матрицами" krolya838 Паскаль, Turbo Pascal, PascalABC.NET 0 02.06.2009 17:29
Проблема с вложенными записями Tesmont Общие вопросы C/C++ 4 12.05.2009 23:02
Проблема отладки в Дельфи 7 + патчи grenles Общие вопросы Delphi 2 02.07.2008 09:49