[강의교안] 함수
함수
🎯 학습목표 : 프로그래밍에서 함수의 목적과 구현 방법을 이해한다.
1. 함수란
1-1. 개론
1-1. 개론
함수의 수학적 정의는 다음과 같다.
수학에서 함수는 어떤 집합의 각 원소를 다른 집합의 유일한 원소에 대응시키는 이항관계다. - 위키피디아
함수 에 정의역의 한 원소 를 대입할 때 의 값은 에 따라 달라진다. 예를 들어 일 때 f(a)의 값은 다음과 같다.
이를 통해 함수에 대입하는 값(입력)에 따라 함수의 결과(출력)가 정해짐을 알 수 있다. 프로그래밍에서의 함수도 크게 다르지 않다.
함수(function), (중략) 는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분을 의미한다. - 위키피디아
프로그래밍에서 함수는 특정한 동작을 수행하는 코드 뭉치이다. 이 코드 뭉치는 입력과 출력을 가지며 입력에 따라 특정한 값을 출력한다. (참고 : 프로그래밍에서의 함수는 한 입력에 대한 출력이 2개 이상일 수 있다)
1-2. 왜 함수인가?
중복되는 코드를 함수로 묶으면 관리하기 용이하다. 예를 들어 아래 2-1. SayHello 코드 샘플에서 "Good Morning, <이름>" 형식으로 출력하려고 한다면 함수에서 std::cout 부분만 수정하면 된다. 함수로 중복되는 부분을 제거하지 않았다면 각각 수정해야 했을 것이다. 중복되는 부분이 있다면 함수로 분리해 관리하는 것이 훨씬 좋은 방법이다.
1-3. 함수의 구현
주요 언어에서 함수의 구현은 일반적으로 다음과 같다.
함수명 : 함수의 이름
매개변수 목록 : 함수 호출 시 전달될 인자를 받을 변수들의 목록
반환형 : 함수가 출력할 값의 자료형
함수를 호출하는 방법은 일반적으로 아래와 같다.
<함수명> ([인자1, 인자2, ... ]);
2. 코드 샘플
📢 코드 샘플은 이 곳에서 공개 중입니다.
2-1. SayHello
📜 소스코드 (C++)
- 위 코드에서 SayHello 함수는 4~6에 선언 및 정의되어 있다.
- 반환형은 void이고 매개변수로 문자열을 입력받는다.
- 10, 13에서 SayHello를 호출하고 있다. 인자로 "World"와 "Choi"를 넣어주고 있다.
✨ 결과
Hello, World! Hello, Choi!
- 전달되는 인자에 따라 출력되는 결과가 달라짐을 알 수 있다.
2-2. AddNums
📜 소스코드 (C++)
- 3~5에 AddNums 가 선언 및 정의되어 있다.
- AddNums 의 반환형은 int이고 매개변수로 int형 값 2개를 받는다.
- 8, 11에서 AddNums 를 호출한 뒤 결과를 int형 변수에 저장하고 있다.
✨ 결과
3 2
- AddNums 가 와 를 성공적으로 수행해 반환했음을 알 수 있다.
3. 초급 문제
3-1. 뒤집어 더하기(radd) - 더블릿
👀 살펴보기
문제 : 입력으로 주어진 두 수를 뒤집어서 더한 뒤 반환하는 함수를 작성하는 문제
핵심 1 : <주어진 수> % 10 = <주어진 수의 일의 자리 수>
핵심 2 : 3개의 정수를 뒤집어야 함. 이때 함수를 통해 중복 코드를 제거할 수 있음.
🎨 문제 설명 및 판서
- 정수를 뒤집는 방법을 중심으로 설명
- 함수로 작성하면 긴 코드를 재사용할 수 있음을 강조
- 정수의 맨 뒤에서 빼는 방법
- 정수의 맨 앞에 삽입하는 방법
- 수도 코드
- 실제 프로그램 흐름
✅ 정답 소스코드
Author And Source
이 문제에 관하여([강의교안] 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@chj7239/강의교안-함수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)