자신이 좋아하는것

2010년 10월 28일 목요일

pep/8 으로 프로그램 만들기

세개이상의 임의의 숫자를 입력받아서 그 숫자들을 다시 큰 순서대로 나열하는 프로그램을 제작해보았습니다.

지금 배우고 있는 java 같은 high level language도 버거운 제게 assembly language란...

하여튼 먼저 여러개의 숫자를 받을때 num1, num2, num3 이렇게 미리 값을 받을 공간을
정해놓고 하기보다는 배열을 사용하여서 매번 값을 받을때 조건문을 사용해서 그다음에
배열에 입력받은 값을 넣은 후 값들을 비교하는것이 편리할것이라고 생각해서 아래와
같이 생각했습니다.
  for (int i = 0; i < data.length; i++)
                      {  
                                 for (int j = i+1; j < data.length; j++)
                                 {
                                            if( data[i] < data[j] )
                                            {
                                                       int temp = data[i];
                                                       data[i] = data[j];
                                                       data[j] = temp;
                                            }
                                 }
                      }

이런식으로 크기순으로 나열하면 되겠다고 생각했는데
막상 pep/8으로 만들자하니 너무 막막했습니다.
pep/8를 뒤지다보니 example에 배열과 관련된 부분이 있었지만




이를 응용하는것과 중첩된 조건문들을 만드는것이 예상외로 어려웠는데요.
4개의 숫자를 받아서 대충 만들긴했는데 조건문을 한없이 돌기만하고
output이 나오지 않아서 그냥 3개로 정해진  값을 받아 큰값 순으로 정렬하는
프로그램을 만들었습니다.

if (a > b) {
   temp = a;
   a = b;
   b = temp;
  }
-------------------------------------------------------------------------------



여기서 CHARO  0x020,i  는 숫자들 사이에 스페이스를 한번 출력하라는 뜻입니다.
아래 아스키코드표를 참고했습니다.



위와같이 만든 프로그램이 작동하는 화면입니다.


3개보다 많은 여러 숫자값을 받아 정렬하는 프로그램은 나중에 assembly language에 대해
더 배워  pep/8의 사용법을 숙지하고 올려야 겠네요.

댓글 2개: