266p5번문제요
사원코드에서 부서명을 표시하라고했는데
mid함수만써도 부서명을 표시할수잇는데
왜굳이 search함수도 또써요? 그리고 "-"위치에서 1을빼서쓰라고하는데
왜 거기서 꼭 빼서 써야해요?
하나더 궁금한거요
276p1번문제에요
int함수에 d3/10을 하라는데 10을왜 갑자기 나눠요?
그리고 함수식에보면 f f f d d c c b b a a 이렇게쓰라는데
f는 왜 3개나 써야해요? 다른 거는왜 두개씩쓰고 저렇게 알파벳을 함수식에
써야하는 이유는 뭐죠?
1. 사원코드의 길이가 다른 경우 mid 함수만으로 원하는 값을 구할 수 없습니다.
search 함수로 - 의 위치를 찾아 사용하면 사원코드의 길이가 달라도 구할 수 있는 것입니다.
- 의 앞의 값 까지 표시하고자 한다면 -1 을 하셔야 합니다.
2.
전체적으로 설명 드리겠습니다.
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"로 맞게 됩니다.
좋은 하루 되세요.
-
*2015-12-02 15:18:46
1. 사원코드의 길이가 다른 경우 mid 함수만으로 원하는 값을 구할 수 없습니다.
search 함수로 - 의 위치를 찾아 사용하면 사원코드의 길이가 달라도 구할 수 있는 것입니다.
- 의 앞의 값 까지 표시하고자 한다면 -1 을 하셔야 합니다.
2.
전체적으로 설명 드리겠습니다.
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"로 맞게 됩니다.좋은 하루 되세요.