본문 바로가기

프로그래밍 설계

C언어의 간단한 예제를 설계부터 코드화까지 (4/9) [문제 4/9] 1-100 까지의 홀수 합을 구하시오.(단, 3의 배수와 5의 배수 제외) 1. System chart 2. 수작업의 이해 숫자 1 2 3 4 5 6 7 … 홀수판단 ○ × ○ × ○ × ○ … 3의 배수가 아닌가 ○ ○ × ○ ○ × ○ … 5의 배수가 아닌가 ○ ○ ○ ○ × ○ ○ … 합 1 1 1 1 1 1 8 …3. 처리 과정 1. 100번 반복한다. 1.1 수를 센다. 1.2 홀수인지 판단한다. 1.2.1 3의 배수인지 판단한다. 1.2.2 5의 배수인지 판단한다. 1.2.3 합을 구한다. 2. 합을 출력한다. 3. 끝낸다.4. 자료명세서 number 입력받을 숫자 정수형 plus 양수 count 정수형 odd 음수 count 정수형 even 짝수 count 정수형 minus .. 더보기
C언어의 간단한 예제를 설계부터 코드화까지 (3/9) [문제 3/9] 100 장의 카드에 숫자가 입력될 때 양수의 개수와 음수의 개수를 구하고 양수 중에서 홀수와 짝수의 개수도 구하시오. 1. System chart main 함수에서 *100 이라고 표시되어있는, 자기 자신을 가리키는 화살표는, 숫자만큼 반복한다는 뜻입니다. 2. 수작업의 이해 입력 수 1 2 3 -1 -2 -3 … 양수 1 2 3 × × × … 홀수 1 × 2 × × × … 짝수 × 1 × × × × … 음수 × × × 1 2 3 …3. 처리 과정 1. 100번 반복한다. 1.1 숫자를 입력받는다. 1.2 0인지 판단한다. 1.2.1 양수, 음수를 판단한다. 1.2.1.1 양수, 음수를 세린다. 1.2.1.2 짝수, 홀수를 판단한다. 1.2.1.2.1 짝수, 홀수를 세린다. 2. 양수, .. 더보기
C언어의 간단한 예제를 설계부터 코드화까지 (2/9) [문제 2/9] 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... 더보기
C언어의 간단한 예제를 설계부터 코드화까지 (1/9) [문제 1/9] 1+3+5+…의 등차수열에서 얼마까지 합하면 그 값이 1,000을 처음으로 초과할 때 마지막 항과 초과된 값을 구하시오. 1. System chart 큰 틀을 정하는 작업입니다. 다들 알고 계시는 Main문을 중심으로, 합을 구하는 Sum이라는 함수와 구한 값을 출력해주는 Display라는 함수를 사용할 생각입니다. Sum 함수에서는 입력값은 없고, 출력값으로 합(sum)과 마지막 숫자(last_number)가 있어야 할것 같군요. 출력값이 2개 이니까, return으로는 불가능합니다. 이때, 포인터(*)를 사용하면 됩니다. Display 함수는 결과를 출력하는 함수이니, 출력값은 필요없을것같네요. 대신 합(sum)과 마지막숫자(last_number)이 입력이 되야 출력을 하겠죠? 이때는.. 더보기