Page 15 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 15

식 x = n + 135를 생각해 보겠습니다. 이때 변수 x와 n은 int형입니다. 이 식에서 x, n, 135,  n + 135,
                        x = n + 135는 모두 식입니다.  또한 ○○연산자와 피연산자가 결합한 식을 ○○식이라고 합니다. 예컨

                        대 대입 연산자에 의해 x와 n + 135가 결합된 식 x = n + 135는 대입식(assignment expression)입니다.


                        •식의 평가
                        원칙적으로 모든 수식에는 값이 있습니다(특별한 형태인 void형의 식만 값이 없습니다). 그 값은 프로그램
                        을 실행할 때 확인할 수 있으며 식의 값을 알아내는 것을 평가(evaluation)라고 합니다.  평가의 이미지
                        를 구체적으로 보여주는 예가 그림 1C-1입니다(이 그림은 int형 변수 n의 값이 2라고 가정합니다).


                        변수 n의 값이 52이므로 n, 135, n + 135의 각 식을 계산한 값은 52, 135, 187입니다. 물론 세 값의
                        형은 모두 int형입니다. 아래에서 볼 수 있듯이 이 책은 디지털 온도계처럼 그림으로 평갓값을 나타냅
                        니다. 왼쪽의 작은 글자가 ‘형’이고, 오른쪽의 큰 글자가 ‘값’입니다.


                                                                   형
                                                                   값
                         int   52                        int  135

                        프로그램을 실행할 때        n  +  135
                        식이 평가됩니다.
                        식을 평가하면 형과 값
                        을 얻을 수 있습니다.     int  187

                                    [그림 1C-1] 식의 평가(int형 + int형)




                        세 값의 최댓값을 구하는 순서를 이해하기 쉽게 그림으로 나타내 보겠습니다. 이런 그림은 여
                        러 종류가 있으며, 여기서는 순서도(flowchart)를 사용합니다. 그림 1-1에 나타낸 것이 세 값의

                        최댓값을 구하는 순서도입니다.                순서도의 주요 기호는 1-1절 마지막 부분에서 한데 모아 살펴보겠습니다.


                         max = a;
                         if(b > max) max = b;
                         if(c > max) max = c;                         b > c > a 인 경우 지나는 경로

                                                      a → max

                                                                 Yes
                                                      b > max
                                                         No              b → max
                                위에서 아래 방향으로
                                진행합니다.
                                                                 Yes
                                                      c > max
                                                         No              c → max




                                          [그림 1-1] 세 값의 최댓값을 구하는 알고리즘의 순서도            01•기본 알고리즘  15
   10   11   12   13   14   15   16   17   18   19   20