[조합된 loop문]
: 조합된 루프문. 반복을 위한 for문 안에 들어가는 first, last, step 값을 프로그래머가 따로 지정해서 루프문을 조합해 사용가능하다는 사실.
: Algo 60은 보다 현대적인 '열거'와 '논리적으로 통제' 된 루프의 속성을 요약하는 단일 루프 구조를 제공한다.
: 프로그래머가 단일 값 / 값의 범위(열거-제어형 반복과 유사한) / 종료 조건문 이 될수 있는 임의의 "Enumerators" 들을 for문의 header에서 지정할 수 있게 해준다. (아래 예시)
: 더 간단해진 형태의 combination loop가 C와 그 기반 언어들에서 보여진다.
: C에서의 반복문은 논리-제어형 언어이지만, 열거하기 쉽게 디자인 되었다.
# C에서의 반복문
for (i = first; i <= last; i+= step) { ... } // 프로그래머가 first, last, step 값을 지정해 사용할 수 있게 해준다 |
# C에서의 반복문2
{ i = first; while (i <= last) { ... i += step; } } |
: 프로그래머가 값들을 지정해 사용하는 만큼, 종료 조건에 대한 오버플로 발생은 프로그래머의 책임이다.
: 종료 조건에 포함된 모든 값들이 루프 내부에서 수정될 수 있다.
[반복문 header에서의 세개의 절]
: 위에서 말한 header에 프로그래머가 넣을 수 있는 절들은 null 값이 될 수 있다. (true로 취급)
: 이러한 절들은 콤마를 기준으로 분리된 표현식을 구성할 수 있다. ( for (int i = 0; i<9; i+=1) {} )
: 이러한 방식의 루프(C)의 장점은 치밀함과 명료함이다. (모든 조작이 header 안에 위치, 루프중에 무슨일이 일어나는지 알기위해 루프문의 맨위와 아래를 항상 읽어야함)
'[프로그래밍 언어론]' 카테고리의 다른 글
프로그래밍 언어론 6-5-5강. Logically Controlled Loops (0) | 2019.12.01 |
---|---|
프로그래밍 언어론 6-5-3강. 반복자(Iterators) (0) | 2019.12.01 |
프로그래밍 언어론 6-5-1강. Enumeration-Controlled Loops (0) | 2019.11.29 |
프로그래밍 언어론 6-5강. 반복(Iteration) (0) | 2019.11.28 |
프로그래밍 언어론 6-4강. 선택(selection) (0) | 2019.11.23 |