Помощь - Поиск - Пользователи - Календарь
Полная версия: Cделайте 2 проги плз)
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи > Задачи на заказ
Mops
1. Перевод числа из 10й системы счисления в р-ричную (р от 2 до 16) и обратно
2. перевеод числа с одинарной точностью

Хотелось бы получить от вас помощь) так же хочу прояснить что я учусь в 10 классе так что прошу по возможности не использовать сложные функции или прислать пояснение. Единственная проблема в той что сроки поджимают сеня суббота 19 мая а нада что бы эти 2 проги были сделаны к 21 мая экзамен 22((
Жду ответа
sonic
Цитата(Mops @ 19.05.2007 14:30) *

1. Перевод числа из 10й системы счисления в р-ричную (р от 2 до 16) и обратно
2. перевеод числа с одинарной точностью

Хотелось бы получить от вас помощь) так же хочу прояснить что я учусь в 10 классе так что прошу по возможности не использовать сложные функции или прислать пояснение. Единственная проблема в той что сроки поджимают сеня суббота 19 мая а нада что бы эти 2 проги были сделаны к 21 мая экзамен 22((
Жду ответа


Пиши мне в личные сообщения, помогу.
мисс_граффити
sonic, предупреждение от меня (за что - читай прилепленную в этом разделе тему).
Mops, смотри первую: Общие вопросы по математике.
про одинарную точность... что это значит?
Mops
Просто то что там написано я ваще не понимаю ни одной функции, ну почти ни одной
а вот про одинарную точность нам так сказали в школе) типа на примпер число дано 70,125 нада перевести его в 16-ную систему через 2-ю. Там мантиссы всякие смещенные порядки и тыды. я знаю как это сделать на бумажке а вот с программой не могу разобраться
мисс_граффити
Тебе только function ToDec нужна.
Идея такая:
1. Удаляем все ненужные нули (то есть вместо 0000009 получаем 9)
2. m (итоговое число) приравниваем к нулю
2. В цикле умножаем m на основание системы счисления, из которой переводили, и прибавляем следующую переведенную цифру (чтобы обрабатывать и буквенные обозначения цифр, используем строку, в которой содержатся все возможные значения цифр - для сс с основанием не больше 16 это от 0 до F)

ну например:
101 в двоичной
m=0
берем первый символ (1):
m:=0*2+положение 1 в строке цифр-1=1
второй символ
m=1*2+положение 0 в строке цифр-1=2
третий символ
m=2*2+положение 1 в строке цифр-1=5

то есть алгоритм такой же, как учат в школе: разряд умножаем на основание системы счисления в той или иной степени.
так понятно?
Mops
не понимаю что делают функции digit div radix mod radix. их в шкоел не проходили
Tan
digit - это просто тип данных, который определил создатель программы, он представляет собой строку из 16 символов (какие именно - я думаю ты увидел сам).
radix - это переменная, которая хранит значение системы счисления, в которую переводим десятичное число.
div - деление нацело, то есть возвращает целую часть аргумена.
mod - остаток от деления.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.