Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регистр памяти 
:(
    Опции темы
ronny
Дата 7.1.2012, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.1.2012

Репутация: нет
Всего: нет



Привет всем! Создаю небольшой калькулятор, и вот уже появилась проблема... Не получается по нормальному реализовать регистр памяти (как
 на стандартных калькуляторах).Сначала, я хотел просто сохранить число как переменную, но почему-то при вставке, если само число меньше 1, оно округляется в 0!!!  Потом только  что я ни пробовал, но в итоге - без результатов! В конце концов с помощью округление смог добиться каких-никаких результатов, но, допусти когда я делю 1 на 9, а потом умножаю на 9 число получается не цело (0.9999...)    Может кто подскажет где и что я делал не так?

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  ___.zip 3,44 Kb
PM MAIL   Вверх
arcsupport
Дата 7.1.2012, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 24.10.2008

Репутация: нет
Всего: 2



Надо использовать рациональные числа, т.е. хранить число в виде числителя и знаменателя.
PM MAIL   Вверх
ronny
Дата 7.1.2012, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 7.1.2012

Репутация: нет
Всего: нет



А как мне энта сделать? Подскажите, если не сложно...

Это сообщение отредактировал(а) ronny - 7.1.2012, 23:30
PM MAIL   Вверх
arcsupport
Дата 8.1.2012, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 725
Регистрация: 24.10.2008

Репутация: нет
Всего: 2



В рамках Вашей программы я сказать не могу, слишком уж там все наивно.
Пусть у Вас есть некоторое рациональное число, например 1234.5678. Тогда его можно представить как числитель 12345678 / знаменатель 10000.
Все числа с десятичной точкой (запятой) преобразовываются в вид натуральной дроби.
Действия над дробями (a, b -- числитель и знаменатель первой дроби A, c, d -- числитель и знаменатель второй B)
Умножение: A * B = (a *c) / (b * d)
Деление:     A : B  = (a * d) / (b * c)
О сложении и вычитании подумайте, пожалуйста, сами.
Помните, что у результата каждой операции надо сократить числ. и знам. на НОД(числ., знам.).
И, кстати, я встречал реализацию этого в одной книге по VB5.

Это сообщение отредактировал(а) arcsupport - 8.1.2012, 09:29
PM MAIL   Вверх
iff
Дата 8.1.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: -1
Всего: 16



У меня вообще не работают кнопки "М+" и "М-".
А если набрать вообще любое число (например 100), потом нажать MS и затем MR, то всегда выводится 0. (Непонятно, какая переменная используется для памяти d или e.

Это сообщение отредактировал(а) iff - 8.1.2012, 13:33


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0521 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.