안녕하십니까? 수성비입니다. 오늘은 C언어를 이용하여 함수의 극한을 만드는 프로그램을 만들어 보도록 하겠습니다.

 

직접 만들기 귀찮으신 분들은 아래 파일을 받으셔서 편집하시기 바랍니다.

 

함수의 극한.c
0.00MB

소스코드도 아래에 거의 다 작성할 것이니, 위의 첨부파일 없이 직접 만들어 보실 분들은 아래 과정을 따라오시면 되겠습니다.

 

C언어 컴파일러 설치하기

저는 지금 C언어로 프로그래밍하는 방법을 알려드리려고 합니다. C언어 컴파일러를 준비해 주세요.

Visual C++를 사용하셔도 되고, Dev-C++(http://orwelldevcpp.blogspot.com/)를 사용하셔도 되고, 다른 것이 있다면 그걸 쓰셔도 됩니다. 쓰고 싶은 컴파일러를 설치하세요.

(참고로 저는 Dev-C++ 씁니다.)

 

프로그램 첫화면 미리보기

첫화면을 통해 프로그램의 틀을 알고 가시는 것이 좋을 것 같아 이미지를 올려드립니다.

우리가 만들 프로그램은 함수 f(x)가 있으면 x에 수를 대입하는 방식입니다. 예를 들어, 위 이미지를 보시면 1~5번의 메뉴가 있는데 1번의 경우 f(0), f(1), f(2), f(3), ..., f(9999999999)를 출력합니다.

 

헤더파일

1

2

3

#include <stdio.h> //기본적으로 있어야 하는 헤더파일

#include <windows.h>//Windows 운영체제에서 쓸 수 있는 헤더파일. Windows CMD 명령어를 쓸 수 있도록 도와줍니다. Windows 운영체제가 아니라면 include하지 마세요.

#include <math.h>//다항함수 이외의 유리함수, 무리함수, 지수함수, 삼각함수 등 다양한 함수를 만들기 위해 include한 헤더파일입니다. 자세한 사용법은 위키피디아를 참고하세요.

cs

 

매크로 함수

1

#define f(x) 함수입력 //←←여기에 x에 대한 함수를 입력하십시오.

cs

 

함수입력 부분에 원하는 함수를 입력합니다. 예를 들면 1.0/x

주의하실 점이 있습니다! 실수 계산을 위해서는 정수도 소수 형태로 써야 합니다.

예를 들면, 3→3.0

전부 다 그래야 하는 건 아니고, 정수끼리의 연산 결과가 정수가 아닌 수일 때에 해당하는데 이런 거 따지기 귀찮으면 그냥 전부 다 소수 형태로 바꿔 쓰세요.

 

본격적인 시작

1

2

3

4

int main(void){

 

 

}

cs

 

이제 시작하겠습니다. 저 중괄호 안에다가 소스 코드를 작성할 겁니다.

 

변수 선언

1

double num=1, quest=1, k=1, x=0, y=1;

cs

 

변수를 설명해 드리겠습니다.

 

num: 반복문을 만들기 위해 필요합니다.(증감식에 사용)

quest: 메뉴 선택(1~5)을 만들기 위해 선언했습니다.

k: 3~4번 메뉴에서 사용할 변수입니다.

x: '변수'

y: '함숫값'. f(x)라고 생각하셔도 좋습니다.

 

모든 변수는 double 자료형으로 선언되었습니다.

따라서 -1.7×10^(-307) 이상 +1.7×10^307 이하의 실수만 표현할 수 있으며, 그 이외는 무한대로 표현합니다.

∞=1.#INF00

-∞=-1.#INF00

 

첫화면

1

2

3

4

5

6

7

8

9

10

11

printf("<<함수의 극한>>- 제작자: 주성우(수성비)\n\n"); //프로그램의 제작자 이름은 제 이름을 썼습니다. 여러분이 직접 타이핑하실 건데 제작자 이름에서 빠진 게 억울하시면 이름 추가하세요.^^

printf("lim\n");

printf("x→?\n\n");

printf("몇부터 몇까지 대입할지 아래 선택지 중에서 고르시오.\n");

printf("1. 0~∞\n");

printf("2. 0~-∞\n");

printf("3. k~0\n");

printf("4. -k~0\n");

printf("5. 도움말");

printf("--------------------------------\n");

scanf("%lf", &quest);

Colored by Color Scripter

cs

 

1~5번의 메뉴가 있는데 이 중 일부 기능을 제외하고 싶으시다면 빼셔도 됩니다.

메뉴 선택은 번호를 입력하는 방식입니다. 번호 입력 후 enter를 누르시면 그 번호가 quest 변수에 저장됩니다. 그 quest 변수에 따라 메뉴에 진입하여 '대입'을 시작하며 '함숫값'들을 구합니다.

 

메뉴에 진입하기 전에(화면 넘어가기)

여기서는 windows.h 헤더파일에서 제공하는 함수인 system 함수를 사용합니다.(함수 아닐수도 있음. 부정확한 점 양해 바랍니다.) windows.h 헤더파일을 안 쓰시는 경우 이 과정을 건너뛰시기 바랍니다.

1

2

system("cls");//화면 지움.

printf("<<함수의 극한>>- 제작자: 주성우(수성비)\n\n");

cs

 

1~5번에 해당하는 기능 코딩하기

지금부터 1~5번에 해당하는 기능들을 넣을 것입니다. 각 메뉴는 if문으로 구분됩니다. 만약 1번, 3번 기능만 필요하시다면 아래 소스코드에서 if(quest==1){ } 부분과 if(quest==3){ } 부분만 복사하여 가져가시면 됩니다.

가져가실 때 주의하실 점이 있습니다. 2~5번 코드는 else if로 묶여 있습니다. 만약 2, 4번 메뉴를 가져가고자 한다면 else if(quest==2){ } 앞의 else를 지워 주시기 바랍니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

if(quest==1){

 

printf("1. 0~∞\n\n");

 

for(num=1; num<=10000000000; num++ )

{

y=f(x);

printf("f(%f)=%f\n", x, y);

x++;

}

 

}

 

else if(quest==2){

 

printf("2. 0~-∞\n\n");

 

for(num=1; num<=10000000000; num++ )

{

y=f(x);

printf("f(%f)=%f\n", x, y);

x--;

}

 

}

 

else if(quest==3){

 

printf("3. k~0\n");

printf("k를 어떤 수로 정하시겠습니까?(단, k>0)\n");

printf("--------------------------------\n");

scanf("%lf", &k);

system("cls");//화면 지움.

printf("<<함수의 극한>>- 제작자: 주성우(수성비)\n\n");

printf("3. %lf~0\n\n", k);

x=k;

 

for(num=1; num<=k+1; num++ )

{

y=f(x);

printf("f(%f)=%f\n", x, y);

x--;

}

 

}

 

else if(quest==4){

 

printf("4. -k~0\n");

printf("k를 어떤 수로 정하시겠습니까?(단, k>0)\n");

printf("--------------------------------\n");

scanf("%lf", &k);

system("cls");//화면 지움.

printf("<<함수의 극한>>- 제작자: 주성우(수성비)\n\n");

printf("%4. %lf~0\n\n", -k);

x=-k;

 

for(num=1; num<=k+1; num++ )

{

y=f(x);

printf("f(%f)=%f\n", x, y);

x++;

}

 

}

 

else if(quest==5){

 

printf("5. 도움말\n");

printf("이 프로그램은 함수의 극한을 눈으로 쉽게 확인하기 위해 제작된 프로그램입니다.\n");

printf("프로그램을 사용하기 전 소스 편집을 통해 극한을 구할 함수를 입력하여 주시기 바랍니다.\n\n");

printf("이 프로그램은 double 자료형을 사용하므로 -1.7×10^(-307) 이상 +1.7×10^307 이하의 실수만 표현할 수 있으며, 그 이외는 무한대로 표현합니다.\n");

printf("∞=1.#INF00\n");

printf("-∞=-1.#INF00\n\n");

printf("자세한 설명이 필요하시면 아래 주소로 접속하시기 바랍니다.\n");

printf("http://toopyo.tistory.com/entry/limitfx\n");

 

}

Colored by Color Scripter

cs

 

 

메뉴 번호를 잘못 입력했을 경우 뜨는 오류 메시지

1

2

3

else{

printf("잘못된 번호를 입력하셨습니다. 프로그램을 재실행 해 주시기 바랍니다.\n");

}

Colored by Color Scripter

cs

 

프로그램 종료

1

2

3

printf("\n\n");

system("pause");//계속하려면 아무 키나 누르십시오 . . .

return 0;

Colored by Color Scripter

cs

 

system("cls");와 마찬가지로 system("pause");windows.h 헤더파일이 있어야 작동합니다. windows.h 헤더파일이 없는 경우 쓰지 마시기 바랍니다.

 

이렇게 프로그램이 완성되었습니다. 원하시는 대로 프로그램이 나왔나요? 잘 안 된다면 글 초반부에 올려드린 첨부파일과 비교해 보세요.

코드에 오류가 있는 경우 댓글로 제보 부탁드립니다. 제작자(본인)가 바쁜 관계로 빠른 수정이 어려울 수 있습니다. 양해 부탁드립니다.

감사합니다. 다음에 만나요!

 

블로그 이미지

수성비

컴퓨터(PC, 스마트폰 등)를 주제로 하는 누리사랑방인 수성비 전자방입니다.

댓글을 달아 주세요

안녕하십니까? 수성비입니다.

오늘은 중고등학교 학생들을 위한 프로그램을 만들어 왔습니다.

도형의 방정식 문제를 일반형으로 풀었는데 답지에 표준형으로 나와서 채점할 때 짜증나지는 않으셨나요?
도형의 방정식 문제를 표준형으로 풀었는데 답지에 일반형으로 나와서 답답하지는 않으셨나요?
이제 그런 답답함을 풀어줄 프로그램, 도형의 방정식 변환기 가 나왔습니다!

 

<버전>1.1

<호환 버전>HTML5, CSS, JAVASCRIPT를 지원하는 웹 브라우저

<설치 방법>

https://cuteboysw.github.io/dobangbyeon/index.html 접속(권장)

 

 

또는

1.1.zip
1.74MB

내려받아 사용

 

<설명>

도형의 방정식 변환기 첫 화면입니다. 원하시는 함수나 방정식을 클릭하신 후 일반형→표준형, 표준형→일반형 중에서 선택하시고, 프로그램이 입력하라는 대로 입력하시면 됩니다. 예를 들어 이차함수 일반형→표준형을 해 보겠습니다.

 

홈에서 이차함수를 클릭하면 위와 같이 뜰 것입니다. 일반형→표준형을 클릭합니다.

 

주의 사항을 잘 읽어보시고 지시에 따라 입력한 후 변환을 누릅니다.

 

이런 식으로 변환이 되는 것을 확인하실 수 있습니다.

 

하나 더! 이차곡선도 해 보겠습니다.

홈화면에서 이차곡선(맨 아래 있음. 이차함수 아님.)을 클릭해 보세요.

 

이차곡선은 원, 포물선, 타원, 쌍곡선을 모두 합쳐 놓았으므로 메뉴가 많습니다.

1)어떤 이차곡선이든 일반형→표준형은 이차곡선 일반형→표준형 선택

2)표준형→일반형은 방정식 형태에 따라 구분하여 선택

-포물선의 경우 식에 따라 메뉴를 다르게 선택해야 함.

-쌍곡선 역시 식에 따라 메뉴를 다르게 선택해야 함. 프로그램에서는 좌우, 상하로 구분해 놓았음.

 

많은 이용 부탁드립니다. 다음에 만나요!

(오류 신고는 댓글로 해 주시기 바랍니다.)

 

▶수성비의 글을 공유하는 올바른 방법(이용 안내)

https://toopyo.tistory.com/entry/ssbguide

▶수성비 전자방을 네이버 이웃으로 추가하세요!

(카테고리 밑에 있습니다.)

▼이 글이 도움이 되셨다면 공감을 눌러주세요.

 

블로그 이미지

수성비

컴퓨터(PC, 스마트폰 등)를 주제로 하는 누리사랑방인 수성비 전자방입니다.

댓글을 달아 주세요