Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Погрешность компутера

10K
05 октября 2005 года
Mpak
8 / / 28.06.2005
Привет всем.
У меня есть такой предмет как "Практикум решения задач на ЭВМ". Мне дали задание: "Определить погрешность компьтера опытным путем. Используя Paskal или Delphi". Я даже не знаю с чего начать. Помогите решить эту проблему. Заранее благодарен!
1.7K
05 октября 2005 года
Envel
206 / / 29.11.2004
Цитата:
Originally posted by Mpak
Привет всем.
У меня есть такой предмет как "Практикум решения задач на ЭВМ". Мне дали задание: "Определить погрешность компьтера опытным путем. Используя Paskal или Delphi". Я даже не знаю с чего начать. Помогите решить эту проблему. Заранее благодарен!


Это вам в школе дали? Не хотят вам оценку ставить:-)) Такая формулировка вообще непонятна.

10K
05 октября 2005 года
Mpak
8 / / 28.06.2005
Да нет не в школе. Просто препод у нас уникум:)) Да я и не на программиста учусь, а на физика. Формулирока вопроса кстати дословна. На попытки конкретизировать он лишь заявлял:"Как какая погрешность? Компьютера конечно. Это должно быть конкретное число". Я задал этот вопрос на форуме лишь потому что думал, что эт я чего нить не догоняю.
259
05 октября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by Mpak
Да нет не в школе. Просто препод у нас уникум:)) Да я и не на программиста учусь, а на физика. Формулирока вопроса кстати дословна. На попытки конкретизировать он лишь заявлял:"Как какая погрешность? Компьютера конечно. Это должно быть конкретное число". Я задал этот вопрос на форуме лишь потому что думал, что эт я чего нить не догоняю.


Ну так ответь ему, что компьютер, как Бог - безпогрешен:)
А если имеется в виду погрешность при реализации численных методов или арифметических операций, то это скорее математика... Вобщем действительно непонятно.

1.7K
05 октября 2005 года
Envel
206 / / 29.11.2004
Цитата:
Originally posted by Mpak
Просто препод у нас уникум:)) ...


Да, это уж точно:-))))

241
05 октября 2005 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Originally posted by Mpak
Мне дали задание: "Определить погрешность компьтера опытным путем. Используя Paskal или Delphi".



Есть куча вариантов! Прикол в том, что тема действительно левая, что допускает правильность левых ответов. Сам учился когда-то. Так вот, что я тебе скажу про погрешность компа.

1. Точность представления чисел конечна. В твоём случае это 18-20-й знак за запятой, проверь на всякий случай.

2. Попробуй вычислить значения функций вблизи экстремумов, точек разрыва и проч. Прикольно юзать тригонометрические функции, только не сами по себе, а в каких-нибудь злохитрых выражениях.

3. Развитие п.2: Два достаточно сложных тождественных алгебраических выражения. подойдёт что-нибудь вроде квадратного уравнения. Например, сложи два квадратных уравнения и вычти третье. По-моему, в 15-м знаке за точкой будет что-нибудь кроме нуля.

4. Развитие п.3: Цикл. Устроен примерно так:
var n:real;
for i:= 1 to 10 {или 100} do
n:=i;
{решаешь уравнение примерно такого вида:
n*x*x + (n/2)*x + (n/i)
результаты решения складываешь в массив, и делаешь с ними всё, что тебе подскажет знание статистики.}

После этого сможешь сделать какие-то выводы о погрешности. Потом тебе только подвешенный язык поможет. :)

241
05 октября 2005 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
Originally posted by Mpak
"Определить погрешность компьтера опытным путем. Используя Paskal или Delphi".



Кстати, погрешность ты определишь не только (и не столько) компутера, но и конкретного языка реализации. Например, Паскаль считает в целом точнее, чем Flash ActionScript.

Ну и напоследок цитата.

Цитата:
Для большинства практических реализаций достаточно точности в пять знаков.



Кстати, если ты найдёшь погрешность, обязательно скажи всем, что это явление может стать причиной для ошибки. А эту ошибку очень трудно выловить, я как-то пробовал.

255
05 октября 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Mpak
Привет всем.
У меня есть такой предмет как "Практикум решения задач на ЭВМ". Мне дали задание: "Определить погрешность компьтера опытным путем. Используя Paskal или Delphi". Я даже не знаю с чего начать. Помогите решить эту проблему. Заранее благодарен!


Напиши прогу, которая работает с длинными числами - погрешность будет 0. А точнее единица поделить на 10^порядок мантиссы. Или, при нормальной реализации - 1/10^4294967296. А вообще - на компе можжно посчитать с любой точностью. Короче - обьясни преподу, что погрешности компьютера нету, есть погрешность конкретного алгоритма или конкретной реализации какого-то алгоритма. Если будет гнать - спроси какая погрешность у счет?

6.4K
05 октября 2005 года
MerlinWind
52 / / 01.05.2005
1)У нас когда то в вузе была лаба, одно из заданий в ней, было нахождение max и min числа, которыми оперирует компьютер. Это просто сделать. Может ваш препод это имел ввиду.
2)Глупость,чисто как отписка,но для препода думаю покатит:взять два одинаковых числа, и в цикле все время сравнивать,добавляя к одному из них все меньшее значение (1/10,потом на 100 и т.д.).Когда сравнение даст true - вот и погрешность компа...маразм конечно но думаю он хочет этого
2
06 октября 2005 года
squirL
5.6K / / 13.08.2003
задача действительно поставлена ужасно. кроме погрешностей при вычислениях - а они неизбежны при выполнении вычислений на дискретной по сути своей машине, есть еще всяческие погрешности работы самой машины. связанные с архитектурой. например - прерывания от таймера - маскируемые. соответственно - можно считать погрешность в работе часов компа, которая набегает при достаточно частом блокировании прерываний (кто часто юзает SoftIce - меня поймет). различные таймеры внутри системы - таймеры TCP и прочая ерунда - тоже имеют погрешность работы, связанную с невозможностью прерывания выполнения задачи в режиме ядра. и т. п. вывод. препод - чайник.
255
06 октября 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by squirL
задача действительно поставлена ужасно. кроме погрешностей при вычислениях - а они неизбежны при выполнении вычислений на дискретной по сути своей машине, есть еще всяческие погрешности работы самой машины. связанные с архитектурой. например - прерывания от таймера - маскируемые. соответственно - можно считать погрешность в работе часов компа, которая набегает при достаточно частом блокировании прерываний (кто часто юзает SoftIce - меня поймет). различные таймеры внутри системы - таймеры TCP и прочая ерунда - тоже имеют погрешность работы, связанную с невозможностью прерывания выполнения задачи в режиме ядра. и т. п. вывод. препод - чайник.


Гы. Я бы сказал - не просто чайник, а самый безносый чайник из всех безносиковых чайников! :D
ИМХО, ему надо обьяснить этот факт, спросив, к примеру: "А какая погрешность кирпича? Он как любой объект должен иметь погрешность.". Если он не дебил, то поймет, иначе есть шанс что задумается или заставит кого-то считать :D

241
06 октября 2005 года
Sanila_san
1.6K / / 07.06.2005
Полностью согласен. А у счёт погрешность можно выдать за точность вычисления. Правда, я не помню, как на счётах посчитать корень из двух...:D
255
06 октября 2005 года
Dart Bobr
1.4K / / 09.04.2004
Цитата:
Originally posted by Mpak
Привет всем.
У меня есть такой предмет как "Практикум решения задач на ЭВМ". Мне дали задание: "Определить погрешность компьтера опытным путем. Используя Paskal или Delphi". Я даже не знаю с чего начать. Помогите решить эту проблему. Заранее благодарен!


Скажи ему пусть для начала определится с конфигом компа. Можешь грузануть, что типа у х86 одна погрешность, у Alpha - другая, у PDP-11 третья, что это зависит от операционной системы. Напиши прогу, засунь в обработчик какого-то батона левый алгоритм, который нифига не делает, но очень долго думает. Напиши перехватчик на нажатие - что-бы пихал в Edit какое-нить число левое(ясное дело - довольно маленькое) и покажи преподу. :D

4.4K
06 октября 2005 года
captain cobalt
43 / / 04.03.2004
В одном из школьных учебников по информатике предлагается померять "машинное эпсилон" для плавающей арифметики - ближайшее к нулю число e, отличимое от нуля, для которого (1 + е) неотличимо от 1.

Вот код:
Код:
var e,f:real;
    i:integer;
begin
 i:=0;
 e:=1;
 f:=1+e;
 while f>1 do begin
   inc(i);
   e:=e/2;
   f:=1+e;
 end;
 writeln('epsilon=',e);
 writeln('iterations=',i);
end.
Количество итераций - это двоичный порядок точности (погрешности).
Можно делить не на 2, а на 10 - будет десятичный порядок. ;)
|
6.4K
06 октября 2005 года
MerlinWind
52 / / 01.05.2005
Цитата:
Originally posted by Dart Bobr
Скажи ему пусть для начала определится с конфигом компа.


Dart Bobr - 5! Креативная идея:пишем прогу которая
"вычисляет погрешность" а также "другие подобные характеристики" компа и показываем на ней на сколько амд круче.Ну или интел - в зависимости от того кто больше заплатит)))

2
06 октября 2005 года
squirL
5.6K / / 13.08.2003
Цитата:
Originally posted by MerlinWind
Dart Bobr - 5! Креативная идея:пишем прогу которая
"вычисляет погрешность" а также "другие подобные характеристики" компа и показываем на ней на сколько амд круче.Ну или интел - в зависимости от того кто больше заплатит)))



что то форум хиреет... пора плюсовать как в FIDO за флейм в тематических разделах. модерится форум слабовато.

292
06 октября 2005 года
Matush
726 / / 14.01.2004
Цитата:
Originally posted by squirL
что то форум хиреет... пора плюсовать как в FIDO за флейм в тематических разделах. модерится форум слабовато.


Я бы сказал не модерится вообще...

259
06 октября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by squirL
что то форум хиреет... пора плюсовать как в FIDO за флейм в тематических разделах. модерится форум слабовато.


А еще достал флейм после того, как ответ на вопрос уже найден и всем сказали спасибо.

344
06 октября 2005 года
Delpher
493 / / 14.08.2005
Цитата:
Originally posted by AlexandrVSmirno
А еще достал флейм после того, как ответ на вопрос уже найден и всем сказали спасибо.



Как, например, сейчас :D

10K
06 октября 2005 года
Mpak
8 / / 28.06.2005
Да уж спасибо всем!!!:)))) Я рад что ко мне с этим вопросом отнеслись с пониманием. Что-нибудь постараюсь реализовать. Но семестр только начался думаю приколы еще с этим преподом будут:))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог