세션 일정 : 26년 3월 19일 (목)

Video Conferencing, Web Conferencing, Webinars, Screen Sharing

<aside>

Flowchart 기본기 복습

</aside>

<aside>

요구사항 읽기 & 정보 추출 연습

[시나리오] 카페 포인트 적립 시스템

<aside>

논리 구성 및 흐름 설계

<aside>

입력/출력 정리

1) 입력 :
- 주문한 커피 잔 수 (정수)
- 종료 신호: 0 입력 시 주문 종료

2) 출력 :
- 총 결제 금액 (totalAmount)
- 총 적립 포인트 (totalPoint)

3) 상태 (계속 들고 있어야 하는 값) :
- totalAmount : 지금까지 누적된 결제 금액
- totalPoint : 지금까지 누적된 적립 포인트

조건 정리

1) 종료 조건 (끝나는 시점):
- 사용자가 주문 수량을 0으로 입력한 경우

2) 분기 조건 (갈라지는 기준):
- 주문 수량이 0인가? (예 → 종료, 아니오 → 계속 주문)
- 주문 수량이 음수인가? (예 → 예외 처리)

3) 예외 / 에러 조건 (정상 범위):
- 주문 수량이 음수인 경우 "잘못된 입력입니다" 출력 후 다시 입력
- (선택)숫자가 아닌 입력일 경우 재입력 요청 처리

흐름 설계

1) 시작할 때 한 번만:
- totalAmount = 0
- totalPoint = 0

2) 반복:
    1. 주문할 커피 잔 수(정수)를 입력받는다.
    2. 입력값이 0인지 확인한다.
       - 예: 지금까지의 totalAmount와 totalPoint를 출력한 뒤 반복을 종료한다.
       - 아니오: 해당 수량 * 4000원을 결제 금액에 더한다.
    3. 포인트 적립 계산:
	     - 결제 금액의 5%를 totalPoint에 더한다.
	  4. 다시 주문 입력 단계로 돌아간다.

3) 종료할 때:
- totalAmount 출력
- totalPoint 출력
- 프로그램을 종료한다.

</aside>

Flowchart 구현

Live 실습

</aside>

<aside>

실전 패턴: 입력 검증 / 누적 계산 / 메뉴 선택

입력 검증 + 재입력 반복 패턴

<aside>

실제 서비스에서 가장 많이 쓰이는 패턴

<aside>

[시나리오] 버스 요금 입력 프로그램

<aside>

논리 구성 및 흐름 설계

입력 :
- 입력한 요금(price)

출력 :
- 정상 범위면 “요금 확인 완료”
- 비정상이면 “잘못된 요금입니다”

상태 :
- 없음(단순 검증)

조건 :
- 종료 조건: 0 ≤ price ≤ 3000일 때
- 분기 조건: 정상 범위인지 / 아닌지
- 예외 조건: 음수, 3000 초과 값

</aside>

</aside>

누적 계산 패턴

<aside>

알고리즘/문제풀이에서 가장 자주 나오는 기본 패턴

<aside>

[시나리오] 하루 동안 걸음 수 합산 프로그램

<aside>

논리 구성 및 흐름 설계

입력 :
- 걸음 수(step)

출력 :
- 총 걸음 수(totalSteps)

상태 :
- totalSteps

조건 :
- 종료 조건: 입력값이 0
- 분기 조건: 0인가 / 0이 아닌가
- 예외 조건: 음수 걸음 입력 시 경고 후 재입력 (선택)

</aside>

</aside>

메뉴 선택 + 상태 반복 패턴

<aside>

“기능이 여러 개 있는 프로그램”의 기본 틀

<aside>

[시나리오] 전자사전(단어 뜻 조회) 프로그램

메뉴를 출력한다.

  1. 단어 등록

  2. 단어 조회

  3. 종료

사용자는 번호를 입력한다.

*간단 버전이므로 실제 저장은 생략

</aside>

<aside>

논리 구성 및 흐름 설계

입력 :
- 메뉴 번호(menu)
- 단어(word)
- 뜻(mean)

출력 :
- 등록/조회 결과 메시지

상태 :
- 단어 사전(dictionary) — 간단하게는 한 쌍(word, mean)

조건 :
- 종료 조건: menu == 0
- 분기 조건: 1/2/0 중 무엇을 선택했는가
- 예외 조건: 메뉴 번호 범위 밖

</aside>

</aside>

Flowchart 구현

Live 실습

</aside>

<aside>

모듈 단위 Flowchart 설계

큰 시스템 하나를, 모듈(기능) 단위로 쪼개서 Flowchart 여러 개로 나눠서 설계하는 것

[시나리오] 간단 회원가입 + 로그인 시스템

<aside>

모듈 1 – 회원가입 절차

<aside>

</aside>

모듈 2 – 로그인 절차

<aside>

</aside>

Flowchart 구현

Live 실습

</aside>

<aside>

</aside>