284페이지 1번문제
정답및해설 289페이지
choose(int(d3/10)+1,"F","F","F","D","D","C","C","B","B","A","A")
이건데 여기서 왜 D3/10을하고 또 +1을하고 뒤에 F는왜 3번들어가고 나머지D,C,B,A는 2번씩 들어가는지
이해가 안가요...
수식을 보니, 아마도 시험점수를 등급으로 변경하는 문제가 아닌가 싶습니다...
문제는 아마도.. 0~29점 까지 F, 30~49 까지 D, 50~69까지 C, 70~89까지 B, 90~100까지 A일꺼 같네요
int(값)
- 값에서 정수부만 출력해 줍니다.
- ex : 수식 : int(3.51) 결과 : 3
choose(순번(정수), 값1,값2,값3....값n)
- 순번이 1이면 첫번째에 있는 값1을, 4이면 4번째에 있는 값4를 출력해 줍니다.
- ex : 수식 choose(3, "가", "나", "다", "라") 결과 : 다
시험점수의 구간은 0~100까지 입니다. 이점수를 10으로 나누고, int함수로 정수부만 빼면
0~10까지 나올수 있는 경우의 수가 생깁니다.
근데 choose 함수에서 순번에 0이 들어가면 에러가 생깁니다(#VALUE! 오류)
그래서 0일경우를 생각하여, 모든값에 1을 더해줘서 0일때 첫번째값을, 1일때 두번째 값을 지정하게 하는것입니다.
ex)
점수가 8점일때... 8점을 10으로 나누면 0.8
여기에 int 함수를 적용하면 int(0.8) 은 0
여기에 1을 더해주면.. 0 + 1 = 1
choose(1, "F","F","F","D","D","C","C","B","B","A","A")
에서 순번이 1이니깐 첫번째 값이 F를 출력하게 됩니다.
점수가 67일때.. 67을 10으로 나누면 6.7
여기에 int함수를 적용하면 int(6.7) 은 6
여기에 1을 더해주면 6+1=7
choose(7, "F","F","F","D","D","C","C","B","B","A","A")
에서 순번이 7이니깐 일곱번째 값인 C를 출력하게 됩니다.
-
*2014-03-24 16:38:59
수식을 보니, 아마도 시험점수를 등급으로 변경하는 문제가 아닌가 싶습니다...
문제는 아마도.. 0~29점 까지 F, 30~49 까지 D, 50~69까지 C, 70~89까지 B, 90~100까지 A일꺼 같네요
int(값)
- 값에서 정수부만 출력해 줍니다.
- ex : 수식 : int(3.51) 결과 : 3
choose(순번(정수), 값1,값2,값3....값n)
- 순번이 1이면 첫번째에 있는 값1을, 4이면 4번째에 있는 값4를 출력해 줍니다.
- ex : 수식 choose(3, "가", "나", "다", "라") 결과 : 다
시험점수의 구간은 0~100까지 입니다. 이점수를 10으로 나누고, int함수로 정수부만 빼면
0~10까지 나올수 있는 경우의 수가 생깁니다.
근데 choose 함수에서 순번에 0이 들어가면 에러가 생깁니다(#VALUE! 오류)
그래서 0일경우를 생각하여, 모든값에 1을 더해줘서 0일때 첫번째값을, 1일때 두번째 값을 지정하게 하는것입니다.
ex)
점수가 8점일때... 8점을 10으로 나누면 0.8
여기에 int 함수를 적용하면 int(0.8) 은 0
여기에 1을 더해주면.. 0 + 1 = 1
choose(1, "F","F","F","D","D","C","C","B","B","A","A")
에서 순번이 1이니깐 첫번째 값이 F를 출력하게 됩니다.
점수가 67일때.. 67을 10으로 나누면 6.7
여기에 int함수를 적용하면 int(6.7) 은 6
여기에 1을 더해주면 6+1=7
choose(7, "F","F","F","D","D","C","C","B","B","A","A")
에서 순번이 7이니깐 일곱번째 값인 C를 출력하게 됩니다.
-
*2014-03-25 07:04:03
choose 함수 사용법을 보시면(53p) =choose(인수,첫번째,두번째,...)
인수가 1이면 첫번째를, 2이면 두번째를,...
한마디로 요일 번호가 1이면 "일",2이면 "월",3이면 "화",4이면 "수",.....
= choose(c3,"일","월","화","수","목","금","토") 가 되는 것이지요.
문제에서
90이상이면 "A",70이상이면 "B", 50이상이면 "C",30이상이면 "D", 30미만이면 "F" 를 평점에 표시하라고 했기 때문입니다.
30미만이므로 0~29까지 입니다. 0~1까지 10으로 나누면 0이 나오기 때문에 +1 을 해서 1로 만들어주고
10~19까지 10으로 나누면 1 거기에 +1을 하면 2,
20~29까지 10으로 나누면 2 거기에 +1을 하면 3,
이 되므로 1,2,3 이 0~29까지의 값이됩니다. 그래서 choose의 인수가 1,2,3 일때 값을 반환하기 위해서
choose 인수의 첫번째,두번째, 세번째에 "F" 가 들어가는 것이죠.
그리고 +1 을 하는 이유는 0~9값을 10으로 나누면 0이 나오기 때문에 0값은 choose 함수에서 사용할 수 없으므로 +1을 하여 1의 값을 만들어 주게 되는 것이죠. 그래서 1이 나오면 "F" 를 반영할 수 있도록
choose(int(d3/10)+1,"F",.....) 로 사용하는 것입니다.
30미만인 것 즉 1,2,3 이라는 인수가 나온 것은 F가 되어야 하므로choose(int(d3/10)+1,"F","F","F"...
로 사용하는 것이죠.
책에 설명되어 있듯이 81을 10으로 나누면 8이되고 거기에 +1을 하게되면 9가 됩니다.
80이상이면 "B" 가 되어야 하기때문에 9는 "B"로 맞게 됩니다.좋은 하루 되세요.