taocp 2_4

13
다다 다다 다다 다다다 : http://cafe.naver.com/architect1 다다다 : [email protected] http ://download.oracle.com/ Metadata Example in COBOL

Upload: taewoo-kim

Post on 27-Jun-2015

608 views

Category:

Education


9 download

TRANSCRIPT

다중 연결 구조

아꿈사 : http://cafe.naver.com/architect1김태우 : [email protected]

http://download.oracle.com/ … Metadata Example in COBOL

연습문제 풀이

1. COBLO 자료 구성들을 트리 구조로 간주할 때 , COBOL 프로그래머가 나열한 자료 항목들은 전위 순서인가 , 후위 순서인가 ?아니면 둘 다 아닌가 ?

전위 .

(4)

1 A 3 B 7 C 7 D 3 E 3 F 4 G

1 H 5 F 8 G 5 B 5 C 9 E 9 D 9 G

2. 알고리즘 A 의 실행 시간을 논하라

본질적으로는 생성된 자료표 항목들의 개수에 비례한다 .

(4)

1 A 3 B 7 C 7 D 3 E 3 F 4 G

1 H 5 F 8 G 5 B 5 C 9 E 9 D 9 G

3. PL/I 언어는 COBOL 의 것과 비슷한 형태의 자료구조들을 받아 들이되 , 수준 번호들에 대한 제약이 더 약해서 어떠한 형태의 수준 번호 순차열도 가능하다 . 예를 들어 다음 두 수준 번호 순차열들은 동등하다 .

A5`. [ 최상위 수준을 제거 ] 스택 최상위 요소를 제거한다 . 그리고 만일 스택 최상위의 새 수준 번호가 L 보다 크면 새로 스택 최상위 요소가 된 쌍으로 (L1, P1) 을 갱신하고 이 단계를 반복한다 . 그렇지 않으면 SIB(P1) Q 로 설정 하고 , 새로 스택 최상위 요소가 된 쌍으로 (L1, P1) 을 갱신 .

1 A3 B5 C4 D2 E

1 A2 B3 C3 D2 E

PL/I 에서 규칙 (a) 는 ‘한 그룹의 항목들은 감소하지 않은 수준 번호들의 순차열을 가져야 하며 , 그 수준 번호들은 그룹 이름의 수준 번호보다 더 커야한다’로 바뀌어야 한다 .

알고리즘 A 는 COBOL 의 관례를 따르는데 , 만일 PL/I 의 관례를 따르게 하려면 알고리즘 A 를 어떻게 수정해야 할까 ?

4. 알고리즘 A 는 COBOL 프로그래머가 본문에서 말한 규칙 (c)를 어겼다고 해도 그에 대한 오류를 검출하지 않는다 . 규칙 (c) 를 만족하는 자료구조만을 받아들이도록 알고리즘 A를 수정하라 .만일 자신의 완전 한정 (Complete Qualification) 이다른 어떤 자료 항목으로의 한 COBOL 참조인 자료 항목이 존재 한다면 , 그리고 오직 그럴 때에만 규칙 (c) 가 위반된다 .부모 도 반드시 규칙 (c) 를 만족하므로 , 앞에서 말한 다른 어떤 자료 항목은 그 항목과 같은 부모의 후손이라고 가정할 수 있다 .따라서 자료표에 새 자료 항목이 추가될 때마다 그 부모가 이름이 같은 다른 어떤 항목의 후손인지 , 또는 만일 이름이 같은 다른 어떤 항목의 부모가 스택에 있는지를 점검하도록 변경 .

(2)

1 AA 2 BB 3 CC 3 DD 2 CC

5. 실제 응용에서는 알고리즘 B 에 “ , …, ” 대신 기호표 참조들로 된 연결 목록을 입력할 수도 있다 . T 가 포인터 변수이며 다음을 만족한다고 하자 . INFO(T) , INFO(RLINK(T)) , …, INFO(RLINK[N](T)) , INFO(RLINK[N](T)) 이러한 연결 목록을 입력으로 사용하도록 알고리즘 B 를 수정하라 .

단계 이것을 이것으로

B1 P LINK() P LINK(INFO(T))

B2 k 0 K T

B3 k < n RLINK(K)

B4 k k + 1 K RLINK(K)

B5 NAME(S) = NAME(S) = INFO(K)

6. PL/I 언어는 COBOL 에서와 상당히 비슷한 자료구조를 받아들이는데 , 규칙 (c) 에 해당하는 제약은 없다 . PL/I 의 경우에는 한정된 참조 (3) 이 “완전한” 한정을 나타낸다면 그런 참조는 애매하지 않은 것이라는 규칙이 존재할 뿐이다 . 따라서 규칙 (C) 는 한 그룹에 이름이 같은 항목들이 존재하지만 않으면 된다는 수준으로 약해진다 . 알고리즘 B 를 그러한 PL/I 의 관례를 따르도록 수정하려면 어떻게 해야 할까 ?단계 B3 에서 만일 k = n 이고 PARENT(S) ≠ ∧ 이면…또는 , 단계 B6 에서 NAME(S) Pk 이면 P ← PREV(P) 로 설정하고… B2 로 간다 .

𝐴0𝑂𝐹 𝐴1𝑂𝐹 ...𝑂𝐹 𝐴𝑛 ,𝑛≥0(3)

7. (1) 과 같은 자료형이 주어졌을 때 , COBOL 문장 “ MOVE COREESPONDING SALES TO PURCHSASES’ 의 의미는 ?

MOVE MONTH OF DATE OF SALES TO MONTH OF DATE OF PURCHASES. MOVE DAY OF DATE OF SALES TO DAY OF DATE OF PUR-CHASES.MOVE ……MOVE TAX OF TRANSACTION OF SALES TO TAX OF TRANSACTION OF PURCHASES.

8. 본문에 나온 정의를 따를 때 , “MOVE CORRESPONDING TO “ 가 “ MOVE TO “ 와 정확히 같은 의미가 되는 것은 어떤 상황일까 ?

오직 또는 가 기본 항목일 때에만 .

9. 10. 11… 죄송합니다 ㅜㅜ

Lisence