티스토리 뷰

정보통신 및 로봇제어시스템

헝가리언 표기법

시작이반입니다 2021. 6. 5. 06:00

헝가리언 표기법

변수에 이름을 붙일 보아도 어떤 용도로 사용할 것인지 알수 있도록 이름을 붙여야 합니다. 만약, 변수명을 a,b,c 라고 변수명만 지어 놓으면 나중에 변수 이름만 보고 a,b,c가 어떤 값을 저장하기 위한 것인지 알기 어렵습니다. 형가리언 표기법은 헝가리 출신이며 마이크로소프트의 프로그래머인 Charles Simonyi가 프로그램을 작성할 때 즐겨 사용하는 변수, 명명 방식으로 프로그램을 작성할 때 변수로 인한 프로그램 오류를 확실히 줄여 주기 때문에 많은 프로그래머들이 이 방법을 즐겨 쓰게 되었습니다. 데이터형(Data Type)에 대해서 알아보겠습니다. 프로그래밍 언어에서 자료형(data type)은 자료의 한 속성으로써 자료가 어떤 종류의 자료를 다루고 있는지 알려줍니다. 이는 그 값을 가질 수 있는지 또는 그 자료에 어떤 연산을 할 수 있는 지 알 수 있습니다. 정수 타입의 연산에는 덧셈, 뺄셈 등이 이루어지고 실수 타입의 연산에는 정수와 달리 부동소수점 덧셈과 부동소수점 뺄셈 등이 이루어집니다. RobotC에서 지원하는 일반적인 데이터형은 아래와 같으며 NXT에 메모리 영역의 크기를 결정하게 됩니다. 변수(Variable)의 종류에 대해서 알아보겠습니다. 변수란 특정한 데이터를 담을 수 있는 저장 공간으로 상황에 따라 바뀔 수 있는 값을 의미합니다. 프로그램은 컴퓨터가 수행할 일을 나타내는 명령문과 데이터로 구성됩니다. 데이터는 변하지 않는 상수와 수시로 변하는 변수로 구성되며, 변수를 사용할 때 초기화 해주는 것이 프로그램의 논리적인 오류를 줄일 수 있는 방법입니다. 정수형 변수는 RobotC 프로그램 작성 중 자주 사용하게 되는데, 선언 방법은 int라는 키워드(keyword)를 작성하고 뒤에 변수명을 사용하면 됩니다. 정수형 변수가 다룰 수 있는 수의 범위는 매우 좁습니다. 따라서 정수형보다 큰 숫자를 다루거나 소수점이 있는 실수를 처리할 때는 실수형 변수를 사용해야 합니다. 실수형은 -2의 32승과 2의32승-1 사이의 크기를 가지고 데이터를 처리합니다. 실수형 변수를 출력할 때 출력 서식으로 "%f"를 사용합니다. 특별히 소수점 아래에 자리수를 지정하고 싶을 때는 "%.3f"처럼 자리수를 표현해 주면 됩니다. RobotC에서 문자형 변수는 8비트 크기의 메모리를 사용하여 -128~127까지 문자형으로 변수를 나타낼 수 있으며 주로 ASCII문자를 표현하기 위해 사용합니다. 아스키(ASCII, American Standard Code for Information Interchange, 미국 정보교환 표준 부호)는 영문 알파벳에 사용하는 대표적인 문자코드입니다. 아 스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며 대부분의 문자코드가 아스키코드에 기초를 두고 있습니다. 지역변수와 전역변수는 선언되는 위치에 따라서 변수의 범위가 결정되는데 함수 블럭( )안에서 선언되면 지역변수, 밖에서 선언되면 전역변수입니다. 지역변수(Local Variable) 함수의 내부{ }안에 정의된 변수입니다. 지역변수들은 함수의 실행이 시작될 때 메모리에 만들어지고, 함수가 종료될 때 메모리로부터 소멸됩니다. 전역변수는 함수의 밖에 정의된 변수입니다. 전역변수는 지역변수와는 달리 프로그램 내 모든 함수들이 사용할 수 있습니다. 로봇을 제어하기 위해 함수들 사이에 공유 데이터가 필요하다면 전역변수를 만들어 사용하면 됩니다. 여러 개의 함수에서 전역변수를 자주 접근하여 사용하면 변수값이 자주 바뀌게 되므로 프로그램을 작성하는데 어려움을 겪을 수 있습니다. 따라서 전역변수는 최소한으로 사용하는 것이 좋습니다.

'정보통신 및 로봇제어시스템' 카테고리의 다른 글

엔코더 로봇  (0) 2021.06.07
라인 로봇 센서의 개념  (0) 2021.06.06
RobotC 프로그램 작성 규칙  (0) 2021.06.04
로봇프로그래밍의 기초과정  (0) 2021.06.03
기어에 대해서 알아보기  (0) 2021.06.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함