C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[16593] 베이직 형식의 의사코드 에뮬레이터를 만들고자 합니다.
하늘마루 [comser] 3839 읽음    2009-08-13 01:09
안녕하십니까.
실력이 안되어서 계속 들렸다가 가기만 하는 유령 회원입니다.
뜬금없이 글 올린다는게 질문인데, 어디에 특별히 올리기가 애매하여
자게에 올립니다.

저는 고등학교 컴퓨터 교사인데요.
내년부터 중학교 1학년부터 교육과정이 바뀝니다. 그 동안은 정말
컴퓨터 학원같은 교육과정으로 인해서 교사는 교사대로 학교에서
순돌이 아빠와 같은 대접을 받았고, 학생은 학생대로 너무 쉽거나
어려운 내용이고 게다가 학원에 다녔거나 인터넷 조금만 뒤지면
나오는 단순 프로그램 기능을 익히는데 중점이 있었습니다.
게다가 국가가 공식 지정한 MS 홍보 요원 같았지요. 윈도와 엑셀이
중점이었으니까요.

이제 내년부터는 컴퓨터 수업이 정말 나름대로 제대로 돌아갈 것
같습니다. 학생들에게 몇 가지 자료 구조 등이 실제 생활에서 쓰이
는 것과 이를 응용하여 문제해결을 하는데 필요한 논리력을 기르는
것으로 바뀝니다.

그 때 사용할 자료가 필요한데요. 간단히 돌아가는 의사코드
에뮬레이터가 필요합니다. 학교 현장에서 비주얼 베이직이나 다른
컴파일러는 돈을 주어야 하는 문제도 있고, 이 또한 MS 종속적이고요.
이제는 정말 MS 홍보요원 그만 하고 싶습니다.
그렇다고 빌더나 델파이는... 돈이 문제입니다. 그리고, 그렇게 강력
한 기능은 필요없구요. 인스톨조차도 필요없을 정도로 간단한
프로그램이 필요합니다. 중1부터 고1 학생이 부담없이 실습할 수
있는 것으로요. 그래서 제가 만들어 보고 싶습니다.

화면 출력, 변수, if문, for문, 배열
딱 이렇게만 있으면 되거든요. 언어에 필요한 기본은 다 있는 셈인가요?
어떤 귀재께서는 한 달이면 만들고도 남는다고 하셨던데, 문제는 그 분을
이 쪽으로 투입할 수 있는 상황이 아닙니다.

혹시 이렇게 만들 수 있는 방법에 대한 문서와 자료가 있으시다면
도움을 받고 싶습니다. 제 생각에는 아무래도 구문분석부터 배우면서
할 것이 많을 것 같네요...
간단한 아이디어라도 있으시다면 꼭 부탁드리겠습니다. 이제 저도
제대로 컴퓨터 교육 해보고 싶습니다.
김호광 [testcode]   2009-08-13 01:36 X
Turbo C++ Explorer가 있습니다. 무료입니다.

https://downloads.embarcadero.com/free/c_builder

델파이도 무료 버전 있습니다.

김호광 [testcode]   2009-08-13 01:36 X
라자루스라고 델파이 이복 동생 격인 놈도 있습니다. 무료이며 PDA도 지원합니다.
김호광 [testcode]   2009-08-13 01:37 X
만드시는 것보다 있는 것을 재활용하심이 좋을 것 같습니다.
장성호 [nasilso]   2009-08-13 01:59 X
무료버젼 몇가지.. 다음 링크를 참조하세요
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=853
김상구.패패루 [peperu]   2009-08-13 09:19 X
초등학생 교육용이라면 차라리 LUA 같은 쉬운 스크립트 엔진을 선택해서 콘솔 인터페이스를 하나 만들어 주는게 편할 듯 하네요.
초등학생에게 Turbo C++나 델파이를 가르치는건 어려울 뿐 아니라 그럴 필요도 없어 보입니다.
직접 제작하신다면 처음부터 끝까지 만들기엔 시간적 여유도 없을 뿐만 아니라 단기간 안에 완성한다고 해도 완성도가 높을리 없겠죠. LUA엔진을 가져다 쓰신다면 이런 문제는 손쉽게 해결되리라 봅니다.
정말 과장이 아니고 바인딩 예제 조금 살펴 보시면 빌더에다 메모장 하나 올려놓고 실행버튼 정도 만들어 바인딩 시키는건 1시간 이내로 끝날겁니다. 나머지는 한글을 사용할 수 있도록 조금 변형을 가하는건데, LUA는 유니코드를 공식적으로는 지원하지 않으므로 소스코드 중 일부를 수정해서 UTF-8로 인코딩 된 문자를 변수명으로 사용할 수 있도록 하는등의 패치가 필요할겁니다. 이건 인터넷에 찾아보시면 꽤 나오니까...
여튼. 유니코드 지원을 위해서는 메모장에서 입력받은 스크립트를 UTF-8로 인코딩 한 후 그걸 루아 스크립트 엔진이 실행하도록 해 주면 됩니다. 물론 화면 출력은 그 반대겠죠. Delphi나 C++Builder 2009 이하 버전을 사용중이시라면 유니코드 처리를 위해 TntUnicodeControl 가져다 쓰시면 될겁니다.
김상구.패패루 [peperu]   2009-08-13 09:25 X
http://www.lua.org/cgi-bin/demo
여기 라이브 데모가 있네요.
이 코드를 넣어서 한 번 실행해 보세요.

for i = 0,10 do
  io.write("hello", i, "\r\n");
end
김상구.패패루 [peperu]   2009-08-13 09:28 X
아이들이 혹시 게임 좋아하면 LUA가 게임 스크립트로 잘 사용되니까 잘 배워두면 직접 써먹을 수도 있다. 뭐 이런식으로 접근하시면 효과가 더 좋지 않을까 싶네요. 게다가 LUA는 인터프리터 방식이 아닌 컴파일 방식입니다. 단지 자체 가상머신 위에서 돌 수 있는 바이너리를 만들어내죠. 따라서 아이들의 호기심을 자극할 방법이 무궁무진하다는겁니다. 컴파일러, 가상머신에 대한 이해 등을 재밌게 가르칠 수 있어보입니다.
김상구.패패루 [peperu]   2009-08-13 09:38 X
마지막으로... 제가 아까 유니코드 패치를 말씀 드렸는데 그걸 하면
for 상구 = 0,10 do
  io.write("hello", 상구, "\r\n");
end
이런 코드도 돌아가게 됩니다.

http://www.gpgstudy.com/gpgiki/LuaHangulPatch
한글변수 가능하게 고치는 법인데... 이렇게만 하셔도 교육용에는 충분할겁니다. 유니코드 인코딩 디코딩 필요없죠. 다만 한글과 영어 이외의 언어를 함께 사용하게 해 주고 싶다면 반드시 유니코드로 가셔야 합니다.
Team B [teamb]   2009-08-13 09:46 X
smalltalk 기반의 squeak 은 어떨까요.. 스퀵이 잘 국내에 잘알려지지 않아서 뭐 관련자료가 많이 부족하긴 하지만 -.-;;; 스퀵 자체가 가상머신 기반에서 돌아가는것이라서 따로 인스톨 같은것은 필요없고요 (물론 단일파일은 아니구요) 흠... 자세한것은

http://squeak.kr

에서...이것으로 교육적인 목적으로 어떻게 써볼까 하는 모임두 있답니다.

http://algo.squeak.kr/

그리고 Logo 언어로 교육에 접목하려는 시도도 꽤 있었다고 들었습니다. (흠 이놈은 그닥 아는게 없네요 ^^;;)
김상구.패패루 [peperu]   2009-08-13 10:35 X
아... 실수했슴다. 초등학교 교사이신 줄 알았는데 고등학교 교사셨네요. 그럼 좀 더 수준을 높여야 하나...
남병철.레조 [lezo]   2009-08-13 11:11 X
엄청난 댓글에 들어와 봤더니 ^^;;; 몇몇 분들이 굉장한 열의를 보이셨네요. +_ +

흠.. 2007년 쯤에 루아 공부하려고 빌더로 간단한 통합?환경? 비슷한걸 만들어 사용했었습니다.
요즘 luabind나 luatinker 같은 루아 랩퍼 따위가 빌더에서 제대로 컴파일 되지 않는 충격에 ... --;;
아마도 랩퍼 하나 만들것 같은데 뭐.. 클래스 하나? 추가하는 수준이니 개인적으로 별 부담은 없으리라 생각됩니다..;;

나중에 포럼에도 공개하겠지만 혹시 필요하시면 예전에 만든 그 툴?을 보내드리겠습니다. 필요하시면 물론 소스도...
(혹은 정말 핵심만 잘 설명된, 그리고 학생들이 좋아할 서적도 추천드리겠습니다. 물론 테이블이나 메타메소드 같은것을
심도있게 설명한 책은 아니구요.. 그냥 응용에서 쓸만한 부분을 아주 짧!게! 설명하면서 쉽!게! 이해시키는 글이 있습니다. ㅎㅎ)

메일 주시면 집에가서 좀 찾아보겠습니다. (제 아이디 누르면 메일 주소 있습니다.)

[그 툴? 기능]
루아 문법 라인, 파일 단위 인터프리터
윈도우 API와 연결한 그래픽 관련 함수 제공
(실제 기획자에게 주고는 옆에서 압박했더니 참신한? 테트리스를 만들었습니다.;;)
파일 저장, 읽기
오류 메시지 출력

... 뭐 루아 가장 기본 기능만 UI와 연결한 상태입니다.
판자 [ppanza]   2009-08-13 14:17 X
저런 목적에는 이미 있는 루아나 루비, 로고 같은 언어를 간략하게 가르치고 사용하는게 더 좋습니다.
힘들게 이것저것 구현할 필요도 없이 이미 구현된걸 가져다 쓰면 될 뿐더러, 간단하고 위력적이기 때문이죠.(여차하면 눈으로 확인할수 있는 뭔가를 만들어 낼수도 있고 말입니다.)
민성기.오랑캐꽃 [oranke]   2009-08-13 18:00 X
잠시 봉인중인 루아 디버거도 있습니다.
http://oranke.tistory.com/entry/LuaDebugTest

구조상 코루틴 디버깅이 안되므로 아직 갈 길은 멀지만~~
간단한 루아코드 돌려볼 때는 쓸만하실 꺼에요. ^^

+ -

관련 글 리스트
16593 베이직 형식의 의사코드 에뮬레이터를 만들고자 합니다. 하늘마루 3839 2009/08/13
16617     Re:베이직 형식의 의사코드 에뮬레이터를 만들고자 합니다. 하늘마루 3477 2009/08/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.