본문 바로가기
엔트리메뉴/엔트리코딩시험-알고리즘

엔트리-다각형거미줄그리기

by flycoding 2022. 8. 27.
반응형

엔트리-다각형거미줄그리기

 

엔트리COS 코딩시험에서 알고리즘의 가장 핵심적인 부분이 변수, 반복문, 조건, 함수 등이다.

 

이제 거미줄그리는 프로그램을 일반화하여 삼각형, 사각형, 오각형 등의 다각형을 활용한 거미줄을 그려보는 프로그램을 작성해 보자. 이전에 삼각형에서~육각형 그리고 다각형 프로그램을 작성해 보았다면 이번 프로그램은 매우 쉽게 작성할 것이다. 다각형 프로그램을 작성해보지 않았다면 꼭 작성해보시고 다각형거미줄 그리기 프로그램을 작성할 것을 권유한다.

 

요구사항

* 다각형에 인자로 변의 길이와 변의 개수를 활용하여 다각형을 그린다.

 

* 다각형을 활용하여 다각형 거미줄을 그린다.

  . 변의개수 만큼 반복하기 

    - 다각형 함수(변의길이, 변의개수)를 호출한다.

    - 각도 돌기

 

* 다각형 한 변의 길이 10만큼 늘려 4회 반복한다.

 

분석 및 설계

. 변수만들기

  - 길이 : 다각형 한 변의 길이를 저장한다.

  - 변의개수 : 다각형의 변의 개수를 저장한다.

  - 각도 : 다각형의 회전하는 각도를 저장한다.

 

. 초기화

  . 펜 색깔 검정색

  . 모두 지우기

  . 스프라이트 (0,0) 위치로 이동하기

  . 180도 방향보기

  . 길이 50으로 정하기

 

. 다각형(l, n)   /* l : 변의 길이, n : 변의 개수 */

   - n만큼 반복

      - l만큼 움직이기

      - 360/n 각도 돌기 

 

. 하나의 다각형 거미줄 만들기

  . 4회 반복

    . 변의개수만큼 반복

      . 다각형(길이, 변의개수) 호출

      . 360/변의개수 각도 돌기

  . 길이 10만큼 늘이기

 

블럭코딩

 

. 초기화
  . 펜관련 초기화 : 펜 색깔, 모두 지우기
  . 엔트리 위치 초기화 : (0,0) 위치로 이동하기, 180도 방향보기, 크기 50%로 정하기
  . num 변수 키보드로부터 입력받아 저장한다. (변의개수)
  . len 변수 키보드로부터 입력받아 저장한다.(변의 길이)
  . angle변수는 360/num 연산하여 저장한다. (각도 계산한다.)

 

엔트리-다각형거미줄 초기화

 

 

. 다각형(l, n)   /* 문자/숫자값1 : l(변의길이)  , 문잦/숫자값2 : n(변의개수) */
  - n만큼 반복하기
    - l만큼 움직이기
    - angle 돌기

 

엔트리-다각형 그리기 함수

 

 

. 다각형 거미줄 하나 그리기
  - num 만큼 반복
    - 다각형(len, num)
    - angle 각도 돌기
  - 길이 10만큼 바꾸기

 

엔트리-다각형 거미줄 그리기

 

 

. 다각형 한 변의 길이를 10만큼 변경하며 4회 반복한다.

 

엔트리-다각형 거미줄 그리기

 

 

* 실행 결과물

 

- 변의 개수를 10 입력한다. num 변수에 저장한다. (10각형으로 거미줄을 그릴 것이다.)

엔트리-다각형거미줄 변의개수 입력

 

- 변의 길이를 10 입력한다. len 변수에 저장한다.

 

 

* 엔트리로 다각형거미줄로 그리기 : 예제에서는 10각형으로 거미줄을 그린다.

 

엔트리-다각형거미줄 실행결과화면 (10각형거미줄)

 

 

아래 그림은 7각형으로 그린 다각형거미줄 실행결과 화면이다.

 

엔트리-다각형거미줄 실행결과화면(7각형거미줄)

 

 

다각형으로 다양한 종류의 거미줄을 그릴 수 있게 되었다. 본 프로그램에서 이해해야 하는 것은 변수의 정의와 변수 갑의 활용이다. 또한 함수를 정의하고 활용하는 능력을 향상시키는데 목적이 있다.

조금씩 반복되고 지루한 것 같지만, 하나씩 실행하면서 이해하는 것이 매우 중요하다. 간단한 것 같지만 벽처럼 어렵게 느껴질 수도 있기 때문이다. 

 

다시 한번 강조해서 말하지만, 변수의 값이 각 프로그램 단계별 순차적으로 어떻게 변화하는지 추척하는 것이 매우 중요하다. 블럭을 하나씩 쌓으면서 변수 볼륨 값의 변화를 살펴보자. 코딩은 눈으로 보면서 이해하고 학습하지만 직접 블럭을 쌓으며 이해하고 학습하는 것이 더 효과적이며 창의와 이해의 개념이 ~쑥 늘어납니다. 

앞으로의 여러분의 모습을 기대합니다.

 

Just Do it!!!

Just Drag&Drop!!!

 

MagneticFieldSen

 

반응형

댓글