Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2010, 22:59   #1
Russia
 
Аватар для Russia
 
Регистрация: 23.05.2009
Сообщений: 6
Стрелка qBasic, факториал и гистограмма

Здравствуйте, давно меня не было здесь, школа прошла, ЕГЭ я сдал, огромное спасибо сему форуму за помощь в подготовке и решении программ. Но так уж вышло, что в университете началось программирование и не на паскале, который казался мне проще, а на бейсике. Я в этом языке плаваю, поэтому есть несколько вопросов по одной задаче.
"Реализовать программу вычисления последовательности десятичных цифр при вычислении n! (n-факториал (кстати, на самом листе с заданием написано с опечаткой) ), (n<=50). Результат оформить в виде многоразрядного десятичного числа; плоской гистограммы цифр, в пределах выбранного десятка десятичных цифр."
Так вот, сначала думается, ну просто, считаем собственно факториал:

Пробуем маленькое число, например 5 - считает, но стоит ввести 50, ему недостаточно места. Уже загвоздка. Чего ему не нравится? Надо поставить какой-то тип данных? Длинный числовой? Подскажите как.
Далее, насколько я понял, там могут получиться совершенно разные числа и мне надо подсчитать сколько в таком вот числе единичек, двоек, троек и нарисовать прямоугольнички? Прямоугольники задаются краями диагоналей, то есть надо поставить какой-то счётчик, посчитать например количество единиц, а это делается как? Перевести число в символьным тип? Просто никакие функции так сразу в голову не приходят. Подскажите, как это всё осуществить, как сделать-то эту гистограмму, тут моё воображение спотыкается.
Зарание благодарю.
Russia вне форума Ответить с цитированием
Старый 13.05.2010, 11:19   #2
Z1000000
Форумчанин
 
Регистрация: 04.05.2010
Сообщений: 495
По умолчанию

можно было бы использовать тип DOUBLE
DIM P AS DOUBLE
в него влазит.
Но его потом не преобразуешь в строку
STR$(p) = 3.041409320171338D+64 выдается в экспоненциальной форме.

Делить по MOD такое число тоже нельзя. Перед деление он пытается преобразовать его в целое, а разрядности не хватает.

Так что путь у тебя один. Сделать подпрограмму целочисленного умножения со строками.
Вот кстати недавно была на Паскале : http://www.programmersforum.ru/showt...E5%F2%E8%EA%E0
Нажми на весы, поставь +
Для благодарностей : WebMoney WMR R252732729948

Последний раз редактировалось Z1000000; 13.05.2010 в 11:21.
Z1000000 вне форума Ответить с цитированием
Старый 19.05.2010, 18:57   #3
Russia
 
Аватар для Russia
 
Регистрация: 23.05.2009
Сообщений: 6
По умолчанию

Z1000000, спасибо за совет) Но...
Долго пришлось париться с прогой, но вот преподаватель расщедрилась, и разрешили делать иначе немного и у меня возник вопрос, а как откинуть дробную часть числа и сохранить? То есть для гистограммы мне нужно посчитать сколько каких чисел в факториале, и я делю на 10 и хочу сохранить.. например 452414\10=45241,4 - мне нужно эту четвёрочку стырить. Как?
Russia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дисперсия. Гистограмма p4serhiy Помощь студентам 2 15.04.2010 08:34
Гистограмма по числам из массива sokla Помощь студентам 1 06.01.2010 12:15
C++ Гистограмма xxxPascalxxx Помощь студентам 1 05.11.2009 15:05
Факториал. dimka660i Помощь студентам 11 10.10.2009 23:28
Факториал Killbrum Софт 14 13.08.2008 00:34