피드백과 공부 내용
1. 논리적 표현이 되도록, 관련있는 것들은 가까이 모아줄 것.
2. 실수형 변수의 경우, 수작업 및 검토 과정에서 소수점까지 정확하게 표현해줄 것.
3. 처리과정 작성을 할 때, '어떻게'가 아니라 '무엇을 할 것인지'에 집중할 것.
4. 초기화를 하지 않는 경우, 자료명세서와 함께 있어야 자료형 구분이 가능함.
5. 굳이 강제 형변환을 사용하지 않고, 처리과정에서 실수형상수를 사용하거나 1.0을 곱해주는 방식으로 형변환을 하도록 할 것.
나프잘 파랑 / 9-6번 문제 풀이와 피드백
1. 문제 이해
2. 분석
3. 설계
4. 검토
5. C구현
//plusMinusOfFractions.c
/*
파일 명칭 : plusMinusOfFractions.c
함수 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 숫자를 분모로하고 분자를 1로하는 분수를 만들고, 분모가 홀수면 더하고, 짝수면 빼서 합계를 구한 뒤 출력한다. 최종적으로 합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-07
*/
//매크로 영역
#include <stdio.h>
#define MAX 100
#define DIVIDER 2
//함수 선언
int main(int argc, char* argv[]);
//함수 정의
int main(int argc, char* argv[]) {
//자동 변수 선언
auto double sum = 0.0; // unsigned는 정수형에서만 사용
auto unsigned int number;
auto double fraction;
auto unsigned int remainder;
//1. 제목을 출력한다.
printf("숫자\t\t\t분수\t\t\t\t합계\n");
//2. 숫자가 최대값보다 작거나 같을 때 반복한다.
for (number = 1; number <= MAX; number++) {
//2.2. 분수를 만든다.
fraction = 1.0 / number;
//2.3. 홀짝 여부를 확인한다.
remainder = number % DIVIDER; // %연산을 할 때 반드시 정수변수만 사용 가능
//2.4. 홀수면, 합을 구한다.
if (remainder == 1) {
sum += fraction;
}
//2.5. 짝수면, 차를 구한다.
else {
sum -= fraction;
}
//2.6. 숫자, 분수, 합게를 출력한다.
printf("%d\t\t\t%f\t\t\t%f\n", number, fraction, sum);
//2.1. 숫자를 센다.
}
//3. 합계를 출력한다.
printf("합계 : %f\n", sum);
//4. 끝낸다.
return 0;
}
7. JAVA 구현
//Main.java
/*
파일 명칭 : Main.java
메소드 명칭 : main
기 능 : 1부터 100까지 숫자를 세며, 숫자를 본모로하고 분자를 1로하는 분수를 만들고, 분모가 홀수면 더하고, 짝수면 빼서 합계를 구하여 출력한다. 최종적으로 합계를 출력한다.
입 력 : 없음
출 력 : 합계
작성 일자 : 2019-11-07
*/
//패키지 선언
package plusminusoffractions;
//Main클래스
public class Main{
//main 메소드 정의
public static void main(String[] args){
//상수 변수 선언
final int MAX=100;
final int DIVIDER=2;
//지역 변수 선언
double sum=0.0;
int number;
double fraction;
int remainder;
//1. 제목을 출력한다.
System.out.println("숫자\t\t\t분수\t\t\t합계");
//2. 숫자가 최대값보다 작거나 같을 때 반복한다.
for(number=1; number<=MAX; number++){
//2.2. 분수를 만든다.
fraction=1.0/number;
//2.3. 홀짝 여부를 확인한다.
remainder=number%DIVIDER;
//2.4. 홀수면, 합을 구한다.
if(remainder==1){
sum+=fraction;
}
//2.5. 짝수면, 차를 구한다.
else{
sum-=fraction;
}
//2.6. 숫자, 분수, 합계를 출력한다.
System.out.printf("%d\t\t\t%f\t\t\t%f\n",number, fraction, sum);
//2.2. 숫자를 센다.
}
//3. 합계를 출력한다.
System.out.println("합계 : "+sum);
//4. 끝낸다.
}
}
8. NS 차트
'Computer Engineering > 나프잘' 카테고리의 다른 글
나프잘 파랑 / 9-8번 문제풀이 및 피드백 (0) | 2019.12.31 |
---|---|
나프잘 파랑 / 9-7번 문제풀이 및 피드백 (0) | 2019.12.31 |
나프잘 파랑 / 9-5 문제풀이 및 피드백 (0) | 2019.11.17 |
나프잘 파랑 / 9-4 문제풀이 및 피드백 (0) | 2019.11.17 |
나프잘 파랑 / 9-3번 문제 풀이와 피드백 (0) | 2019.11.02 |