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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
Старый 15.12.2012, 14:09   #1
genofond
 
Регистрация: 15.12.2012
Сообщений: 9
По умолчанию перевод чисел между десятичной и фибоначчиваемой системой счисления

В понедельник надо курсовую сдавать, а я даже понятия не имею, как такую программу написать:
"Написать программу, осуществляющую перевод чисел между десятичной и фибоначчиваемой системой счисления"

Написать надо на Pascal ABC . Как - понятия не имею((

Заранее спасибо)
P.s. нашел такую программу только на языке "Питон", но его я к сожалению не знаю...


функция перевода числа из фибоначчиевой в десятичную сс
Код:
def fi_to_ten(n):
    f0, f1 = 0, 1 # задаем начальные значения нулевого и первого числа фибоначчи
    i = 0
    n = n[::-1] # разворачиваем строку с числом т.к. нам нужно считывать числа с младшего разряда
    res = 0
    while i < len(n): 
        f0, f1 = f1, f0 + f1 # задем очередные значения чисел ф. f1 - наше текущее число
        if n[i] == '1':
            res += f1 # в случае если цифра в данном числе - 1, прибавляем к результату текущее число ф. - значение разряда.
        i += 1
    return res
Функция перевода из десятичной в фибоначчиеву сс
Код:
def ten_to_fi(n):
    n = int(n)
    f0, f1 = 0, 1
    resnum = [] # в этот список заносятся номера чисел ф. из которых состоит данное число
    num = -1 
    finres = '' # это строка окончательного результата
    while n != 0: 
        while f1 <= n: # перебираем числа ф. пока не найдем число большее данного
            f0, f1 = f1, f0 + f1
            num += 1 
            if f1 > n:              # если текущее число ф. больше данного
                n -= f0             # вычитаем его из данного
                resnum.append(num)  # и добавляем его номер в список, при этом
                f0, f1 = 0, 1       # сбрасываем числа ф. и
                num = -1            # счетчик их номера
 
    i = resnum[0]   # у нас есть список с номерами чисел ф. образующих данное число.
    while i > 0:    # следует его обработать и представить в виде числа в ф. сс
        k = 0
        check = False 
        while k < len(resnum): 
            if i == resnum[k]:
                finres += '1'
                check = True
            k += 1
        if check == False:
            finres += '0'
        i -= 1
 
    return finres
Проверка введенного числа в фибоначчиевой сс на наличие соседних единиц

elif ss == 'fi':
i = 0
while i < len(num)-1:
if num[i] == '1' and num[i+1] == '1':
print 'wrong number'
quit()
i += 1

Последний раз редактировалось Stilet; 15.12.2012 в 15:18.
genofond вне форума Ответить с цитированием
Старый 15.12.2012, 15:30   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

genofond

В понедельник надо курсовую сдавать, а я даже понятия не имею, как такую программу написать:

Чувак, это просто поразительное раздолбайство. Курсач за выходные, при то, что "понятия не имею(( " - это FAIL.

Да... для студней сессия - это как "прыжок веры" в Assassin Creed - в омут и с головой. Не все выныривают... (((Ж

Найди cебя на этой картинке :lol:

Rififi вне форума Ответить с цитированием
Старый 15.12.2012, 16:02   #3
genofond
 
Регистрация: 15.12.2012
Сообщений: 9
По умолчанию

Цитата:
Чувак, это просто поразительное раздолбайство. Курсач за выходные, при то, что "понятия не имею(( " - это FAIL.
Ну, конечно, то, что я совсем понятия не имею как делать данную программу я переборщил, потому что все таки некоторые идеи имеются да и Pascal я знаю нормально...
Просто помочь попросил. Ведь для вас такая прога - раз плюнуть, а для меня - бессонные ночи, расшатанные нервы, возможно шизофрения)
genofond вне форума Ответить с цитированием
Старый 15.12.2012, 17:40   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Просто помочь попросил. Ведь для вас такая прога - раз плюнуть, а для меня - бессонные ночи, расшатанные нервы, возможно шизофрения)
сколько платишь за свой спокойный сон и, главное, здоровье?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.12.2012, 18:23   #5
whatever
a.k.a. Skull
Форумчанин
 
Регистрация: 17.11.2009
Сообщений: 963
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
сколько платишь за свой спокойный сон и, главное, здоровье?
Во-во, на здоровье экономить нельзя
Все тривиальное просто
whatever вне форума Ответить с цитированием
Старый 15.12.2012, 18:36   #6
genofond
 
Регистрация: 15.12.2012
Сообщений: 9
По умолчанию

Все, спасибо, не надо уже. Помогли на другом форуме)
genofond вне форума Ответить с цитированием
Старый 15.12.2012, 18:43   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ага, ага, мы вас и там достанем... то-то Puporev сюда не заглянул и не заметил ваши перлы про "бессонные ночи, расшатанные нервы, возможно шизофрения" /
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.12.2012, 20:05   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Ошибаешься raxp, заглянул, ему же еще и наоборот нужно, а я ни разу не делал.....
puporev вне форума Ответить с цитированием
Старый 15.12.2012, 20:27   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

До того или после того?

Цитата:
Сообщение от genofond
Спасибо вам огромное! Как хорошо, что на свете все еще остались добрые, отзывчивые люди. Вы меня просто спасли)))

Буду вам непомерно благодарен, если вы напишите мне, тупому созданию, программу, которая наоборот переводит из Фиббоначиевой в Десятичную сс.

Заранее спасибо)
медвежью услугу делаете топик-стартеру.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 15.12.2012, 20:32   #10
genofond
 
Регистрация: 15.12.2012
Сообщений: 9
По умолчанию

Вот я одного не понимаю. Форум создан для взаимопомощи. Зачем тут троллить и подшучивать надо мной? Я тут никого не оскорблял.
Лучше бы дали хотя бы совет или ссылку как 2ю часть программы делать (Fib--->>10). Не хотите помогать, не надо.
genofond вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA перевод из десятичной системы счисления и наоборот Akika Помощь студентам 19 30.01.2013 10:01
Программа в С++ для перевод из десятичной системы счисления в двоичную. VladJAy Помощь студентам 3 23.10.2012 16:03
Перевод чисел между системами счисления GamerZAV C# (си шарп) 2 01.03.2012 21:47
Pascal. перевод из десятичной системы счисления в двоичную Xeon332 Помощь студентам 3 24.01.2011 13:54
Перевод из десятичной сист. счисления в любую другую(С++) lenk0belk0 Помощь студентам 0 08.10.2010 08:58