괄호 5번에 왜 A(L) - AVG가 들어가는지 이해가 안되네요.
그리고 이문제에서 L, TEMP, STN이 의미하는게 뭔가요??
안녕하세요.
TEMP는 정렬 과정에서 두 값의 위치를 변경할 때 사용되는 임시 변수입니다(교재 1편 본서의 정렬 파트를 참고하세요.).
왼쪽 순서도는 버블 정렬을 수행하는 과정입니다.
오른족 순서도는 표준편차를 구하는 과정이구요.
표준편차를 구할 때
SQRT( (A(2)-AVG)^2 + (A(3)-AVG)^2 + ... (A(N-1)-AVG)^2 ) / (N-2) 으로 구한다고 제시되어 있습니다.
오른쪽 아래 반복문에서 L이 2부터 N-1까지 1씩 증가하므로
TEMP = A(L) - AVG를 하면
L이 2부터 N-1까지 변화하면서 TEMP에
A(2) - AVG, A(3) - AVG, ... 가 저장됩니다.
이제 각각의 값을 제곱한 후 더해야 합니다.
STN = STN + (TEMP*TEMP)를 수행하면 TEMP*TEMP가 제곱을 하는 것이고, STN=STN+제곱한 값 을 더하므로 누적하게 됩니다.
이제 마지막으로 앞서 누적된 값을 (N-2)로 나눈뒤 제곱근(SQRT)을 구하면 됩니다.
그 과정이
STN = SQRT(STN / (N-2)) 가 됩니다.
오늘도 즐거운 하루 되세요.
-
*2015-07-08 09:36:11
안녕하세요.
TEMP는 정렬 과정에서 두 값의 위치를 변경할 때 사용되는 임시 변수입니다(교재 1편 본서의 정렬 파트를 참고하세요.).
왼쪽 순서도는 버블 정렬을 수행하는 과정입니다.
오른족 순서도는 표준편차를 구하는 과정이구요.
표준편차를 구할 때
SQRT( (A(2)-AVG)^2 + (A(3)-AVG)^2 + ... (A(N-1)-AVG)^2 ) / (N-2) 으로 구한다고 제시되어 있습니다.
오른쪽 아래 반복문에서 L이 2부터 N-1까지 1씩 증가하므로
TEMP = A(L) - AVG를 하면
L이 2부터 N-1까지 변화하면서 TEMP에
A(2) - AVG, A(3) - AVG, ... 가 저장됩니다.
이제 각각의 값을 제곱한 후 더해야 합니다.
STN = STN + (TEMP*TEMP)를 수행하면 TEMP*TEMP가 제곱을 하는 것이고, STN=STN+제곱한 값 을 더하므로 누적하게 됩니다.
이제 마지막으로 앞서 누적된 값을 (N-2)로 나눈뒤 제곱근(SQRT)을 구하면 됩니다.
그 과정이
STN = SQRT(STN / (N-2)) 가 됩니다.
오늘도 즐거운 하루 되세요.