sicp.io
1.1.1 · 프로그래밍의 기본 요소

표현식은 값을 묻는다.

조합식부터 시작합니다. 맨 앞의 연산자를 읽고 이어지는 피연산자를 확인한 뒤 평가가 전체 식을 하나의 값으로 만드는 과정을 살펴봅니다.

생각해 볼 질문

괄호로 묶인 조합식을 리스펙스 평가기는 어떻게 처리할까요?

  • 조합식에서 연산자와 피연산자 찾기
  • 실행 전에 결과값 예상하기
  • 화면에 출력된 내용과 반환값 구분하기

(* 3.14159 (* 5 5)) 같은 조합식에서 첫 항목은 적용할 프로시저입니다. 나머지는 피연산자 표현식입니다. 리스펙스는 피연산자를 먼저 평가하고 그 값에 프로시저를 적용합니다.

display는 글자를 출력하지만 마지막 곱셈의 값을 대신하지 않습니다. 실습 화면은 출력 내용과 반환값을 나누어 보여줍니다.

SICP 코드UTF-8 49 / 1,048,576바이트
예제
결과
출력
진단
실행 추적0 / 0 개 이벤트
    실행은 브라우저 안에서 이루어지며 프로그램 결과와 실행 추적을 보여줍니다.
    예상 결과

    첫 프로그램은 area를 출력하고 78.53975를 반환합니다.

    실행 추적에서 볼 점

    안쪽 곱셈이 바깥쪽 곱셈보다 먼저 처리되는지 살펴보세요. 순서대로 기록된 실행 흐름은 선택한 한 실행의 중첩 구조를 정확히 드러냅니다.

    직접 해보기

    프로그램을 수정하고 결과를 비교해 보세요.

    반지름을 5에서 8로 바꾸세요. 결과값을 먼저 예상한 다음 반환되는 넓이를 바꾸지 않으면서 display 호출을 하나 더 추가해 보세요.

    힌트 보기

    begin 식 전체의 값은 마지막 표현식의 값입니다.

    이 수업 완료하기

    이 장의 총 18개 수업 중 0개 완료0%