Курилка Помогите разобраться новичку

Тема в разделе "Курилка", создана пользователем saratovalex, 10 фев 2009.

  1. TopicStarter Overlay
    saratovalex
    Offline

    saratovalex

    Регистрация:
    10 фев 2009
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Жаль что на форуме нет категорий типа для новичков, для изучающих 1С.

    Добрый день всем! Самостоятельно изучаю1С по книге Т.Н. Усикова 1С Эффективное программирование. Книга мне нравится, всё достаточно разложено, но есть некоторые моменты, которые не понимаю. В частности даётся определение рекурсии в качестве примера – небольшая программка, производящая вычисление n-ого по счёту числа Фибоначчи (стр. 212 книги):

    Код:
    Перем фибоначчи;
    //*************************************************
    Функция фиб(номер)
    Если (номер=0) или (номер=1) Тогда
    ф=1; //первые 2 числа равны 1
    Возврат ф;
    Иначе 
    ф=фиб(номер-2)+фиб(номер-1);
    Возврат ф;
    КонецЕсли;
    КонецФункции
    //*****************************
    ном=1;
    фибоначчи=1;
    
    Далее предлагается самому разобраться в алгоритме программы, что никак не могу сделать. Если кому не затруднительно, помогите разобраться. Вот, например, вводим число 4. Что происходит? Как работает программа?
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Если вы не можете понять алгоритм сами - не рекомендую продолжать.

    ЗЫ. Изучите понятие рекурсии. Приведенный пример элементарен.
  3. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Хммм....
    ну может так попробовать изобразить:
    фиб(4)=фиб(2)+фиб(3)=
    [фиб(0)+фиб(1)] + [фиб(1)+фиб(2)]=
    [1+1]+[1+{фиб(0)+фиб(1)}]=
    2+[1+{1+1}]= 5
  4. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
    Для того, чтобы понять рекурсию, надо понять рекурсию. :unsure:

    Я начинал свой путь в программировании с Си и книжки товарищей Кернигана и Ричи. Если мне память не изменяет - там этот момент хорошо разжеван. Но прежде, чем дойти до этой главы придется разбираться в синтаксисе и нюансах сяхи, а это требует времени и желания. Вообще книжка толково написана и не смотря на год издания, если бы у меня спросили - с чего начинать путь программера, я бы точно дал ее и диск с линухой.

    Что же касается приведенного примера - попробуйте раскоментировать понятные вам моменты. Чтобы было ясно, в чем ваше затруднение.
  5. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Если не сложно, приведи здесь ее полное название, или если есть ссылки.
  6. lazy
    Offline

    lazy Модераторы Команда форума Модератор

    Регистрация:
    1 сен 2007
    Сообщения:
    2.127
    Симпатии:
    4
    Баллы:
    29
  7. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Спасибо, буду пополнять библиотеку (люблю хорошие книжки :) )
  8. Vlad
    Offline

    Vlad Модераторы Команда форума Модератор

    Регистрация:
    16 авг 2006
    Сообщения:
    3.517
    Симпатии:
    19
    Баллы:
    29
    Собрание сочинений Дарьи Донцовой не желаешь? :unsure:

Поделиться этой страницей