피드백과 공부 내용
1. 분석 단계의 선택 구조에 대한 설명이 조금은 부족하다. (책에서는 물론 저자의 피드백에서도 설명이 불충분했다.)
지금까지 공부한 것으로 미루어 보아, 선택 구조는 하나의 처리 과정 밑에 두 가지 선택지가 주어지고,
한 선택지에서'만' 추가로 처리과정이 필요할 때 사용되어야 하는 것으로 보인다.
그렇기 때문에 처리과정 상 선택 구조로 표현되지 않더라도, 설계 단계에서 선택 구조로 작성될 수도 있다.
2. 대입식을 사용할 때 좌측에 대입하는 변수를 빼먹는 실수를 줄일 것.
1. 문제 이해
2. 분석
3. 설계
4. 검토
5. C구현
//sumOfOddsAndEvens.c
/******************************************************************************************
파일 명칭 : sumOfOddsAndEvens.c
함수 명칭 : main
기 능 : 1부터 100까지 수를 세며, 홀짝 여부를 판단하고, 홀수면 홀수의 합을
구하고, 짝수면 짝수의 합을 구해 출력하고, 최종적으로 홀수와 짝수의 합을 출력한다.
입 력 : 없음
출 력 : 홀수의 합, 짝수의 합
작성 일자 : 2019-08-08
******************************************************************************************/
//헤더 파일
#include <stdio.h>
//매크로 상수
#define MAX 100
#define DIVIDER 2
//함수의 선언
int main(int argc, char* argv[]);
//함수의 정의
int main(int argc, char* argv[]) {
auto unsigned long int sumOdds = 0;
auto unsigned long int sumEvens = 0;
auto unsigned short int remainder;
auto unsigned long int number;
//1. 제목을 출력한다.
printf("숫자\t\t\t홀수의 합\t\t짝수의 합\n");
//2. 숫자가 MAX 보다 작거나 같을 때 반복한다.
for (number = 1; number <= MAX; number++) {
//2.2. 홀수인지 짝수인지 판단한다.
remainder = number % DIVIDER;
if (remainder == 1) {
//2.2.1. 홀수이면 홀수의 합을 구한다.
sumOdds+=number;
}
else {
//2.2.2. 짝수이면 짝수의 합을 구한다.
sumEvens+=number;
}
//2.3. 숫자, 홀수의 합, 짝수의 합을 출력한다.
printf("%d\t\t\t%d\t\t\t%d\n", number, sumOdds, sumEvens);
//2.1. 숫자를 센다.
//number++;
}
//3. 홀수의 합과 짝수의 합을 출력한다.
printf("홀수의 합 : %d, 짝수의 합 : %d\n", sumOdds, sumEvens);
//4. 끝낸다.
return 0;
}
6. 디버깅
7. JAVA 구현
//Main.java
/******************************************************************************
* 파일 명칭 : Main.java
* 메소드 명칭 : main
* 기 능 : 1부터 100까지 수를 세며 홀짝여부를 판단하고, 홀수면 홀수의 합을, 짝수면
* 짝수의 합을 구해 출력한 후 최종 홀수와 짝수의 합을 출력한다.
* 입 력 : 없음
* 출 력 : 홀수의 합, 짝수의 합
* 작성 일자 : 2019-08-10
*****************************************************************************/
//패키지 선언
package sumofoddsandevens;
//클래스 선언
public class Main{
//main 메소드 선언
public static void main(String[] args){
//상수 변수 선언
final int MAX=100;
final int DIVIDER=2;
//지역 변수 선언
int sumOdds=0;
int sumEvens=0;
int remainder;
int number;
//1. 제목을 출력한다.
System.out.println("숫자\t\t홀수의합\t\t짝수의합");
//2. 숫자가 MAX보다 작거나 같을 때 반복한다.
for(number=1; number<=MAX; number++){
//2.2. 홀수인지 짝수인지 판단한다.
remainder=number%DIVIDER;
if(remainder==1){
//2.2.1. 홀수이면 홀수의 합을 구한다.
sumOdds+=number;
}
else{
//2.2.2. 짝수이면 짝수의 합을 구한다.
sumEvens+=number;
}
//2.3. 숫자, 홀수의 합, 짝수의 합을 출력한다.
System.out.printf("%d\t\t%d\t\t%d\n", number, sumOdds, sumEvens);
//2.1. 숫자를 센다.
//number++;
}
//3. 홀수의 합과 짝수의 합을 출력한다.
System.out.println("홀수의합"+sumOdds+"짝수의합"+sumEvens);
//4. 끝낸다.
}
}
8. NS 차트
'Computer Engineering > 나프잘' 카테고리의 다른 글
나프잘 파랑 / 9-5 문제풀이 및 피드백 (0) | 2019.11.17 |
---|---|
나프잘 파랑 / 9-4 문제풀이 및 피드백 (0) | 2019.11.17 |
나프잘 파랑 / 9-3번 문제 풀이와 피드백 (0) | 2019.11.02 |
나프잘 파랑 / 9-1번 문제 풀이와 피드백 (0) | 2019.09.24 |
나프잘 노랑을 끝내며 (0) | 2019.08.02 |