Tờng minh hóa thuật giả

Một phần của tài liệu NGHIÊN CỨU CÁC KỸ THUẬT DÒ BIÊN ÁP DỤNG TRONG TRÍCH CHỌN CÁC BỘ PHẬN KHUÔN MẶT (Trang 47 - 51)

Trong quá trình này, trớc tiên từ các bào toán cụ thể giáo viên xác định hai thành phần: Đầu vào (Input) và đầu ra (Output), sau đó phát biểu thành bài toán tổng quát trong đó những tham biến đầu vào, đầu ra có thể xem là các tham biến hình thức và khi có các tham biến đó với các giá trị xác định, ta sẽ nhận lại đợc các bài toán mà học sinh đã giải quyết đợc.

Ví dụ: Cho dãy gồm N số nguyên (1<N≤ 50) A1, A2,…,AN trong đó có ít nhất hai số 0. Hãy lập trình:

- Nhập từ bàn phím số nguyên N và dãy A1, A2,…, AN.

-Tính tổng các số Ai nằm giữa số 0 đầu tiên và số 0 cuối cùng rồi đa kết quả ra màn hình. Nếu hai số 0 nằm cạnh nhau thì kết quả đa ra sẽ là 0.

Đối với bài toán này, ta sẽ xác định đợc: + Thông tin vào (Input):

- Số nguyên N (1<N≤ 50). - Dãy số nguyên A1, A2,…, AN. + Thông tin ra (Output):

Tổng S của các số Ai trong dãy với điều kiện:

- Các số Ai này nằm giữa số 0 đầu tiên và số 0 cuối cùng của dãy. - Nếu hai số 0 này nằm cạnh nhau thì tổng S=0.

Xác định đợc thông tin vào và thông tin ra có nghĩa là học sinh đã xác định đợc những dữ kiện mà mình có và công việc mình cần làm. Từ đó có thể đ- a ra thuật giải để giải quyết bài toán nh sau:

B1: Đầu tiên ta sẽ tìm số 0 đầu tiên từ trái sang phải, đánh dấu vị trí tìm đợc.

B2: Sau đó, tìm số 0 thứ hai là số 0 đầu tiên từ phải sang trái, đánh dấu vị trí vừa tìm đợc.

B3: So sánh 2 vị trí đánh dấu: Nếu bằng nhau thì thông báo S=0 ngợc lại thì tính tổng các giá trị Ai trong khoảng đánh dấu.

B4: Thông báo kết quả.

Công việc quan trọng của lập trình là xây dựng thuật giải, để từ đó mã hóa thành chơng trình theo một ngôn ngữ lập trình cụ thể nào đó, để quán triệt phơng diện này, đứng trớc một tình huống công việc hay một bài toán ta yêu cầu học sinh xây dựng thuật giải, có nghĩa là xây dựng dãy các tác động để cho máy tính có thể thực hiện trong một khoảng thời gian hữu hạn, để đạt đến một kết quả xác định gọi là điều kiện ra, xuất phát từ một tình huống cho trớc gọi là điều kiện vào, nếu có thể đợc thì cho học sinh viết nhiều thuật giải cùng giải quyết một bài toán, sau đó chọn xem trong số các thuật giải nào tốt hơn về một yêu cầu nào đó.

ở lớp 10 học sinh đã đợc học các bớc để giải một bài toán trên máy tính bao gồm:

Bớc 1: Xác định bài toán (Input, Output) Bớc 2: Lựa chọn hoặc thiết kế thuật toán. Bớc 3: Viết chơng trình

Bớc 4: Hiệu chỉnh Bớc 5: Viết tài liệu.

Dựa vào đó học sinh sẽ từng bớc giải quyết đợc bài toán đặt ra, tuy nhiên trong các bớc đó thì “lựa chọn hoặc thiết kế thuật toán” là bớc quan trọng nhất, yêu cầu học sinh phải t duy, suy nghĩ để xây dựng thuật giải cho bài toán. Mỗi thuật giải chỉ giải quyết một bài toán nào đó, nhng có thể có nhiều thuật giải khác nhau cùng giải một bài toán. Cần thiết kế hoặc lựa chọn một thuật giải phù hợp đã có để giải bài toán cho trớc. Sau khi lựa chọn hoặc thiết kế thuật giải, học sinh phải biểu diễn (thể hiện) thuật giải, có nhiều phơng pháp để diễn tả thuật giải:

+ Biểu diễn bằng sơ đồ khối: Trớc khi viết chơng trình cần phân tích một cách cặn kẽ các tình huống có thể xảy ra trong quá trình tính toán. Để mô tả quá trình tính toán một cách có hệ thống và rõ ràng ngời ta thờng thể hiện thuật giải

bằng lu đồ, đó là sự biểu diễn bằng đồ thị của toàn bộ quá trình tính toán. Việc vẽ lu đồ không những giúp cho quá trình soạn thảo chơng trình dễ dàng mà còn giúp cho học sinh phát hiện đợc những sai sót trong chơng trình. Trong các bài toán đơn giản có thể bỏ qua giai đoạn này, nhng trong các bài toán tính toán nhất thiết phải lập lu đồ tính toán.

Ví dụ: Tìm ớc chung lớn nhất (UCLN) của hai số nguyên dơng M và N.

+ Biểu diễn bằng ngôn ngữ phỏng trình: Việc mô tả thuật giải bằng sơ đồ khối đôi khi rất cồng kềnh và có thể có những bài toán không thể biểu diễn đợc bằng sơ đồ khối. Do đó, ngời ta dùng ngôn ngữ tự nhiên để mô tả thuật giải. Thuật giải đợc mô tả bằng ngôn ngữ tự nhiên sẽ dễ hiểu hơn gọn hơn và có thể chuyển sang một ngôn ngữ lập trình cụ thể dễ dàng hơn. Khung thuật giải bằng ngôn ngữ phỏng trình đợc xây dựng nh sau:

THUATGIAI Ten_thuat_giai;

HANG Khai bao hang;

BIEN Khai bao cac bien;

THUTUC Ten_thu_tuc (ds cac tham so hinh thuc); BATDAU

<Cac lenh cua thu tuc>; KETTHUC;

HAM Ten_ham (ds cac tham so hinh thuc) : Kieu ham; BATDAU

<Cac lenh cua ham>; KETTHUC; Đúng Đúng Sai Sai Nhập M và N M = N ? M > N ? N  N - M M  M - N Đưa ra M; Kết thúc

<Cac lenh cua thuat giai>;

KETTHUC. {Ket thuc thuat giai}

+ Ngoài ra còn có nhiều cách khác để biểu diễn thuật giải, tuy nhiên ở chơng trình Tin học 10 các em đợc học hai phơng pháp biểu diễn thuật giải bằng sơ đồ khối và liệt kê các bớc. Liệt kê các bớc nghĩa là học sinh sẽ xác định từng bớc để giải quyết bài toán.

Ví dụ: Tìm ớc chung lớn nhất (UCLN) của hai số nguyên dơng M và N. Diễn tả thuật giải bằng cách liệt kê:

Bớc 1: Nhập M và N;

Bớc 2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến b- ớc 5;

Bớc 3: Nếu M > N thì M  M – N rồi quay lại bớc 2;

Bớc 4: N  N – M rồi quay lại bớc 2;

Bớc 5: Đa ra kết quả UCLN rồi kết thúc.

Một phần của tài liệu NGHIÊN CỨU CÁC KỸ THUẬT DÒ BIÊN ÁP DỤNG TRONG TRÍCH CHỌN CÁC BỘ PHẬN KHUÔN MẶT (Trang 47 - 51)

Tải bản đầy đủ (DOC)

(74 trang)
w