
Bulgarian: 
Този код в JavaScript изпълнява
алгоритъма за генериране на числа на Фибоначи
по метода "отдолу нагоре".
Ще разгледаме функцията
за n = 5 и ще видим какво става зад кулисите.
След като дефинираме функцията, този ред задава
стойност 5 на променливата fib.
Сега вече изпълняваме функцията за n = 5.
Тъй като n е различно от 0 и от 1,
това условие не е изпълнено
и преминаваме надолу по кода.
Тук вече е същинският код "отдолу нагоре".
Отначало декларираме три променливи
и това ще са единствените променливи,
които са ни нужни тук.
Задачата им е да помнят
три неща едновременно.
Първата променлива е twoBehind ("две назад").
Нея инициализираме с 0,
което е първото число на Фибоначи.
Следваща променлива е oneBehind ("едно назад").
Нея инициализираме с 1,
тоест второто число на Фибоначи.
Третата променлива "result" инициализираме с 0
и се надяваме тя да помни отговора, който търсим.
След това влизаме в този for-цикъл, който обхожда

English: 
- [Instructor] This is a
JavaScript implementation
of the Fibonacci number
generation algorithm
using a bottom-up approach.
We're gonna walk through the function
for n of five, and see what
it does behind the scenes.
So after we define the
function, this code calls
fib with five.
So we're in the function,
with an n of five,
and n is not zero, and it's not one,
so this condition is false,
and we come down here.
Now here is the real bottom-up code.
So we start off by
declaring three variables
that are going to be the only variables
that we need here, and
they're going to remember
three things at a time,
so we have twoBehind, which
we initialize to zero,
which is the very first Fibonacci number,
oneBehind, which we initialize to one,
it's the second number,
and result, which we'll
initialize to zero,
and this will eventually store
the answer we're looking for.
Then we have a for loop,
that starts at one,

Bulgarian: 
числата от 1 до (n - 1).
Първото, което ще направим в този for-цикъл,
е да изчислим result като
сбор на twoBehind и oneBehind,
което в първата итерация е (0 + 1),
тоест сегашната стойност на result е 1.
След това на twoBehind присвояваме 
стойността на oneBehind
и получаваме twoBehind = 1.
Накрая oneBehind 
взема стойността на result
и също става 1.
Вече сме в следващата итерация и пресмятаме
result = (twoBehind + oneBehind),
което сега прави 2,
после twoBehind взема стойността на oneBehind
и става 1, а oneBehind приема стойността на result
и става 2.
Продължаваме със следващата итерация.
Сега изразът result = (twoBehind + oneBehind)
ни дава 3,
twoBehind взема стойността на oneBehind
и става 2,
и накрая получаваме oneBehind = result = 3.
При следващата итерация result е равно на
сбора от twoBehind и oneBehind, тоест 5,

English: 
and goes for n minus one times.
So inside that for loop,
the first thing we do is set result
equal to twoBehind plus oneBehind,
so this is going to be zero plus one,
so result is currently one,
then we set twoBehind to oneBehind,
so that it becomes one,
and we set oneBehind to the result,
so that it also becomes one.
Now we're in the next iteration,
and this time, result we set
to twoBehind plus oneBehind,
so that's going to be two,
and then twoBehind to oneBehind,
so that's one, and then
oneBehind to result,
so that's two.
Now we're in the next iteration,
we set result equal to
twoBehind plus oneBehind,
so that will give us three,
twoBehind to oneBehind,
so it will become two,
and oneBehind to result,
so it becomes three.
Next iteration, result we set
to twoBehind plus oneBehind,
so that'll be five,

Bulgarian: 
после имаме twoBehind = oneBehind = 3,
и накрая oneBehind = result = 5.
А сега ще има ли следваща итерация?
Не, защото изчерпахме цикъла
и трябва да върнем резултата, който сега е 5.
Това е резултатът за  n = 5.
Така се генерират числа на Фибоначи
по метода "отдолу нагоре".

English: 
we set twoBehind to oneBehind,
so it will become three,
and then oneBehind to the
result, so it becomes five.
Now, next iteration, are we going to it?
Nope, instead, we're going to the end
and returning the result,
which is now five.
That is the result when n equals five.
And this is a bottom-up approach
to generating Fibonacci numbers.
