주교재
뇌를 자극하는 C# 4.0 프로그래밍, 박상현 지음 | 국내서 | 2011년 08월 | 한빛미디어(주)
부교재
IT CookBook. C# 프로그래밍 입문: 실습으로 배우는 Visual C#, 강상진, 장현태 지음 | 국내서 | 2004년 06월 | 한빛아카데미(주)
C# 입문 = Introduction to C# Theory and Practice / 오세만 / 생능 / 2005 /
강의자료
The 주교재 강의자료 are available at mediafire. [link]
The 부교재 강의자료 are available at mediafire. [link]
과제제출방법
- hw.cse.sch@gmail.com 으로 제출 (제출시 학번 성명기재)
- 제출자료는 코드와 실행화면을 MS Word(doc 또는 docx) 또는 pdf 로 첨부
----------------------------------------------------------------------------------------------------
Homework #1
사칙연산하기
-숫자 두 개를 입력받아 사칙연산하여 결과를 출력한다.
1번째 값은? 2.5
2번째 값은? 2
2.5 + 2 = 5.5
2.5 - 2 = 0.5
2.5 * 2 = 5
2.5 / 2 = 1.25
----------------------------------------------------------------------------------------------------
Homework #1 Plus
사칙연산하기
- 수식을 입력받아 결과를 출력한다. (수식은 사칙연산으로 한정한다.)
계산식은? 2.5 * 2
값은 5 입니다.
----------------------------------------------------------------------------------------------------
Homework #2
1. 다음 형태를 출력하는 프로그램을 작성하되, 발생 가능한 예외현상을 try/catch문을 사용해서 제어하시오.
- 한 은행의 저축 이자는 1년에 3%다.
- 저축 시작 날짜와 현재 날짜, 저축 금액을 입력 받는다.
- 현재 날짜까지의 이자를 계산해서, 현재의 통장 금액을 출력한다.
- 저축 시작의 날짜와 현재 날짜, 저축 금액을 입력받는다. - 날짜 형식은 YYYYMMDD형식으로..
- 날짜형 변수 : System.DateTime
- 날짜값 연산 : TimeSpan 클래스 이용
- 현재 날짜까지의 이자를 계산해서, 현재의 통장 금액을 출력 - 입력 예)
저축시작날짜를 입력 : 20140301 오늘날짜를 입력 : 20140314 저축 금액 입력 : 1000
- 출력 예)
날짜 차이는 xxx일 입니다.
현재까지의 이자는 xxx원입니다. 현재까지의 통장금액은 xxx원입니다.
※ 이자는 단리와 복리로 각각 구현한다.
- 제출기한: 3월 21일 수업시간전
- 과제제출방법
~ hw.cse.sch@gmail.com 으로 제출 (제출시 학번 성명기재)
~ 제출자료는 코드와 실행화면을 MS Word(doc 또는 docx) 또는 pdf 로 첨부
----------------------------------------------------------------------------------------------------
Homework #3
1. string 클래스에 문자열을 뒤집는, 이름이 Reverse()인 확장 메소드를 추가한다.
- 입력 (예)
문자열을 입력 : ABCDE
- 출력 (예)
Before : ABCDE
After : EDCBA
2. 사칙 연산이 가능한 계산기 클래스를 정의하고 실행 가능한 Main 메소드가 포함된 클래스를 추가하고 실행시킨다.
- 클래스명은 Calc로 한다.
- 클래스의 멤버로는 필드와 메소드만 정의한다.
- 입력받는 숫자 두 개를 저장하는 필드를 정의한다. (double)
- 사칙 연산에 따른 결과를 사칙연산별로 따로 저장하는 필드를 정의한다. (double)
- 사칙연산을 구현하는 메소드 네 가지를 정의한다.
- 사칙연산에 따른 결과 값을 출력하는 메소드를 정의한다.
- 숫자 두 개를 인자로 받아서 입력 숫자를 저장하는 필드에 값을 초기화시켜주는 생성자를 정의한다.
- Calc 클래스의 생성자를 사용해서 객체를 생성한다.
- 생성자에게 입력 인자 값을 준다.
- Calc 클래스의 결과 값을 출력하는 메소드를 실행시킨다.
- 입력 (예)
첫번째 숫자 : 12.34
두번째 숫자 : 23.45
- 출력 (예)
연산자 기호를 선택하시오. 종료(q) : +
덧셈 수행결과 : 35.79
연산자 기호를 선택하시오. 종료(q) : *
곱셈 수행결과 : 289.373
연산자 기호를 선택하시오. 종료(q) : q
계속하려면 아무키나 누르십시오...
----------------------------------------------------------------------------------------------------
Homework #4
1. 숫자 정렬 기능을 포함하는 클래스를 구현하시오.
- 숫자 정렬(Sorting)클래스를 정의하고 Sorting 클래스의 객체를 생성해서 사용하는 실행 클래스도 정의한다.
- 숫자 다섯 개를 받아서 처리할 수 있도록 Sorting 클래스 안에 배열 변수를 정의한다.
- 내림차순과 오름차순 정렬 메소드, 두 가지를 정의한다.
- Array 메소드 Sort()를 쓰지 않는다.
- 입력 (예)
다섯 숫자를 입력하시오 : -2.1 5.4 0 2.3 4.5
- 출력 (예)
오름차순: -2.1 0 2.3 4.5 5.4
내림차순: 5.4 4.5 2.3 0 -2.1
----------------------------------------------------------------------------------------------------
Homework #5
http://www.mediafire.com/view/81jq0jt79rq8dch/practice2.pptx or https://space.zeo.net/g/1dfyi or https://minbox.com/app/collections/dd4tTWy
----------------------------------------------------------------------------------------------------
Homework #6
----------------------------------------------------------------------------------------------------
Homework #7 : 인덱서
12. 강의자료 (예외처리)
13. 강의자료(델리게이트, 이벤트)
14. 강의자료 (람다식)
15. 강의자료 (LINQ)
Homework #8 : 람다식, LINQ
18. 강의자료 (파일 다루기)
Homework #9 : 파일 다루기
제출일 : 5월 30일 23:59
하루가 늦을 때마다 -1
19. 강의자료 (스레드)
20. 강의자료 (윈폼)
텀 프로젝트
1. 목적 : C#을 사용한 공학용 계산기의 구현
2. 기능 : 공학용 계산기의 기능 (사칙연산, 함수값 계산)
가. 세부기능
- 버튼을 눌러서 숫자를 입력하거나 키보드 입력으로 사칙연산이 되게 하는 흔히 주변에서 볼 수 있는 기본적인 계산기 구현 (기본점수(20))
- 복잡한 수식을 입력하고 계산 버튼을 누르면, 연산자 우선 순위나 괄호까지 해석하여 계산하는 계산기 구현 (+10)
- log, cos, sin, tan, 팩토리얼, 계승 등의 초월 함수도 넣어서 계산 가능한 계산기 구현(+10)
- 계산식 히스토리를 화면에 보여주기, 계산식 히스토리 저장 등 추가적인 기능 구현 (+alpha)
나. 실행화면
3. 제출기한
가. 중간보고서 : 6월 13일 13:00
나. 최종보고서 : 6월 17일 23:59
4. 제출방법 : hw.cse.sch@gmail.com 으로 제출
가. 보고서 내용
- 표지 (팀원...)
- 개요 (기능설명, 팀역할 등)
- 프로젝트 세부내용 (클래스 다이어그램, 플로우챠트 등 세부 설명서)
- 구현화면 (화면캡쳐)
- 결론
- 참고문헌
나. 주의사항
- 메일제목은: '[C#] 텀프로젝트보고서 홍길동,김영희,김철수' 로 작성
- 코드와 보고서는 압축하여 첨부할 것. 압축파일의 파일명은 메일제목과 동일하게 생성
- 클래스(Class), 객체(Object), 인스턴스 (Instance), 상속(Inheritance), 인터페이스(Interface) 등 객체지향언어의 중요 개념을 활용할 것.
- 각 제출기한은 지킬 것.
- 과제를 인터넷에서 다운받아 복사해서 제출하면, 0 점.
- 다른 팀과 동일한 코드가 발견시, 0점.
- 최종발표 불참시, 0점
- 팀원들의 담당한 역할을 최종점검때 설명할 것.
- 구두시험에서 코드에 대한 질문에 대한 답변을 못할 시 해당 팀원은 감점 처리.
5. 평가
가. 보고서, 코드 평가
- 보고서 내용
- 코드의 완성도 (try catch 문등)
나. 점검 기준
- 프로젝트 수행 성실도
- 기능 구현 난이도
- 발표내용
- 업무분담, 팀원간 협동
다. 구두시험
- 중간점검
~ 일시 : 6월 13일 13:30 ~ 끝날 때까지,
~ 장소 : 실습실
~ 점검순서 :
* 일정이 있어 발표를 먼저 시작할 수 있음 (사유가 정당할 경우 인정)
- 최종점검
~ 일시 : 6월 18일 13:30 ~ 끝날 때까지, 19일 오전 10:00~11:00 (특별한 사유가 있는 팀에 한함)
~ 장소 : 실습실
~ 점검순서 : 추후발표
6. 문의 : ynam(at)sch.ac.kr 또는 M604