Помощь - Поиск - Пользователи - Календарь
Полная версия: В чем ошибка
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
asu2006
вычислить S=(x-2)(x-4)…(x-8)/(x-1)(x-3)…(x-7)
Код
var
s:real;
k,i:byte;
x,is,ks: integer;
begin
write('X=');
readln(x);
i:=2;K:=1; is:=1; ks:=1;
while (i<8) and (k<7) do
ks:=ks*(x-k);
is:=is*(x-i);
i:=i+2;
k:=k+2;
s:=is/ks
write('s=', s:5:1);
readln;
end.

Но он почему то считает не правильно.
Почему?
volvo
Ты задавал вопрос насчет циклов, тебе там ответили - тебя и след простыл. Теперь здесь ты делаешь ТУ ЖЕ ошибку, и опять просишь помощи... Надоело отвечать просто так, понимаешь? Сколько можно? Ты ж даже не читаешь, что тебе пишут!
asu2006
Цитата(volvo @ 26.11.2007 18:36) *

Ты задавал вопрос насчет циклов, тебе там ответили - тебя и след простыл. Теперь здесь ты делаешь ТУ ЖЕ ошибку, и опять просишь помощи... Надоело отвечать просто так, понимаешь? Сколько можно? Ты ж даже не читаешь, что тебе пишут!

Ты имеешь веду begin и end. ТО это не то......
asu2006
ПОмогите give_rose.gif
Malice
Цитата(asu2006 @ 26.11.2007 18:39) *

Ты имеешь веду begin и end. ТО это не то......

Именно то. Подумай где дожен быть цикл и добавь туда begin и end.
asu2006
var
s:real;
k,i:byte;
x,is,ks: integer;
begin
write('X=');
readln(x);
i:=2;K:=1; is:=1; ks:=1;
while (i<8) and (k<7) do
begin
ks:=ks*(x-k);
is:=is*(x-i);
i:=i+2;
k:=k+2;
end;
s:=is/ks
write('s=', s:5:1);
readln;
end.

вот так наверное
Lapp
Цитата(asu2006 @ 27.11.2007 6:56) *

вот так наверное

Так лучше, но еще пока не совсем хорошо.
1. Если в условии цикла ты используешь строгие неравенства, то при i=8 и k=7 он не выполнится. Советую заменить на нестрогие.
2. Второе условие в цикле лишнее. Достаточно одного первого.
asu2006
Код
var
  s:real;
  k,i:byte;
  x,iss,ks: integer;
begin
  write('X=');
  readln(x);
  i:=2;K:=1; iss:=1; ks:=1;
  while (i<=32) do
  begin
    ks:=ks*(x-k);
    iss:=iss*(x-i);
    i:=i+2;
    k:=k+2;
   end;
  if (iss>0) and (ks>0) then
   begin
  s:=iss/ks;
  write('s=', s:5:3);
    end
  else
  write('Деление на ­  0');
  readln;
end.

А почему сдесь везде выдает сообщение "деление на 0"
Совсем новичок
Так ты отлакдку сделай и поймешь :-)
asu2006
Цитата(Совсем новичок @ 27.11.2007 20:14) *

Так ты отлакдку сделай и поймешь :-)

Смысле?
Ozzя
Цитата(asu2006 @ 27.11.2007 21:18) *

Смысле?

Волшебные кнопки f4,f7,f8.
Lapp
А также Ctrl-f4, Ctrl-f7... smile.gif)))
- но это уже после тех.. smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.