Phần lý thuyết

Một phần của tài liệu bước chuyển từ lời giải toán học sang lời giải tin học của một bài toán (Trang 33)

4. Tổ chức luận văn

2.1.1 Phần lý thuyết

Trước khi đến với khái niệm thuật toán, Stoán 10 (SGK Đại số 10 – 1998) giới thiệu mở đầu về thông tin, xử lý thông tin và khái niệm tin học là gì? Bắt đầu với việc giới thiệu khái niệm Tin học là gì?

Tin học là ngành khoa học nghiên cứu về quá trình lưu trữ và xử lý thông tin một cách tự động bằng máy tính điện tử.

[6, tr 111]

Vậy làm thế nào mà máy tính có thể lưu trữ và xử lý thông tin một cách tự động? Để làm được điều đó người ta phải “căn cứ vào bài toán cần giải quyết, tạo ra một loạt các câu

lệnh, mỗi lệnh là một chỉ thị làm một công việc cụ thể nào đó, các lệnh này sắp theo một trình tự nhất định mô tả quá trình giải quyết bài toán đó rồi đưa vào máy”, [6, tr 111]. Máy tính sẽ thực hiện các lệnh đó một cách máy móc cho đến kết quả cuối cùng. Chẳng hạn như việc xác định tính axit của một dung dịch bằng giấy quỳ, dựng đường trung trực của một đoạn thẳng AB bằng thước kẻ và compa hay giải và biện luận phương trình bậc hai được minh họa trong các thí dụ trang 111. Các thí dụ này đơn giản là chỉ ra các lệnh một cách tuần tự để giải quyết các bài toán đó.

Từ việc đưa ra các ví dụ minh họa danh sách hữu hạn các lệnh cần phải làm theo từng bước để giải một bài toán, Stoán 10 đưa ra khái niệm thuật toán như sau:

Một danh sách hữu hạn các lệnh cần phải làm theo từng bước một để giải quyết một bài toán được gọi là thuật toán giải bài toán đó.

[6, tr 112]

Lấy ví dụ đối với thuật toán tìm ước chung lớn nhất (UCLN) của hai số. Trước tiên SToán 10 giới thiệu thuật toán giải mà học sinh đã được học trong chương trình toán lớp 6:

32 [6, tr 112]

Stoán 10 cũng nói thêm, thuật toán này tuy đơn giản nhưng khi các số cần tìm UCLN khá lớn thì ngay ở bước 1 phân tích các số đó thành thừa số nguyên tố đã là rất khó khăn. Từ đó Stoán 10 giới thiệu một thuật toán khác để tìm UCLN của hai số mà không cần phải phân tích chúng thành thừa số nguyên tố. Đó chính là thuật toán Euclide, một trong những thuật toán đầu tiên của toán học.

Việc xây dựng thuật toán bắt đầu bằng việc phân tích: “xuất phát từ việc xét 2 là ước chung của 90 và 54 thì 2 cũng là ước chung của hiệu hai số đó. Từ đó mọi ước chung của 90 và 54 cũng là ước chung của hiệu 90-54 và ngược lại mọi ước chung của 54 và 36 cũng là ước chung của tổng 54+36. Từ đó để tìm UCLN của 90 và 54 ta chỉ cần tìm UCLN của 36 và 54 là cặp số nhỏ hơn cặp số ban đầu.”

Trên cơ sở đó, thuật toán Euclide tìm UCLN của hai số được đưa ra như sau:

[6, tr 113 - 114]

Trong thuật toán này, có sự xuất hiện của một phép toán mới đó là phép gán (trong tin học) ở bước 3 và bước 4. Ở bước 4 là phép gán giá trị một biểu thức cho một biến nhưng Stoán 10 trình bày phép gán đó bằng cách mô tả quá trình thực hiện của phép gán: “Trừ số

33

thứ nhất cho số thứ hai và thay số thứ nhất bởi hiệu đó”. Ở bước 3, phép gán hoán đổi giá trị hai biến cho nhau.

Để minh họa cho thuật toán, Stoán 10 giới thiệu bảng theo dõi thuật toán Euclide trong bảng sau:

[6, tr 114]

Ở đây chúng tôi nhận thấy rằng, mặc dù là minh họa cho các bước thực hiện trong thuật toán nhưng lại không có sự hiện diện của máy tính.

Một thuật toán khác được giới thiệu trong phần này là thuật toán viết số tìm được trước tiên trong dãy Phibônaxi lớn hơn 500 (Sau này để cho ngắn gọn chúng tôi gọi tắt đây là thuật toán dãy số Phibônaxi).

Vì trước đó học sinh chưa được học về dãy số Phibonaxi, nên trước khi tìm thuật toán, Stoán 10 giới thiệu về dãy số và quy tắc để tìm số hạng tiếp theo khi biết các số hạng đứng trước nó. Quy tắc đó được thể hiện thông qua bảng sau:

34

Từ quy tắc và bảng mô tả trên xây dựng nên thuật toán viết số tìm được trước tiên trong dãy Phibonaxi lớn hơn 500 được thể hiện bằng sơ đồ khối.

[6, tr 116]

Với ví dụ này HS được làm quen với một cách diễn tả thuật toán mới, đó là biểu diễn thuật toán bằng sơ đồ khối: “Sơ đồ khối gồm những khung hay những hộp mà hình dạng của nó sẽ định rõ loại công việc hay chỉ thị mà máy tính cần thực hiện”.

Stoán 10 không giới thiệu một cách đầy đủ về sơ đồ khối mà chỉ là giải thích cho HS hiểu về các hình khối được sử dụng trong sơ đồ khối bao gồm: hộp hình thoi, hình chữ nhật và “bắt đầu”, “kết thúc”. Sau đó, Stoán 10 quay trở lại với thuật toán Euclide được trình bày ở phần trước nhưng trong phần này được mô tả lại bằng sơ đồ khối.

Ngoài các khái niệm trên, thông qua hai thuật toán được biểu diễn bằng sơ đồ khối này còn có sự xuất hiện khái niệm mới nữa – khái niệm vòng lặp: “trong sơ đồ khối hình 53 ta thấy mũi tên ra khỏi hộp số 5 và quay lại làm công việc như cũ từ hộp số 2. Phần lặp lại này tạo thành một vòng lặp tức là một dãy khép kín các công việc, trong ấy có ít nhất một công việc là phép kiểm nghiệm điều kiện, dùng để xác định sự kết thúc vòng lặp”.

Một điều mà chúng tôi nhận thấy qua hai thuật toán được trình bày dưới dạng sơ đồ khối nêu trên đó là các công việc được thể hiện trong các hình khối được mô tả rất chi tiết bằng ngôn ngữ tự nhiên giống như khi diễn tả thuật toán bằng các bước. Nghĩa là việc biểu diễn thuật toán bằng sơ đồ khối ở đây chỉ là thay các bước bởi các hình khối chứa nội dung công việc và chiều mũi tên để chỉ thứ tự thực hiện các thao tác mà chưa hề có sự xuất hiện của các biến, các phép toán. Hơn nữa, Stoán 10 trình bày thuật toán bằng sơ đồ khối trước rồi mới giải thích các kí hiệu, hình khối dùng trong sơ đồ khối . Như vậy Stoán 10 muốn HS

35

hiểu thế nào là biểu diễn thuật toán bằng sơ đồ khối mà chưa đi sâu vào việc làm thế nào để biểu diễn thuật toán bằng sơ đồ khối.

Phép gán - thay số này bởi số kia cũng xuất hiện ngầm ẩn trong thuật toán dãy Phibonaxi, ở bước 4: “giáng cấp số cuối thành áp cuối” và ở bước 5 là “lấy tổng vừa tính coi là số cuối.”

Một phần của tài liệu bước chuyển từ lời giải toán học sang lời giải tin học của một bài toán (Trang 33)