4/10(토) 2-2차시 집합 명령어 정!직!구!원!

2-2차시에서는 앞서 배운 정직구원 명령어를 어떻게 활용할지에 대해 고민해봅시다.

이번 시간의 내용은 다음차시들과 계속해서 연계되기 때문에 열심히 공부해줘야합니다!

(교재를 참고하면 훨씬 좋을 것 같습니다!)

 

[ 세번째 동영상 ]

 

우선 아래의 코드를 실행시키기 전에 다음의 코드가 무엇이 만들어낼지 예상해봅시다.

예상해보셨나요? 자 그럼 실행시켜 여러분의 생각과 비교해봅시다.

beginxyz; item=6 집합{정(0, 0, 1, 5)&&z==6 ; 16} 집합{정(0, 0, 1, 4)&&z==5 ; 16} 집합{정(0, 0, 1, 3)&&z==4 ; 16} 집합{정(0, 0, 1, 2)&&z==3 ; 16} 집합{정(0, 0, 1, 1)&&z==2 ; 16} 집합{정(0, 0, 1, 0)&&z==1 ; 16}

 

 

 

 

여러분들의 예상과 맞았나요? ㅎㅎ 피라미드를 뒤집어 놓은 모양이 만들어졌습니다.

그런데 꼭 이렇게 각층마다 집합명령을 도입해야한다면 너무 힘들것 같습니다.

따라서 우리는 규칙성을 파악해보고 더 나은 코드를 만들어볼 것인데요.

아래의 코드를 실행시켜봅시다.

beginxyz; item=6 집합{ 정(0, 0, 0, z) && z<6 ; 16 }

 

 

조금 변하긴 했지만 엄청나게 길었던 코드를 한줄만에 줄여버리는 powerful한 성과를 얻었습니다.

코드를 살펴보면 z값에 따라 정사각형의 한변의 길이가 변하기 때문에 층이 올라가면서 점점 더 정사각형이 커짐을 알 수 있습니다.

교재를 살펴보면 각 층마다 길이와 어떻게 대응하는지 상세하게 설명해놓았으니 여기서는 생략을 하도록 하겠습니다. 

그럼 이제 저 모양을 뒤집어보려면 어떻게 해야할까요?

아래의 코드를 살펴봅시다.

beginxyz; item=6 집합{ 정(0, 0, 0, 10-z) ; 16 }

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의 원뿔을 만들어보세요.

집합 명령어를 한 번만 이용하여 나타내고 왜 이렇게 결과가 나오는지 주석을 통해 설명해봅시다!

 

 

 

2차시 과제가 끝났습니다. 수고하셨습니다.

비밀 댓글 2021-04-16 18:10:48