![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как найти первую цифру дробной части?
Pascal96 © (2009-11-17 08:41:00)
Задание:
Присвоить переменной Z первую цифру из дробной части действительного числа K.
При помощи Frac нахожу остаток.
Но он ведь может быть любой длины! И поэтому применить DIV/MOD я не так просто не могу.
Как определить длину остатка? Т.е. кол-во чисел в него входящих.
Anatoly Podgoretsky (2009-11-17 11:07:00) [21]> Pascal96 (17.11.2009 10:56:14) [14]
С какой стати? Слева целое, а справа реальное, притом меньше 0
Pascal96 (2009-11-17 11:03:00) [22]У меня новая задачка: (описана выше)
Вроде бы просто, ан, что-то бошка совсем не варит (((( сегодня.
Pascal96 (2009-11-17 10:56:00) [23]
> Anatoly Podgoretsky © (17.11.09 10:33) [13]
Var
Z: byte;
X: real;
begin
Z:= Trunc(X * 10) mod 10; { Спасибо Юрию Зотову, всё просто оказалось! )))}
А я хотел как-то так:
Z:= (Frac(X) ... и что-то там... Итог целое число.
End.
Anatoly Podgoretsky (2009-11-17 10:33:00) [24]> Pascal96 (17.11.2009 09:31:08) [8]
Меня не интересует Z
И что ты собираешься помещать в Z ведь существует множество вариантов представления вещественных чисел и что ты собираешься помещать например для 0,001 в байт то.
Pascal96 (2009-11-17 10:05:00) [25]Так, повторяю:
Заголовок - это задача в общем.
Дальше идёт описание задачи.
Затем, что я придумал и соответствующие всплывающие по ходу дела суб-вопросы.
Мне сразу же объяснили, что я двигаюсь не в ту сторону, т.е. моё решение ВООБЗЕ не верно и следовательно на возникающие ТАМ под-вопросы не имеют силу.
А встатье про XYZ, начинающие описывают только часть задачи.
sniknik (2009-11-17 09:51:00) [26]> Понимаете разницу? Вы придумали изначально неверный способ решения и задали не тот вопрос, который следовало.
> И если не заголовок топика, то ответ на вопрос мог бы быть только один - никак.
Юрий просто очень быстро тебя "раскусил", и "счастливый конец" наступил буквально после первого ответа... а вот не было бы понятного заголовка, а только вопрос с совершенно другой задачей через посредство которой ты пытался решить основную, и ничего бы не вышло, т.что все "в кассу". лучше бы подумал и сделал выводы, чем "отмазываться".
Pascal96 (2009-11-17 09:42:00) [27]Я это читал.
Здесь другая тема.
Здесь я привёл задачу в общем, сказал, что я сделал (использовать Frac).
Так что, мимо кассы.
sniknik (2009-11-17 09:39:00) [28]про задачи, что стоит и что выполняется...
http://gunsmoker.blogspot.com/2008/10/x-y-z.html
Pascal96 (2009-11-17 09:31:00) [29]
> Причем тогда FRAC
Не я имел ввиду, что в итоге цифрУ надо поместить в Z.
А Frac участвует в промежуточных операциях.
Anatoly Podgoretsky (2009-11-17 09:28:00) [30]
> Byte. Цифра ведь одна )
Причем тогда FRAC
Pascal96 (2009-11-17 09:28:00) [31]Понятно.
Известен возраст мужика, и его 3-х сыновей.
Какой сын старше отца, но младше остальных?
Вывести результат примерно так: "2-й сын". Т.е. №номер№ сына.
Юрий Зотов (2009-11-17 09:08:00) [32]> Pascal96 (17.11.09 08:51) [2]
Первоначальная проблема: как найти первую цифру дробной части. ЭТА задача решается элементарно.
Вы спросили: как найти длину дробной части. ЭТА задача общего решения не имеет вообще.
Понимаете разницу? Вы придумали изначально неверный способ решения и задали не тот вопрос, который следовало. И если не заголовок топика, то ответ на вопрос мог бы быть только один - никак.
Pascal96 (2009-11-17 08:55:00) [33]Byte. Цифра ведь одна )
Anatoly Podgoretsky (2009-11-17 08:53:00) [34]> Pascal96 (17.11.2009 08:41:00) [0]
Какого типа переменная?
Pascal96 (2009-11-17 08:51:00) [35]Спасибо. )))
Вы меня опять выручили.
> Задавая вопрос, не подменяйте первоначальную проблему придуманной.
Из обычных чисел, циферки отделял DIV/MOD'ами. )
Юрий Зотов (2009-11-17 08:49:00) [36]1. Первая цифра дробной части: Trunc(X * 10) mod 10
2. > Как определить длину остатка? Т.е. кол-во чисел в него входящих.
Задавая вопрос, не подменяйте первоначальную проблему придуманной.