파이썬 실습창을 열 수 있습니다.실습창 열기
바로 시작합시다.
고양이와 병아리가 꽃밭에서 놀고 있습니다.
고양이는 1마리이고 병아리는 3마리입니다.
꽃밭에서 놀고 있는 고양이와 병아리의
머리의 수, 눈의 수 그리고 다리의 수를
구하여 봅시다.
1. 입력 (input)
이 문제를 해결하려면 반드시 알아야 되는 정보(input)는 고양이의 마리 수와 병아리의 마리 수입니다. 그러므로 고양이의 마리 수와 병아리의 마리 수를 제일 먼저 컴퓨터에게 알려주어야 합니다.
고양이의 마리 수를 cat(캣)이라 합시다.
'고양이의 마리 수는 1마리이다.'를 컴퓨터가 알게 하려면 cat=1 이렇게 하면 됩니다.
다음과 같이 코딩하세요.
반드시 첫번째 칸부터 소문자로(권장) 코딩하세요.
파이썬은 줄맞춤(indentation,들여쓰기)이 매우 중요합니다.
cat=1
[여기서 잠깐]
고양이는 몇 마리입니까?
1마리?
땡! 고양이는 cat 마리입니다.
1마리라고 답하면 연필적 사고이고, cat 마리라고 답하면 컴퓨터적 사고(computational thinking)입니다.
다음에는 병아리의 수를 알려주어야 합니다.
병아리의 수를 chick(칙, 병아리)이라 합시다.
cat=1 다음 줄에 '병아리는 3마리이다.'를 컴퓨터에게 알려주세요.
cat=1
chick=3
[여기서 잠깐]
병아리는 몇 마리입니까?
"chick 마리"
딩동댕! 당신은 이미 컴퓨터적 사고가 형성되었습니다.
2. 알고리듬 설계와 코딩 (algorithm & coding)
우리는 고양이와 병아리의 마리 수를 알고 있을 때 전체 마리 수를 구하려고 합니다.
어떻게 구하면 될까요?
그렇습니다. 고양이의 마리 수와 병아리의 마리 수를 더하면 됩니다.
이것이 문제해결방법이고 거창한 말로 알고리듬 설계입니다.
전체 마리 수를 구하는 알고리듬은 ' 고양이의 마리 수와 병아리의 마리 수를 더한다.'입니다.
전체 마리 수를 head 라고 합시다.
'전체 마리 수는 고양이의 마리 수와 병아리의 마리 수를 더하여 계산하라.'
이 말을 코딩하면 head=cat+chick 입니다.
고양이의 마리 수는 cat이고, 병아리의 마리 수는 chick인 것을 잊어버리지 않았지요?
다음은 잘못 된 코딩의 예입니다.
head=1+3 또는 head=4
이렇게 인간이 계산하면 안됩니다.
인간은 식만 알려주어야 합니다.
세번째 줄에 head=cat+chick을 코딩하세요.
cat=1
chick=3
head=cat+chick
3. 출력 (output)
지금까지 코딩한 것을 실행하면 아무것도 나오지 않습니다.
왜냐하면 전체 마리 수를 구한 정보는 head에 있지만 화면에 표시하지 않았기 때문입니다.
'head에 있는 정보를 화면에 표시하라.'
이것을 코딩하면 print(head)입니다.
네번째 줄에 print(head)를 코딩하고 실행하여 보세요.
4가 출력 되었습니까? 전체 마리 수는 4마리입니다.
cat=1
chick=3
head=cat+chick
print(head)
4. 처리의 확장
눈의 수와 다리의 수도 구해야 합니다.
눈의 수를 eye, 다리의 수를 leg라 하고 위의 코드에 추가해서 프로그램을 완성하여 보세요.
cat=1
chick=3
head=cat+chick
print(head)
eye=cat*2+chick*2
print(eye)
leg=cat*4+chick*2
print(leg)
4, 8, 10이 출력되어 마리의 수, 눈의 수, 다리의 수가 바르게 출력 되었습니다.
코드에서 cat의 값과 chick의 값을 바꾸어(입력을 바꾸어) 실행하여 보세요.
언제나 바른 값이 출력 됩니까?
축하합니다. 프로그램이 완성되었습니다.
5. 개선할 점
그런데 조금 수정하고 싶은 곳이 있습니다.
● 눈의 수는 위의 코드와 같이 고양이의 눈과 병아리의 눈을 따로 구하여 더하지 않고,
이미 구하여 둔 전체 마리의 수 head를 사용하면 더 간단하다.
eye=head*2
● head, eye, leg가 있는 줄은 처리이고, print가 있는 줄은 출력이다.
그러므로 위의 코드는 처리와 출력이 섞여있다.
프로그램의 구성은 입력-처리-출력의 순서가 좋으므로 처리 부분과 출력 부분을 구분하여 모으자.
수정하면 다음과 같습니다.
cat=1
chick=3
head=cat+chick
eye=head*2
leg=cat*4+chick*2 #고양이의 다리는 4개, 병아리의 다리는 2개이다.
print(head)
print(eye)
print(leg)
#(number sign, 넘버 사인) 부터 그 줄의 끝까지는 주석(comment, 참고 사항)이므로 입력하지 않아도 됩니다.
(흔히 #을 샆 또는 우물 정이라 부릅니다. 샆은 음악 용어입니다. 컴퓨터와 수학에서는 넘버 사인이라합니다.)
- head*2와 2*head는 같습니다. 수학에서는 일반적으로 숫자를 앞에 쓰지만 컴퓨터에서는 뒤에 쓰기를 권장합니다.
cat=6453
고양이는 몇 마리입니까?
"cat마리"
정답입니다. 당신은 컴퓨터적 사고가 형성되었습니다.
오늘 끝.
'알고리듬' 카테고리의 다른 글
[알고리듬] #11 식별자 만드는 규칙 (0) | 2024.03.23 |
---|---|
[알고리듬] #10 오브젝트의 이해 (1) | 2024.03.22 |
[알고리듬] #8 프로그램의 작성 단계 (2) | 2024.03.20 |
[알고리듬] #7 사칙연산문제(5) (0) | 2024.03.19 |
[알고리듬] #6 사칙연산문제(4) (3) | 2024.03.19 |