1. Trang chủ
  2. » Giáo án - Bài giảng

Bài 6: Giải bài toán trên máy tính

8 901 3
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giải Bài Toán Trên Máy Tính
Tác giả Nguyễn Thị Tú
Trường học Trường Đại học Sư phạm TP.HCM
Chuyên ngành Tin học
Thể loại Giáo án
Thành phố TP.HCM
Định dạng
Số trang 8
Dung lượng 70,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

* Về kiến thức: - Nắm kĩ các khái niệm: Bài toán, thuật toán, chương trình - Hiểu biết được nhiều loại ngôn ngữ lập trình.. Trả lời: Mỗi loại máy tính đều có ngôn ngữ máy của nó, đó là n

Trang 1

GIÁO ÁN CHI TIẾT I

o0o Người soạn: Nguyễn Thị Tú

Lớp : Tin 4A

Tên bài giảng:

Bài 6: Giải bài toán trên máy tính

I. Mục đích-yêu cầu.

* Về kiến thức:

- Nắm kĩ các khái niệm: Bài toán, thuật toán, chương trình

- Hiểu biết được nhiều loại ngôn ngữ lập trình

- Hiểu các bước cơ bản khi tiến hành giải bài toán trên máy

* Về kĩ năng:

- Giải được các bài toán đơn giản trên máy tính

II Phương pháp, phương tiện.

- Vấn đáp, thuyết trình, mô phỏng

- Máy tính, máy chiếu, bảng đen, SGK

III Ổn định lớp.

- Kiểm tra sĩ số, ổn định trật tự

- Kiểm tra bài cũ:

Câu hỏi 1:

Tại sao viết chương trình bằng ngôn ngữ bậc cao cần phải có chương trình dịch?

Trả lời:

Mỗi loại máy tính đều có ngôn ngữ máy của nó, đó là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được Vì vậy, mỗi chương trình viết bằng ngôn ngữ khác muốn thực hiện được trên máy tính đều phải được dịch ra ngôn ngữ máy bằng một chương trình dịch

Câu hỏi 2:

Ngôn ngữ bậc cao hình thành các câu lệnh có ưu điểm gì so với ngôn ngữ hợp ngữ?

Trả lời:

Ngôn ngữ bậc cao có các câu lệnh được viết gần với ngôn ngữ tự nhiên hơn, có tính độc lập cao hơn ít phụ thuộc vào các loại máy cụ thể Do

đó người sử dụng dễ nhớ hơn,dễ thao tác hơn và thông dụng hơn

Trang 2

IV Nội dung bài mới.

Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò

Bài 6: GIẢI BÀI TOÁN TRÊN

MÁY TÍNH

*Các bước giải bài toán:

- Xác định bài toán

-Lựa chọn và xây dựng thuật toán

-Viết chương trình

-Hiệu chỉnh

-Viết tài liệu

1.Xác định bài toán.

Xác định phần INPUT, OUTPUT

của bài toán và mối quan hệ giữa

chúng Từ đó xác định ngôn ngữ và

cấu trúc dữ liệu một cách thích hợp

Đặt vấn đề: Biết rằng

máy tính là công cụ

hỗ trợ con người rất nhiều trong cuộc sống, con người muốn máy thực hiện bài toán thì phải đưa lời giải bài toán đó vào máy tính dưới dạng các lệnh

Vậy các bước để xây dựng một bài toán là gì?

-Ta đi tìm hiểu từng bước

Bước 1: Xác định bài

toán

-Xác định bài toán tức cần phải xác định những gì?

- Sau khi xác định được Input và Output của bài toán ta phải xác định gì nữa?

-Tìm hiểu Input , Output và mối quan

hệ giữa chúng để làm gì?

-Đúng vậy, trước mỗi bài toán ta cần xác định được Input, Output của nó và mối liên hệ giữa chúng nhằm lựa chọn thuật

Xác định Input, Output

Mối quan hệ giữa chúng

Để lựa chọn thuật toán, cách thể hiện các đại lượng đã cho,các đại lượng phát sinh trong quá trình giải bài toán

và ngôn ngữ lập trình thích hợp

Trang 3

Ví dụ: Bài toán tìm UCLN của hai

số nguyên dương a,b

-Input: 2 số nguyên dương a,b

-Output: UCLN của 2 số a,b

2 Lựa chọn và xây dựng thuật

toán.

a Lựa chọn thuật toán.

-Mỗi thuật toán chỉ giải 1 bài toán

song một bài toán có thể có nhiều

thuật toán để giải Vậy ta phải chọn

thuật toán tối ưu nhất trong những

thuật toán đã đưa ra

toán và ngôn ngữ lập trình thích hợp

-Sau khi xác định được Input, Output và mối liên hệ giữa chúng ta sang bước tiếp theo:

Bước 2: Lựa chọn và

xây dựng thuật toán

-Hãy nhắc lại thuật toán là gì?

-Theo em thuật toán của bài này có giải được bài toán khác không?

-Với mỗi bài toán có phải chỉ có một thuật toán duy nhất không?

Ví dụ: Bài toán tìm

UCLN của 2 số có phải chỉ có thuật toán dung hiệu hai số như

đã xét ở bài trước không?

-Vậy khi nào thì ta phải lựa chọn thuật toán?

Input: a, b là hai số nguyên dương Output: UCLN của

a và b

-Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình

tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán

ấy ta nhận được Output cần tìm -Mỗi thuật toán chỉ giải được 1 bài toán

-Một bài toán có thể có nhiều thuật toán để giải bài toán

-UCLN của 2 số ta

có thể sử dụng thuật toán dùng thương nữa ngoài thuật toán trừ hai số

-Khi có nhiều thuật toán để giải cho 1 bài toán

Trang 4

*Thuật toán tối ưu: Là thuật toán có

các tiêu chí sau:

-Dễ hiểu

-Trình bày dễ nhìn

-Thời gian chạy nhanh

-Ít tốn bộ nhớ

Như vậy mỗi thuật toán chỉ giải 1 bài toán nhưng cũng có thể nhiều thuật toán cùng giải một bài toán Vậy ta phải chọn thuật toán tối ưu nhất trong những thuật toán đó Tiêu chí nào

để lựa chọn thuật toán?

Ví dụ: Trong máy tính

còn 64Mb Thuật toán 1: thời gian chạy nhanh hơn nhưng tốn 70Mb

Thuật toán 2: thời gian chạy chậm hơn nhưng tốn 54Mb

-Theo em thì nên chọn thuật toán nào để giải?

Vì sao?

-Trong các tiêu chí trên người ta lựa chọn tiêu chí nào?Vì sao?

Giải thích: Những tiêu chí như: độ phức tạp

ít, tài nguyên thuật toán phù hợp với tài nguyên thực tế, hay ít tốn bộ nhớ đều có thể khắc phục được, còn thời gian đã mất đi thì không thể lấy lại được nên khi lựa chọn thuật toán người ta thường quan tâm đến thời gian thực hiện thuật toán đó

Giải thích rõ hơn về

Các tiêu chí để lựa chọn thuật toán:

- Dễ hiểu

-Trình bày dễ nhìn -Thời gian chạy nhanh

-Ít tốn bộ nhớ

Thuật toán 2 vì thuật toán 1 có dung lượng lớn hơn dung lượng của máy tính

-Thời gian thực hiện nhanh vì thời gian là tài nguyên không thể tái tạo được

-Độ phức tạp vì độ phức tạp ít thì thời gian thực hiện sẽ ít

Trang 5

b Biểu diễn thuật toán.

Là việc diễn tả thuật toán ở trên

Diễn tả thuật toán theo 2 cách:

+Theo cách liệt kê

+Theo cách dùng sơ đồ

Ví dụ: Tìm UCLN(a,b).

Có thể chọn 1 trong 2 cách sau:

*Theo liệt kê:

B1: nhập a,b

B2: nếu a=b thì UCLN=a

B3: Nếu a>b thì gán

a:=a-b, quay lại B2

B4: Nếu a<b thì gán

b:=b-a, quay lại B2

B5: Đưa kết quả ra màn hình

*Theo sơ đồ khối:

các tiêu chí này

-Sau khi đã xác định được thuật toán thích hợp để giải bài toán thì ta đi tìm cách diễn

tả thuật toán, việc đó gọi là Biểu diễn thuật toán

-Nhắc lại: Có mấy cách biểu diễn thuật toán?

Ví dụ: Tìm UCLN của

số nguyên a và b

-Thuật toán này đã được học ở bài trước nên cô mời hai bạn lên bảng viết thuật toán theo hai cách

-Sau khi viết thuật toán xong chúng ta bắt tay vào viết chương trình luôn không?

-Kiểm tra thuật toán bằng cách gì?

-Có 2 cách biểu diễn thuật toán: Biểu diễn bằng sơ

đồ khối và biểu diễn theo kiểu liệt kê

-Với bài toán tìm UCLN của hai số không phải chỉ có cách dùng hiệu của

2 số mà còn có cách dùng thương của 2 số Do đó một bài toán không nhất thiết chỉ có một thuật toán HS: Lên bảng viết thuật toán theo hai cách liệt kê hoặc sơ

đồ khối

-Không, phải kiểm tra thuật toán trước đã

-Xây dựng các bộ test cụ thể

Nhập a,b

a: = a-b

b: = b-a

Kết thúc a=b

a>b

Trang 6

3 Viết chương trình.

Là việc lựa chọn cấu trúc dữ liệu và

ngôn ngữ lập trình để diễn đạt thuật

toán trên máy tính

-Khi viết chương trình cần chọn

ngôn ngữ thích hợp, viết chương

trình trong ngôn ngữ nào thì phải

tuân thủ theo qui định ngữ pháp của

ngôn ngữ đó

4 Hiệu chỉnh

Sau khi viết xong chương trình cần

phải thử chương trình bằng một số

Ví dụ: Tìm UCLN của

2 số nguyên a và b

a=25, b=5→UCLN=5 a=17,b=13→UCLN=1

-Đến đây ta đã có được thuật toán của bài toán, công việc tiếp theo là chuyển thuật toán đó sang chương trình Ta đi vào bước tiếp theo:

Bước 3: Viết chương

trình

- Trước tiên ta đi lựa chọn ngôn ngữ lập trình thích hợp

-Có mấy loại ngôn ngữ lập trình, đó là những loại nào?

-Dựa vào đâu để lựa chọn ngôn ngữ?

Do có nhiều ngôn ngữ dùng để viết thuật toán nên việc chọn ngôn ngữ nào là tùy thuộc vào bài toán, vào người viết chương trình… Song chọn ngôn ngữ nào đi chăng nữa thì khi viết chương trình phải tuân thủ theo những qui định của ngôn ngữ đó

Bước 4: Hiệu chỉnh

-Chương trình được viết không phải lúc

Lắng nghe và quan sát ví dụ

-Có nhiều loại ngôn ngữ khác nhau

-Dựa vào ngôn ngữ

mà người lập trình nắm chắc

Lắng nghe và ghi chép

Trang 7

Input đặc trưng Trong quá trình thử

này nếu phát hiện ra sai sót thì phải

sửa lại chương trình Quá trình này

gọi là hiệu chỉnh

5 Viết tài liệu.

-Viết tài liệu mô tả thuật toán,

chương trình và hướng dẫn sử dụng

chương trình

nào cũng đảm bảo là hoàn toàn đúng đắn,

do đó phải thử chương trình bằng các bộ Input đặc trưng để phát hiện sai sót

-Sau khi chương trình

đã hoàn thiện công việc còn lại

Bước 5: Viết tài liệu.

-Viết tài liệu là viết gì?

-Trong 5 bước trên bước nào có thể bỏ qua? Vì sao?

Giải thích: Mình có

thể bỏ qua bước 2 khi mình đã có tư duy giải thuật tôt, mình đã nắm vững thuật toán để giải quyết bài toán rồi

Cũng có thể bỏ qua bước 5 khi chương trình được viết cho chính người lập trình

sử dụng

-Viết tài liệu mô tả thuật toán, chương trình và hướng dẫn

sử dụng chương trình

-Bước 2, vì bước 2 chỉ giúp người lập trình dễ dàng hơn

để viết chương trình

-Bước 5, vì bước này giúp cho người

sử dụng hiểu chương trình của người lập trình nên

ta có thể bỏ nếu chỉ viết cho người lập trình sử dụng thôi

V Củng cố và giao nhiệm vụ về nhà:

- Các bước để giải bài toán trên máy tính:

B1: Xác định bài toán

B2: lựa chọn và xây dựng thuật toán

B3: Viết chương trình

B4: Hiệu chỉnh

B5: Viết tài liệu

Trang 8

- Bài tập: Trả lời các câu hỏi trong SGK (trang 51)

Ngày đăng: 29/09/2013, 10:10

HÌNH ẢNH LIÊN QUAN

Nội dung ghi bảng Hoạt động của thầy Hoạt động của trò - Bài 6: Giải bài toán trên máy tính
i dung ghi bảng Hoạt động của thầy Hoạt động của trò (Trang 3)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w