Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Small Basic Season2

No description
by

재홍 이

on 5 January 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Small Basic Season2

Small Basic
엇!
!
새로운
놈이 나타
났다!
!

무작위 수
Season

2

If .... Then ... Else ... Endif
If Then Endif
을 사용하여
하루의 시간에 따라
컴퓨터가 오후 12시 이전에는
Good Morning~!
12시 이후에는
Good Evening~!
이라고 출력하도록 만들어보세요.
If (Clock.Hour < 12) Then

TextWindow.WriteLine("Good Morning World")

EndIf

If (Clock.Hour >= 12) Then

TextWindow.WriteLine("Good Evening World")

EndIf

If
다음에는 항상 조건이 따라 온다
그 조건은 ? >>
(Clock.Hour < 12)


!! 컴퓨터가 사용자를 의도를 파악하기 위해서는
반드시 괄호가 필요하다는 것을 기억하자!

Then
뒤에는 실제로 수행될 행동들이 따라 온다

모든 행동이 종료되고
EndIf
가 오고 이 것은
조건적인 수행이 종료되었음 말해준다
두번의 if..then..endif

꼭!!
필요하니? . . . .
Else
Else
을 사용하여
다시 프로그램을 작성한다면?
If (Clock.Hour < 12) Then

TextWindow.WriteLine("Good Morning")

Else

TextWindow.WriteLine("Good Evening")

EndIf
분기 Goto
프로그램 문장은 한번에 하나씩?
위에서 아래로?


난 특별한걸 원해
점프!!
Goto
Goto문을 사용하여 1~ 24까지 출력하기!
i = 1

start:

TextWindow.WriteLine(i)

i = i + 1

If (i < 25) Then

Goto start

EndIf
너무 길지 않니
?

줄이는 방법은 없을까
?
For ... EndFor

For i = 1 To 24

TextWindow.WriteLine(i)

EndFor

For ... Endfor
= 반복문

어떤 변수에 초기값만 지정을 하면

지정한 시점까지 변수를 증가시켜나감


변수를 증가시킬 때에는 반드시
For

Endfo
r 사이에 있는 문장을 실행해야함


그런데 변수가
1 대신 2 또는 3... 씩 증가하기 위해서는??
Step 2
i 의 값을 1대신 2씩 증가해 나감
For i = 1 To 24 Step 2

TextWindow.WriteLine(i)

EndFor

숫자를 거꾸로?

1 ~ 24 순의 나열이 아닌

24 ~ 1 순으로 나열은 어떻게??
For i = 24 To 1 Step -1

TextWindow.WriteLine(i)

EndFor
While ... EndWhile
While
문은 몇 번을 반복해야 할지 미리 알 수 없을 때 사용되는 반복문



For문
= 미리 정해진 숫자만큼 동작

While
문 = 미리 주어진
조건이 참이 될 때까지
동작
변수값
100


결과값이
1보다 클 때까지
이등분 하세요.
number = 100

While (number > 1)

TextWindow.WriteLine(number)

number = number / 2

EndWhile

number = 100

startLabel:

TextWindow.WriteLine(number)

number = number / 2

If (number > 1) Then

Goto startLabel

EndIf

Small Basic 에서
TextWindow 을 사용하여
텍스트나 숫자에 대한 작업을 할 수 있듯이


G
raphicsWindow
을 사용하여
그리는 작업을 할 수 있습니다.
GraphicsWindow
GraphicsWindow.Show()
그래픽 창 설정하기

제목, 배경색, 크기 등의 그래픽 창의 모양을
원하는 대로 바꿀 수 있습니다.

GraphicsWindow.BackgroundColor = "SteelBlue"

GraphicsWindow.Title = "그패픽 창 만들기"

GraphicsWindow.Width = 320

GraphicsWindow.Height = 200

GraphicsWindow.Show()

선 그리기


GraphicsWindow.Width = 200

GraphicsWindow.Height = 200

GraphicsWindow.
DrawLine(10, 10, 100, 100)

GraphicsWindow.
DrawLine(10, 100, 100, 10)



변경


GraphicsWindow.Width = 200

GraphicsWindow.Height = 200

GraphicsWindow.
PenColor = "Green"

GraphicsWindow.DrawLine(10, 10, 100, 100)

GraphicsWindow.
PenColor = "Gold"

GraphicsWindow.DrawLine(10, 100, 100, 10)


선 두께 변경


GraphicsWindow.Width = 200

GraphicsWindow.Height = 200

GraphicsWindow.
PenWidth = 10

GraphicsWindow.PenColor = "Green"

GraphicsWindow.DrawLine(10, 10, 100, 100)

GraphicsWindow.PenColor = "Gold"

GraphicsWindow.DrawLine(10, 100, 100, 10)

+
For ... EndFor
그래픽상자 배경색 :
"black"
그래픽사자 크기 :
200 x 160
선의 색 :
"Blure"
첫 라인의 시작 좌표 :
20, 15, 180, 15
GraphicsWindow.BackgroundColor = "Black"

GraphicsWindow.Width = 200

GraphicsWindow.Height = 160

GraphicsWindow.PenColor = "Blue"



For i = 1 To 10

GraphicsWindow.PenWidth = i

GraphicsWindow.DrawLine(20, i * 15, 180, i * 15)

endfor

모양과 채우기
모양

...
채우기
일반적인 두 가지 타입의 연산자
Draw

Fill


Draw 펜을 사용하여 모양을 만든다

Fill 브러시를 사용하여 모양을 칠한다.
GraphicsWindow.Width = 400
GraphicsWindow.Height = 300

GraphicsWindow.PenColor = "Red"
GraphicsWindow.DrawRectangle(20, 20, 300, 60)

GraphicsWindow.BrushColor = "Green"
GraphicsWindow.FillRectangle(60, 100, 300, 60)

GraphicsWindow.DrawRectangle(
20
,
20
,
300
,
60
)
X
,


Y
,

넓이
,

높이
** 타원을 그리거나 채울 때에도 같이 방법이 사용됨 **
타원 = DrawEllipse / FillEllipse
정원을 그려보세요 ^^
요런거

가지고
놀기
연속사각 모양
GraphicsWindow.BackgroundColor = "Black"

GraphicsWindow.PenColor = "LightBlue"

GraphicsWindow.Width = 200

GraphicsWindow.Height = 200


For i = 1 To 100 Step 5

GraphicsWindow.DrawRectangle(100 - i, 100 - i, i * 2, i * 2)

EndFor

동일한 방법으로

연속 원형을 만들어 보세요
"
GraphicsWindow.GetRandomColor
"연산을
이용하여 브러시의 색상을 무작위로 설정하고

"
Math.GetRandomNumber
"를 이용하여
원의 x와 y 좌표를 설정합니다.
??
GraphicsWindow.BackgroundColor = "Black"

For i = 1 To 1000

GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()

x = Math.GetRandomNumber(640)

y = Math.GetRandomNumber(480)

GraphicsWindow.FillEllipse(x, y, 10, 10)

EndFor

무작위 수를 이용하여 나타낸
프랙탈
GraphicsWindow.BackgroundColor = "Black"
x = 100
y = 100

For i = 1 To 100000
r = Math.GetRandomNumber(3)
ux = 150
uy = 30
If (r = 1) then
ux = 30
uy = 1000
EndIf

If (r = 2) Then
ux = 1000
uy = 1000
EndIf

x = (x + ux) / 2
y = (y + uy) / 2

GraphicsWindow.SetPixel(x, y, "LightGreen")
EndFor

* Program.Delay
연산을 이용하여 반속문 지연 가능
거북이
그래픽
로고...
1970년대 소수의 연구자들에 의해서 사용되던 프로그래밍 언어 '로고'

그 후 누군가 이 언어에 화면에 나타나서 전진, 우회전, 좌회전 등의 명령에 반응하는
"거북 (Turtle)"을 사용하는 "거북 그래픽 (Turtle Graphics)"을 기능을 추가했습니다.

이 시기 부터 거북이를 사용하여 재미있는 도형을 화면에 그릴 수 있게 면서
다양한 연령대의 사람들이 손쉽게 사용할 수 있게 되었고 1980년대에는 절정의 인기를 누렸습니다.
거북이
소환
Turtle.Show()
거북이 이동시키기
Turtle.Move(100)
선그리기
정사각형 그리기
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()

거북이 집으로
돌아가기!

Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.Move(100)
Turtle.TurnRight()
Turtle.MoveTo(50,50)
Turtle.MoveTo(20,70)

For i = 1 To 4

GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor()
Turtle.Move(100)
Turtle.TurnRight()
EndFor

거북이 색변경하며
정사각형 만들기
거북이 육각형
For i = 1 To 6
Turtle.Move(100)
Turtle.Turn(60)
EndFor

sides = 12
length = 400 / sides
angle = 360 / sides
For i = 1 To sides
Turtle.Move(length)
Turtle.Turn(angle)
EndFor

거북이 자동 각형 만들기
sides = 50
length = 400 / sides
angle = 360 / sides
Turtle.Speed = 9
For j = 1 To 20
For i = 1 To sides
Turtle.Move(length)
Turtle.Turn(angle)
EndFor
Turtle.Turn(18)
EndFor
거북이 신기한 몸짓
Full transcript