■ 과제를 게시합니다. 수업 진행에 따라 업데이트 됩니다.

 

(1) Add One (부과 2월 23일. 제출 3월 2일)

 

그림과 같이 화면을 구성하고 지시와 같이 동작하도록 프로그램을 작성하라.

 

(1) 화면에 Button 2개와 Label 1개를 배치한다.

(2) Button의 text는 "Reset"과 "Add" 가 되도록 하고, Label의 (최초의) text는 "0"이 되도록 한다.

(3) Button 및 Label의 text의 font와 크기를 보기 좋도록 적당히 고쳐본다.

(4) Add Button을 한번 누를때마다 숫자가 1씩 증가한다. Reset Button을 누르면 숫자가 "0"으로 바뀐다.

(5) 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-Class의 과제 제출함에 제출한다.

 

(2) Bouncing Ball (부과 3월 2일. 제출 3월 9일)

그림과 같이 화면을 구성하고 지시와 같이 동작하도록 프로그램을 작성하라.

 

(1) PictureBox로 만든 ball이 최초에는 좌측 상단에 있다가 우측 하단으로 이동한다.

(2) 벽에 부딪히면 반대로 움직인다. 상하좌우 4개의 벽에 대해 모두 반동한다.

(3) Slow/Fast 라디오 버튼 선택에 따라 움직이는 속도를 변하게 한다.

(4) 볼의 색이 폼의 중심에서 멀어지면 파란색, 중심으로 가까워지면 빨간색이 되도록 한다.

(5) 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-Class의 과제 제출함에 제출한다.

 

(3) Bit 조작 (부과 3월 9일. 제출 3월 16일)

 

- 화면을 다음과 같이 구성하고 지시와 같이 동작하도록 프로그램을 작성하라.

- 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-Class의 과제 제출함에 제출한다.

(4) 2차 함수를 이용한 Least-Square 근사 (부과 3월 16일. 제출 3월 23일)

 

- 다음과 같은 프로그램을 작성하라.

- 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-Class의 과제 제출함에 제출하라

 

 

(5) 몬테카를로 시뮬레이션 (부과 3월 23일. 제출 3월 30일)

 

- 다음과 같은 프로그램을 작성하라.

- 삼각형의 면적 계산과 삼각형에 대한 IN/OUT 판정은 반드시 별도 함수로 계산하라.

   함수의 원형은 자유롭게 한다.

- 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-class의 과제 제출함에 제출하라

 

 

(6) 클래스의 다형성을 이용한 사각형 클래스 추가 (부과 4월 6일. 제출 4월 13일-제출하지 않음)

 

- 다음과 같은 프로그램을 작성하라.

- 수업시간에 실습한 프로그램에 Circle, Dimond 클래스 외에 Rectangle, Triangle 클래스를 추가하라.

- 화면에 사각형과 삼각형이 그려지고 각각의 개수도 표시되도록 한다.

- Rectangle, Triangle 클래스는 Geom의 파생클래스가 되도록 하고 override 된 Draw( ) 함수를 정의하여

  다형적으로 호출되도록 한다.

- 다형성을 활용함에 따라 클래스 타입 추가에 따른 코드 수정 범위가 클래스 내부로 한정됨을 유의깊게 보라.

- 이 과제는 중간 고사와 일정이 겹쳐 제출하지 않습니다.

(7) Circles 그리기 : 윈도그래픽스와 클래스 연습 (부과 4월 20일. 제출 4월 27일)

 

- 다음과 같은 프로그램을 작성하라.

- 프로젝트가 저장된 폴더를 압축하여 1개의 파일로 만든 후 e-Class의 과제 제출함에 제출하라.

(8) 아두이노와 폴링방식 통신 (부과 5월 4일. 제출 5월 11일)

 

- 실습시간에 제시된 다음의 실습과제를 수행하라. 이를 "RB" 통신 한번으로 바꾸어 같은 동작을 하게 하라.

- 프로젝트가 저장된 폴더와 아두이노 코드를 1개의 파일로 압축하여 e-Class의 과제 제출함에 제출하라.

 

(9) 아두이노와 폴링방식 통신 (부과 5월 11일. 제출 5월 18일)

 

    [1] 상대 프로그램이 정지되거나 Closed되어도, 재 실행되면 즉시 다시 연결되도록 프로그램을 수정하라.
        상태 감시 타이머에 다음의 기능을 넣으면 될 것이다.
        (1) Server : 통신 상태가 Closed가 되면 즉시 Listen으로 전환한다.
        (2) Client : 통신 상태가 Closed가 되면 성공할 때까지 Connect를 시도한다.
    [2] Server에서의 원의 움직임도 거꾸로 Client의 원의 위치에 반영되는 기능도 추가하라.
        서로의 움직임을 서로 간섭하게 되므로, 최후 조작의 결과가 반영될 것이다.
        이를 위하여 port 연결을 새로 추가하라. Port번호는 5003으로 한다.  

- 프로젝트가 저장된 폴더를 압축하여 e-Class의 과제 제출함에 제출하라.

 

 

(10) 다음과 같이 동작하는 프로그램을 작성하라 (부과 5월 18일. 제출 5월 25일)

 

    - 동전의 사진을 입력하면 액수가 계산되는 프로그램을 작성하라

    - 이진화, 라벨링을 거쳐 얼마짜리 동전이 몇개가 있는지 세어 합산하도록 하라

    - 동전이 얼마짜리 인지는 면적(라벨의 픽셀 수)으로 추정하도록 하라.

      그러려면 각 동전(100원짜리, 10원짜리 등)의 면적이 얼마인지 미리 티칭되어 있어야 할 것이다.

    - 입력 영상에서 동전이 겹쳐져 있으면 매우 어려운 문제가 된다. 겹치지 않는 것으로 가정한다.

    - 동전이 놓여진 배경이 동전과 명도차이가 클 수록 이진화가 용이하다. 또 적절한 조명이 유지되어야 한다.

      Threshold는 상황에 따라 적절히 선택하라.

 

    - 5~6개의 서로 다른 이미지에 대해 실행결과와 이에 대한 설명을 기술하는 보고서를 작성하라.

      보고서 길이는 표지를 제외하고 5페이지 내외로 한다.

      (제목, 작성자, 날짜를 표시하는 표지가 있어야 한다.  각 페이지에는 페이지 번호를 표시하여야 한다)

 

    - 프로젝트 폴더의 압축파일과 보고서를 e-Class의 과제 제출함에 제출하라.

    - (*) 아래 사진은 설명용 예시이다. 확인과 조작이 쉽도록 적절한 UI를 각자 만들어라.

12_Labeling과제_동전합계.hwp
0.09MB

 

Posted by 마스샘