상담문의

ㆍ HOME > 상담문의 > 정보처리기사 실기
제 목 20강과 21강에서
글쓴이  권우석작성일 2005-06-30조회수 452
글공유
게시글을 twitter로 보내기게시글을 facebook으로 보내기게시글을 Me2Day로 보내기게시글을 요즘으로 보내기
20강에서 최대값 초기화를 for k=1 to 인수 2 앞에 넣는데요..
그냥 최대값 구하기에 넣으면 안되나요?
ex) 변수저장 뒤에
최대값 = 0
if 단가 >= 50 then
if 최대값 < 이익포인트+ 거래포인트 then
이렇게요... 왜 for K=1 to 인수2 의 전에 넣는지 궁금해요.

=> 최대값 또는 최소값 초기화하는 위치가 중요합니다. (for문 때문입니다. 초기화가 for문 밖에 있는지, for문 안에 있는지가 중요합니다.)

초기화하는 위치에 따라서 for문 때문에 수행순서가 바뀌므로 결과값은 달라지죠

옛기억을 잠시 떠올려 보시죠...우리가 처음 문법할 때...변수선업,변수저장,변수출력 이라는 기본공식을 이용해서 모든 코딩을 했습니다. 그러다가..,for문, if문, select문 이라는 반복문,조건문이 나오면서 위에서 아래로 수행되었던 순서는 제어문(반복문,조건문)의 위치에 따라서 수행순서가 바뀌었습니다.

for문에 따라서 반복하고 if문에 따라서 선택하여 명령문을 실행했습니다.

그럼..한 예를 가지고 초기화의 위치에 따라서 결과를 비교해 보겠습니다.

예 1) for문 밖에서 초기화

점수=0

for k=1 to 3

  점수=점수+k

next k

=> 위 소스 코딩 후 점수를 출력하면 얼마일까요? 1에서 3까지 합인 6이 출력됩니다.


예 2) for문 안에서 초기화

for k=1 to 3

  점수=0

  점수=점수+k

next k

=> 위 소스 코딩 후 점수를 출력하면 얼마일까요? 3 입니다.

초기화 위치에 따라서 결과는 달라집니다.

예 2에서 마지만 수행과정을 보면 for문에서 k가 3일때 첫번째 명령문인 점수=0 이 수행되므로 점수는 0 을 저장합니다. 그리고 점수=점수+k 를 수행하므로 점수에 0+3 값이 저장되죠....우리가 다루고 있는 문제도 동일합니다. 제어문의 어떤 위치에 초기화 코딩이 들어가는지에 따라서 결과는 달라집니다.


21강에서.. 핵심 변수 선언에서 합계를 일반변수로 취급하라고 그러셨잖아요.
설명 부분이 조금 빨라서... 잘 모르겠어요.
사실은 앞 19강에서도 합계(1000)이라고 넣는 것도.. 억지로 이해할려면 그런것 같은데..
저는 합계(K)라고 넣고 싶었거든요..
그런데.. 21강에서는 그냥 합계라고만 하라고 하니까..
의문이 더 해 가요..

=> 내용이...전화로 답변드려야 할 것 같습니다. 전화드리겠습니다.
댓글쓰기 :
이전글 모의 고사 도중에...
다음글 문제가 안 풀려여..ㅠ.ㅠ
고객지원센터

02-556-3650

평일 9:00~18:00

일요일 공휴일 휴무

계좌번호안내

농협은행 724-01-173541

국민은행 633601-04-044665

예금주 (주)조은캠프

상호명 : (주)조은캠프 ㅣ 대표이사 : 이유락 ㅣ 대구광역시 북구 대학로80 경북대학교 IT융합산업빌딩 11층
사업자번호 : 504-81-62507 ㅣ 본사 : 053-954-0030 ㅣ 기술지원 : 070-7019-1144 ㅣ 팩스 : 050-7711-2200 ㅣ 
원격평생교육시설13호 ㅣ 출판사 : 345-2005-00013 ㅣ 통신판매업 : 2005-대구북구-00158 ㅣ 정보보호책임자 : 김창연  
기사친구는 SSL보안방식의 암호화구간을 적용하여 사이트를 안전하게 이용하실 수 있습니다.
COPYRIGHT 2005 (주)조은캠프 ALL RIGHTS RESERVED.관리자에게 메일보내기