Lý thuyết
Nhắc lại thật nhanh
Ở Bài 6–7, thuật toán là các bước để tính ra kết quả, có thể lặp nhiều lần. Nhưng nếu một kết quả cần dùng đi dùng lại, có cần tính lại mỗi lần không? Bài này giới thiệu một ý tưởng khác: tính một lần, ghi lại, rồi lấy ra.
1. Tính hay lấy ra?
Tùng đố 7 × 8. Minh cộng: 8, 16, 24, 32, 40, 48, 56, mất bảy bước. Lan trả lời ngay 56, vì bạn ấy đã thuộc bảng cửu chương.
| Minh | Lan | |
|---|---|---|
| Cách làm | Tính lại từ đầu | Lấy kết quả đã có |
| Số bước | 7 phép cộng | 1 lần tra |
| Cần chuẩn bị trước | Không | Học thuộc bảng (làm một lần) |
Tra bảng là tính trước một lần, ghi kết quả vào bảng, rồi khi cần thì lấy ra ngay thay vì tính lại.
2. Bảng tra cổ nhất: đất sét Babylon
Khoảng 4.000 năm trước, ở Babylon (vùng Lưỡng Hà, Bài 2), học trò trong trường dạy chữ chép đi chép lại những tấm bảng nhân bằng đất sét, viết bằng chữ hình nêm. Mỗi dòng là một kết quả đã tính xong. Người buôn bán hay người đo ruộng chỉ cần tìm đúng dòng là có đáp án. Nhiều tấm bảng như thế vẫn còn trong các viện bảo tàng.
3. Đọc một bảng hai chiều
Bảng cửu chương thường được kẻ thành hàng và cột. Muốn tìm 7 × 8, ta tìm hàng 7, rồi dò sang cột 8: ô gặp nhau là kết quả.
| × | 6 | 7 | 8 | 9 |
|---|---|---|---|---|
| 6 | 36 | 42 | 48 | 54 |
| 7 | 42 | 49 | 56 | 63 |
| 8 | 48 | 56 | 64 | 72 |
Cuốn Niên lịch Hàng hải cũng đọc như vậy: tìm ngày ở một chiều, giờ ở chiều kia, ô gặp nhau là vị trí mặt trăng đã tính sẵn.
4. Trên biển: tính sai thì mất tàu
Một đêm năm 1707, một đoàn tàu Anh trở về trong sương mù. Các thuyền trưởng tưởng mình còn xa bờ, nhưng thật ra đã ở sát bãi đá ngầm quần đảo Scilly. Bốn con tàu không bao giờ về đến nơi. Nước Anh sau đó treo giải thưởng lớn cho ai giúp tàu biết chính xác mình đang ở đâu.
Một cách là đo góc giữa mặt trăng và một ngôi sao, rồi tính ra vị trí. Nhưng phép tính ấy rất dài: có khi mất khoảng 4 giờ, giữa con tàu chòng chành.
Năm 1767, nhà thiên văn Nevil Maskelyne cho in Niên lịch Hàng hải: vị trí mặt trăng tính sẵn cho từng ngày, từng giờ. Thuyền trưởng chỉ cần đo góc, mở sách và dò đúng ô. Thời gian còn khoảng 30 phút.
| Tự tính trên tàu | Tra Niên lịch | |
|---|---|---|
| Thời gian mỗi lần | khoảng 4 giờ (240 phút) | khoảng 30 phút |
| Ai làm phép tính dài | Mỗi thuyền trưởng tự làm | Làm một lần trên bờ |
| Số tàu dùng chung | 1 | Hàng nghìn |
Một chuyến đi cần xác định vị trí 10 lần thì tiết kiệm được 10 × (240 − 30) = 2.100 phút, tức 35 giờ. Còn trên bờ, phép tính dài chỉ làm một lần cho mọi con tàu.
5. Những "người máy tính" và cách kiểm tra chéo
Ai làm những phép tính khổng lồ cho Niên lịch? Đó là những người làm tại nhà, nhận việc và gửi bài qua xe thư, như bà Mary Edwards ở thị trấn Ludlow. Người ta gọi họ là computer, nghĩa gốc là người làm tính. Mãi về sau, từ này mới dùng cho máy.
Để tránh sai, mỗi trang được tính hai lần bởi hai người khác nhau, không biết kết quả của nhau. Một người thứ ba so sánh hai bản:
| Ô trong bảng | Người tính A | Người tính B | Người so sánh quyết định |
|---|---|---|---|
| Ngày 1, 12 giờ | 47°12′ | 47°12′ | Giống nhau, ghi vào bảng |
| Ngày 1, 15 giờ | 48°35′ | 48°53′ | Khác nhau, phải tính lại |
Hai người cùng nhầm giống hệt nhau ở cùng một ô là rất hiếm, nên cách này bắt được gần hết lỗi.

6. Cái giá của tra bảng
Tra bảng không miễn phí. Có ba cái giá:
| Cái giá | Nghĩa là |
|---|---|
| Công tính trước | Phải có người (hoặc máy) tính hết các ô từ trước |
| Chỗ để lưu | Bảng phải được in, chép hoặc lưu ở đâu đó |
| Phải thật chính xác | Một ô sai thì mọi người dùng ô đó đều sai |
Bảng to lên rất nhanh:
| Bảng nhân | Số ô |
|---|---|
| 1–9 × 1–9 | 9 × 9 = 81 |
| 1–20 × 1–20 | 20 × 20 = 400 |
| 1–100 × 1–100 | 100 × 100 = 10.000 |
Vì vậy người ta chỉ lập bảng cho những phép tính dùng lại nhiều lần và kết quả không đổi. Vị trí mặt trăng năm 1768 tính trước được. Còn tỉ số một trận bóng đang đá thì không thể có trong bảng nào.
7. Khi bảng sai: Babbage, năm 1821
Năm 1821, hai nhà khoa học người Anh là Charles Babbage và John Herschel ngồi dò lại một cuốn bảng tính, và tìm ra hết lỗi này đến lỗi khác. Babbage bực bội thốt lên rằng ông ước gì những phép tính này được làm bằng máy hơi nước. Câu nói ấy mở đầu cho giấc mơ về một chiếc máy biết tính, câu chuyện sẽ được kể tiếp ở các bài sau của khóa.
8. Hôm nay: máy tính vẫn thích tra bảng
Máy tính hôm nay tính rất nhanh, nhưng lấy ra một kết quả có sẵn vẫn nhanh hơn tính lại:
| Ví dụ | Kết quả được lưu sẵn |
|---|---|
| Danh bạ điện thoại | Số điện thoại của từng người, khỏi phải nhớ |
| Bản đồ tải sẵn | Hình bản đồ, mất sóng vẫn xem được |
| Trò chơi | Hình ảnh và âm thanh đã chuẩn bị trước |
Ghi nhớ
- Tra bảng: tính trước một lần, ghi lại, cần thì lấy ra ngay.
- Bảng hai chiều: tìm hàng, dò sang cột, ô gặp nhau là kết quả.
- Niên lịch Hàng hải (1767) rút phép tính khoảng 4 giờ xuống khoảng 30 phút, và một lần tính dùng cho hàng nghìn tàu.
- "Computer" ban đầu là người làm tính. Họ tính hai lần và so sánh để bắt lỗi.
- Cái giá: công tính trước, chỗ lưu, và bảng phải thật chính xác. Bảng sai thì mọi người sai theo (Babbage, 1821).