2014-02-28 1 views
0

나는 정확히 CS 및 CSMap 여기 CS와 CSMap은 무엇을 의미합니까?

-- 
-- An array of array (which is different from a 2-d array). 
-- 
with Gnat.Io; use Gnat.Io; 
procedure Arr4 is 
    type CS is (G_Wiggins, M_Wiggins, Bennet, Woodall); 
    type CSMap is array (CS) of Integer; 
    A: array (1..3) of CSMap :=((4, 8, 17, 34),(9, 11, 3, -2),(6, 21, 2, 18)); 
    I: Integer; 
    P: CS; 
    Row: CSMap; 
begin 
    -- Print it the usual way. 
    for I in 1..3 loop 
     for P in CS loop 
      Put(A(I)(P)); 
      Put(" "); 
     end loop; 
     New_Line; 
    end loop; 
    New_Line; 
end Arr4; 

무엇을 의미하는지, 내가 어떤 사람이 그것이 무엇을 설명 할 수 에이다 예를 들어 코드 아래에보고, 에이다에 아주 새로운 해요?

+0

이름 랜 게이지는 에이다 (Ada)이며 숙녀 이름이 아닌 약어입니다. 미국 장애인 법 (ADA)은 장애인 법 (Attack with Disabilities Act) (또는 그 밖의 무엇이든 나타낼 수있는 것)이므로 철자법을 수정하도록 권장합니다. 그렇게하면 대소 문자를 구별하는 Google 검색에서 소식이 표시 될 수 있습니다. – darkestkhan

+0

그를 위해 그것을 고정. –

답변

5

CS는 열거 형이고 CSMap은 해당 열거 형에 의해 인덱싱 된 배열입니다. A는 CSMap의 배열입니다. Computing_Student가 훨씬 더 예를하고 최종 시험, 말,을 준비합니다 : CS은 (우리가하지 않는 일부 컨텍스트의 외부) 변수 이름에 대한 끔찍한 선택이기 때문에

그들이 말은 불분명하다 점수. 1K 메모리를 가진 타겟을 위해 Ada를 컴파일하더라도 더 긴 이름은 오브젝트 크기에 영향을 미치지 않습니다.

그러나 CSMap 또는 Computing_Student_Map은 하나의 테스트에서 점수를 나타낼 수 있으며 A은 각 용어의 시험 점수를 나타낼 수 있습니다. 학생이 -2 점을 얻는 것은 내 관심사가 아닙니다!

이 프로그램은 모든 값을 출력하는 중첩 된 루프 쌍입니다. A (I)는 CSMap을 선택하고 (P)는 P 번째 멤버에 액세스합니다.

명확한 사항이 있습니까?

편집 : 잠재적 인 버그로 이어지는 가난한 연습주의 :

for I in 1..3 loop 

그 그렇다면 목적은 그것을 보장하는 것이 더 나은 것, 배열 A에서 모든 값을 통해 인덱스에 아마 입니다 누군가가 배열 A의 크기를 변경하면 다음

for I in A'range loop 

를 작성하여, 루프는 여전히 ... 의도 한 작품으로 프로그래밍

관련 문제