Page 28 - 파이썬으로 배우는 컴퓨팅사고 도서 미리보기
P. 28

CHAPTER 9? 기술(Technology)  199

            ?	color_status : 상태에 해당하는 색상(white, blue, red)
            ?	alert_status : 화재경보기 상태(정상, 주의, 화재)
변수 ?	tempc : 입력 받은 현재 온도, 기본값(50)
            ?	t : 터틀
            ?	s : 터틀 스크린

2? ?알고리즘 설계
문제 분석에서의 함수와 입력, 출력에 대한 알고리즘을 자연어로 표현하면 다음과 같다.

              인수 없음                                         반환 없음

              1. 만약 tempc의 값이 80보다 작으면

              1.1 status에 0 대입 (# 화재경보기 상태(0:정상))

              그렇지 않으면 만약 tempc의 값이 120보다 작으면

              1.1 status에 1 대입 (# 화재경보기 상태(1:주의))

              그렇지 않으면      (# tempc의 값이 120이상이면)

              1.1 status에 2 대입 (# 화재경보기 상태(2:화재))

              2. 이전에 표시한 터틀 흔적을 모두 지움

check_fire()  3. 터틀의 위치를 초기 위치로 변경

  keyUp()     4. 펜을 내림
keyDown()
              5. status의 값에 따라 color_status 리스트의 원 색상 지정

              6. 원 그리기 준비

              7. 원 크기를 20으로 지정

              8. 원 그리기

              9. 펜을 올림

              10. 상태, 온도 출력을 위해 x: -22, y: 50 위치로 이동

              11. status의 값에 따라 alert_status 리스트의 문자열과 tempc 온도 출력

              인수 없음                                         반환 없음

              1. 만약 tempc의 값이 80보다 작으면
                1.1 tempc의 값을 5 증가시킴

              그렇지 않으면 (# tempc의 값이 80이상이면)
                1.1 tempc의 값을 10 증가시킴

              2. check_fire() 함수 호출

              인수 없음                                         반환 없음

              1. 만약 tempc의 값이 80보다 작으면
                1.1 tempc의 값을 5 감소시킴

              그렇지 않으면 (# tempc의 값이 80이상이면)
                1.1 tempc의 값을 10 감소시킴

              2. check_fire() 함수 호출
   23   24   25   26   27   28   29   30   31   32   33