- 강한별 선생님
- 2021-09-10 22:41:41
- 조회수 152
2-2차시에서는 앞서 배운 정직구원 명령어를 어떻게 활용할지에 대해 고민해봅시다.
이번 시간의 내용은 다음차시들과 계속해서 연계되기 때문에 열심히 공부해줘야합니다!
(교재를 참고하면 훨씬 좋을 것 같습니다!)
[세번째 동영상]
우선 아래의 코드를 실행시키기 전에 다음의 코드가 무엇이 만들어낼지 예상해봅시다.
예상해보셨나요? 자 그럼 실행시켜 여러분의 생각과 비교해봅시다.
여러분들의 예상과 맞았나요? ㅎㅎ 피라미드를 뒤집어 놓은 모양이 만들어졌습니다.
그런데 꼭 이렇게 각층마다 집합명령을 도입해야한다면 너무 힘들것 같습니다.
따라서 우리는 규칙성을 파악해보고 더 나은 코드를 만들어볼 것인데요.
아래의 코드를 실행시켜봅시다.
조금 변하긴 했지만 엄청나게 길었던 코드를 한줄만에 줄여버리는 powerful한 성과를 얻었습니다.
코드를 살펴보면 z값에 따라 정사각형의 한변의 길이가 변하기 때문에 층이 올라가면서 점점 더 정사각형이 커짐을 알 수 있습니다.
교재를 살펴보면 각 층마다 길이와 어떻게 대응하는지 상세하게 설명해놓았으니 여기서는 생략을 하도록 하겠습니다.
그럼 이제 저 모양을 뒤집어보려면 어떻게 해야할까요?
아래의 코드를 살펴봅시다.
설명을 드리자면
0층에서는 z=0이기에 10-z=10이므로 중심으로부터 10씩 늘어난 정사각형
1층에서는 z=1이기에 10-z=9이므로 중심으로부터 9씩 늘어난 정사각형
2층에서는 z=2이기에 10-z=8이므로 중심으로부터 8씩 늘어난 정사각형
(중략)
8층에서는 z=8이기에 10-8=2이므로 중심으로부터 10씩 늘어난 정사각형
9층에서는 z=9이기에 10-z=1이므로 중심으로부터 1씩 늘어난 정사각형
10층에서는 z=10이기에 10-z=0이므로 늘어나지 않은 1칸짜리 정사각형
바닥에 박힌 0층이 맘에 들지 않는다면 집합{ 정(0, 0, 1 , 10-z) ; 16 }로 변경!!
드디어 아래와 같은 피라미드가 완성되었습니다!!!!!!!!
[ 과제 2 ] "저장" 버튼 누르기!
아래의 그림과 위치와 층수까지 완벽히 같도록 5층짜리 피라미드를 지상에만 만들어 봅시다.
집합{정(a, b, c, d)}의 a, b, c,d에 대한 정확한 이해를 보기 위한 것이니 그림을 자세히 보고 그림과 똑같이 만들어보세요. 주의! ① 중심좌표(위치) / ② 길이와 층수 / ③ item번호는 16
단, 집합{정(?, ?, ?, ?)} 명령어를 한 번만 사용!!
[ 과제 3 ] "저장" 버튼 누르기!
아래의 그림과 같이 중심이 (0,0)이고 각 층별로 item을 사용하여 높이 50의 원뿔을 만들어보세요.
집합 명령어를 한 번만 이용하여 나타내고 왜 이렇게 결과가 나오는지 주석을 통해 설명해봅시다!
수고하셨습니다^^