32
Memory & Storage Architecture Lab. @ Seoul National University 컴컴컴 컴컴 컴 컴컴 1 컴 컴컴컴컴 Byoungjun Kim ([email protected]) Ansu Na([email protected]) School of Computer Science and Engineering Seoul National University

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

  • Upload
    elita

  • View
    92

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Memory & Storage Architecture Lab.@ Seoul National University

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

Byoungjun Kim ([email protected])

Ansu Na([email protected])

School of Computer Science and Engineering

Seoul National University

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

Memory & Storage Architecture Lab.@ Seoul National University

추가 내용

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

2

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

Memory & Storage Architecture Lab.@ Seoul National University

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

Palindrome Checker

Newton/Raphson Method

Calculator

3

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

Memory & Storage Architecture Lab.@ Seoul National University

Palindrome Checker

Palindrome 이란 ? 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 구문

• ex) “ASA”, “abba”, “12321”, “pop”, “LoL”,

4

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

Memory & Storage Architecture Lab.@ Seoul National University

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()

5

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

Memory & Storage Architecture Lab.@ Seoul National University

Palindrome Checker

구현 방법 -1

입력된 string 을 뒤집어서 비교하기• while 문을 이용하여 입력된 문자열을 뒤집음• 원래 입력된 문자열과 비교함• 두 문자열이 같으면 True 를 return 하고 , 다르면 False 를 return 함

6

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

Memory & Storage Architecture Lab.@ Seoul National University

Palindrome Checker

구현 방법 -2

앞과 뒤의 문자를 순차적으로 비교하기• 맨 앞과 맨 뒤의 문자 비교함

- 같으면 앞에서 두 번째 문자와 뒤에서 두 번째 문자를 비교함- 다르면 False 를 return 함

• 위의 과정을 더 이상 비교할 문자가 없을 때까지 반복함

7

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

Memory & Storage Architecture Lab.@ Seoul National University

구현 예시

입력된 문자열을 List type 으로 변환 List 를 reverse method 를 사용하여

반대로 재배열 만약 원래 문자열과 같으면 True 아니면

False 를 반환

8

하지만 !

import/ method 사용 금지 !

결과는 옆과 같이 나오면 됨

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

Memory & Storage Architecture Lab.@ Seoul National University

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

Palindrome Checker

Newton/Raphson Method

Calculator

9

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

Memory & Storage Architecture Lab.@ Seoul National University

Newton/Raphson Method

Newton/Raphson Method 란 ?

단일 변수 방정식의 근사 해를 구하는 해법• 근을 구하고자 하는 함수를 f(x) 라 한다 .

• f(x) 위의 임의의 한 점 (x1, f(x1)) 에서의 접선의 x 절편 x2 를 구한다 .

• 위 과정을 반복하면 해의 근사값을 구할 수 있다 .

Newton/Raphson Method 의 과정 예시• http://blog.naver.com/sunrise2575?Redirect=Log&logNo=150133215450

10

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

11

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

12

임의의 점

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

13

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

Memory & Storage Architecture Lab.@ Seoul National University

14

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

15

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

16

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

17

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

18

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

19

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

Memory & Storage Architecture Lab.@ Seoul National University

과정 예시

20

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

Memory & Storage Architecture Lab.@ Seoul National University

Newton/Raphson Method

Newton/Raphson Method 구현하기

함수의 이름은 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

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

Memory & Storage Architecture Lab.@ Seoul National University

Newton/Raphson Method

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

22

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

Memory & Storage Architecture Lab.@ Seoul National University

구현 방법

구현 방법 여러 역할을 하는 함수를 조합한다 .

• ( 예시 )- 입력 안에 섞여 있는 int/float type 을 float type 으로 통일시켜주는 함수- 입력을 미분해주는 함수- 식의 값을 계산해주는 함수- 접선의 x 절편을 구해주는 함수

23

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

Memory & Storage Architecture Lab.@ Seoul National University

결과 화면

24

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

Memory & Storage Architecture Lab.@ Seoul National University

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

Palindrome Checker

Newton/Raphson Method

Calculator

25

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

Memory & Storage Architecture Lab.@ Seoul National University

Calculator

Calculator 의 기능 Sss 다섯 가지의 연산을 수행함 다섯 개의 연산은 각각 아래와 같은 연산을 함

• “+” 는 두 수의 덧셈• “-” 는 두 수의 뺄셈• “/” 는 두 수의 나눗셈• 는 두 수의 곱셈• “sqrt” 는 한 수의 제곱근

26

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

Memory & Storage Architecture Lab.@ Seoul National University

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

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

Memory & Storage Architecture Lab.@ Seoul National University

Calculator

잘못된 입력의 종류 제시된 연산자 이외의 연산자가 입력될 때 피연산자에 int 혹은 float 이외의 type 이 입력될 때 입력된 tuple 의 항의 개수가 적거나 많을 때 “/” 연산 시 분모가 0 일 때 sqrt 연산 시 음수 값이 들어올 때

위의 경우에 해당하는 입력이 들어올 때 error message 를 출력 error message : “The input value is not correct.”

이외의 잘못된 입력은 들어오지 않는 것으로 가정

28

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

Memory & Storage Architecture Lab.@ Seoul National University

결과 화면

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

29

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

Memory & Storage Architecture Lab.@ Seoul National University

결과 화면

잘못된 입력 값에 대한 결과 화면

30

제공하지 않는 연산자잘못된 입력 형식

잘못된 입력 항 갯수

“/” 연산에서 분모가 0

“sqrt” 연산의 피연산자가 음수

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

Memory & Storage Architecture Lab.@ Seoul National University

보고서 제출

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

31

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

Memory & Storage Architecture Lab.@ Seoul National University

제출 방법

과제 확인 제출 기한

• 5 월 7 일 수요일 자정 전 (23:59) 까지• 1 일 delay 당 5 점씩 감점• 제출 기한 일주일 후까지 제출 가능

- (5 월 14 일 pm 11:59 까지 가능 )

제출 방법• 메일 제목 : [ 컴개실과제 ] 학번 _ 이름

- ex) [ 컴개실과제 ]201410000_ 홍길동• 첨부파일 : 학번 _ 이름 .zip 으로 아래 파일들을 함께 압축하여 제출

- 소스코드 : 학번 _ 이름 _checkPalin.txt, 학번 _ 이름 _solNewtRaph.txt, 학번 _ 이름 _calculator.txt- 보고서 : 한글 / 워드 중 택하여 학번 _ 이름을 제목으로 함

• 메일 주소 : [email protected]

32