[문제 2/9]
1부터 100,000 사이에 (100,000포함) 7의 배수가 몇 개 있는지 구하시오.
1. System chart
C프로그래밍을 몇번 해보신 분이라면, 왜 단순 출력만 해주는 Display라는 함수를 따로 만들어야 되는지 의문을 가지실 겁니다. 그냥 main 함수에서 출력해주는게 쉽지 않냐고 말씀하실수도 있습니다.
하지만, 지금부터 연산부분과 출력부분(Form부분)을 분리해서 코딩하는 습관을 들여놓으시면, 나중에 편하실겁니다. 여러가지 장점이 있지만, 제가 느낀 가장 큰 장점은 다른언어로 옮길때 엄청난 편의가 있다는 점입니다.
2. 수작업의 이해
3. 처리 과정
6. NS-Chart 검토표
초기값 부분에 ?로 표시되어 있는 부분은, 초기화가 되지 않아서 쓰레기값이 있다는걸 표시합니다.
7. 소스화
8. 결과
1부터 100,000 사이에 (100,000포함) 7의 배수가 몇 개 있는지 구하시오.
1. System chart
C프로그래밍을 몇번 해보신 분이라면, 왜 단순 출력만 해주는 Display라는 함수를 따로 만들어야 되는지 의문을 가지실 겁니다. 그냥 main 함수에서 출력해주는게 쉽지 않냐고 말씀하실수도 있습니다.
하지만, 지금부터 연산부분과 출력부분(Form부분)을 분리해서 코딩하는 습관을 들여놓으시면, 나중에 편하실겁니다. 여러가지 장점이 있지만, 제가 느낀 가장 큰 장점은 다른언어로 옮길때 엄청난 편의가 있다는 점입니다.
2. 수작업의 이해
숫자 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
7의배수 | X | X | X | X | X | X | ○ | ... |
count | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ... |
3. 처리 과정
1. 100,000번 반복한다.
1.1 수를 세린다.
1.2 7의 배수를 세린다.
2. 7의 배수의 수를 출력한다.
3. 끝낸다.
4. 자료명세서
number
숫자
정수형
seven_doublenumber_count
7의 배수 Count
정수형
remainder
나머지
정수형
i
반복제어변수
정수형
5. NS-Chart
6. NS-Chart 검토표
초기값 | |||||||||
number | ? | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
seven_doublenumber_count | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ... |
remainder | ? | 1 | 2 | 3 | 4 | 5 | 6 | 0 | ... |
i | ? | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ... |
초기값 부분에 ?로 표시되어 있는 부분은, 초기화가 되지 않아서 쓰레기값이 있다는걸 표시합니다.
7. 소스화
#include <stdio.h> #define DOUBLE_NUMBER 7 typedef unsigned long int UShort; UShort GetSevenDoubleNumberCount (UShort seven_numberdouble_count); void Display (UShort seven_numberdouble_count); int main (int argc, char *argv[]) { UShort seven_numberdouble_count = 0; seven_numberdouble_count = GetSevenDoubleNumberCount(seven_numberdouble_count); Display(seven_numberdouble_count); return 0; } UShort GetSevenDoubleNumberCount (UShort seven_numberdouble_count) { UShort i; UShort number = 1; UShort remainder; for(i=1 ; i<=100000 ; i++) { number = i; remainder = number % DOUBLE_NUMBER; if(remainder == 0) { seven_numberdouble_count++; } } return seven_numberdouble_count; } void Display (UShort seven_numberdouble_count) { printf("7의 배수 : %d개\n", seven_numberdouble_count); }
8. 결과
'About Programing > 02. 준비운동' 카테고리의 다른 글
C언어의 간단한 예제를 설계부터 코드화까지 (4/9) (3) | 2009.12.28 |
---|---|
C언어의 간단한 예제를 설계부터 코드화까지 (3/9) (2) | 2009.12.09 |
C언어의 간단한 예제를 설계부터 코드화까지 (1/9) (2) | 2009.07.15 |