(Lispex)sicp.io
컴퓨터 프로그램의 구조와 해석

프로세스를 읽고,
프로그램을 실행하세요.

명시적인 리스펙스 SICP 프로필로 진행하는 실행형 SICP 과정입니다. 프로시저, 데이터, 상태, 평가기, 기계를 공부하면서 소스 옆에서 결과와 제한된 실행 흐름을 함께 확인합니다.

구현체리스펙스
모드SICP 프로필
호환성SICP용 Scheme 호환 표면
학습 경로

실행해 볼 개념을 찾아보세요.

수업 64개와 장 점검, 과정 실습을 제목과 주제로 검색합니다.

전체 71개 중 12개 학습 경로 표시
  1. 1.1 · 수업표현식은 값을 묻는다.조합식부터 시작합니다. 맨 앞의 연산자를 읽고 이어지는 피연산자를 확인한 뒤 평가가 전체 식을 하나의 값으로 만드는 과정을 살펴봅니다.
  2. 1.2 · 수업프로시저는 과정에 이름을 붙인다.작은 동작을 조합해 쓸모 있는 연산을 만들고 프로시저가 적용될 때 매개변수가 인수 값에 묶이는 과정을 살펴봅니다.
  3. 1.3 · 수업결과값은 마지막 장면일 뿐이다.두 프로시저가 같은 수학 함수를 계산하더라도 서로 아주 다른 계산 프로세스를 만들 수 있습니다.
  4. 1.4 · 수업달라지는 부분을 인수로 넘긴다.고차 프로시저는 계산의 공통된 모양을 담아 두고 달라지는 연산을 인수로 받습니다.
  5. 1.5 · 수업문제를 더 작은 동치 문제로 바꾼다.유클리드 알고리즘은 두 정수의 공약수를 보존하면서 더 큰 문제를 빠르게 작아지는 나머지 순서쌍으로 바꿉니다.
  6. 1.6 · 수업추측값을 되풀이해 다듬으면 근삿값이 된다.제곱근 프로세스는 추측값과 목표를 추측값으로 나눈 몫의 평균을 되풀이해 구한 값의 제곱을 목표에 가까이 가져갑니다.
  7. 1.7 · 수업유한 연분수는 펼칠 수도 누적할 수도 있다.같은 분자 프로시저와 분모 프로시저로 첫 항부터 펼치는 재귀적 프로세스와 마지막 항부터 쌓는 반복적 프로세스를 만들 수 있습니다.
  8. 1.8 · 수업변환은 스스로 다음 추측값을 만든다.하나의 변환을 되풀이해 출력값을 다음 입력값으로 넘기고 횟수를 명시적인 정지 규칙으로 두면 추측값이 바뀌는 과정을 관찰할 수 있습니다.
  9. 1.9 · 수업불변식은 지수를 안전하게 줄이게 한다.빠른 거듭제곱은 지수가 짝수일 때 밑을 제곱하고 지수를 반으로 줄이며 홀수 단계에서 남는 인수는 명시적인 곱에 옮겨 둡니다.
  10. 1.10 · 수업나머지는 반복 제곱의 중간값을 모듈러스 안에 둔다.곱셈할 때마다 나머지를 구하면 모듈러 결과를 유지하면서 반복 제곱으로 지수를 줄여 고정한 밑 하나의 페르마 점검을 실행할 수 있습니다.
  11. 1.11 · 수업트리 프로세스는 같은 작은 문제를 되풀이한다.단순한 피보나치 재귀는 서로 겹치는 호출로 갈라지므로 작은 답을 얻는 데도 되풀이되는 일이 빠르게 늘지만 반복 상태 프로세스는 인덱스마다 한 번씩 진행합니다.
  12. 1.12 · 수업프로시저는 다음 프로시저를 만들어 돌려줄 수 있다.합성과 반복과 평균 감쇠는 동작을 데이터처럼 다룹니다. 한 프로시저가 다른 프로시저를 받아 나중에 이름 붙이고 전달하고 적용할 수 있는 새 변환을 반환합니다.
실행형 SICP

하나의 결과, 하나의 보이는 프로세스.

소스를 수정하고 로컬 리스펙스 SICP 런타임에서 실행하세요. 값은 하나의 관찰일 뿐이고, 추적은 그 값을 만든 프로세스를 읽는 데 쓰입니다.

이 브라우저 실행은 교육용이며 제한되어 있습니다. 인증·증거·권한을 만들지 않습니다.

리스펙스 학습용 런타임리스펙스 SICP 프로필 1.0.0
리스펙스 SICP 런타임 불러오는 중
리스펙스 · SICP 코드UTF-8 114 / 1,048,576바이트
예제
결과
출력
진단
보이는 실행 흐름0 / 0 개의 실행 이벤트
    이 브라우저 결과는 리스펙스 바우치나 권한이 아닙니다.wasm —
    제1장

    직접 실행하는 질문 열두 개.

    1.1표현식은 값을 묻는다.조합식부터 시작합니다. 맨 앞의 연산자를 읽고 이어지는 피연산자를 확인한 뒤 평가가 전체 식을 하나의 값으로 만드는 과정을 살펴봅니다.1.2프로시저는 과정에 이름을 붙인다.작은 동작을 조합해 쓸모 있는 연산을 만들고 프로시저가 적용될 때 매개변수가 인수 값에 묶이는 과정을 살펴봅니다.1.3결과값은 마지막 장면일 뿐이다.두 프로시저가 같은 수학 함수를 계산하더라도 서로 아주 다른 계산 프로세스를 만들 수 있습니다.1.4달라지는 부분을 인수로 넘긴다.고차 프로시저는 계산의 공통된 모양을 담아 두고 달라지는 연산을 인수로 받습니다.1.5문제를 더 작은 동치 문제로 바꾼다.유클리드 알고리즘은 두 정수의 공약수를 보존하면서 더 큰 문제를 빠르게 작아지는 나머지 순서쌍으로 바꿉니다.1.6추측값을 되풀이해 다듬으면 근삿값이 된다.제곱근 프로세스는 추측값과 목표를 추측값으로 나눈 몫의 평균을 되풀이해 구한 값의 제곱을 목표에 가까이 가져갑니다.1.7유한 연분수는 펼칠 수도 누적할 수도 있다.같은 분자 프로시저와 분모 프로시저로 첫 항부터 펼치는 재귀적 프로세스와 마지막 항부터 쌓는 반복적 프로세스를 만들 수 있습니다.1.8변환은 스스로 다음 추측값을 만든다.하나의 변환을 되풀이해 출력값을 다음 입력값으로 넘기고 횟수를 명시적인 정지 규칙으로 두면 추측값이 바뀌는 과정을 관찰할 수 있습니다.1.9불변식은 지수를 안전하게 줄이게 한다.빠른 거듭제곱은 지수가 짝수일 때 밑을 제곱하고 지수를 반으로 줄이며 홀수 단계에서 남는 인수는 명시적인 곱에 옮겨 둡니다.1.10나머지는 반복 제곱의 중간값을 모듈러스 안에 둔다.곱셈할 때마다 나머지를 구하면 모듈러 결과를 유지하면서 반복 제곱으로 지수를 줄여 고정한 밑 하나의 페르마 점검을 실행할 수 있습니다.1.11트리 프로세스는 같은 작은 문제를 되풀이한다.단순한 피보나치 재귀는 서로 겹치는 호출로 갈라지므로 작은 답을 얻는 데도 되풀이되는 일이 빠르게 늘지만 반복 상태 프로세스는 인덱스마다 한 번씩 진행합니다.1.12프로시저는 다음 프로시저를 만들어 돌려줄 수 있다.합성과 반복과 평균 감쇠는 동작을 데이터처럼 다룹니다. 한 프로시저가 다른 프로시저를 받아 나중에 이름 붙이고 전달하고 적용할 수 있는 새 변환을 반환합니다.복습제1장 점검다음 장으로 가기 전에 핵심을 다시 연결합니다.
    원전 범위

    빠진 부분도 그대로 보이게.

    하위 절 94개SICP 원전 범위 지도원전 2판 목차와 실행 가능한 리스펙스 수업을 대응합니다.
    제2–5장

    아이디어가 커질수록 런타임도 확장됩니다.

    과정 실습

    연결하고 고쳐 보세요.

    마지막 종합누적 캡스톤 실행하기추상 데이터에서 명시적인 기계 상태까지 이어 갑니다.오류 안내진단 실습 열기형식이 있는 리스펙스 SICP 진단을 읽고 소스를 고칩니다.