Định lý chương trình có cấu trúc [...] nói rằng [...] mọi thuật toán có thể được biểu diễn chỉ bằng ba cấu trúc điều khiển. họ đang
- Thực hiện một chương trình con, và sau đó một chương trình con khác (trình tự)
- Thực hiện một trong hai chương trình con theo giá trị của biểu thức boolean (lựa chọn)
- Thực hiện một chương trình con cho đến khi một biểu thức boolean là đúng (lặp)
Định lý này được phát triển trong các bài báo sau:
- C. Böhm, "Trên một gia đình máy Turing và ngôn ngữ lập trình liên quan", ICC Bull., 3, 185 phản194, tháng 7 năm 1964.
- C. Böhm, G. Jacopini, "Sơ đồ dòng chảy, Máy Turing và ngôn ngữ chỉ với hai quy tắc hình thành", Comm. của ACM, 9 (5): 366 bóng371,1966.
Thật không may, cái đầu tiên thực tế không có sẵn, và cái thứ hai, ngoài việc hơi khó hiểu (ít nhất là đối với tôi), đề cập đến cái đầu tiên, vì vậy tôi có vấn đề để hiểu bằng chứng. Ai giúp tôi với? Có một bài báo hay cuốn sách hiện đại trình bày bằng chứng? Cảm ơn.
CẬP NHẬT
Nói chính xác, tôi muốn hiểu phần thứ hai của bài báo CACM (phần 3). Các tác giả viết trong phần 1 như sau:
Trong phần thứ hai của bài báo (của C. Böhm), một số kết quả của bài báo trước được báo cáo [8] và kết quả của phần đầu tiên của bài báo này sau đó được sử dụng để chứng minh rằng mọi máy Turing đều có thể rút gọn hoặc trong một ý nghĩa xác định tương đương với, một chương trình được viết bằng ngôn ngữ thừa nhận là quy tắc hình thành chỉ thành phần và lặp lại.
Ở đây [8] đề cập đến bản tin ICC Bulletin không có sẵn. Dễ dàng thấy rằng trích dẫn ở trên của Wikipedia đề cập đến phần thứ hai của bài báo CACM này (máy Turing đóng vai trò là một định nghĩa chính xác của các thuật toán; "thành phần" có nghĩa là trình tự; phép lặp có thể thay thế một lựa chọn).