Разработаем учебную программу, отыскивающую значение так называемого «машинного эпсилон» — минимального не равного нулю вещественного числа, которое после прибавления его к 1,0 еще дает результат, отличный от 1,0. Замечу, что для хранения и преобразования дробных чисел в Delphi предназначены так называемые вещественные типы В учебной программе используется один из этих типов — Real, занимающий 8 смежных байтов и представляющий дробные (вещественные) числа в диапазоне от 10-324 до 10+308 с точностью 14…16 значащих цифр. Поясним существование такого числа Х, что 0 < X < ерs и 1,0 + X = 1, 0. Внутреннее представление типа Real может дать «лишь» приблизительно 1019 возможных комбинаций значащих разрядов в отведенных для него 8 байтах. Конечно же, это очень большое число, но оно несопоставимо с бесконечным множеством вещественных чисел. Аппроксимация бесконечного непрерывного множества вещественных чисел конечным (пусть даже и очень большим) множеством их внутреннего машинного представления и приводит к появлению «машинного эпсилон». Для нового приложения (команда File / New / Application) создайте такой обработчик RunClick: procedure TExample.RunClick(Sender: TObject); var Epsilon: Real; begin Epsilon := 1; while l+Epsilon/2>l do Epsilon := Epsilon/2; Label1.Caption := 'Машинное эпсилон = ' +FloatToStr(Epsilon) end;
|
|
|
Само задание где?:)
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|
Quote (Berestovskiy) Само задание где?:) я и сам не знаю где оно. ет лаба и есть..
|
|
|
Спроси навверное у препода что нужно делать дабы мы тут головы не ламали
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
Нужна помощь? Сюда: vkontakte.ru/berestovskiy
|
|
|