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

Цитата:
Сообщение от Андрей Романюк Посмотреть сообщение
прошу прощения, с "копи пастом" налажал))) ряд такой: P=1/3*1/5*1/7.....с точностью до очередного члена ряда < 10^-4
Воля Ваша, сударь, но в условии - явный брех. Ну вот отлаженная программа, где ограничение снижено с 10^-4 до 10^-2.
Код:
uses crt;
var
 p,el:real;
 z:integer;
begin
 clrscr;
 p:=1;
 z:=0;
 repeat
  Inc(z);
  el:=1/(2*z+1);
  write('z= ',z:2,'  ','el= ',el,'  ');
  p:=p*el;
  writeln('p= ',p);
 until el<0.01;
 readln;
end.
Если ее запустить, то результат будет такой: 50 сомножителей, при этом само произведение будет числом порядка 10^-81. А если порог поставить 10^-4, то будет 5000 сомножителей, а произведение по малости вылетит за все разумные разрядные сетки и действительно будет трансформировано компьютером в чистый ноль.
В принципе, можно попробовать решить и такую задачку, но это мало похоже на студенческое упражнение. Так что уточните.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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