책 내용 질문하기
97 예제2, 99 문제2 문의합니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
97,99
조회수
525
작성일
2019-03-21
작성자
탈퇴*원
첨부파일

1)  예제 2번에서 rand() 함수를 왜 6으로 나누는건지 모르겠습니다.

 

2)  for문 내에서 i를 왜  6보다 작을 경우라고 해야하는지 이해가 안됩니다ㅜㅜ i는 주사위 굴리는 횟수 아닌가요??

  괄호1 ,2번 답도 같이 설명해주시면 감사하겠습니다! 

답변
2019-03-22 09:49:53

안녕하세요 길벗수험서 운영팀입니다.

 

1)

rand() 함수는 0부터 32767 사이의 난수를 발생시킵니다.

주사위를 굴리다고 하면 1~6까지의 수를 발생시켜야 하는데 위의 수에서 특정 개수를 수를 뽑아내는데 주로 사용하는 방법이 나머지를 사용하는 방법입니다.

 

(난수)%6을 하면 0~5의 나머지가 나오게 됩니다. 이 나머지에 +1을 하게 되면 주사위와 같이 1~6의 랜덤수가 나오게 되죠.

 

 

2)

변수 i가 어떻게 변화하는지 확인해보세요.

do ~ while문에서 i는 주사위를 100번 굴리는데 매번 굴린 횟수를 확인하는 용도였지만,

for문에 입장하면서 다시 0~5까지 증가하여 hist 배열의 주소값의 용도로 사용됩니다.

 

하나의 변수가 반드시 하나의 용도로만 쓰일 필요는 없습니다.

일반적으로 하나의 알고리즘만을 담은 정보처리기사/산업기사 문제에서는 하나의 변수가 2개 이상의 용도로 사용되는 경우는 거의 없으나, 사용자들의 혼란을 유도하기 위해 고의적으로 해당 문제와 같이 사용될 수 있다는 점에 유의해두세요.

 

행복한 하루되세요 :)

  • 관리자
    2019-03-22 09:49:53

    안녕하세요 길벗수험서 운영팀입니다.

     

    1)

    rand() 함수는 0부터 32767 사이의 난수를 발생시킵니다.

    주사위를 굴리다고 하면 1~6까지의 수를 발생시켜야 하는데 위의 수에서 특정 개수를 수를 뽑아내는데 주로 사용하는 방법이 나머지를 사용하는 방법입니다.

     

    (난수)%6을 하면 0~5의 나머지가 나오게 됩니다. 이 나머지에 +1을 하게 되면 주사위와 같이 1~6의 랜덤수가 나오게 되죠.

     

     

    2)

    변수 i가 어떻게 변화하는지 확인해보세요.

    do ~ while문에서 i는 주사위를 100번 굴리는데 매번 굴린 횟수를 확인하는 용도였지만,

    for문에 입장하면서 다시 0~5까지 증가하여 hist 배열의 주소값의 용도로 사용됩니다.

     

    하나의 변수가 반드시 하나의 용도로만 쓰일 필요는 없습니다.

    일반적으로 하나의 알고리즘만을 담은 정보처리기사/산업기사 문제에서는 하나의 변수가 2개 이상의 용도로 사용되는 경우는 거의 없으나, 사용자들의 혼란을 유도하기 위해 고의적으로 해당 문제와 같이 사용될 수 있다는 점에 유의해두세요.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.