개인적으로는 프로그래밍에서 가장 중요한 부분이 조건문과 반복문인거 같습니다. 이 것들을 가장 잘 이해해서 사용하는 사람들이 고수이지 않을까 합니다. 알고리즘을 짜고 어떻게 만들어야 할지 그 뼈대를 만드는 실력이 조건문과 반복문을 어떻게 이해하고 구성하느냐에 달려있는 것 같습니다. 따라서 조건문과 반복문을 잘 사용할 수 있도록 연습을 하는 것도 좋습니다.
1. 조건문
▲조건과 조건문
조건문은 '만약 ~이라면'의 조건을 만족할 경우에만 동작하는 구문이 됩니다. 해당 조건이 만족하지 않을 때에는 '아니면'이 붙어있는 블록을 사용합니다. 해당 조건문은 연산탭에 있는 조건들(육각형)을 구성하여 조건 블록 안에 넣어 완성시켜줍니다.
▲조건문의 사용 예, 만약 개가 고양이라면 '야옹'할 것이고, 아니라면 '멍멍'한다.
1) 조건 만들기
조건블록을 통해서 다양한 조건을 만들 수 있습니다.
▲조건의 기본적인 블록들, 원하는 조건은 조합하여 사용한다.
2) 이상과 이하 ('또는' 조건의 사용)
블록의 '<', '>' 는 미만과 초과이므로 같을 경우의 조건은 포함되지 않습니다.따라서 이상 또는 이하를 만들어 주기위해서는 '또는'의 조건을 추가하여 조건을 추가합니다.
▲변수가 0 이상일 경우 ('또는'블록을 사용하여 2개 조건중 하나를 만족하도록 만든다)
3) 특정 범위의 값에 해당될 경우'(그리고' 조건의 사용)
여러가지 조건을 동시에 만족하는 블록으로 '그리고'를 사용하여 동시에 여러 조건이 만족하는 조건으로 만들어 줄 수 있습니다.
▲변수가 0 보다 크고 1보다 작을 경우 ('그리고'블록을 사용하여 2개 조건을 동시에 만족하도록 만든다)
4) 여러 조건을 동시에 만족하는 조건문 만들기(조건문 안의 조건문)
조건이 복잡하고 다양해지면 어떤 조건이 있는지 파악하기 힘들어 질 수 있습니다. 만약에 '그리고'가 많이 사용하게 된다면 조건문 안에 조건문을 넣어서 만들어도 같은 결과로 만들 수 있습니다.
▲첫번째 조건문과 두번째 조건문은 같다
2. 반복문
반복문은 컴퓨터가 만들어 지게 된 목적 중 하나입니다. 복잡한 계산을 여러 번 반복계산하는 것이 일반 계산기와 다릅니다. 반복문도 역시 얼만큼 잘 쓰느냐에 따라서 프로그래밍 알고리즘을 다루는 실력이 좌우한다고 볼 수 있습니다. 반복문은 기본적으로 어떤 조건을 만족할 때까지 반복하는 것입니다. 이외의 반복문들은 이것을 응용해서 만든 것들입니다. 스크래치에서는 3가지의 반복문을 제공합니다.
▲스크래치의 반복문들, ~번 반복하기, 무한 반복하기, ~까지 반복하기(조건)이 있다
▲~까지 반복하기 블록 하나로 다른 반복문들을 구현이 가능하다
1) 반복문 안의 반복문
반복문 안에 반복을 시키면 반복의 횟수를 곱한만큼 반복하는 결과를 얻습니다. 이때 반복하기 안의 변수를 사용하여 규칙적인 계산을 만들어 낼 수 있습니다.
▲가장 안쪽의 블록은 10x5=50번 반복한다
▲반복문 관련 흔한 문제중 하나인 문자 피라미드 만들기
2) 무한 반복문
무한반복문은 항상 조건이 참인 반복문입니다. 무한 반복문은 기본적으로 '프로그램이 꺼질 때까지' 계속해서 반복 수행하기 때문에 프로그래밍에서는 메인 프로그램에서 기본적으로 한 개는 만들어 놓습니다.
▲프로그램이 시작하고부터 종료될때까지 반복되는 함수로 '메인 루프'라고도 한다
▲~까지 반복하기를 통해서 무한 반복을 만들 수 있다
3) 반복문 탈출하기
스크래치에서는 별도의 반복문을 탈출하는 기능인 브레이크(Break)가 없어서, 조건을 따로 만들어서 반복하는 것으로 스크립트를 짜야 합니다.
▲~까지 반복하기의 조건이 루프 탈출 조건이 된다
4) 반복문 유의사항
반복문을 사용할 때는 렉을 유발할 수 있습니다. 그 중에 심각하게 렉을 유발하는 사항이 몇 개 있습니다.
1) 화면 새로고침 없이 실행하기를 무한 반복 수행 금지
2) 화면 새로고침 없이 실행하기 안에 무한 반복 블록 존재 금지
'스크래치 > 스크래치 팁' 카테고리의 다른 글
스크래치 레이어 순서 알아내기 (0) | 2021.02.17 |
---|---|
2. 행렬에서 소수만 남기기 (0) | 2018.06.12 |
스크래치 팁과 기초 7. 연산블록 추가로 이해하기 (1) | 2018.02.19 |
스크래치 팁과 기초 5. 연산블록 이해하기 (0) | 2018.01.26 |
스크래치 팁과 기초 4. 묻고 대답하기 (0) | 2018.01.20 |
스크래치 팁과 기초 3. 말하기 (0) | 2018.01.16 |
스크래치 팁과 기초 2. 변수의 사용법 (1) | 2018.01.15 |
스크래치 팁과 기초 1. 변수 개념 (0) | 2018.01.10 |
댓글