Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

04.

절차의 흐름 (제어문)
오늘은..

목표. 문제 해결을 위한 절차의 다양한 구조와 흐름을 순서도로 표현한다.

1 작업 중 절차의 구조와 흐름을 이해한다.

2 절차를 제어할 수 있는 조건문의 활용을 이해한다.

3 문제의 발견과 분해 과정을 이해한다.


1
절차의 기본 구조
2

3
 구조(Structure) : 한 절차의 논리적 기본 단위
4

5  3가지 기본구조 : 이 3가지 구조를 이용하면 모든 논리를 표현 가능함


6 • 순서 (sequence)

• 선택 (selection)

• 반복 (loop)

 한 구조를 다른 구조의 입구 또는 출구의 터미널 기호에 연결 가능


 한 구조를 다른 구조의 내부에 중첩하는 것이 가능
1
절차의 기본 구조 – 순서 (sequence)
2

3
 순서 구조(Sequence Structure)
4
• 각 동작이 차례대로 수행
5
• 순서를 시작하면 첫 번째 동작부터 마지막 동작까지 차례대로 수행
6
1
절차의 기본 구조
2

3  선택 구조(Selection Structure)
4 • 판단 구조 (decision structure)
5
• 질문을 하고 질문의 답에 따라 둘 중 하나의 경로를 따라감
6
• 단일 대안 (single-alternative if) / 이중 대안 (dual-alternative if)
1
절차의 기본 구조
2

3
 반복 구조(Loop Structure)
4
• 판단 구조 (decision structure)
5
• 질문을 하고 답이 동작을 요구하면 동작 수행 후 다시 질문하는 구조
6
• 답이 동작을 요구하지 않으면 루프에서 빠져 나옴
1
구조적인 순서도와 의사 코드(pseudo code)
2

pseudo code (의사 코드)


1
과제 01 등굣길 절차의 순서도
2

6
1 정보의 입출력과 처리 절차 작성해 보기
2
◉ 앵무새 인형 프로그램
3
 입력받은 문자를 그대로 말하는
4 시작
인형의 동작을 절차로 만들어 보자.
5
 사용자가
사용자가 입력한
6 문자를 기억한다.

기억해 둔 문자
를 말한다.

종료
1 정보의 입출력과 처리 절차 작성해 보기
2
◉ 앵무새 인형 프로그램 시작
3
 입력받은 문자를 그대로 말하는
4
인형의 동작을 절차로 만들어 보자.
사용자가 입력한
5 문자를 기억한다.

6
 사용자가 stop이라고 입력할 때까지
위의 동작을 계속 반복한다. 입력문자가
true Stop 인가?

false

기억해 둔 문자
를 말한다.

종료
1 문제의 이해와 분석
2

3
‘문제 (Problem)’ ??
4

6
불편해~~
좀 다르게 해보면 안될까?
세상에 없던 이런 것~?!?!
1 문제의 이해와 분석
2

3 문제 해결을 위한 핵심 절차
4

5 ❶ 편의점 직원은 가판대 품목을 분류한다.


예) 잡화, 과자류, 컵라면류, 음료, 냉장식품류, 냉동식품류로 분류한다.
6
❷ 배송 시간에 맞추어 편의점 직원이 각 품목의 분류표를 가게 앞에 거치한다.

❸ 배송 기사는 가게 앞 분류표에 앞에 맞추어 물건을 내려놓는다.

❹ 편의점 직원은 분류표 별로 주문 내역과 일치하는지 배송 기사와 확인한다.


※ 주문 내역과 배송품이 일치하지 않는 경우에 대한 처리를 보완해야 한다.

❺ 편의점 직원은 품목별로 해당 가판대에 물건을 비치한다.


※ 남은 물건은 재고품 비치 공간으로 옮겨 둔다.
1 문제의 분해
2

3 문제의 관찰
4
우진은 서둘러 아르바이트를 마무리하는 중이다. 해외 파견 갔던 삼촌이 3년 만에 귀국하는 날이라 가족이 함께
5
저녁 식사를 하기로 했다. 우진은 유난히 친했던 삼촌으로부터 해외 근무 경험이나 현지 적응기 등 그간의 얘기
6 를 들을 생각에 마음이 바쁘기만 하다. 그때 누나로부터 전화가 왔다.

누나: 우진아, 너 아직 출발 전이지? 올 때 마트 들러 심부름 좀 해주라.


우진: 그래? 뭐... (스마트폰 너머 엄마의 소리가 겹치며 뭔가 불길한 예감)
누나: 오다가 중앙마트에 들러서 딸기랑 바나나 사와. 오는 길에 할머니 댁에 들러서 할머니 모시고 와야
해! 그리고 카우빵집에 가서 내가 예약해 둔 케이크 찾아와. 아, 맞다! 카우빵집 간 김에 단팥빵 10개 사서
할머니 댁에 5개 두고 5개는 집에 가져와. 잠깐! 엄마가 샐러드 소스가 떨어졌다고 중앙마트에서 참깨 소
스도 사오라 하시네.
우진: 으응...

두서없이 쏟아지는 누나의 주문에 머릿속이 복잡해진 우진은 잠시 멈춰 서서 한숨을 쉰다.


1 문제의 분해
2

3 문제의 관찰 – 우진의 할 일을 구분하고 순서를 정해 보자


4
오다가 중앙마트에 들러서 딸기랑 바나나 사와. 오는 길에 할머니 댁에 들러서 할머니 모시고 와야 해! 그리고 카
5
우빵집에 가서 내가 예약해 둔 케이크 찾아와. 아, 맞다! 카우빵집 간 김에 단팥빵 10개 사서 할머니 댁에 5개 두
6 고 5개는 집에 가져와. 잠깐! 엄마가 샐러드 소스가 떨어졌다고 중앙마트에서 참깨 소스도 사오라 하시네.


1 문제의 분해
2

3 문제의 분석과 분해
4 우진의 할 일을 수행할 공간을 기준으로 큼직하게 나누고, 그 장소에서 할 일들을 모아 보자.

6 ❶ 중앙마트에서 할 일

우진의
❷ 할머니 댁에서 할 일
심부름

❸ 카우빵집에서 할 일
1 문제의 분해
2

3 문제의 분석과 분해
4 우진의 할 일을 수행할 공간을 기준으로 큼직하게 나누고, 그 장소에서 할 일들을 모아 보자.

5
중앙마트에 들러서 딸기랑 바나나 사와
6 ❶ 중앙마트에서 할 일
중앙마트에서 참깨 소스도 사오라 하시네.

우진의 할머니 댁에 들러서 할머니 모시고 와야 해!


❷ 할머니 댁에서 할 일
심부름 할머니 댁에 (단팥빵) 5개 두고

그리고 카우빵집에 가서 예약해 둔 케이크 찾아와.


❸ 카우빵집에서 할 일
카우빵집에 간 김에 단팥빵 10개 사서
1 문제의 분해
2

3 문제 해결을 위한 절차 수립
4 모든 일은 생각대로 풀리지 않을 수 있다.
우리가 정리한 대로 우진이 작업을 수행하는 동안 발생할 수 있는 예외 상황은 무엇이 있을까?
5

6 중앙마트에 들러서 딸기랑 바나나 사와.


≫ 만약 딸기나 바나나가 없으면 오렌지를 산다.
❶ 중앙마트에서 할 일 중앙마트에서 참깨 소스도 사 오라 하시네.

그리고 카우빵집에 가서 예약해 둔 케익 찾아와.


우진의
❷ 카우빵집에서 할 일 카우빵집에 간 김에 단팥빵 10개 사서
심부름

할머니 댁에 들러서 할머니 모시고 와야 해!

❸ 할머니 댁에서 할 일
할머니 댁에 (단팥빵) 5개 두고
1 문제의 분해
2

3 문제 해결을 위한 절차 수립
4 모든 일은 생각대로 풀리지 않을 수 있다.
우리가 정리한 대로 우진이 작업을 수행하는 동안 발생할 수 있는 예외 상황은 무엇이 있을까?
5

6 중앙마트에 들러서 딸기랑 바나나 사와.


≫ 만약 딸기나 바나나가 없으면 오렌지를 산다.
❶ 중앙마트에서 할 일 중앙마트에서 참깨 소스도 사 오라 하시네.
≫ 만약 참깨 소스가 없으면 사지 않는다. (오렌지 드레싱을 산다)

그리고 카우빵집에 가서 예약해 둔 케익 찾아와.


우진의 ≫ 만약 케이크가 없으면 환불받거나 다른 케익을 받는다.
❷ 카우빵집에서 할 일 카우빵집에 간 김에 단팥빵 10개 사서
심부름
≫ 만약 단팥빵이 없거나 돈이 부족하면 사지 않는다.

할머니 댁에 들러서 할머니 모시고 와야 해!


≫ 만약 할머니가 안 계시면 집으로 간다.
❸ 할머니 댁에서 할 일 할머니 댁에 (단팥빵) 5개 두고
≫ 만약 단팥빵을 사지 않았다면 하지 않는다.
1 문제의 분해
2

3
문제 해결을 위한 절차 수립
4

5
해결해야 할 문제를 잘 관찰하고 해석한다.
6
문제를 해결하기 위해 필요한 정보와 핵심 문제들을 추출한다.

문제를 해결하기 위해 수행해야 할 작업들을 공간과 시간 순서로 나열해 본다. (절차를 잡는다)

모든 일은 생각대로 풀리지 않을 수 있다. 예외 상황이 발생할 수 있는지 살펴보고 보강해 준다.


1
실습 – 369 게임
2
◉ 게임에 참여하는 사람들이 3, 6, 9 게임의 규칙에 맞게 1부터 99까지 숫자 혹은 구호를 말하는 동안,
3
컴퓨터가 오류가 있는지 판단하고 심판을 보는 절차를 순서도로 표현해 보자.
4
 게임 참가자들은 미리 말할 순서를 정하고 1부터 차례로 숫자를 말한다.
5
 숫자에 자릿수에 상관없이 3, 6, 9이 포함될 경우, 포함된 3, 6, 9의 개수만큼 ‘박수’를 말한다.
6
예) 3, 23, 46, 19의 순서에는 ‘박수’를 말한다.
예) 30, 35, 39 – ‘박수’, 33, 36, 69, 93 – ‘박수박수’

 컴퓨터는 게임 참여자가 차례로 말해야 할 숫자 혹은 구호를 미리 예상하였다가


참여자가 틀린 답을 말한 경우 '틀렸습니다. __를 말해야 합니다’라고 출력한다.

 모든 참여자가 1부터 99까지 성공적으로 숫자 혹은 구호를 말했다면


‘성공했습니다’라고 출력한다.
1
실습 – 369 게임
2
◉ 게임에 참여하는 사람들이 3, 6, 9 게임의 규칙에 맞게 1부터 99까지 숫자 혹은 구호를 말하는 동안,
3
컴퓨터가 오류가 있는지 판단하고 심판을 보는 절차를 순서도로 표현해 보자.
4
지금부터 369 게임을 시작합니다. 지금부터 369 게임을 시작합니다.
5 1 1
2 2
6
박수 박수
4 4
5 5
박수 6
7 틀렸습니다. ‘박수’를 말해야 합니다.

박수 (98)
박수박수(99)

성공했습니다.

※ 검은색은 컴퓨터의 출력, 파란색은 게임 참여자의 입력


1
실습 – 369 게임
2

출처: 나무위키 https://namu.wiki/w/369

You might also like