C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[63259] Re:Re:안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다.
요시 [shrap] 983 읽음    2010-12-15 10:14
정말 감사합니다~~

nansama 님이 쓰신 글 :
: 자료구조 공부하신적이 있다면 계산기를 보통 스택으로 구현 하는걸 알수 있는데요
: 데브피아 김영찬님이 쓰신글이 쉽게 이해가 되실것 같내요
:
: http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNO=20&no=741188&ref=741187
:
:
: 우리가 일반적으로 알고 있는 산술식은 중위 표기식입니다.
: 
: 즉, 숫자들 사이에 연산 기호가 들어가죠;;
: 
: 그리고 사람은 연산기호를 보고 어느게 우선순위가 높고 낮은지 판단을 하고 거기부터 계산합니다.
: 
:  
: 
: 하지만 컴퓨터는 멍텅구리입니다. 0, 1밖에 모르는 전자제품입니다.
: 
: (물론 이런 전자제품에 생명력을 불어 넣어주는거는 프로그래머들의 몫이지만...)
: 
: 즉, 컴퓨터는 산술식이 들어오면 어디서부터 계산해야하는지 모릅니다.
: 
:  
: 
: 그래서 일반적으로 후위표기식을 많이 사용합니다.(전위 표기식을 사용하는 경우도 있습니다)
: 
:  
: 
: 간단히 예를 들면
: 
:  
: 
: 3 + 4 * 5 / 10 - 2
: 
:  
: 
: 3 4 5 * 10 / + 2 -   처럼 됩니다.
: 
:  
: 
: 자 이를 계산해 봅시다..
: 
: 연산자가 나올때까지 스택에 고히 쑤셔 넣습니다.
: 
:  
: 
: 3 | 4 | 5 | 
: 
: 5까지 넣고 나니 곱셈 연산자가 나왔습니다
: 
: 스택에서 두개 꺼냅니다.
: 
: 4 5 꺼내고 곱셈합니다.
: 
: 결과값을 다시 스택에 넣어요~
: 
: 3 | 20 | 이렇게 있겠죠.. 마찬가지로 계속 진행합니다.
: 
: 3 | 20 | 10 |
: 
: 나누기 연산자입니다.
: 
: 스택에서 두개 꺼내고 연산하고 다시 넣습니다.
: 
: 3 | 2 | 가 스택에 들어있습니다.
: 
: 다음에 더하기 연산자가 오군요
: 
: 스택에서 꺼내고 계산..
: 
: 5 | 가 됩니다
: 
: 계속 진행
: 
: 5 | 2 |
: 
: 빼기군요
: 
:  
: 
: 3 |
: 
: 스택에는 3이 남고 
: 
: 더이상 숫자나 연산자가 남아 있지 않군요
: 
:  답은 3이 됩니다.
: 
:  
: 
:  
: 
: 예에서 보셨듯이
: 
: 후위 표기식은 숫자를 차례대로 넣다가 연산자를 만나면 제일 마지막에 넣은 두개의 숫자를 꺼내서
: 
: 연산을 하고 다시 집어 넣는 방식입니다.
: 
: 차례대로 넣다가 제일 마지막에 넣은걸 꺼내는 방식은 LIFO 방식인 스택의 구조에 가깝기 때문입니다.
: 
:  
: 
: 그래서 스택을 많이 사용합니다
: 
: 

:
: 요시 님이 쓰신 글 :
: : 계산기 프로그램을 만들어봤는데요
: :
: : 2+3 이런식으로 한번 연산하는부분은 계산이 되는데요
: :
: : 2+3+4 처럼 연산 횟수가 늘어날때
: :
: : 프로그램을 어떻게 만들어야될지 밤새 고민해도 모르겠어서 질문드려봐요
: :
: : 답글도 감사하지만 제가 완전 초보라 좀 쉽게 설명해주신다면 더 감사하겠습니다~

+ -

관련 글 리스트
63246 안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다. 요시 1023 2010/12/14
63258     Re:안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다. nansama 1301 2010/12/15
63259         Re:Re:안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다. 요시 983 2010/12/15
63248     Re:안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다. 크레브 1046 2010/12/14
63257         Re:Re:안녕하세요 계산기 프로그램에 궁금한게 있어서 글올려봅니다. 요시 1062 2010/12/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.