커뮤니티

배열변수 사용시...

프로필 이미지
주머니
2010-05-03 22:56:30
901
글번호 29752
답변완료

첨부 이미지

array: par[8](0); var: i(0); for i=1 to 8 Begin par[i]=ma(C,i); End plot13(par[1],"pma01"); plot14(par[2],"pma02"); plot15(par[3],"mma01"); plot16(par[4],"mma02"); plot17(par[5],"mma03"); plot18(par[6],"mma04"); plot19(par[7],"mma05"); plot20(par[8],"mma06"); 수고많습니다.. 위와 같이 배열변수를 사용하였는데 유첨과 같이 8개 배열값이 동시에 그려집니다. 일반변수 8개를 사용시에는 봉하나씩 순차적으로 그려집니다. 왜 배열값을 사용시에는 순차적으로 그려지지 않고 동시에 그려지는지요?
지표
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2010-05-04 09:52:42

안녕하세요 예스스탁입니다. 수식은 적용시 먼저 이 식에서 필요한 최소 봉갯수를 계산하게 되는데 수식은 위에서 아래로 읽어 내려가게 되고 for문이 먼저 실행되면서 ma(c,8)을 기록하므로 최소 8개봉이 필요하다고 판단하게 됩니다. 그러므로 모두 8번재 봉부터 표시를 하게 됩니다. 즐거운 하루되세요 > 주머니 님이 쓴 글입니다. > 제목 : 배열변수 사용시... > array: par[8](0); var: i(0); for i=1 to 8 Begin par[i]=ma(C,i); End plot13(par[1],"pma01"); plot14(par[2],"pma02"); plot15(par[3],"mma01"); plot16(par[4],"mma02"); plot17(par[5],"mma03"); plot18(par[6],"mma04"); plot19(par[7],"mma05"); plot20(par[8],"mma06"); 수고많습니다.. 위와 같이 배열변수를 사용하였는데 유첨과 같이 8개 배열값이 동시에 그려집니다. 일반변수 8개를 사용시에는 봉하나씩 순차적으로 그려집니다. 왜 배열값을 사용시에는 순차적으로 그려지지 않고 동시에 그려지는지요?
프로필 이미지

주머니

2010-05-04 13:37:14

for문을 사용하지 않아도 마찬가지더군요... par[1]=ma(C,1); par[2]=ma(C,2); par[3]=ma(C,3); par[4]=ma(C,4); .... 즉 for 문의 영향이 아니라,,, 배열로 선언되면 무조건 배열크기만큼 데이타가 채워져야 하는것 같습니다.. 이것을 극복할 방법이 없나요? 즉,, 배열을 쓴다면 실시간으로 정보처리를 할수 없다는것인데,,, > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 배열변수 사용시... > 안녕하세요 예스스탁입니다. 수식은 적용시 먼저 이 식에서 필요한 최소 봉갯수를 계산하게 되는데 수식은 위에서 아래로 읽어 내려가게 되고 for문이 먼저 실행되면서 ma(c,8)을 기록하므로 최소 8개봉이 필요하다고 판단하게 됩니다. 그러므로 모두 8번재 봉부터 표시를 하게 됩니다. 즐거운 하루되세요 > 주머니 님이 쓴 글입니다. > 제목 : 배열변수 사용시... > array: par[8](0); var: i(0); for i=1 to 8 Begin par[i]=ma(C,i); End plot13(par[1],"pma01"); plot14(par[2],"pma02"); plot15(par[3],"mma01"); plot16(par[4],"mma02"); plot17(par[5],"mma03"); plot18(par[6],"mma04"); plot19(par[7],"mma05"); plot20(par[8],"mma06"); 수고많습니다.. 위와 같이 배열변수를 사용하였는데 유첨과 같이 8개 배열값이 동시에 그려집니다. 일반변수 8개를 사용시에는 봉하나씩 순차적으로 그려집니다. 왜 배열값을 사용시에는 순차적으로 그려지지 않고 동시에 그려지는지요?
프로필 이미지

예스스탁 예스스탁 답변

2010-05-04 14:19:11

안녕하세요 예스스탁입니다. 해당내용은 for문이나 배열과 관계있는 내용이 아닙니다. 차트에 그림을 그려라라는 명령어가 시행될때까지 수식에서 몇개의 값을 계산토록 하는가에 대한 문제입니다. Array : par[5](0); par[1]=ma(C,1); par[2]=ma(C,2); par[3]=ma(C,3); par[4]=ma(C,4); plot1(Par[1]); plot2(Par[2]); plot3(Par[3]); plot4(Par[4]); 위와 같이 작성하시면 plot1이 되기 전에 수식에서 필요한 최소 봉갯수가 4이평을 계산하기 위해 4개이므로 plot1~plot4가 모두 4개봉 부터 그려집니다. 하지만 식을 아래와 같이 작성하시면 plot1는 첫봉 plot2는 2번째 봉부터 각각 그려지시는 것을 확인하실 수 있습니다. Array : par[5](0); par[1]=ma(C,1); plot1(Par[1]); par[2]=ma(C,2); plot2(Par[2]); par[3]=ma(C,3); plot3(Par[3]); par[4]=ma(C,4); plot4(Par[4]); 즉 명령문을 수행하기 전에 계산되어야 하는 값이 있으면 이 계산식이 필요한 봉갯수가 생길때까지실행문을 실행하지 않습니다. 참고하시기 바랍니다. 즐거운 하루되세요 > 주머니 님이 쓴 글입니다. > 제목 : Re : Re : 배열변수 사용시... > for문을 사용하지 않아도 마찬가지더군요... par[1]=ma(C,1); par[2]=ma(C,2); par[3]=ma(C,3); par[4]=ma(C,4); .... 즉 for 문의 영향이 아니라,,, 배열로 선언되면 무조건 배열크기만큼 데이타가 채워져야 하는것 같습니다.. 이것을 극복할 방법이 없나요? 즉,, 배열을 쓴다면 실시간으로 정보처리를 할수 없다는것인데,,, > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 배열변수 사용시... > 안녕하세요 예스스탁입니다. 수식은 적용시 먼저 이 식에서 필요한 최소 봉갯수를 계산하게 되는데 수식은 위에서 아래로 읽어 내려가게 되고 for문이 먼저 실행되면서 ma(c,8)을 기록하므로 최소 8개봉이 필요하다고 판단하게 됩니다. 그러므로 모두 8번재 봉부터 표시를 하게 됩니다. 즐거운 하루되세요 > 주머니 님이 쓴 글입니다. > 제목 : 배열변수 사용시... > array: par[8](0); var: i(0); for i=1 to 8 Begin par[i]=ma(C,i); End plot13(par[1],"pma01"); plot14(par[2],"pma02"); plot15(par[3],"mma01"); plot16(par[4],"mma02"); plot17(par[5],"mma03"); plot18(par[6],"mma04"); plot19(par[7],"mma05"); plot20(par[8],"mma06"); 수고많습니다.. 위와 같이 배열변수를 사용하였는데 유첨과 같이 8개 배열값이 동시에 그려집니다. 일반변수 8개를 사용시에는 봉하나씩 순차적으로 그려집니다. 왜 배열값을 사용시에는 순차적으로 그려지지 않고 동시에 그려지는지요?