본문 바로가기

아두이노

랩터(RAPTOR) 프로그램 강의 08 - 순서도를 C 언어 코드 프로그램으로 변환

반응형


랩터(RAPTOR) 프로그램 강의 08 - 순서도를 C 언어 코드 프로그램으로 변환


랩터의 마법 – 순서도를 C 언어 프로그램으로 변환


랩터 프로그램에는 우리가 아직 사용하지 않은 또 다른 중요한 능력이 하나 있습니다. 바로 우리가 만든 순서도를 다양한 프로그램 언어로 변환하여 준다는 것입니다. 정말 그런 멋진 기능이 있는지, 또 어떻게 사용하는지 예를 들어 살펴보기로 합니다.


랩터(Raptor) 프로그램 전체 강의 자료

랩터(RAPTOR) 프로그램 강의 01 - 소개 및 설치와 사용법

랩터(RAPTOR) 프로그램 강의 02 - 처음 만들어보는 랩터 프로그램

랩터(RAPTOR) 프로그램 강의 03 - 변수 사용하여 프로그램하기

랩터(RAPTOR) 프로그램 강의 04 - 연산자 사용하기

랩터(RAPTOR) 프로그램 강의 05 - 제어문 반복문 사용하기

랩터(RAPTOR) 프로그램 강의 06 - 함수 만들고 호출하기

랩터(RAPTOR) 프로그램 강의 07 - 5개의 파란 동심원 그리기 문제

랩터(RAPTOR) 프로그램 강의 08 - 순서도를 C 언어 코드 프로그램으로 변환


먼저 다음과 같이 숫자를 더하는 프로그램을 살펴보기로 합니다. 이 프로그램을 실행하면 다음의 콘솔 창과 같이 결과 출력으로 “30” 이 찍히게 됩니다.




 한편, 랩터에서는 다음 그림에서 보는 바와 같이 작성한 순서도 프로그램을 C++이나 C# 같은 프로그래밍 언어로 작성된 프로그램으로 변환할 수 있습니다. 물론 변환한 결과를 바로 그대로 사용할 할 수 있는 것은 아니지만 간단한 일부의 코드만 수정하면 사용할 수 있는 정도로 번역하여 줍니다.

그럼 우리가 랩터로 작성한 위의 프로그램을 C++ 코드로 바꾸어 사용하는 과정을 살펴보기로 하겠습니다. 먼저 다음과 같이 메뉴에서 [Generate] -> [C++] 항목을 선택합니다.



 우리가 C++ 프로그래밍 언어로의 변환을 선택하였으므로 파일 확장자가 “.cpp”인 소스 파일이 위에서 랩터로 작성한 프로그램이 저장된 폴더에 생성이 되며, 다음과 같이 자동으로 문서 편집기로 파일이 열립니다. 아래에서 왼쪽의 수정 전 소스와 같은 변환된 C++ 언어 소스 파일에서 빨간 네모로 표시된 부분의 변수 2 개를 오른쪽의 수정 후 소스와 같이 정수형인 “int”로 바꾸어주고, 잘못 추가된 괄호 하나를 삭제하니 사용할 수 있는 완전한 C++ 소스 파일이 되었습니다. 참고로, 잘못 추가된 괄호 같은 경우는 아래 나오는 컴파일 과정에서 오류를 알려주므로 쉽게 수정할 수 있습니다.

 


 끝으로 우리는 수정 후 소스를 실제로 C++ 언어로 컴파일하고 실행해 보아야 합니다. 다행히도 온라인에서 간단히 프로그래밍 언어별로 코딩하고 바로 실행해 볼 수 있는 사이트가 있으며, 그 사이트의 주소는 http://www.tutorialspoint.com 입니다. 우리는 다음과 같이 C++ 언어를 컴파일하고 실행해 볼 수 있는 웹 페이지로 바로 들어갑니다. 지금은 아래 설명보다 많이 보강되어 아주 유용한 기능이 많으므로 아래 설명은 단순히 참고하기 바랍니다.


http://www.tutorialspoint.com/compile_cpp_online.php


 

위에서 처음에 자동으로 나오는 소스를 드래그하거나 <Ctrl + A> 키로 전부 선택해서 Delete 키로 삭제하고, 위의 메모장에 변환하고 수정한 소스를 전부 복사해와서 소스 코딩 영역에 <Ctrl + C> 키로 붙여 넣습니다.

다음과 같이 Compile 버튼을 클릭하면 아래 출력 콘솔에 컴파일 결과가 표시되는데, 여기서는 오류가 없으므로 그냥 별 다른 메시지가 표시되지 않습니다.



컴파일이 오류 없이 성공하였으므로 이제 Execute 버튼을 눌러 실행을 해봅니다. 다음과 같이 우리가 기대했던 정답 “30”이 출력 메시지로 찍히는 것을 볼 수 있지요. 결국 랩터로 만든 순서도 프로그램을 C++ 언어의 소스 코드로 변환하고, 일부 소스 수정을 거쳐 사용할 수 있음을 확인한 것이죠.

 




반응형