1 / 32

컴퓨터 개론 및 실습 1 차 프로젝트

컴퓨터 개론 및 실습 1 차 프로젝트. Byoungjun Kim (bjkim@archi.snu.ac.kr) Ansu Na(asna@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University. 추가 내용. 오늘 숙제 설명에서 추가된 내용 정리 3 개의 과제 모두 import / method 사용 금지 p rint 가 아닌 return 으로 처리 ( 각 함수에 대한 결과화면 참고 )

elita
Download Presentation

컴퓨터 개론 및 실습 1 차 프로젝트

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 컴퓨터 개론 및 실습1차 프로젝트 Byoungjun Kim (bjkim@archi.snu.ac.kr) Ansu Na(asna@archi.snu.ac.kr) School of Computer Science and Engineering Seoul National University

  2. 추가 내용 • 오늘 숙제 설명에서 추가된 내용 정리 • 3개의 과제 모두 import / method 사용 금지 • print가 아닌 return으로 처리 (각 함수에 대한 결과화면 참고) • 과제 2의 return value에 대한 재 설명 (해당 함수 부분에 추가)

  3. 컴퓨터 개념 및 실습 1차 프로젝트 Palindrome Checker Newton/Raphson Method Calculator

  4. Palindrome Checker • Palindrome 이란? • 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 구문 • ex)“ASA”, “abba”, “12321”, “pop”, “LoL”,

  5. Palindrome Checker • Palindrome Checker 만들기 • 함수의 이름은 checkPalin • 함수의 입력은 string type (argument) • 함수의 반환값은boolean type (return value) • 띄어쓰기가 있는 문자열은 입력되지 않는다고 가정 • ex) “nurses run” • 대문자와 소문자는 다른 문자로 취급 • print checkPalin(“oOO”) -> False • import/method는 사용할 수 없음 • ex) import string, a.reverse(), a.sort()

  6. Palindrome Checker • 구현 방법-1 • 입력된 string을 뒤집어서 비교하기 • while문을 이용하여 입력된 문자열을 뒤집음 • 원래 입력된 문자열과 비교함 • 두 문자열이 같으면 True를 return하고, 다르면 False를 return함

  7. Palindrome Checker • 구현 방법-2 • 앞과 뒤의 문자를 순차적으로 비교하기 • 맨 앞과 맨 뒤의 문자 비교함 • 같으면 앞에서 두 번째 문자와 뒤에서 두 번째 문자를 비교함 • 다르면 False를 return 함 • 위의 과정을 더 이상 비교할 문자가 없을 때까지 반복함

  8. 구현 예시 • 하지만! import/ method 사용 금지! 결과는 옆과 같이 나오면 됨 입력된 문자열을 List type으로 변환 List를 reverse method를 사용하여 반대로 재배열 만약 원래 문자열과 같으면 True 아니면 False를 반환

  9. 컴퓨터 개념 및 실습 1차 프로젝트 Palindrome Checker Newton/Raphson Method Calculator

  10. Newton/RaphsonMethod • Newton/RaphsonMethod 란? • 단일 변수 방정식의 근사 해를 구하는 해법 • 근을 구하고자 하는 함수를 f(x)라 한다. • f(x)위의 임의의 한 점 (x1, f(x1))에서의 접선의 x절편 x2를 구한다. • 위 과정을 반복하면 해의 근사값을 구할 수 있다. • Newton/Raphson Method의 과정 예시 • http://blog.naver.com/sunrise2575?Redirect=Log&logNo=150133215450

  11. 과정 예시

  12. 과정 예시 임의의 점

  13. 과정 예시

  14. 과정 예시

  15. 과정 예시

  16. 과정 예시

  17. 과정 예시

  18. 과정 예시

  19. 과정 예시

  20. Newton/RaphsonMethod • Newton/RaphsonMethod 구현하기 • 함수의 이름은 solNewtRaph • 입력은 int/float type 2개의 인자로 이루어진 tuple의 list(argument) • ex) [( 2.0, 3) , ( 4, 2), ( -2.0, 1.0), ( 2, 0)] • 반환 값은 float type(return value) • tuple의 앞 인자는 미지의 x에 대해 계수, 뒤 인자는 지수를 의미 • ex) (2, 3) -> • list의 각 인자는 더하기로 연결 • ex) [( 2, 3) , ( 4, 2), ( -2, 1), ( 2, 0)] ->

  21. Newton/Raphson Method • Newton/Raphson Method 구현하기 • 잘못된 형식의 입력은 들어오지 않는다고 가정 • 다항식의 해가 여러 개라면 그 중 하나만 구하면 됨 • 반환 값은구해진 근사해 xn에 대해 | f(xn) | < 0.0001이 될 때의 xn값 • import/method는 사용할 수 없음

  22. 구현 방법 • 구현 방법 • 여러 역할을 하는 함수를 조합한다. • (예시) • 입력 안에 섞여 있는 int/float type을 float type으로 통일시켜주는 함수 • 입력을 미분해주는 함수 • 식의 값을 계산해주는 함수 • 접선의 x절편을 구해주는 함수

  23. 결과 화면

  24. 컴퓨터 개념 및 실습 1차 프로젝트 Palindrome Checker Newton/Raphson Method Calculator

  25. Calculator • Calculator의 기능 • Sss다섯 가지의 연산을 수행함 • 다섯 개의 연산은 각각 아래와 같은 연산을 함 • “+”는 두 수의 덧셈 • “-”는두 수의 뺄셈 • “/”는두 수의 나눗셈 • 는 두 수의 곱셈 • “sqrt”는 한 수의 제곱근

  26. Calculator • Calculator의 구현하기 • 함수의 이름은 calculator • 함수의 입력은 연산자와 피연산자로 이루어진 tuple • 피연산자가2개이면 3개의 항을 가진 tuple • ex) • 피연산자가 하나이면 2개의 항을 가진 tuple • ex) “sqrt” • 반환 값은 string type • 알맞은 입력이 입력될 시는 float type의 연산 결과를 string type으로 변환하여 반환 • 잘못된 입력이 입력될 시는 알맞은 error message를 반환 • sqrt연산은 앞의 숙제인 Newton/Raphson Method를 이용 • Import / method는사용할 수 없음

  27. Calculator • 잘못된 입력의 종류 • 제시된 연산자 이외의 연산자가 입력될 때 • 피연산자에int혹은 float 이외의 type이 입력될 때 • 입력된 tuple의 항의 개수가 적거나 많을 때 • “/” 연산 시 분모가 0일 때 • sqrt연산 시 음수 값이 들어올 때 • 위의 경우에 해당하는 입력이 들어올 때 error message를 출력 • error message : “The input value is not correct.” • 이외의 잘못된 입력은 들어오지 않는 것으로 가정

  28. 결과 화면 올바른 입력 값에 대한 결과 화면

  29. 결과 화면 제공하지 않는 연산자 잘못된 입력 형식 잘못된 입력 항 갯수 “/” 연산에서 분모가 0 “sqrt”연산의 피연산자가 음수 잘못된 입력 값에 대한 결과 화면

  30. 보고서 제출 • 숙제에 대한 보고서 • 각각 숙제 별로 사용된 함수 및 그 설명 • 실행 과정 • 결과 출력 확인 • 어려웠던 점 / 해결 방법 • 프로젝트를 진행하며 느낀 점

  31. 제출 방법 • 과제 확인 • 제출 기한 • 5월 7일 수요일 자정 전(23:59)까지 • 1일 delay 당 5점씩 감점 • 제출 기한 일주일 후까지 제출 가능 • (5월 14일 pm 11:59까지 가능) • 제출 방법 • 메일 제목 : [컴개실과제]학번_이름 • ex) [컴개실과제]201410000_홍길동 • 첨부파일 : 학번_이름.zip으로 아래 파일들을 함께 압축하여 제출 • 소스코드 : 학번_이름_checkPalin.txt, 학번_이름_solNewtRaph.txt, 학번_이름_calculator.txt • 보고서: 한글/워드 중 택하여 학번_이름을 제목으로 함 • 메일 주소 : bjkim@archi.snu.ac.kr

More Related