본문 바로가기

Computer Engineering/나프잘

나프잘 파랑 / 9-4 문제풀이 및 피드백

피드백과 공부 내용

1. 명확한 인식을 위해서 c및 java구현 시 else문도 {}로 묶어주자.
2. 선택 구조를 표현할 때, 굳이 하부 처리하지 않고 순차적으로 작성하되, 조건을 적어서 작성하면 되는 것 같음.
3. 정확히 납득은 되지 않으나, 수작업 및 검토표에서 작성되는 값은 정확하게 계산된 값을 적도록 권고 받음. 아마 추후에 작성된 결과를 비교해 보기 위함이 아닐까. 
4. NS차트에서 %기호는 사용 불가. 작성할 때 정해진 기호를 확인하여 실수하지 않도록 하자.

 


나프잘 파랑 / 9-4번 문제 풀이와 피드백

 

1. 수작업

2. 분석

3. 설계




4. 검토

 



5. C구현
//plusMinus.c
/*
파일 명칭 : plusMinus.c
함수 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 홀수는 더하고 짝수는 뺴서 합계를 구하여 출력하고, 최종 합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-02
*/
//매크로 부분
#include 
#define MAX 100
#define DIVIDER 2

//함수 선언
int main(int argc, char* argv[]);

//함수 정의
int main(int argc, char* argv[]) {
//자동 변수 선언
 int sum = 0;
 int number;
 int remainder;
// 
 //1. 제목을 출력한다.
 printf("숫자\t\t\t합계\n");
 //2. 숫자가 최대숫자보다 작거나 같을 때 반복한다.
 for (number = 1; number <= MAX; number++) { 
  //2.2. 홀수인지 짝수인지 확인한다.
  remainder = number % DIVIDER;
  //2.3. 합계를 구한다.
  if (remainder == 1) {
   sum += number;
  }
  else {
   sum -= number;
 }
  //2.4. 숫자, 합계를 출력한다.
  printf("%d\t\t\t%d\n", number, sum);
  //2.1. 숫자를 센다.
 }
 //3. 합계를 출력한다.
 printf("합계 : %d\n", sum);
 //4. 끝낸다.
 return 0;
}

 

6. 디버깅

 













4. JAVA구현
//Main.java
/*
파일 명칭 : Main.java
메소드 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 홀수는 더하고 짝수는 빼서 합계를 구하여 출력하고, 최종 합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-02
*/
//패키지 선언
package plusminus;

//Main클래스
public class Main{
    //Main 메소드 정의
    public static void main(String[] args){
        //상수 변수 선언
        final int MAX=100;
        final int DIVIDER=2;
        //지역 변수 선언
        int sum=0;
        int number;
        int remainder;
        
        //1. 제목을 출력한다.
        System.out.println("숫자\t\t\t합계");
        //2. 숫자가 최대숫자보다 작거나 같을 때 반복한다.
        for(number=1; number<=MAX; number++){
            //2.2. 홀수인지 짝수인지 확인한다.
            remainder=number%DIVIDER;            
            //2.3. 합계를 구한다.
            if(remainder==1){
                sum+=number;
            }
            else {
                sum-=number;
            }
            //2.4. 숫자, 합계를 출력한다.
            System.out.printf("%d\t\t\t%d\n", number, sum);
            //2.1. 숫자를 센다.
        }
        //3. 합계를 출력한다.
        System.out.println("합계"+ sum);
        //4. 끝낸다.
    }
}

8. NS 차트