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() 함수 호출