• 검색 결과가 없습니다.

기본 구성

N/A
N/A
Protected

Academic year: 2022

Share "기본 구성"

Copied!
53
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제 2 주:

©

J.-H. Kang, CNU

강 지 훈

jhkang@cnu.ac.kr

충남대학교 컴퓨터공학과

기본 구성

(2)

©

J.-H. Kang, CNU

이차방정식의 해를 구해보자!

이차방정식의 해를 구해보자

2

(3)

©

J.-H. Kang, CNU

 문제: 이차방정식의 해

 종이와 연필로!

위의 표현은 이차방정식의 해를 구하는 방법 자체를 보 여주고 있다.

어떤 문제의 해결 방법을 알고리즘(algorithm)이라고 한 다.

이차방정식의 해를 구해보자

3

a D x b

a D x b

ac b

D

a c

bx ax

2 2

,

.

4

.)

0 (

, 0

2 2

 

 

또는 그러면

하자 이라고

가정한다

이라고

(4)

©

J.-H. Kang, CNU

 무엇을 주고, 무엇을 받을 것인가?

 누구에게?

문제를 풀어야 할 자에게!

그것이 나라면 나에게.

그것이 컴퓨터라면 컴퓨터에게.

 IN (Input)

이차 방정식의 해를 구하기 위해 주어져야 할 정보는?

 OUT (Output)

(컴퓨터가) 내어놓을 답은?

이차방정식의 해를 구해보자

4

(5)

©

J.-H. Kang, CNU

 무엇을 주고, 무엇을 받을 것인가?

 IN (Input)

이차 방정식의 해를 구하기 위해 주어져야 할 정보는?

이차방정식의 계수들의 값 3 개

 OUT (Output)

컴퓨터가 내어놓을 답은?

방정식의 해 2 개

이차방정식의 해를 구해보자

5

(6)

©

J.-H. Kang, CNU

 그런 즉,

 제1단계:

컴퓨터가 계산에 필요한 정보를 외부에서 제공한다.

 제2단계:

컴퓨터는 알고리즘에 근거하여 작성된 프로그램을 실행 하여 답을 계산한다.

그 계산 결과는 컴퓨터 안에 존재하게 된다.

 제3단계:

계산 결과를 컴퓨터 바깥으로 꺼내어 확인한다.

눈으로: 화면에 글자나 그림으로

귀로: 스피커를 통해 소리로

눈으로 종이에 인쇄된 글자나 그림으로

이차방정식의 해를 구해보자

6

(7)

©

J.-H. Kang, CNU

 어떻게 계산하는가?

 누가 계산하는가?

컴퓨터가!

 누가/어떻게 시키는가?

누가? 내가!

어떻게? (Java 언어로) 프로그램을 만들어 시킨다!

 HOW? (Compute / Execute)

판별식의 값을 먼저 계산한다.

판별식의 값을 이용하여 두 개의 해를 각각 계산한다.

이차방정식의 해를 구해보자

7

(8)

©

J.-H. Kang, CNU

 데이터의 표현

 문제를 해결하기 위해서는,

(INPUT) 컴퓨터에게 필요한 정보를 제공해야 하며,

(STORE) 컴퓨터는 내부에 그 정보를 적절한 형태로 가 지고 있어야 하며,

(COMPUTE) 필요에 따라 이 정보를 활용하여 새로운 정 보를 계산하거나 만들어 내어야 하며,

(OUTPUT) 최종적인 결과를 출력해 내야 한다.

 문제를 해결하기 위해서는 데이터를 잘 표현하는 것이 매우 중요하다.

어디에? 컴퓨터의 내부에 (컴퓨터의 메모리에)!

어떤 종류의 것들을?

어떻게?

이차방정식의 해를 구해보자

8

(9)

©

J.-H. Kang, CNU

 이 문제에 필요한 데이터는 어떻게 표현?

 이차방정식의 계수

숫자이다.

좀더 엄밀히, 실수이다.

컴퓨터는 계산을 효율적으로 하기 위해 실수와 정수를 다르게 표현하며, 계산 방식도 다르다.

수학적으로는 정수도 실수이지만, 컴퓨터에서는 정수는 정수이 고, 실수는 실수이다.

그러므로 이제부터는 이 둘은 다르다고 생각하라.

그러므로 계수는 컴퓨터 안에 실수로 표현한다.

 방정식의 해는?

역시 실수이다.

컴퓨터 안에 실수로 표현한다.

이차방정식의 해를 구해보자

9

(10)

©

J.-H. Kang, CNU

 필요한 데이터는?

 컴퓨터는 메모리에 데이터를 저장한다.

메모리에서 필요한 만큼의 공간에 우리는 (Java 언어를 이용하여) 이름을 붙일 수 있다.

이름이 붙은 메모리 공간은 마치 수학의 변수와 비슷하 여, 우리는 변수(variable)라고 부른다.

 어떤 변수들이 필요할까?

3 개의 계수값을 입력 받는다. 이들을 저장할 변수가 필 요

3 개의 계수값을 저장할 변수를 각각 a, b, c 로 이름을 붙이자.

판별식의 값을 계산하여 저장할 변수가 필요

determinant로 이름을 붙이자.

해를 계산한 결과는 2 개가 되므로 이들을 저장하려면 2 개의 변수가 필요

각각 x1, x2 로 이름을 붙이자.

이차방정식의 해를 구해보자

10

(11)

©

J.-H. Kang, CNU

내 컴퓨터 메모리

 필요한 변수들을 메모리에 표현

이차방정식의 해를 구해보자

11

a determinant

c b

x2

x1

(12)

©

J.-H. Kang, CNU

 메모리를 어떻게 이용할 수 있는가?

 (Store / Write) 값을 저장할 수 있다.

변수 a 에 1.0을 저장하면?

 (Retrieve / Read) 값을 꺼내어 사용할 수 있다.

(a+b)를 계산한다. (수학의 변수처럼 사용!)

이차방정식의 해를 구해보자

12

a ?

저장 전

a 1.0

저장 후

a 1.0

b 2.0 1.0 + 2.0 3.0

(13)

©

J.-H. Kang, CNU

 계산은?

 이차방정식의 해를 계산하자.

세 개의 계수값을 입력 받는다.

컴퓨터 외부로부터 (키보드와 같은 것을 사용하여) 값을 입력하 는 것은 아직은 조금 더 배워야 한다.

지금은 메모리의 변수에 값을 직접 넣어 놓고 시작하자.

메모리 a (변수 a)에 1.0을 저장한다.

메모리 b (변수 b)에 0.0을 저장한다.

메모리 c (변수 c)에 -4.0을 저장한다.

이차방정식의 해를 구해보자

13

a 1.0 b 0.0 c -4.0

(14)

©

J.-H. Kang, CNU

 계산은? [계속]

판별식의 값을 계산한다.

(b*b – 4.0*a*c) 계산하여 변수 determinant에 저장한다.

(b*b – 4.0*a*c)

= (0.0*0.0 – 4.0*1.0*(-4.0))

= 16.0

알아두자.

컴퓨터 언어에서는, 우리가 잘 알고 있는 곱셈 기호(×)와 영문자 x 를 구분하기 어려워서, 곱셈 기호는 별표(*)를 사용한다.

두 개의 해를 계산한다.

(-b+Math.sqrt(determinant))/(2.0*a)

// Math.sqrt()는 제곱근을 계산하는 함수

(-b-Math.sqrt(determinant))/(2.0*a)

이차방정식의 해를 구해보자

14

16.0

determinant

(15)

©

J.-H. Kang, CNU

 계산은? [계속]

계산된 2 개의 해를 저장한다.

x1 = (-b+Math.sqrt(determinant))/(2.0*a) ;

x1 의 값은 2.0

x2 = (-b-Math.sqrt(determinant))/(2.0*a) ;

x2 의 값은 -2.0

Math.sqrt()는 제곱근을 계산하는 함수

이차방정식의 해를 구해보자

15

a 1.0

16.0 determinant

-4.0 0.0 c

b

-2.0 2.0 x2

x1

(16)

©

J.-H. Kang, CNU

 출력(Output) 은?

 계산 결과인 이차방정식의 해 두 개는 변수 x1과 x2에 각각 저장되어 있다.

 이것을 화면에 출력하면 우리는 그 결과를 확인 할 수 있을 것이다.

 화면에 출력은 어떻게?

System.out.println() 함수를 사용한다.

System.out.println

("The solution is either " + x1 + " or " +x2) ;

이차방정식의 해를 구해보자

16

(17)

©

J.-H. Kang, CNU

자료형 (Data Type)

자료형

17

(18)

©

J.-H. Kang, CNU

 어떤 형태의 데이터를 주로 사용하는가 [1]

 컴퓨터에서 기본적으로 사용하는 데이터의 종류

실수 (real number / floating point number)

정수 (integer / fixed point number)

문자 (character)

논리값 (boolean value (true,false) )

 잠깐 미리!

세상의 문제를 풀기 위해서는 기본적인 것보다 복잡한 데이터들이 많이 존재한다.

복잡한 데이터를 다루기 위해, 우리는 그러한 자료의 형 태를 만들어 사용할 수 있다.

나중에 보게 될 것이다.

자료형

18

(19)

©

J.-H. Kang, CNU

 숫자 데이터

 실수 (real number / floating point number)

0.0, -2.5, +1234567.0, 3.121592

 정수 (integer / fixed point number)

0, -25, +1234567

 이들은 컴퓨터가 산술연산에 사용할 수 있다.

덧셈, 뺄셈, 곱셈, 나눗셈

자료형

19

(20)

©

J.-H. Kang, CNU

 문자 데이터 [1]

 문자 (character)

키보드에서 치면, 그대로 화면에 보이고, 그대로 인쇄도 된다.

영문자 (Alphabet)

A, B, … , Z, a, b, c, …, z

특수문자 (Special characters)

~, !, @, … , -, +

숫자문자 / 숫자형태의 문자 (Numeric characters)

0, 1, 2, 3, … , 9

 문자는 산술 연산이 불가능하다.

숫자문자는 문자이지 숫자가 아니므로 연산이 불가능하 다.

자료형

20

(21)

©

J.-H. Kang, CNU

 문자 데이터 [2]

 프로그램에서 숫자 표현의 문제

우리는 한 자리의 숫자(number)와 한 개의 숫자문자 (numeric character)를 어떻게 구분하여 컴퓨터에게 정 확히 전달할 수 있을까?

숫자(number): 0, 1, 2, … , 9

숫자문자 (numeric character): ‘0’, ‘1’, ‘2’, … , ‘9’

 프로그램에서 영문자와 특수문자의 표현 문제

이들도 우리가 배우려는 Java 언어에서 특정 목적을 위 해 사용하기도 한다.

예를 들어 + 기호는 덧셈을 나타내기 위해 사용한다.

 모든 문자 데이터는 따옴표로 묶어서 표현한다.

영문자: ‘A’, ‘B’, ‘C’, … ‘Z’, ‘a’, ‘b’, ‘c’, … , ‘z’

특수문자: ‘~’, ‘!’, ‘@’, … , ‘-’, ‘+’

자료형

21

(22)

©

J.-H. Kang, CNU

 자료형 (Data type) [1]

 하나의 변수 안에 모든 종류의 값을 넣을 수 있을 까?

변수를 만들면 우리는 그 안에 값을 넣을 수 있다.

숫자를 넣었다가, 문자를 넣을 수 있을까?

실수를 넣었다가, 정수를 넣을 수 있을까?

 컴퓨터의 메모리에는 미리 정한 한 가지 종류의 데이터만 넣도록 하고 있다.

[컴퓨터]가 데이터를 효율적으로 처리하기 위해

[사용하는 사람] 일관성 있는 사용으로 데이터 관리의 오류를 줄이기 위해

왜 그런지는 차차 배우게 될 것이다……

자료형

22

(23)

©

J.-H. Kang, CNU

 자료형 (Data type) [2]

 예:

이차방정식의 계수를 나타내는 이 세 변수는 모두 실수 형이 적정할 것이다.

일단 실수형 값을 저장하기로 미리 정했으면, 여기에는 문자는 물론 정수도 넣을 수 없다.

 Java 언어에서 사용할 수 있는 기본 자료형

정수형 (integer type)

실수형 (double/float type)

문자형 (character type)

불리언형 (boolean type)

자료형

23

a 1.0 b 0.0 c -4.0

(24)

©

J.-H. Kang, CNU

 자료형 (Data type) [3]

 사용자가 정의한 자료형 (User-defined data type)

필요에 따라 좀 더 복잡한 정보를 저장할 수 있는 자료 형을 사용자가 만들어 사용할 수 있다. (앞으로 알게 될 것이다.)

예: 학생의 정보를 저장한다면?

<학번, 이름, 소속학과>

자료형

24

(25)

©

J.-H. Kang, CNU

Java 프로그램의 주요 구성 요소

Java 프로그램의 주요 구성 요소

25

(26)

©

J.-H. Kang, CNU

 Java 프로그램의 구성 요소

 상수 (Constant)

 변수 (Variable)

 수식 (Expression)

 문장 (Statement)

선언문 (Declaration statement)

저장문 (Assignment statement)

주석문 (Comment)

...

 함수 (Function)

입/출력을 위한 함수

System.out.print(), System.out.println()

수학 함수

Math.sqrt()

……

Java 프로그램의 주요 구성 요소

26

(27)

©

J.-H. Kang, CNU

 상수 (Constant)

 프로그램 실행 중에 변하지 아니하는 값, 또는 변 하지 않는 값으로 표현된 것.

 값의 타입에 따라 구분될 수 있다.

정수(형) 상수: 123, -237, +94 , 등

실수(형) 상수: 3.5, -0.00824, +94. , 등

문자(형) 상수: 'a', '0', '*', 등

문자열(형) 상수: "abc", "Java 프로그램", 등

Java 프로그램의 주요 구성 요소

27

(28)

©

J.-H. Kang, CNU

 변수 (variable)

 변수는 프로그램 실행 중에 필요한 정보를 저장하 는 장소이다.

컴퓨터의 메모리에 존재하게 된다.

 모든 변수는 사용 전에 반드시 선언되어야 한다.

변수는 선언문을 이용하여 선언한다.

 모든 변수는 저장되는 값의 형(type)이 미리 지정 된다.

그러므로 동일한 변수에 처음에는 정수값을 저장했다가, 나중에 실수값을 저장하는 것은 불가능하다.

Java 프로그램의 주요 구성 요소

28

(29)

©

J.-H. Kang, CNU

예제: 실수형의 사용

예제: 실수형의 사용

29

(30)

©

J.-H. Kang, CNU

 실수형의 사용 예제 [1]

프로그램 예제

public static void main() { double width ; double height ; double area ; width = 3.5 ; height = 2.2 ;

System.out.print ("가로가 " + width + " 미터이고 ") ; System.out.println ("세로가 ", height, " 미터일 때,") ; area = width * height ;

System.out.println ("넓이는 “ + area + " 제곱 미터입니다.") ; }

실행 결과

예제: 실수형의 사용

30

가로가 3.5 미터이고 세로가 2.2 미터일 때, 넓이는 7.7 제곱 미터입니다.

(31)

©

J.-H. Kang, CNU

 실수형의 사용 예제 [2]

public static void main(String[] args)

{ double width ; // 실수 변수의 선언 double height ;

double area ; width = 3.5 ; height = 2.2 ;

area = width * height ;

System.out.println ("넓이는 " + area +" 제곱 미터입 니다. ") ;

}

예제: 실수형의 사용

31

주석 (comment):

• 프로그램의 내용에는 전혀 영 향을 주지 않는다.

• “//”로 시작하며, 그 줄의 끝까 지가 주석의 범위이다.

• 주로 프로그램 자체를 설명하 기 위한 목적으로 사용한다.

(32)

©

J.-H. Kang, CNU

 실수형의 사용 예제 [3]

public static void main(String[] args) { double width ;

double height ; double area ; width = 3.5 ; height = 2.2 ;

area = width * height ;

System.out.println ("넓이는 " + area +" 제곱 미터입 니다. ") ;

}

예제: 실수형의 사용

32

• 실수 변수들의 선언

• 실수 상수들

• 수식(expression)

• width와 height의 값의 곱이 수식 의 값이다.

• 등호의 오른쪽에는 이러한 산술식 (arithmetic expression)이 오게 된 다.

(33)

©

J.-H. Kang, CNU

 프로그램의 실행 [1]

 컴파일러에 의해 번역된 바이트코드 프로그램은 Java 가상기계의 도움으로 실행이 시작된다.

 특별히 명시되지 않는 한, Java 프로그램의 문장은 위에서 아래로 순서대로 실행된다.

한 줄에 여러 개의 문장이 있는 경우에는 왼쪽에서 오른 쪽으로 실행된다.

 특별한 경우로, 조건에 따라 선택적으로 실행을 하 거나, 반복 실행을 할 수 있다.

예제: 실수형의 사용

33

(34)

©

J.-H. Kang, CNU

 프로그램의 실행 [2]

(예) 프로그램 실행 순서

(1) public static void main(String[] args) (2) {

(3)

double width ; // 실수 변수 선언 (4) double height ;

(5) double area ; (6) width = 3.5 ; (7) height = 2.2 ;

(8) System.out.print (“가로가 ”+width+“미터이고 ”) ; (9) System.out.println (“세로가 ”+height+“미터일 때,”) ; (10) area = width * height ;

(11) System.out.println (“넓이는 ”+area+“ 제곱 미터입니다.”) ; (12) }

예제: 실수형의 사용

34

(35)

©

J.-H. Kang, CNU

 문장의 실행: 선언문 [1]

 선언문(declaration statement)

선언된 변수는 컴퓨터의 메인 메모리에 공간이 확보된 다.

(예) double width;

실수 하나를 저장할 수 있는 공간이 메모리에 확보되고, 그 공간 의 이름이 width가 된다.

예제: 실수형의 사용

35

width

(36)

©

J.-H. Kang, CNU

 문장의 실행: 저장문 [1]

 저장문 (assignment statement)

수행방법

등호(=)의 오른쪽의 수식을 계산한다.

그 계산 결과를 등호의 왼쪽의 변수를 위한 메모리 공간에 저장 한다.

(예) width = 3.5 ;

예제: 실수형의 사용

36

3.5 3.5 width

수식의 계산

3.5 = 3.5

(37)

©

J.-H. Kang, CNU

 문장의 실행: 저장문 [2]

 (예) area = width * height ;

예제: 실수형의 사용

37

3.5 width

2.2 height

area

수식의 계산 7.7 7.7

3.5 * 2.2

=

(38)

©

J.-H. Kang, CNU

 산술식 (arithmetic expression) [1]

 산술 연산자 (arithmetic operator)

사칙연산자

+, -, *, /

사칙연산자의 우선순위

곱셈과 나눗셈을 덧셈과 뺄셈보다 먼저 계산한다.

연산자의 우선순위가 같을 경우에는 왼쪽에서 오른쪽으로 순 서대로 계산한다.

 예제: 6 + 9 / 3 * 4 - 5

예제: 실수형의 사용

38

3

12 18

13

(39)

©

J.-H. Kang, CNU

 산술식 [2]

 연산자의 우선순위를 무시하고 연산의 순서를 정 하기 위하여 괄호를 사용할 수 있다.

연산자의 우선순위를 몰라도 괄호 만으로 원하는 우선 순위를 정할 수 있다.

 예제: (6 + 9) / (3 * (4 - 5))

예제: 실수형의 사용

39

15 -1

-3

-5

(40)

©

J.-H. Kang, CNU

 프로그램 예제: 이차방정식의 해 [2]

public static void main() { double a, b, c ;

double determinant ; double x1, x2 ;

a = 1.0 ; b = 0.0 ; c = -4.0 ;

System.out.println ("a=“ + a + “ b=“ + b +“ c=“ + c) ; determinant = b*b - 4.0*a*c ;

x1 = (-b + Math.sqrt(determinant)) / (2.0*a) ; x2 = (-b - Math.sqrt(determinant)) / (2.0*a) ;

System.out.println("The solution is either"+x1+" or "+x2) ; }

실행 결과

예제: 실수형의 사용

40

a=1.0 b=0.0 c=4.0

The solution is either 2.0 or -2.0

(41)

©

J.-H. Kang, CNU

 프로그램 예제: 이차방정식의 해 [3]

public static void main(String[] args) { double a, b, c ;

double determinant ; double x1, x2 ;

a = 1.0 ; b = 0. ; c = -4.0 ;

System.out.println ("a="+ a + " b=" + b + " c=" + c) ; determinant = b*b-4.0*a*c ;

x1 = (-b + Math.sqrt(determinant))/(2.0*a) ; x2 = (-b + Math.sqrt(determinant))/(2.0*a) ;

System.out.println("The solution is either"+x1+" or "+x2) ; }

예제: 실수형의 사용

41

• 제곱근을 계산하는 함수이다.

• 미리 만들어져 있어서 사용자에게 제공된다.

(42)

©

J.-H. Kang, CNU

[제2주 실습]

데이터의 표현

실습: 데이터의 표현

42

(43)

©

J.-H. Kang, CNU

 실습 [프로그램 2-1]

 이차방정식의 해 구하기

앞에서 설명된 프로그램 사용

계수를 바꾸어가면서 다음의 경우에 대해 실행해본다.

두 개의 서로 다른 실근이 존재하는 경우

두 개가 동일한 실근, 즉 중근이 존재하는 경우

실근이 존재하지 않는 경우

특별히, 이 경우에 프로그램을 수행했을 경우 어떤 현상이 발 생하는지, 경험한 그대로를 기록할 것.

위의 세가지 경우에 대해 서로 다른 계수 2 가지씩 정해 서 프로그램을 변경하여 실행할 것

실습: 데이터의 표현

43

(44)

©

J.-H. Kang, CNU

 실습 [프로그램 2-2]

 [문제] 1부터 5까지의 합을 다음과 같이 출력한다.

실습: 데이터의 표현

44

1부터 1까지의 합은 1입니다.

1부터 2까지의 합은 3 입니다.

1부터 3까지의 합은 6 입니다.

1부터 4까지의 합은 10 입니다.

1부터 5까지의 합은 15 입니다.

(45)

©

J.-H. Kang, CNU

 생각할 점 [1]

 알고리즘은?

1

1+2

1+2+3

1+2+3+4

1+2+3+4+5

 쉽게 처리하는 방법?

매번 출력하기 전에 1부터 해당 숫자까지의 합을 계산 한다.

그 합을 출력한다.

실습: 데이터의 표현

45

(46)

©

J.-H. Kang, CNU

 필요한 변수는?

 매 출력 단계에서 합을 계산한 값을 저장하려면?

변수 sum

sum = 1 ;

System.out.println(……);

sum = 1 + 2 ;

System.out.println(……);

sum = 1 + 2 + 3 ;

System.out.println(……);

……

 이들은 정수형인가 실수형인가?

실습: 데이터의 표현

46

(47)

©

J.-H. Kang, CNU

 생각할 점 [2]

 좀더 효과적인 방법은?

첫번째 출력 단계에서 1까지의 합을 계산했다.

그 다음 두번째 출력을 위해서는, 앞 단계에서 계산한 합에 2를 더하면 그 합을 계산할 수 있다.

그러면, 세번째 출력을 위해서는, 어떻게?

실습: 데이터의 표현

47

(48)

©

J.-H. Kang, CNU

 생각할 점 [3]

 좀더 효과적인 방법은?

첫번째 출력 단계에서 1까지의 합을 계산했다.

그 다음 두번째 출력을 위해서는, 앞 단계에서 계산한 합에 2를 더하면 그 합을 계산할 수 있다.

그러면, 세번째 출력을 위해서는, 어떻게?

 이렇게?

sum = 0;

sum = sum+1; 그리고 sum 값을 출력;

sum = sum+2; 그리고 sum 값을 출력;

sum = sum+3; 그리고 sum 값을 출력;

sum = sum+4; 그리고 sum 값을 출력;

sum = sum+5; 그리고 sum 값을 출력;

실습: 데이터의 표현

48

(49)

©

J.-H. Kang, CNU

 효과적이란?

 각 프로그램은 계산을 얼마나 했나?

덧셈(+)과 저장(=)을 각 1회로 세어보자.

예:

sum = 1 + 2+ 3+ 4 ;

덧셈 3번, 저장 1번, 모두 4번의 연산

sum = sum + 1;

덧셈 1번, 저장 1번, 모두 2번의 연산

 어느 프로그램이 계산 회수가 적은가?

실습: 데이터의 표현

49

(50)

©

J.-H. Kang, CNU

 실습 [프로그램 2-3]

 [문제] 1부터 10까지의 제곱의 합을 다음과 같이 출력한다.

실습: 데이터의 표현

50

1부터 1까지의 제곱의 합은 1입니다.

1부터 2까지의 제곱의 합은 5 입니다.

1부터 3까지의 제곱의 합은 14 입니다.

1부터 4까지의 제곱의 합은 30 입니다.

1부터 5까지의 제곱의 합은 55 입니다.

1부터 6까지의 제곱의 합은 91 입니다.

1부터 7까지의 제곱의 합은 140 입니다.

1부터 8까지의 제곱의 합은 204 입니다.

1부터 9까지의 제곱의 합은 285 입니다.

1부터 10까지의 제곱의 합은 385 입니다.

(51)

©

J.-H. Kang, CNU

 생각할 점

 필요한 변수는?

 변수의 자료형은?

 알고리즘은?

1*1

1*1+2*2

1*1+2*2+3*3

1*1+2*2+3*3+4*4

1*1+2*2+3*3+4*4+5*5

1*1+2*2+3*3+4*4+5*5+6*6

……

실습: 데이터의 표현

51

(52)

©

J.-H. Kang, CNU

 계산 회수는?

 자신의 프로그램을 보고,

덧셈(+), 곱셈(*), 저장(=)을 각 1회로 하여 세어보자.

동일한 일을 하면서, 계산을 더 줄일 수 있는 부분이 있 는가?

있다면 줄여보도록 하라.

“모든 보고서에는,

실습 설명 슬라이드에 있는 질문에 대해서 자신의 의견을 반드시 서술할 것!”

실습: 데이터의 표현

52

(53)

©

J.-H. Kang, CNU

[제2주] 끝

프로그램의 기본 구성

기본 구성

53

참조

관련 문서

• 정확한 답이 필요한지 아니면 근사적인 답이 필요한지에 따라 적절 한 계산 과정을 선택하도록 가르칠 필요... -교구를 활용함으로써 기호로

기본 임무 - 공공질서유지 및 범죄행위로부터 시민의 생명과 기본 임무 - 공공질서유지 및 범죄행위로부터 시민의 생명과 재산 보호.. 치안혼란을 해결하기 위해

서비스의 특성 및 고유성을 충분 히 인식한 기반 위에서 서비스가 고객과 바람직하고 효율적으로 교환되도록 하기 위한 일체의 모든 제반 활동.  서비스 마케팅은

기계적인 단순 반복 계산 훈련을 막기 위해서라기보다 더욱 빠르고 정확하게 문제를 해결하는 계산력 향상을 위해서입 니다.. 빠르고 정확한

 종합소득이 있는 거주자의 기본공제대상에 해당하는 자녀에 대해서 다음의 구분에 따른 금액을 종합소득

경영목표 달성을 위해 경영자원을 효율적으로 관리하고 경영기능이 제대로 기능을

화학량론적 계산:

따라서 는 전사준동형사상이다.. 따라서 보조정리는 성립 한다..