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

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
Excel 일차 강사 : 박영민.
Chapter 7. 조건문.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
컴퓨터 프로그래밍 기초 [Final] 기말고사
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
P150 문제를 프로그래밍 할 것 Source file (헤더파일포함), 실행화면 (학번_이름_1.txt)
Heesang kim PL/SQL 3 Heesang kim.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
Computer Architecture HW #3
Tail-recursive Function, High-order Function
공학컴퓨터프로그래밍 Python 염익준 교수.
11장. 1차원 배열.
C#.
C 프로그래밍 C언어 (CSE2035) (Chap11. Derived types-enumerated, structure, and union) (1-1) Sungwook Kim Sogang University Seoul, Korea Tel:
JA A V W. 03.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
C 언어 교육 02 주차 – scanf & 반복문과 조건문 교육부장 조하정.
어서와 C언어는 처음이지 제14장.
컴퓨터 개론 및 실습 2차 프로젝트 Byoungjun Kim
Report #3 - due: 4/6 100*100의 2개의 희소 행렬 A, B를 전달 받아서 이들의 덧셈을 구하고, 그 결과의 행렬 C를 반환하는 add_sparse_matrix(A, B, C)를 다음과 같이 작성하라. 희소 행렬은 sparse_matrix 타입으로 표현된다.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
연산자 (Operator).
Metal Forming CAE Lab., Gyeongsang National University
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
제곱근의 곱셈과 나눗셈 제곱근의 곱셈과 나눗셈 a > 0, b > 0 일 때, √ 3 √ 5 √15 3 √ 5
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
8주차: Strings, Arrays and Pointers
Files and Exceptions Byoungjun Kim
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
계산기.
객체기반 SW설계 팀활동지 4.
^^ Computer Programming 2 dmpr.cnu.ac.kr/~daygax.
2nd day Indexing and Slicing
Chapter08 JavaScript 시작하기
제 15 강 문자와 코드 shcho.pe.kr.
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
05. General Linear List – Homework
[INA240] Data Structures and Practice
Lecture 02 프로그램 구조 및 문법 Kwang-Man Ko
Chapter 10 데이터 검색1.
함수, 모듈.
Python.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
TERM PROJECT 최종 보고 발표 안내 2010 컴퓨터공학실험(Ⅰ).
수치해석 ch3 환경공학과 김지숙.
제 29 강 스트링(string) 다루기 s a i s . s T i h t g r i n.
김선균 컴퓨터 프로그래밍 기초 - 12th : 문자열 - 김선균
어서와 C언어는 처음이지 제21장.
Prof. Kyungshik Lim Kyungpook National University
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

과정 예시

과정 예시 임의의 점

과정 예시

과정 예시

과정 예시

과정 예시

과정 예시

과정 예시

과정 예시

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

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

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

결과 화면

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

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

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는 사용할 수 없음

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

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

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

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

제출 방법 과제 확인 제출 기한 제출 방법 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