Về kiến thức: - Hiểu đợc 2 khái niệm then chốt: Bài toán và thuật toán trong tin học - Hiểu đợc cách giải bài toán mà về nguyên tắc có thể giao cho máy tính thực hiện - Hiểu và thực hiện
Trang 1Tiết 9: Ngày soạn: 20/09/2008
Bài 4: Bài toán và thuật toán
I- Mục tiêu:
1 Về kiến thức:
- Hiểu đợc 2 khái niệm then chốt: Bài toán và thuật toán trong tin học
- Hiểu đợc cách giải bài toán mà về nguyên tắc có thể giao cho máy tính thực hiện
- Hiểu và thực hiện đợc một số thuật toán đơn giản trong sách giáo khoa nh tìm giá trị lớn nhất của dãy số
2 Về kĩ năng:
- Diễn tả đợc thuật toán theo cách liệt kê hoặc bớc đầu thể hiện đợc thuật toán bằng sơ đồ khối
- Hiểu và diễn tả đợc một số bài toán cơ bản
3 Về thái độ:
Rèn luyện lòng say mê nghiên cứu tìm hiểu và t duy khoa học
Tác phong làm việc độc lập sáng tạo, nâng cao lòng say mê học tập bộ môn
II- Chuẩn bị:
1 Giáo viên:
- Chuẩn bị tranh vẽ, máy tính và một số bài toán áp dụng để rèn luyện kỹ năng biẻu diễn thuật toán
2 Học sinh:
- Sách giáo khoa và máy tính ở nhà nếu có
III- Hoạt động dạy học:
1 ổn định lớp:
2 Bài cũ:
? Nguyên lí mã hoá nhị phân trong máy tính là
gì? Thế nào là nguyên lí Phôn Nôi – man?
3 Bài mới:
Hoạt động 1
Giúp học sinh hiểu rõ khái niệm bài toán trong
tin học:
- Phát vấn: Em hãy cho biết chơng trình là gì?
Đặt vấn đề: Để viết đợc chơng trình cho máy
tính thực hiện ta cần biết thế nào là bài toán và
thuật toán
Thuyết trình: Trong toán học ta nhắc nhiều đến
khái niệm “bài toán” và ta hiểu đó là những việc
mà con ngời cần phải thực hiện sao cho từ những
dữ kiện ban đầu đã có phải tìm ra hay chứng
HS báo cáo sĩ số,
Suy nghĩ và trả lời
Suy nghĩ và trả lời:
Chơng trình là một dãy các câu lệnh, mỗi lệnh là một chỉ dẫn cho biết điều mà máy tính cần thực hiện
Nghe giảng và nghiên cứu sách giáo khoa
Trang 2minh một kết quả nào đó Vậy khái niệm “bài
toán” trong tin học có gì khác so với toán học
không?
Giáo viên đa ra một số ví dụ:
VD 1: Thực hiện quản lí một kỳ thi
VD2: Giải phơng trình bậc nhất ax + b= c đều là
các bài toán
? Bài toán là g? đứng trớc một bài toán công việc
đầu tiên cần làm là gì?
Thuyết trình: Đúng vậy, ta cần đi xác định
INPUT và OUTPUT của bài toán, từ đó giáo
viên chốt lại kiến thức
Các yếu tố: Khi máy tính giải bài toán cần
quan tân đến 2 yếu tố đó là gì?
- Yêu cầu học sinh tìm INPUT và OUTPUT từ
hai ví dụ trên
VD 3: Cho biết INPUT và OUTPUT của bài toán
tìm UCLN của 2 số A và B?
VD 4: Cho biết INPUT và OUTPUT của bài toán
giải phơng trình bậc 2: ax2 + bx +c = 0;
Hoạt động 2:
Đa ra định nghĩa thuật toán và các cách diễn
tả thuật toán.
Thuyết trình: Nếu muốn máy tính đa ra output từ
input đã cho thì ta phải có chơng trình, nhng
muốn có chơng trình ta phải xây dựng thuật toán
Suy nghĩ và trả lời
- Bài toán là những việc mà con ngời muốn máy tính thực hiện
- Bài toán là một vấn đề cần giải quyết trong thực
tế, để từ những dữ kiệu đã cho tìm đợc kết quả
Thảo luận và trả lời:
Công việc đầu tiên là xác định đâu là giả thiết và kết luận, trong tin học là dữ kiện đã cho và đâu
là cái cần tìm
Thảo luận và trả lời:
- INPUT ( Thông tin đa vào máy tính)
- OUTPUT ( thông tin cần lấy ra từ máy tính)
Thảo luận và trả lời:
VD 1:
INPUT: SBD, họ tên, Đvăn, Đ toán, Đlí,… OUTPUT: Tổng điểm: dạng số
Kết quả: đậu hoặc trợt
VD 2:
INPUT: Các hệ số a, b bất kì
OUTPUT: Nghiêm của phơng trình (nếu có) và thờng là dạng số
VD 3:
INPUT: A, B là hai số nguyên dơng OUTPUT: UCLN(A,B)
VD 4:
INPUT: a, b, c là các số thực OUTPUT: Nghiệm x của phơng trình
Thảo luận và trả lời:
- Thuật toán là các thao tác tính toán giải bài toán, tìm ra kết quả cuối cần tìm
Trang 3của bài toán đó hãy nói cách khác ta phải tìm
cách để giải bài toán đó Cách giải bài toán đó
trong tin học gọi là thuật toán Vậy thuật toán là
gì?
Giáo viên đa ra ví dụ yêu cầu học sinh nghiên
cứu sách giáo khoa và đứng tại chỗ trả lời:
VD: Nêu cách giải bài toán giải phơng trình bậc
hai: ax2 + bx + c = 0
Ghi bài lên bảng
? Các em có nhận xét gì về các bớc thực hiện
trên?
Từ đó giáo viên chốt lại kiến thức: Vậy thuật
toán là gì?
Yêu cầu các em nghiên cứu sách giáo khoa và
làm ví dụ sau:
VD: Tìm ớc số chung lớn nhất của hai số nguyên
dơng A và B Xác định INPUT và OUTPUT của
bài toán, xây dựng thuật toán?
GV đa ra một số bộ ví dụ cụ thể để giải thích học
sinh hiểu thuật toán qua từng bớc:
B1: Nhập A = 12; B = 8; A > B
B3: A = A – B = 12 – 8 = 4, B = 8; B > A;
B4: A = 4; B= B – A = 8 – 4 = 4; A = B;
B5: UCLN (A, B) = 4
Cách viết thuật toán nh trên theo từng bớc gọi
Thuật toán là một hệ thống các quy tắc nhằm xác định một dãy các thao tác trên những đối tợng sao cho từ một bộ dữ liệu vào sau khi thực hiện xử lí ta đạt đợc mục tiêu định trớc
Nghiên cứu sách giáo khoa và đứng tại chỗ trả lời câu hỏi:
INPUT: a, b, c là các số thực OUTPUT: Nghiệm x của phơng trình
B1: Nhập a, b, c B2: Tính b2 4ac
B3: Nếu < 0 phơng trình vô nghiệm chuyển
đến B6;
B4: Nếu = 0 phơng trình có nghiệm kép chuyển đến B6;
B5: Nếu > 0 phơng trình có hai nghiệm phân biệt x1, x2 chuyển đến bớc 6
B6: Kết thúc
Suy nghĩ và trả lời:
- Các bớc làm việc đợc sắp xếp theo một trình tự xác định
- Là một dãy hữu hạn các lệnh
Thuật 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 đó từ input của bài toán ta tìm đợc Output cần tìm
Suy nghĩ và lên bảng trình bày:
INPUT: A, B là hai số nguyên dơng OUTPUT: UCLN (A, B)
* Thuật toán:
B1: Nhập A, B B2: Nếu A =B thì UCLN =A;
B3: Nếu A > B thì thay A = A – B; quay lại
b-ớc 2;
B4: Thay B = B – A quay lại bớc 2 B5: Gán UCLN là A, rồi kết thúc
Trang 4là cách liệt kê, còn có cách làm khác để thể hiện
thuật toán dùng bằng sơ đồ khối, các em về
nghiên cứu sách giáo khoa tiết sau ta sẽ tìm hiểu
cách thể hiện này thông qua ví dụ tìm giá trị lớn
nhất của dãy số
Nghe giảng và ghi nhớ lời dặn của giáo viên
IV- Đánh giá cuối bài:
1 Nhắc lại những nội dung đã học:
- Khái niệm bài toán trong tin học là gì?
- Để giải quyết bài toán trong tin học ta phải xây dựng thuật toán Vậy thuật toán là gì?
- Biết cách thể hiện thuật toán dới dạng liệt kê của một số bài toán đơn giản
2 Một số câu hỏi trắc nghiệm làm tại lớp:
A- Ta cần xác định: Input và Output
B- Ta chỉ cần xác định Input
C- Ta chỉ cần xác định Output
D- Cả ba ý trên
Hãy lựa chọn phơng án đúng nhất
A- Input là thông tin vào máy tính
B- Output là thông tin cần máy tính đa ra
C- Input là mã chơng trình
D- Lệnh đợc đa vào máy tính dới dạng mã nhị phân để lu trữ, xử lí nh các dữ liệu khác
Hãy lựa chọn phơng án đúng nhất
Hãy chọn phơng án ghép đúng
IV- Rút kinh nghiệm:
… … ………
………
………
………
………
………
………
………