커뮤니티

초기값이 이상하게 변하는데..

프로필 이미지
입큰늑대
2004-10-05 01:57:47
968
글번호 5319
답변완료
수고하십니다. for문을 쓰다가 이해 안되는 결과가 나와서 체크해보니 좀 이상하군요. 아래 코드를 실행하면 합 55가 나와야 정상인데 그렇게 나오지 않습니다.. 한번 실행해 보시면 이상합니다. 체크해보니 선언부에서 sum2,sum3를 0으로 선언해도 첫번째 for문 연산 이후에는 sum2,sum3의 변수의 선언 초기값이 이상하게 변화하는군요. 이를 고치기 위해 해당 for문앞에 sum2=0;을 집어넣으면 55의 값을 갖습니다. for문만의 문제가 아니라 while문 등도 마찬가지의 에러를 보입니다. 아울러 매뉴얼에는 for i=0 to 10 2 같이 증가분을 지정할 수 있다고 돼 있는데 실제로는 안됩니다. <For test> Var: ii(0); Var: jj(0), kk(0), sum(0), sum2(0), sum3(0); sum = 0; for ii = 0 to 10 sum = sum + ii; for kk = 0 to 10 sum2 = sum2 + kk; for jj = 0 to 10 sum3 = sum3 + jj; Plot1(sum, "sum"); Plot2(sum2, "sum2"); Plot3(sum3, "sum3"); PlotBaseLine1(0, "기준선");
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2004-10-05 11:23:41

안녕하세요 예스스탁입니다. 내부변수를 선언하고 sum sum2 sum3의 값을 초기화 해주셔야 합니다. 초기화해주지 않으면 for문이 계속적으로 값을 누적하게 됩니다. 봉갯수를 10개 정도로 지정하시고 확인해 보시기 바랍니다. 또한 for i=0 to 10 2 와 같이 증가분을 지정할 수 있습니다. 아래의 for문에 2를 써주시면 30이라는 값이 나옵니다. ========================================================================== Var: ii(0),jj(0), kk(0), sum(0), sum2(0), sum3(0); //내부변수 선언 sum = 0; //누적값을 초기화 for ii = 0 to 10 2 //증가분 30값 리턴 sum = sum + ii; sum2 = 0; for kk = 0 to 10 sum2 = sum2 + kk; sum3 = 0; for jj = 0 to 10 sum3 = sum3 + jj; Plot1(sum, "sum"); Plot2(sum2, "sum2"); Plot3(sum3, "sum3"); PlotBaseLine1(0, "기준선"); 즐거운 하루되세요 > 입큰늑대 님이 쓴 글입니다. > 제목 : 초기값이 이상하게 변하는데.. > 수고하십니다. for문을 쓰다가 이해 안되는 결과가 나와서 체크해보니 좀 이상하군요. 아래 코드를 실행하면 합 55가 나와야 정상인데 그렇게 나오지 않습니다.. 한번 실행해 보시면 이상합니다. 체크해보니 선언부에서 sum2,sum3를 0으로 선언해도 첫번째 for문 연산 이후에는 sum2,sum3의 변수의 선언 초기값이 이상하게 변화하는군요. 이를 고치기 위해 해당 for문앞에 sum2=0;을 집어넣으면 55의 값을 갖습니다. for문만의 문제가 아니라 while문 등도 마찬가지의 에러를 보입니다. 아울러 매뉴얼에는 for i=0 to 10 2 같이 증가분을 지정할 수 있다고 돼 있는데 실제로는 안됩니다. <For test> Var: ii(0); Var: jj(0), kk(0), sum(0), sum2(0), sum3(0); sum = 0; for ii = 0 to 10 sum = sum + ii; for kk = 0 to 10 sum2 = sum2 + kk; for jj = 0 to 10 sum3 = sum3 + jj; Plot1(sum, "sum"); Plot2(sum2, "sum2"); Plot3(sum3, "sum3"); PlotBaseLine1(0, "기준선");