Pseudocode의 실제 사용
글쓴이: superkkt / 작성시간: 목, 2006/01/05 - 11:32오후
간단한 프로그램을 제작하려고 합니다. 지금까지는 아무런 계획 없이 막무가내로 하다보니 조금만 커지면 너무 복잡해지는 경향이 있었습니다. 그래서 이번엔 계획을 세우고 진행을 할려고 하는데요.. Pseudocode도 사용을 해볼려고 합니다.
구글에서 검색해서 대충 이렇게 하는거구나하고 감을 잡았습니다. 그리고 작성을 하고 있는데.. 제가 c 말고 다른 언어는 몰라서 c 문법으로 쓰고 있습니다. 그런데 이게 저도 모르게 실제 구현에 가까울 정도로 자세하게 작성을 하고있더군요.
쩝.. 찾아본 예제들은 너무 간단한것들만 있어서 실제 프로그램에 적용할때는 어떻게 의사코드를 작성하는지 궁금합니다.
Forums:
pseudo code에 언어는 관계 없지요.저는 한글로된 주석으로
pseudo code에 언어는 관계 없지요.
저는 한글로된 주석으로 달면서 시작합니다;
일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.
* c 형태로 쓰는 것도 나쁘지 않습니다. 정형을 추구하는 책에서
* c 형태로 쓰는 것도 나쁘지 않습니다.
정형을 추구하는 책에서는 이런 pseudo code를 기술하는 언어를 정의하고 이를 이용하여 기술하기도 합니다. 이런 pseudo code를 기술하는 언어는 저자가 추구하는 언어의 스펙과 아주 유사함을 알 수 있습니다. 보통 자료구조론을 기술한 책들중 저명한 사람이 쓴 책들을 보면, 이런 사례를 쉽게 볼 수 있습니다.
그런데, 저자는 superkkt님이 될것이고, 구현언어가 c가 될것이고, c가 제 3자에게 낯선 언어도 아니고, 그러면 더이상 망설일 이유가 없겠군요.
저의 경우 과거 플로우챠트가 모든 컴퓨터서적의 시작을 알리는 시기에,...
플로우챠트를 그렸고,
파스칼 언어를 할때, 파스칼과 유사하게 pseudo code를 기술했고,
자료구조를 공부할때, 자료구조책에서 정의한 언어(현존하는 많은 스크립트보다도 좀 비정형적이지만)를 사용하고,
c와 비스무리하게 기술하기도 하고,
10여개 언어를 돌파하고, 규모가 커지고(10만 라인 이상), 시스템 비의존적으로 가고,....구현하는 덩치가 좀... 커지게 되자, 이제 동그라미, 네모등으로 합니다.(개인적으로 그림이 만국 공용어라는 생각을 굳게 믿고 있습니다.)
나름의 이런 방식도 있지만, 훨씬 체계화시키고 학문적으로 승화시킨 UML도 있지요. 만일 학생이라면 UML을 권하고 싶습니다.
* 현재, c로 기술하지는 않지만, c로 기술할때를 더듬어 보면,
...처음 전산입문 시기와 다른점이 있었다면, 보다 과거에는, 예를 들어, 소팅알고리즘까지 세부적으로 기술했으나, 이제는 그냥 소팅(sorting)이라고 쓰고 맙니다. 이를테면 function 이름의 기술로 pseudo code가 기술되지요. 아주 오래전에는 hash알고리즘내부까지 기술했지만, 어느 시기부터는 그냥 hash합니다.... 인터넷의 훌륭한 리소스를 많이 활용하기도 하고, 최근의 도구들은 이런것들은 거의 내장해서 제공해 주니까 말입니다.
결론적으로, 자신에게 편한 방법을 채택하세요.
저도 UML을 권합니다.객체 설계나 상호 연계같은 부분이 보기 쉬
저도 UML을 권합니다.
객체 설계나 상호 연계같은 부분이 보기 쉬워서 설계시 실수하는 일이 줄어 들더군요. 객체지향이 필요없는 부분이라도 UML을 활용할 수 있으며 각 객체 혹은 함수들의 관계를 명확히 볼 수 있어서 실수할 일도 적습니다. [제가 객체지향에 조금 약한 편인데. 보통 상호 통신쪽에서 실수를 많이 하던 편인데 UML쪽으로 설계해 보면 이런 실수가 많이 줄어 듭니다.]
몇몇 UML툴의 경우엔 사용자가 생성한 UML문서를 여러가지 언어로 만들어 주기도 합니다.[그런데.. 별로.. 추천하고 싶지 않습니다. 하지만 편하다고 하는 사람도 봤으니 자신에게 맞으면 이편도 좋을 듯 싶습니다. UML에서 생성하는 코딩 스타일이 무척이나 밉습니다. ㅋㅋ]
문제는 실무에서 UML쓰기엔 문제가 많아서.. 새로 시작하는 입장에서라면 많은 도움이 되겠지만[이건 객체지향 자체의 성향일 수도 있겠죠.] 기존에 있는 프로세스를 UML로 다시 설계한다면 생각처럼 쉽지 않은 것도 사실이긴 합니다.
'현실은 수학으로 표현할 수 없다.'
'수학은 거짓의 학문이다.'
'난 수학이 정말 싫다.'
저도 사실 이 질문을 봤을때 UML을 떠올렸습니다.하지만, 지금
저도 사실 이 질문을 봤을때 UML을 떠올렸습니다.
하지만, 지금 C++ 가 아니라 C 코딩을 하고 계신데
UML은 OOP 상황에서 쓰기 위해 태어난 녀석이라서
글을 적을까 하다가 말았습니다..
공부를 위해서라도 초기 설계 단계에는 UML을 써보시는 것이 좋을것 같습니다.
일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.
검색해봤더니 결과가 무쟈게 많이 나오네요.. 쓸만한 공개툴은 어떤게 있나
검색해봤더니 결과가 무쟈게 많이 나오네요.. 쓸만한 공개툴은 어떤게 있나요?
======================
BLOG : http://superkkt.com
UML 공개 툴이요??플라스틱이 최근 GPL이 되지 않았던가요?
UML 공개 툴이요??
플라스틱이 최근 GPL이 되지 않았던가요?
저는 visio 를 애용합니다.
일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.
python도 괜찮죠. python으로 프로그램 다 짠 다음 속도 향상이
python도 괜찮죠. python으로 프로그램 다 짠 다음 속도 향상이 필요한 부분을 하나씩 C로 바꿔나가는 방법은 python의 주요한 활용 영역 중 하나입니다. python 코드는 보통 쓰이는 pseudo code 못지 않은 간결함을 보여주기도 하죠. 그래서 python을 prototyping language라고 부르기도 합니다.
[quote="creativeidler"]python도 괜찮죠. pyth
네, ruby도 괜찮을 것 같습니다. ;-) pseudocode 대신 써도 될 정도의 high-level을 달리는 언어들이 많아져서 좋아요~
--
http://www.deisys.net
댓글 달기