
Bulgarian: 
Лего NTX: броене чрез използване на променливи
Тук ще ти покажа
как да направиш прост брояч,
който е много важна
фундаментална единица
в много програми.
Да кажем, че искахме
роботът ни да може
да преброи евентуалния
брой ръкопляскания.
Имаме сензор за звук
и всеки път,
когато засече ниво на звука, да кажем,
при или над 50,
преброяваме 1, 2, 3, 4 ръкопляскания.
За да построим
нещо подобно,
трябва да разберем
как работи блокът за променливите
и блокът за константите.
Мисли за блока за променливите като за кутия,
която може да съдържа една стойност
и ти позволява
да прочетеш тази стойност.
Той съдържа някаква стойност.
Мисли за него като за
много основна памет.
Може да запомни
едно нещо.
Другото нещо, което трябва
да разберем,
е блока за
константите.
 

Korean: 
 
많은 프로그램의 기본 단위인
계수기를 만드는 법을
보여드리겠습니다
로봇이 박수의 횟수를
세도록 하고 싶다고 가정합시다
예를 들어서 소리 센서가
50 이상의 소리를 감지하면
수를 하나 둘 셋 넷 셉니다
이런 것을 만들기 위해서는
변수 블록과
상수 블록의 원리를 알아야 합니다
변수 블록은 특정 값을 담고 
읽을 수도 있는
상자라고 생각할 수 있습니다
값을 담는 공간인 셈입니다
단 한가지만 기억할 수 있는
아주 기초적인 메모리라고 
생각해도 좋습니다
이해하고 있어야 할 또다른 것은
바로 상수 블록입니다
바로 상수 블록입니다

English: 
Here, I'm going to
show you how to build
a simple counter, which is a
very important fundamental unit
of many programs.
Let's say we wanted the
ability for our robot
to count the number
of claps which occur.
So we had a sound
sensor, and any time it
detected a sound level
let's say at or above 50,
we count one, two, three,
four claps occurred.
So to build something
like this, we
need to understand how
the variable block works
first and also the
constant block.
The variable block, think of it
as a box which can hold a value
and also allow you
to read that value.
It's a little placeholder.
Think of it as a
very basic memory.
It can remember one thing.
The other thing we
need to understand
is the constant block.

Bulgarian: 
Разликите между
блока за константите
и блока за променливите
е,
че не можеш да записваш
в блока за константите.
Можеш само
да разчиташ от него.
Може да съхранява стойност като,
да кажем, числото 1
и във всеки момент можеш
да прочетеш това число 1.
И можеш да се чудиш
каква е целта на този блок?
След малко ще видиш.
Също ще ни трябва
математическия блок
и той е "сърцето" на действието броене.
Помни, математическият блок има
две входящи стойности, А и В,
и ни позволява да направим нещо
с А и В.
В този случай ще искаме
да съберем А и В.
И това ни дава общия резултат.
Нека помислим за малко,
преди да свържа това.
Когато броиш... да кажем,
че увеличаваме х.
Всеки път, когато увеличим х,
всъщност извършваме това действие.
Казваме, че х е равно на
колкото е било х преди плюс 1.
Ако х в началото е 0 –
да кажем, че е 0.

English: 
The difference between
the constant block
and the variable
block is you can't
write to the constant block.
All you can do is read from it.
So it can store a value,
such as say the number 1,
and at any time you
can read this number 1.
And you may wonder, what's
the point of this block?
And you'll see in a moment.
Now, we also need
the math block,
and that's the heart of
the counting operation.
Remember, the math block
has two inputs, A and B,
and then it allows us to
do something with A and B.
And in this case, we would
want to add A and B together.
And it's the total result.
So let's just think for a moment
before I wire this together.
When you count, let's say
we are incrementing x.
Every time we increment
x, we are actually
doing this operation.
We are saying x equals
whatever x was before plus 1.
So if x is 0 at the beginning,
which let's say it is 0.

Korean: 
상수 블록이 변수 블록과 다른 점은
상수 블록에는 값을
쓸 수 없다는 점입니다
단지 읽기만 가능합니다
어떤 값 예를 들어 1을
저장할 수 있습니다
이 값을 아무 때나 읽을 수 있습니다
이 블록의 의미는 무엇이냐는 의문을
가질 수 있는데
이는 곧 알게 될 것입니다
또한 수학 블록이 필요합니다
이것이 계수기의 핵심입니다
수학 블록은 A와 B 두 개의
입력을 갖는데
그 두 값으로 무언가를 하게 해줍니다
지금은 두 값을 더하고자 합니다
그 값이 출력입니다
이 모든 것을 합치기 전에 조금
생각을 해보아야 합니다
수를 셀 때 x를 
증가시킨다고 합시다
x를 증가시킬 때 우리는 사실
이런 작업을 합니다
x의 값은 x의 기존 값에 1을 더한 것과 
같다고 하는 것입니다
만약 처음에 x가 0이었다면

Bulgarian: 
В началото записваме, че променливата х
е 0.
Отговорът на х + 0х + 1,
ако х е 0, е 1.
И ако х беше 1, отговорът
щеше да е 2 и т.н.
Например това малко действие –
да го построим
като използваме блокове.
Ще въведем тази константа 1
в математическия си блок
и после ще въведем
променливата х във В.
Сега този математически блок
всеки път извършва х + 1,
но х ще се променя.
И свързваме изходящата стойност
обратно в х.
Но просто ще начертая х тук,
понеже можеш да изведеш променливата си
в различни места
в програмата си
и е важно да осъзнаеш това.
Въвеждаме какъвто е резултатът
в х
и, да кажем, че това вътре е контур,
така че се провежда отново.
Да преминем веднъж
през това.

Korean: 
변수 x에 0을 대입했습니다
x가 0이라면 x 더하기 1의
값은 1입니다
만약 x가 1이었다면 답은 2이고
계속 반복됩니다
블록들을 이용해
이 작업을 해보겠습니다
상수 1을 수학 블록의 A에
변수 x를 B에 대입합니다
이 수학 블록은 매번 x+1을 시행하고
x는 매번 변화합니다
블록의 출력을 다시 입력에 넣는 거죠
프로그램의 여러 부분에서 변수를
참조할 수 있기 때문에 
x를 여기에 쓰겠습니다
이건 굉장히 중요합니다
출력을 x에 대입하고
반복문이 있어 다시 실행된다고 합시다
다시 한번 되짚어보겠습니다

English: 
The variable x, we wrote
0 to it at the beginning.
The answer to x plus 0x
plus 1, if x is zero is 1.
And if x was 1, the answer
would be 2 and so on.
So for example, this
little operation
let's build it using blocks.
We would plug this constant
1 into our math block
and then plug the
variable x into B.
So now this math block is
doing x plus 1 every time,
but x is going to be changing.
And the output we
wire back into x.
But I'm just going to draw x
here, because you can call up
your variable in different
places in your program,
and that's the powerful
thing to realize.
We plug whatever the
result is into x,
and let's say this is inside
a loop so it runs again.
Let's just walk through it once.

Bulgarian: 
Първо 0 е въведена в математическия блок
под входяща стойност В,
а 1 се въвежда под А.
Програмата изчислява 0 + 1
и въвежда 1 в х.
После програмата отново се изпълнява,
този път предоставеното х ще е 1,
понеже, помни, това е
малка памет.
Математическият блок
ще си си каже: "О, получих 1
и винаги имам 1 от порт А,
и това ще ми даде 2."
И ще запишем 2 за х.
Следващият път, когато се изпълни,
х ще е 2
и 1 няма да се промени –
мисля, че виждаш модела тук –
и записваме 3 за х.
И това изглежда сложен
или объркан начин за събиране,
но така се прави.
Да кажем, че в нашия
прост пример
имахме израз за превключване
тук.
И няма да създавам
напълно работеща програма,
само подмножество от нея.
И, да кажем, че това е сензор за звук.
Това е построено така,
че всеки път когато сензорът
засече звук над 50,
искам да преброя това.
Нека просто вземем блоковете,
които ни трябват.
Всички са в менюто
за данни.

English: 
At first, 0 is fed into
the math block under B
and 1 is fed under A.
So it does 0 plus 1,
and then it spits out 1 into x.
Then when it runs again,
this time the x provided
will be 1, because remember
it's a little memory.
So the math block
would say, oh, I got 1
and I always have 1 under part
A, and that will give me 2.
And we write 2 to x.
Next time it executes,
x will be 1 and 1
won't change-- I think you see
the pattern here hopefully--
and we write 3 to x.
And this seems like a
complicated or convoluted way
to add, but this is
the way it's done.
So in our simple
example, let's say
we had a switch statement here.
And I'm not going to build
a full working program, just
a subset of it, and
this was a sound sensor.
And we had it setup, so
any time the sound sensor's
greater than 50 I want to count.
So let's just grab
our blocks you need.
It's all under the data section.

Korean: 
처음에 수학 블록의 B 입력에
0이 입력되고
A에는 1이 입력됩니다
0+1을 계산해 x에 1을 대입합니다
다시 실행되면 x는 1이 됩니다
x는 변수이기 때문이죠
수학 블록은 1을 입력받고
A에는 항상 1이 있기 때문에
2를 출력합니다
따라서 x에 2를 대입합니다
다음번에는 x는 2가 되고
1은 상수여서 결과적으로
x에 3을 대입하게 됩니다
이 규칙을 이해하시길 바랍니다
수를 세는 데 너무 복잡하고 난해한
방법을 쓰는 것 같지만
이것이 실제로 사용되는 방법입니다
간단한 예시를 들겠습니다
완벽한 프로그램이 아닌 부분적인
프로그램만 만들겠습니다
여기 스위치 블록을 놓고
블록의 조건 부분에 
소리 센서를 놓겠습니다
소리 센서가 50 이상의 
소리를 감지하면
수를 세도록 세팅하겠습니다
필요한 블록들을 준비하겠습니다
모두 데이터 섹션에 있습니다

Bulgarian: 
Блокът за константите е куфар
с ключалка,
а тази ключалка е там,
за да ти припомни,
че в този куфар
не можеш да пишеш.
Можеш просто да му дадеш стойност
и той винаги ще има тази стойност.
Блокът за променливите
е куфарът без ключалка
и е нашата малка памет.
Може да съдържа стойност,
можем да запишем стойност в него
или да разчитаме от него.
Да вземем математическия
си блок.
Помни, трябва да съберем
тези две неща.
Нека подредя това.
И в края на математическия блок
ще въведем стойността обратно
за променливата си.
Най-важната стъпка тук
е да помниш как
да създадеш променлива.
И за да направиш това, първо идваш тук горе
до Edit (редактирай)
и отиваш до Define variables (Дефинирай променливи).
Да кажем, че искаме
да създадем променлива.
Ще натисна Create (Създай).
И ще я наименувам.
Ще я нарека counter (брояч).
И видът на информацията
е важен.
Тук е поставено на logic (логика),
но искаме да съдържа число.

English: 
The constant block is the
suitcase with a lock on it,
and that lock there
is to remind you,
you can't write
to this suitcase.
You can just give it a value
and it always has that value.
The variable block
is the suitcase
without the lock on it, and
this is our little memory.
It can hold a value, we
can write a value to it,
or read from it.
And let's grab our math block.
Remember we need to add
these two things together.
Let me align this.
And at the end of
the math block,
we're going to put the value
back into our variable.
Now, the most
important step here
is to remember how
to create a variable.
And to do so, first you go up
here to the top under Edit,
and you go to define variables.
So let's say we want
to build a variable.
I'm going to click on Create.
I'm going to give it a name.
I'm going to call it "count."
And the data type is important.
It's set to logic here, but
we want it to hold a number.

Korean: 
상수 블록은 자물쇠가 걸린
여행 가방입니다
자물쇠는 블록에 아무것도
쓸 수 없다는 것을 뜻합니다
처음에 값을 정해주고 그것을
항상 유지합니다
변수 블록은 자물쇠가 없는 가방입니다
이건 메모리의 역할을 합니다
값 하나를 담고 있으며
값을 읽거나 쓸 수 있습니다
수학 블록도 챙기겠습니다
이제 이 블록들을
연결해야 합니다
수학 블록의 끝에 변수 블록을 두어
출력값을 변수에 대입합니다
여기서 중요한 점은
변수를 만드는 법을 기억하는 것입니다
변수를 만들기 위해서는 편집 메뉴에서
변수 정의로 들어가야 합니다
변수를 하나 만들겠습니다
생성을 클릭합니다
계수라는 이름을
붙이겠습니다
데이터의 종류도 중요합니다
기본적으로 논리로 설정되어있지만
숫자를 저장하도록 만들고 싶습니다

Korean: 
문자열이나 참 혹은 거짓을
담을 수도 있지만
여기서는 숫자를 담도록 하겠습니다
이제 됐습니다
이제 변수를 설정했지만
아직 블록을 설정하지는 않았습니다
첫 번째 블록인 상수 블록을 클릭합니다
아직 데이터의 종류가 논리로
설정되어 있기 때문에
숫자로 바꾸겠습니다
기본값은 0입니다
상수 블록의 값을 1로 설정해야
한다는 것을 기억하실 것입니다
이제 이 블록은 언제든지
값 1을 제공할 것입니다
변수 블록은 클릭할 경우
아까 생성한 변수가 보이도록
설정되어 있습니다
여기 목록에 보입니다
변수의 종류가 숫자임을 볼 수 있습니다
좋습니다
작업을 실행할때마다
변수를 읽거나 쓸 수 있습니다
여기서는 읽는 작업을 합니다
따라서 읽기로 작업을 설정하겠습니다
수학 블록은 덧셈으로 설정되어있습니다
좋습니다
이제 첫번째 단계를 하겠습니다

English: 
It could hold text, it
could hold a true or false,
but in this case I
want to hold a number.
OK
So now, I just have
that variable set up,
but I still haven't configured
any of these blocks.
So let's click on the first
one, which is our constant.
It's still set up, the
data type is logic,
so I'm going to
switch it to a number.
And by default, it's
holding a value 0.
And remember, we want to give
our constant block the number
1.
So now this block will always
just provide the number 1
whenever you need it.
Now, the variable
block is setup such
that first you
click on it, and now
that variable we
just created, you'll
see it down here in the list.
I see counter type, number.
Great.
And now every time
I have an action,
I can either read
or write to it.
So remember, here
we're reading from it,
so I'm going to
select it to read.
And the math block
is set to addition.
Good.
So let's do the first step.

Bulgarian: 
Може да съдържа текст,
може да съдържа "вярно или грешно",
но в този случай искам
да съдържа число.
Добре.
Сега променливата
е поставена,
но още не съм конфигурирал
никой от тези блокове.
Нека натиснем на първия –
той е за константите.
Видът данни е "логика",
така че ще променя
на number (число).
И по подразбиране съдържа
стойността 0.
И, помни, искаме да дадем на
блока за константите
числото 1.
Сега този блок винаги
ще предостави числото 1,
когато ти потрябва.
Блокът за променливите
е поставен така,
че първо кликваш на него
и сега ще видиш променливата,
която създадохме, тук в списъка.
Виждам Counter, type: number
(Брояч, вид: число)
Чудесно.
Всеки път, когато
имам действие,
мога или да разчета стойността му
или да запиша нещо тук.
Помни, тук разчитаме от блока,
така че ще избера read (разчитане).
И математическият блок е поставен
на addition (събиране).
Добре.
Да направим първата стъпка.

Korean: 
상수를 A 또는 B에 대입하겠습니다
둘 중 어느 것인지는 중요하지 않습니다
둘 다 단순히 입력일 뿐입니다
이제 A와 B가 수학 블록에 입력되고
출력은 여기 있습니다
이 #이 결과를 나타냅니다
변수에 이걸 대입하겠습니다
먼저 변수 블록을 클릭합니다
여기서 혼동하기 쉬운
중요한 부분은 이 블록 역시
계수 변수를 담을 수 있다는 것입니다
변수가 여기에도 있고 저기에도 있고
나중에 필요하다면
저 멀리에 둘 수도 있습니다
이는 변수가 블록 하나가 아니라
언제든지 호출할 수 있는
메모리상의 공간이기 때문입니다
여기에 있어도 상관이 없습니다
조금 헷갈릴 수 있지만
이해할 수 있을 것입니다
이제 프로그램의 마지막에서
변수 블록에 값을 쓰고자 합니다
그 이유는 출력값을 다시
입력으로 넣기 때문입니다

English: 
Let's wire the
constant into A or B.
It doesn't matter if
they were in A or B.
They are both just inputs.
So now, we have a and b
going into our math block,
and the result is down here.
It's this little pound
sign-- it's called result--
and we want to put
it into our variable.
So first I'm going to click
on this variable block--
and this is also
the important step
that might confuse
you-- is I can assign
this to be our counter as well.
So our variable is here,
and it's also here,
and it could also be a
mile down in our program
when we need it later.
It's not one block, it
is one memory location
that you can call up by
bringing this block wherever
you need it.
I could have the
value down here.
So I know that's a
little subtle step there,
but you'll get
comfortable with that.
And so now this
variable block counter,
we want to write
to it at the end.
Because you remember,
we take the value
and we put it back
into our variable.

Bulgarian: 
Да свържем константата
в А или В.
Няма значение дали е
към А или В.
И двете са просто
входящи стойности.
Сега А и В ще влизат
в математическия блок
и резултатът е тук долу.
Той е този малък знак за паунд –
нарича се резултат –
и искаме да го въведем
в променливите.
Първо ще кликна на този
блок за променливата –
и това също е важна стъпка,
която може да те обърка –
мога да поставя това също
да е нашият брояч.
Променливата е тук
и също тук,
и може да е доста по-надолу
в програмата ни,
когато ни трябва
по-късно.
Не е един блок,
а едно място за запаметяване,
което можеш да "извикаш"
чрез поставяне на този блок,
където ти е необходим.
Стойността може да е
тук долу.
Знам, че това е малко
неясна стъпка,
но ще се запознаеш
добре с нея и ще ѝ свикнеш.
Искаме да пишем в този
брояч на блока за променливите накрая.
Понеже, помни,
взимаме стойността
и я поставяме обратно
в променливата.

English: 
And now when I
select it to write,
you'll see there's a little
port here now, an input port.
I can take the result
of the math block,
put it in this
counter, and there
is our counter's complete.
Every time the sound sensor
detects a sound level above 50,
it will execute this
little path here,
which will take 1,
the value in counter,
add them together, and
put it back in counter.
So if this ran 5
times, at the end
the counter variable would
be holding the value 5.
And let's say we were
somewhere else in our program.
This is the first
phase of our program.
Let's say our robot
is scanning the room
and counting every time
it sees a light or a clap.
I can use that value later, so
I could put the variable block
over here and select
counter number.
And now this counter
block will hold the count
after this is executed.
So that's a quick
introduction account,

Korean: 
쓰기를 선택하면
여기에 연결부가 생기는데
연결부에 수학 블록의
출력을 연결하면
계수기가 완성됩니다
소리 센서가 50보다 큰 소리를 감지하면
이 프로그램을 실행해서
1과 변수 안의 값을 더해
다시 변수에 집어넣습니다
그래서 만약 다섯 번 실행되었다면
계수 변수는 5라는 값을 가질 것입니다
이제 우리가 프로그램의 다른 부분을
사용하고 있다고 가정하겠습니다
이 부분이 프로그램의 첫 부분입니다
로봇이 방을 둘러보며
빛을 보거나 박수 소리를 
들으면 수를 셉니다
나중에 이 값을 사용하기 위해
여기에 변수 블록을 두고 계수
변수를 선택하면
이 블록은 계수기의 실행이 끝나도
계수 변수의 값을 가지고 있을 것입니다
변수와 상수 블록을

Bulgarian: 
И сега, когато избера
write (записване),
можеш да видиш, че тук има малък
входящ порт.
Мога да взема резултата
от математическия блок,
да го поставя в този брояч тук
и това е завършеният ни
брояч.
Всеки път, когато сензорът за звука засече
ниво на звука над 50,
той ще изпълни
тази малка "пътека" тук,
която ще вземе 1 и
стойността в брояча,
ще ги събере и ще постави
стойността обратно в брояча.
Ако това се проведе
5 пъти,
в края броячът на променливата
ще съдържа стойността 5.
И, да кажем, че сме в друга точка
от програмата си.
Това е първата фаза
от програмата ни.
Да кажем, че роботът
сканира стаята
и брои всеки път, когато види
светлина или ръкопляскане.
Мога да използвам тази стойност по-късно.
Мога да поставя блока за променливите тук
и да избера брояч, число.
И сега този блок за брояча
ще съдържа броя след изпълнение на това.
Това е бързо въведение

Korean: 
여러분에게 소개한
입문 영상이었습니다
이해되었길 바랍니다

Bulgarian: 
и те запознава с блоковете
за променливите и за константите.
Късмет с това!

English: 
and it kind of introduced
variables and constant blocks
to you.
So good luck with that.
