• 검색 결과가 없습니다.

7주차 3강. 함수 및 변수를 활용한 프로그래밍 실습

N/A
N/A
Protected

Academic year: 2022

Share "7주차 3강. 함수 및 변수를 활용한 프로그래밍 실습"

Copied!
17
0
0

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

전체 글

(1)

현승일 교수

7주차 3강. 함수 및 변수를 활용한 프로그래밍 실습

(2)

학습내용

학습목표

1. 함수의 parent-child 프로그래밍 실습 2. 재귀함수 프로그래밍 실습

3. 다양한 변수를 활용한 프로그래밍 실습 4. 프로그래밍 실습

1. 함수의 parent-child 관계 프로그램을 작성할 수 있다.

2. 재귀함수를 이용한 프로그램을 작성할 수 있다.

3. 다양한 변수를 활용하여 프로그램을 작성할 수 있다.

4. 함수 및 변수를 활용한 프로그램을 작성할 수 있다.

(3)

함수의 parent-child 프로그램 실습

함수의 원형 선언

함수의 parent – child 관계

함수 호출 및 값을 주고, 주고 받는 방법 이해

1. 함수의 parent-child 프로그래밍 실습

(4)

재귀함수 프로그래밍 실습

2. 재귀함수 프로그래밍 실습

Factorial을 구하는 프로그램 작성

- Factorial : n! = n * (n-1) * (n-2) * … * 2 * 1

- 재귀호출을 이용하여 프로그램을 작성

(5)

다양한 변수를 활용한 프로그래밍 실습

3. 다양한 변수를 활용한 프로그래밍 실습

로컬변수, 전역변수의 개념을 이해

전역변수를 사용하여 수행한 기능을 static 변수를 이용하도록

프로그램을 변경시켜 봄

(6)

학습하기가 끝났습니다.

다음페이지 버튼을 클릭하여

평가문항을 풀어보세요. 4. 프로그래밍 실습

※ 자료실에서 프로그램 소스 코드를 다운로드 받으세요.

(7)

실습

4. 프로그래밍 실습(1)

parent-child(1)

1. C언어에서는 main() 함수가 가장 먼저 실행이 된다.

2. main()에서 호출하는 함수는 항상 위쪽에 있어야 한다. (아래에 있는 경우는 함수 원형 선언 필수) 3. 함수는 여러 개를 계속 호출이 가능하다. (parent-child 개념)

(8)

실습

4. 프로그래밍 실습(2)

4. main() 함수에서 cal_annual_salary() 함수 호출 시 매개변수 전달 방식을 이해한다.

5. cal_annual_salary() 함수에서 매개변수를 이용하여 값을 계산하고, 이를 다시 child 함수 (cal_tex()에 전달이 가능하다.

parent-child(2)

(9)

실습

4. 프로그래밍 실습(3)

6. main()의 서브함수인 cal_annual_salary()에서 호출된 cal_tex() 함수는 매개변수를 이용하여 값을 계산하고, 이를 다시 호출함수로 넘겨준다. (child → parent)

7. cal_annual_salary() 함수는 cal_tex() 함수에서 받은 값을 다시 main() 함수로 넘겨준다.

parent-child(3)

(10)

실습

4. 프로그래밍 실습(4)

재귀함수(1)

1. 재귀함수란 자기자신을 호출하는 함수를 말한다.

2. 재귀함수는 factorial 계산, fibinacci 수열 등의 계산 시 효율이 높은 방법이다.

3. main() 함수에서의 호출은 factorial(num)과 같이 단순한 형태로 이루어진다.

(11)

실습

4. 프로그래밍 실습(5)

4. Factorial 함수는 5! = 5 * 4 * 3 * 2 * 1과 같은 형태의 계산을 수행한다.

5. 5!의 경우 첫 번째 수행 시 return 5 * Factorial (5-1)과 같이 진행된다.

6. 이후에도 자기자신을 n이 0이 될 때까지 반복적으로 호출한다.

재귀함수(2)

(12)

실습

4. 프로그래밍 실습(6)

변수 활용(1)

1. 프로그램상에서 로컬변수, 전역변수, static변수를 구분해 본다.

2. 첫 번째로는 전역변수 total을 선언한 다음 프로그램을 실행시켜 결과 값을 확인한다.

3. 전역변수와 로컬변수의 특징과 범위를 정확하게 이해한다.

(13)

실습

4. 프로그래밍 실습(7)

변수 활용(2)

4. AddTotal() 함수 호출 시 로컬변수 num을 매개변수로 넘겨주고, Addtotal() 함수에서는 매개변수로 받은 로컬변수의 값을 전역변수에 더해준다.

→ Addtotal() 함수에서 total += num; 연산 수행 후 전역변수 total의 값이 바뀐다.

어느 함수에서 호출을 하든 total 값은 변경된 값으로 나오게 된다.

(14)

실습

4. 프로그래밍 실습(8)

5. 전역변수 int total = 0; 부분을 주석 처리한다.

6. AddTotal() 함수에서 static변수로 total을 선언하고, 초기화 한다. (static int total=0;) 7. 전역변수 total과 static변수 total이 같은 역할을 하는 것을 확인한다.

변수 활용(3)

(15)

실습점검

실습 재미있게 해보셨나요?

‘함수 및 변수를 활용한 프로그래밍 실습(변수 활용)’ 학습의 완성한 화면과 자신의 실습 결과물을 비교해 보세요.

1. 함수에서의 parent-child 구조를 설명할 수 있나요?

2. 재귀함수의 동작원리를 설명할 수 있나요?

3. 전역변수, 로컬변수, static 변수의 사용법을 설명할 수 있나요?

아니오

아니오

아니오

(16)

실습점검

1. 함수의 parent-child 구조

- 함수는 parent-child 구조와 같이 계속적인 호출이 가능하다.

2. 재귀함수

- 재귀함수란 효율적인 처리를 위하여 함수자신을 호출하는 것을 말한다.

3. 전역변수, 로컬변수, static변수

- 함수에서 { } 내부에 정의되면 로컬변수, 외부에 정의되면 전역변수이다.

- 전역변수는 프로그램이 시작되면 끝날 때까지 소멸되지 않는다.

- 전역변수는 사용을 줄이는 것이 좋으며, static변수 사용 등으로 보완이 가능하다.

교수자 실습 Tip

(17)

다음시간에는…

에 대해 학습해 보겠습니다.

참고문헌

8주차. 점검하기

1주차에서 7주차 점검하기

참조

관련 문서

• 예를 들어, 1부터 n까지의 합을 구하는 프로그램에서 n을 입력 받는 서브 프로그램, n까지 합하는 서브 프로그램, 결과 를 출력하는 서브 프로그램 등으로 기능을 분리할 수 있음.

[r]

높은 학생을 선발하여서 장학금을 수여한다. 가장 평점이 높은 학생을 찾아서 학생의 이름과 학번, 평점을 화면에 출력하는 프로그램을 작성하여 보자.. 복소수를

[r]

☞ 파워 스펙트럼(Power Spectrum Density): 스펙트럼을 측정하고 파워 스펙트 럼 밀도(PSD)로 결과를

„ 정의: 단사 함수이고 동시에 전사 함수인 함수를. 전단사 함수(one-to-one correspondence

교재: 모던웹을 위한 JavaScript Jquery 입문,

더 이상 점수는 입력되지 않는다..  마지막에