대학교 과제 24

[모바일 프로그래밍 과제] - 6주차 (탭호스트)

1. 과제 안내문, 예시 출력화면 다음과 같은 안드로이드 애플리케이션을 완성하라. 상단에 "색상"과 "회전"이라는 2개의 탭이 표시된다. "색상" 탭을 누르면 green, blue, red라는 3개의 라디오버튼이 상단에 나타나고 각 버튼을 누를 때마다 탭화면의 색상이 변경된다. 탭화면 가운데에 "색상 탭의 내용"이라는 텍스트가 큰 글씨로 표시된다. "회전" 탭을 누르면 상단에 "Left"와 "Right"라는 버튼이 나타나고 탭화면 중앙에 "회전 탭의 내용"이라는 큰 글씨의 텍스트가 표시된다. Left 버튼을 누를 때마다 텍스트가 시계 반대 방향으로 10도 회전하고, Right 버튼을 누를 때마다 텍스트가 시계 방향으로 10도 회전한다. 가장 오류가 많았던 과제 중에 하나이다. 뷰 컨테이너 자체가 정해진 ..

[모바일 프로그래밍 과제] - 5주차 (직접풀어보기 6 - 1)

1. 과제 안내문, 예시 출력화면 과제 #5 직접 풀어보기 6-1 (자세한 사항은 교재를 참고할 것) 실습 6-1을 다음과 같이 수정하라. 1) 캘린더뷰 대신 데이트피커를 사용하여 날짜를 설정한다. 2) 과 버튼을 제거한다. 대신 기능은 크로노미터를 클릭하면 동작하게 하고, 기능은 아래쪽 연도를 롱클릭하면 동작하게 한다. 3) 처음에는 라디오버튼, 데이트피커, 타임피커가 안 보이도록 설정하고, 크로노미터를 클릭하면 라디오버튼이 나타난다. 라디오버튼을 클릭하면 피커가 표시된다. 아래쪽 연도를 롱클릭하면 라디오버튼, 데이트피커, 타임피커가 사라진다. 구현방법 참고: - 버튼에서 했던 작업은 크로노미터의 리스너를 만들어 거기로 이동함 - 버튼의 작업은 tvYear에 OnLongClickListener를 작성하..

[모바일 프로그래밍 과제] - 4주차 (직접풀어보기 5 - 3)

1. 과제 안내문, 예시 출력화면 다음 화면을 xml 파일 없이 Java 코드만 이용하여 완성하라. 에디트텍스트, 버튼 및 텍스트뷰 각각 1개로 화면이 구성되며, 버튼을 클릭하면 에디트텍스트에 입력된 문자열이 하단의 텍스트뷰에 나타나게 한다. 이 과제에 특별한 점은 Java코드만으로 객체들을 구성해야 한다. 그 전에 Java에서 Paint같은 메소드를 사용하거나 컴토넌트들을 구성한 경험이 있어 그렇게 어렵게 느껴지지는 않았다. 다음은 코드구성이다. 2. 코드 구성 코드를 구성하는 경우는 그렇게 어렵지 않았다. 배치같은 경우도 Linearlayout 안에 순서대로 객체들을 넣어주기만 하면 되었고, 리스너같은 경우도 버튼을 눌렀을 때 EditText에서 값을 받아 TextView의 텍스트로 지정해주기만 하면..

[명품 HTML5+CSS3+Javascript 웹 프로그래밍] - Open Challenge 01

1. 문제 안내 컴퓨터의 기술 중 한 가지를 소개하는 웹 페이지를 작성하라. HTML5 태그로 다음 요소를 모두 삽입하라. 리스트, 표, 이미지 목차 부분은 링크로 만들고 본문에 앵커를 만들어 연결 관련 정보를 클릭하면 웹 페이지를 새 창이나 탭에 출력하도록 링크 작성 학교 수업 전 생활코딩을 통해 HTML을 배웠지만, 이렇게적극적인 실습은 한적이 없다. 이 카테고리에 많은 실습을 올렸으면 좋겠다. 2. 코드 작성 사실 문제 중 음성파일을 넣으라는 요구문도 있었지만, 구현하지 못했다. 내 노트북의 오디오가 고장나서 확인을 하지 못하기 때문이다...... 다음은 내가 구성한 페이지에서 중요한 문법들을 정리해보았다. - 리스트 자료구조를 공부하던 도중이어서 그런진 모르겠지만, 리스트라는 단원을 보자마자 연결..

[모바일 프로그래밍 과제] - 3주차 (연습문제 9, setRotation())

1.과제 안내문, 예시 출력화면 "회전하기" 버튼을 누르면 버튼을 한 번 누를 때마다 하단의 사진이 10도씩 시계방향으로 회전하도록 프로젝트를 구성하라. 하단의 사진은 자신의 셀카(selfie)를 찍어서 적당한 크기로 편집하여 사용한다.(아래 예에서는 300x186 크기의 그림 파일을 사용했다.) 자바과목을 들었을 때는 (같은교수님 이셨다.) 그날 배운 문법만으로 해결할 수 있는 과제를 내주셨는데, 이번 수업은 스스로 구글링을 해봐야 문제를 해결할 수 있다. ImageView를 화면 중앙에 맞추는 법이라던가, 회전시키는 방법들이 이에 해당한다. 전자는 깔끔하지 못하게 margin값을 주는 것으로 해결하였고 후자는 serRotation() 메소드를 활용하였다. 2. 코드 구성 이번과제에서 위젯들을 구성하는..

[안드로이드 프로그래밍 과제] - 2주차 (직접 풀어보기 4-2)

1. 과제 안내문, 예시 출력화면 다음과 같은 화면을 xml로 코딩하라. 버튼, 텍스트뷰, 에디트텍스트, 버튼을 차례로 지정하고 앞에서 배운 다양한 속성을 사용하여 다음 화면과 최대한 동일하게 나오도록 하라. 안드로이드 프로그래밍 강의의 첫 번째 과제이다. 안드로이드 프로그래밍을 처음 배울 때는 위와 같은 위젯의 기초를 배운다. 마진, 패딩과 같은 위젯의 속성도 배우는데, 화면을 배치하는데 있어서 매우 중요한 개념이니 확실하게 알아두어야 한다. 위의 과제는 다양한 위젯들의 속성을 정의하고 배치하는 것을 연습하기 위한 과제라고 생각된다. 다음은 풀이 과정이다. 2. 코드 구성 위의 위젯들은 총 4개가 있다. 버튼1, 텍스트 뷰, 에디트 텍스트, 버튼2 이다. 각각의 위젯을 구성하는 코드를 차례로 게시하겠다..

[Java 과제] - 12주차 ( Arrays.sort() )

1. 과제 안내문, 예시 출력 화면 다음과 같이 가격의 오름차순으로 도서가 정렬되도록 Book 클래스를 작성하라. 다행이 JFrame과 관련된 과제는 아니지만, 중요한 개념을 다루는 과제라고 생각한다. Class를 구현하는 부분과 compareTo 함수 오버라이딩부분이 이 과제의 가장 중요한 부분이라고 생각한다. 다음은 코드의 구성이다. 2. 코드 구성 main역할을 하는 Class는 이미 주어졌으므로 지금은 Book Class를 집중적으로 설명하고자 한다. 일단 sort() 매소드에 설명하자면 인자값으로 받는 리스트의 구성 요소들을 오름차순으로 정렬해주는 매소드이다. 그러나 우리가 흔히 아는 기본형 즉, 정수, 실수, 문자를 요소로 가지는 리스트들은 가능하지만 나는 내가 정의한 Class를 요소로 가지..

[Java 과제] - 11주차

1. 과제 안내문 첫번째 윈도우에서 이름을 입력하고 전공을 선택한 후 Go 버튼을 누르면 새로운 창에서 앞서 입력한 이름과 선택한 전공을 보여 주는 GUI 프로그램을 작성하라. 7장의 로그인 예제를 참고하라. 역시 이번에도 GUI를 구성하는 문제였다. 취향차이인지는 모르겠지만 나에게는 많이 번거롭게 느껴진다 ㅠㅠ 일단 실행결과를 보자. 2. 예시 실행 결과 그림을 보면 알겠지만 Event Listener를 사용하는 과제이다. 약간 신경써야 할 부분은 창이 바뀌는 부분인데, 이것은 저번 과제처럼 창의 내용을 전부 지우고 새로운 컨테이너를 출력해주면 된다. 다음은 코드의 과정이다. 3. 코드 작성 - 프레임 구성 일단 프레임을 먼저 구성해야 했다. 사실 이 과제에서 가장 오래걸린 부분이 프레임이다. (그렇다..

[자료구조 과제] - 12주차 수식트리 (후위표기식)

1. 과제안내문 이번 과제는 후위 표기식 형식으로 수식을 입력하여 수식트리를 만들고, 이 트리를 중위로 순회하면서 중위 표기식을 출력하고, 수식을 계산한 결과를 출력한다. 수식트리에서 노드는 연산자 또는 피연산자 노드로 구성되는데, 내부 노드는 연산자 노드이고, 외부 노드는 피연산자 노드가 된다. 피연산자 노드는 노드의 데이터는 피연산자가 되고 자식 노드는 없다. 연산자 노드는 노드의 데이터는 연산자가 되고, 피연산자들은 연산자 노드의 자식 노드로 연결된다. 이진연산자는 두 자식을 가지지만, 단일연산자는 왼쪽 자식은 없고 오른쪽 자식만 가진다. 수식트리를 만드는 방식은 후위 표기식을 계산하는 방식과 비슷하다. 피연산자는 피연산자 노드를 만들어 그 노드를 스택에 Push 한다. 연산자는 연산자 노드를 만들..

[자료구조 과제] - 11주차 완전 이진 트리

1. 과제 안내문 이번 과제는 노드 번호가 nMaxNo까지 노드를 가지는 완전 이진트리를 생성하고, 노드 번호를 부여하는 규칙에 의하여 노드 번호가 nNo인 노드를 찾는 과제이다. 이진트리를 레벨 순회로 노드의 번호를 출력하면 트리의 모습을 쉽게 알 수 있다. 왜냐 하면 1 레벨은 노드가 1, 2 레벨은 노드가 2개, 일반적으로 n 레벨은 노드가 2n-1개이기 때문에 앞에서 레벨에 따라 개수를 분리하여 생각하면 그 구조를 쉽게 알 수 있다. 이 과제는 번호가 nMaxNo까지 가지는 완전 이진트리를 생성하고, 이 트리를 레벨 순회에 따라 노드 번호를 출력한다. 그리고 노드 번호 nNo를 가지는 노드를 찾아 올바르게 찾았는지를 확인한다. 수업시간에 실습을 통하여 마지막 노드를 가리키는 원형 리스트를 사용하여..