y = 2x + 4를 계산할 때 사람의 머리는 어떤 과정으로 계산할까?

2013-03-07 21:23

오늘 자료 구조와 알고리즘 수업을 들을 때 C 언어를 가르치는 교수님께서 물어본 질문이다.

y = 2x + 4를 계산할 때 x = 1이라고 가정할 경우 머리 속에서는 어떤 과정을 통해 y 값을 계산할까? 최대한 단계적으로 풀어서 설명해 보자. 컴퓨터가 위 계산을 어떻게 해 나가는지를 이해하는데 도움이 된다.

그 동안 막연하게 생각했던 부분을 자료구조와 알고리즘 수업 들으면서 하나씩 개념 정립을 할 수 있어 좋다.

3개의 의견 from SLiPP

2013-03-17 23:42

y = 2x + 4

1) 연산자가 생략된 부분이 있는 지 살펴보고, 생략된 부분이 있다면 추가한다.

2) 먼저 연산자 우선순위가 가장 높은 것이 무엇이고? 낮은 것이 무엇인지부터 살펴봅니다.

3) 높은 우선순의 부터 낮은 순위까지 항목들을 계산해 나갑니다.

이때 연산자와 피연산자에 대한 구분이 필요. 연산자 피연산자 각각이 하나의 단위로 동작

ㅎㅎ 글을 쓰다가.... infix -> postfix 변환과 관련된 것이 유튜브에 있을것 같은데 내가 이걸 왜 적고 있나란 생각이 들어서 검색해보니

http://www.youtube.com/watch?v=rA0x7b4YiMI

에 나오네요....

제말이 이말입니다...

2013-03-18 00:01

@urstory 이와 관련해 동영상까지 있군요. 참 좋은 세상입니다. 제가 이 질문을 한 이유는 수업 시간에 교수님께서 이 질문을 하는데 느끼는 바가 있어서 온라인 상에 질문을 해 봤습니다. 보통은 단순하게 생각하는데 아주 구체적으로 설명해 주시더라고요.

  • x가 1이라는 것을 기억한다.
  • 2와 x라는 사이에 *가 있다는 것을 인지한다.
  • *과 + 중 무엇을 먼저 계산할 것인지 인지한다.
  • 2 * 1를 계산한다.
  • 2 * 1 결과인 2를 기억한다.
  • 2 + 4를 계산한다.
  • y는 6이다.

이 과정이 머릿 속에서 순식 간에 읽어 나는데 컴퓨터 또한 비슷한 방식으로 동작한다면서 자연스럽게 수업을 이끌어 가시더라고요. 그래서 컴퓨터가 메모리와 CPU를 활용해 위 과정을 계산하는 과정을 떠올려 보니 나름 재미있더라고요. 제가 컴퓨터 내부에서 프로그래밍을 어떻게 실행하는지 학습한 경험이 없어서 정확한지 모르겠지만 컴퓨터 또한 위와 비슷한 과정으로 계산할 수 밖에 없다는 생각이 들더라고요. 수업 중에 자연스럽게 이해하는 것을 강조하시는 교수님이라 그런 부분에서 배울 점이 많네요.

의견 추가하기

연관태그

← 목록으로