본문 바로가기
스크래치/스크래치 팁

스크래치 팁과 기초 6. 조건문과 반복문 이해하기

by 할거없네 2018. 2. 9.

개인적으로는 프로그래밍에서 가장 중요한 부분이 조건문과 반복문인거 같습니다. 이 것들을 가장 잘 이해해서 사용하는 사람들이 고수이지 않을까 합니다. 알고리즘을 짜고 어떻게 만들어야 할지 그 뼈대를 만드는 실력이 조건문과 반복문을 어떻게 이해하고 구성하느냐에 달려있는 것 같습니다. 따라서 조건문과 반복문을 잘 사용할 수 있도록 연습을 하는 것도 좋습니다.


1. 조건문

▲조건과 조건문


조건문은 '만약 ~이라면'의 조건을 만족할 경우에만 동작하는 구문이 됩니다. 해당 조건이 만족하지 않을 때에는 '아니면'이 붙어있는 블록을 사용합니다. 해당 조건문은 연산탭에 있는 조건들(육각형)을 구성하여 조건 블록 안에 넣어 완성시켜줍니다.



조건문의 사용 예, 만약 개가 고양이라면 '야옹'할 것이고, 아니라면 '멍멍'한다.


1) 조건 만들기

조건블록을 통해서 다양한 조건을 만들 수 있습니다.

▲조건의 기본적인 블록들, 원하는 조건은 조합하여 사용한다.


2) 이상과 이하 ('또는' 조건의 사용)

블록의 '<', '>' 는 미만과 초과이므로 같을 경우의 조건은 포함되지 않습니다.따라서 이상 또는 이하를 만들어 주기위해서는 '또는'의 조건을 추가하여  조건을 추가합니다.

▲변수가 0 이상일 경우 ('또는'블록을 사용하여 2조건중 하나를 만족하도록 만든다)


3) 특정 범위의 값에 해당될 경우'(그리고' 조건의 사용)

여러가지 조건을 동시에 만족하는 블록으로 '그리고'를 사용하여 동시에 여러 조건이 만족하는 조건으로 만들어 줄 수 있습니다

▲변수가 0 보다 크고 1보다 작을 경우 ('그리고'블록을 사용하여 2개 조건을 동시에 만족하도록 만든다)


4) 여러 조건을 동시에 만족하는 조건문 만들기(조건문 안의 조건문)

조건이 복잡하고 다양해지면 어떤 조건이 있는지 파악하기 힘들어 질 수 있습니다. 만약에 '그리고'가 많이 사용하게 된다면 조건문 안에 조건문을 넣어서 만들어도 같은 결과로 만들 수 있습니다.

▲첫번째 조건문과 두번째 조건문은 같다


2. 반복문

반복문은 컴퓨터가 만들어 지게 된 목적 중 하나입니다. 복잡한 계산을 여러 번 반복계산하는 것이 일반 계산기와 다릅니다. 반복문도 역시 얼만큼 잘 쓰느냐에 따라서 프로그래밍 알고리즘을 다루는 실력이 좌우한다고 볼 수 있습니다. 반복문은 기본적으로 어떤 조건을 만족할 때까지 반복하는 것입니다. 이외의 반복문들은 이것을 응용해서 만든 것들입니다. 스크래치에서는 3가지의 반복문을 제공합니다.


▲스크래치의 반복문들, ~번 반복하기, 무한 반복하기, ~까지 반복하기(조건)이 있다



~까지 반복하기 블록 하나로 다른 반복문들을 구현이 가능하다


1) 반복문 안의 반복문

반복문 안에 반복을 시키면 반복의 횟수를 곱한만큼 반복하는 결과를 얻습니다. 이때 반복하기 안의 변수를 사용하여 규칙적인 계산을 만들어 낼 수 있습니다.

▲가장 안쪽의 블록은 10x5=50번 반복한다



반복문 관련 흔한 문제중 하나인 문자 피라미드 만들기


2) 무한 반복문

무한반복문은 항상 조건이 참인 반복문입니다. 무한 반복문은 기본적으로 '프로그램이 꺼질 때까지' 계속해서 반복 수행하기 때문에 프로그래밍에서는 메인 프로그램에서 기본적으로 한 개는 만들어 놓습니다.


▲프로그램이 시작하고부터 종료될때까지 반복되는 함수로 '메인 루프'라고도 한다



~까지 반복하기를 통해서 무한 반복을 만들 수 있다


3) 반복문 탈출하기

스크래치에서는 별도의 반복문을 탈출하는 기능인 브레이크(Break)가 없어서, 조건을 따로 만들어서 반복하는 것으로 스크립트를 짜야 합니다.


~까지 반복하기의 조건이 루프 탈출 조건이 된다


4) 반복문 유의사항

반복문을 사용할 때는 렉을 유발할 수 있습니다. 그 중에 심각하게 렉을 유발하는 사항이 몇 개 있습니다.

1) 화면 새로고침 없이 실행하기를 무한 반복 수행 금지

2) 화면 새로고침 없이 실행하기 안에 무한 반복 블록 존재 금지


댓글