CHỦ ĐỀ: MỘT SỐ BÀI TOÁN VÀ THUẬT TOÁN ĐƠN GIẢN
TRONG TIN HỌC (3 tiết)
(Tin học lớp 10)
A. KẾ HOẠCH CHUNG.
Phân phối
thời gian
Tiết 1
Tiết 2
Tiết 3
Tiến trình dạy học
Hoạt động khởi động
KT1: Khái niệm bài toán
Hoạt động hình thành
KT2: Khái niệm thuật toán
kiến thức
KT3: Một số ví dụ
Hoạt động luyện tập
Hoạt động vận dụng, tìm tòi, mở rộng
B. KẾ HOẠCH DẠY HỌC
I. Mục tiêu
1. Kiến thức
- Khái niệm bài toán
- Khái niệm thuật toán, tính chất, cách trình bày thuật toán
- Luyện tập cách xây dựng ý tưởng, xác định Input và Output của bài toán.
- Biểu diễn thuật toán bằng hai cách: liệt kê và sơ đồ khối.
2. Kỹ năng
- Biết cách xác định Input và Output.
- Bước đầu có thể biểu diễn thuật toán bằng hai cách.
3. Thái độ
- Nghiêm túc, chú ý học tập
4. Các năng lực cần hình thành và phát triển
- Năng lực tự học thông qua sách giáo khoa, tài liệu, mạng internet
- Năng lực giải quyết vấn đề thông qua các ví dụ trong bài học
- Năng lực sáng tạo thông qua nội dung bài học
- Năng lực hợp tác thông qua bạn bè, thầy cô và những người xung quanh
- Năng lực thực hành thông qua các bài tập
- Năng lực sử dụng công nghệ thông tin thông qua việc thực hành các bài tập trên
máy tính
- Năng lực tính toán thông qua việc nhập các bộ test trong các phần mô phỏng
thuật toán
II. Nhiệm vụ của giáo viên và học sinh
- Giáo viên:
1
+ Các phiếu học tập (nếu có), video, máy tính, máy chiếu
+ Giáo án, bảng phụ, SGK, SGV, giấy A0, bút dạ viết bảng
- Học sinh:
+ Chuẩn bị bài mới trong sách giáo khoa
+ SGK, vở ghi.
III. Phương pháp dạy học
- Phương pháp dạy học nêu vấn đề và dạy học hợp tác.
IV. Phương tiện dạy học
- Máy chiếu, sử dụng các phần mềm dạy học để tăng tính trực quan cho bài giảng.
V. Tiến trình dạy học
HOẠT ĐỘNG 1: KHỞI ĐỘNG
1.1. Mục tiêu
- Gợi nhớ lại các bài toán trong Toán học từ đó hình thành khái niệm bài toán trong
Tin học
- Hình thành mối liên hệ giữa các bài trong Toán học và trong Tin học từ đó rút ra
được Input và Output của bài toán trong Tin học cũng giống như giả thiết và kết
luận trong toán học
1.2. Nội dung
- Trình chiếu các ví dụ về bài toán trong Toán học từ đó mời học sinh nêu phần giả
thiết và kết luận của các bài toán sau:
Bài toán 1: Cho hai số a, b, c. Tìm Max của ba số
Bài toán 2: Cho hai số a, b. Thực hiện giải phương trình ax + b=0
Bài toán 3: Cho ba số a,b,c. Thực hiện giải phương trình ax2 + bx + c = 0 (a#0)
1.3. Kĩ thuật tổ chức hoạt động
GV: Chia lớp thành ba nhóm hoạt động
Nhóm 1 trả lời các câu hỏi của bài toán 1
Nhóm 2 trả lời các câu hỏi của bài toán 2
Nhóm 3 trả lời các câu hỏi của bài toán 3
GV: Cô mời đại diện của ba nhóm trả lời giúp cô phần giả thiết và kết luận của
từng bài toán
1.4. Dự kiến sản phẩm của học sinh
Nhóm 1:
Giả thiết: a,b, c
Kết luận: Max
Nhóm 2:
Giả thiết: a,b
Kết luận: Nghiệm phương trình bậc nhất
2
Nhóm 3:
Giả thiết: a, b, c (a#0)
Kết luận: Nghiệm của PTBH
HOẠT ĐỘNG 2: HÌNH THÀNH KIẾN THỨC
2.1. Mục tiêu
- Biết được khái niệm bài toán trong tin học
- Tìm được INPUT, OUTPUT của bài toán trong tin học
- Biết khái niệm bài toán và thuật toán
- Biết được cách viết thuật toán
- Nắm được các tính chất của thuật toán
- Trình bày được thuật toán của một số bài toán
2.2. Nội dung
NỘI DUNG KT1: KHÁI NIỆM BÀI TOÁN
1. Khái niệm bài toán
a. Khái niệm
Là việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào (Input) tìm
được thông tin ra (Output).
Vậy bài toán trong tin học gồm:
Thông tin, dữ liệu vào: Input
Thông tin ra, kết quả: Output
b. Ví dụ xác định INPUT và OUTPUT của các bài toán sau
VD1: Cho hai số a, b, c. Tìm max của ba số
Input: a, b, c
Output: Max (a, b, c)
VD2: Giải phương trình: ax + b = 0
Input: Hai số nguyên a và b
Output: Kết luận nghiệm của PT.
VD3: Giải phương trình: ax2 + bx + c = 0
(a ≠ 0)
Input: Số nguyên a, b, c với a ≠ 0.
Output: Kết luận nghiệm của phương trình.
NỘI DUNG KT 2: KHÁI NIỆM THUẬT TOÁN
2. Khái niệm thuật toán
* KN: Thuật toán để giải một bài toán là 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, ta nhận được Output cần tìm
3
* Có hai phương pháp để trình bày thuật toán:
- Phương pháp liệt kê: Là nêu ra từng bước thực hiện
- Phương pháp sơ đồ khối: dùng các hình vẽ để trình bày thuật toán.
:Thể hiện bắt đầu hoặc kết thúc
: Phép nhâp, gán, tính toán
: Phép so sánh, kiểm tra
: Quy trình thực hiện các thao tác
Ví dụ 1: Cho hai số a, b. Trình bày thuật toán tính tổng hai số
Lời giải
* Cách xác định bài toán
- Input: a, b
- Output: Tổng hai số
* Thuật toán
Phương pháp liệt kê
B1: Nhập a, b
Nhập a, b
B2: S := a+b
B3: Tổng là S
Phương pháp sơ đồ khối
S := a+b
Tổng là S
Ví dụ 2: Cho số nguyên N. Trình bày thuật toán kiểm tra tính chẵn lẻ của số
N.
* Cách xác định bài toán
- Input: N
- Output: N là số chẵn hoặc N là số lẻ
* Thuật toán
Phương pháp liệt kê
Nhập N
B1: Nhập N
B2: Nếu N chia hết cho N thì N là số chẵn
Đ
B3: Ngược lại N là số lẻ
N chia hết cho
Phương pháp sơ đồ khối
2
S
N là số lẻ
4
N là số chẵn
* Tính chất:
- Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao
tác.
- Tính xác định: Sau khi thực hiện một thao tác thì hoặc thuật toán kết thúc hoặc
có đúng một thao tác được thực hiện tiếp theo.
- Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận được Output cần tìm.
NỘI DUNG KT 3: MỘT SỐ VÍ DỤ
3. Một số ví dụ:
VD1: Cho ba số a, b, c. Trình bày thuật toán tìm Max (a, b, c).
Lời giải
* Cách xác định bài toán
- Input: a, b, c
- Output: Max(a, b, c)
* Thuật toán
- Phương pháp liệt kê
B1: Nhập a, b, c
B2: Gán Max := a
Nhập a, b, c
B3: Nếu Max < b thì Max := b
B4: Nếu Max < c thì Max:=c
B5. Đưa ra GTLN là Max
Max := a
- Phương pháp sơ đồ khối
Max <
b
Đ
Max := b
S
Max <
c
Đ
S
GTLN là Max
VD 2: Trình bày thuật toán giải phương trình: ax + b = 0
Lời giải
5
Max := c
* Cách xác định bài toán
- Input: a, b
- Output: Kết luận nghiệm của PT
* Thuật toán
- Phương pháp liệt kê
B1: Nhập a, b
B2: Nếu a = 0
B21: b = 0 kết luận PTVSN
B22: Ngược lại kết luận PTVN
B3: Ngược lại kết luận phương trình có 1 nghiệm x := -b/a
- Phương pháp sơ đồ khối
Nhập a, b
Đ
a=0
S
Đ
PTVSN
b=0
S
PTVN
PT có nghiệm x:= -b/a
VD 3: Trình bày thuật toán giải phương trình: ax2 + bx + c = 0 (a#0)
Lời giải
* Cách xác định bài toán
- Input: a, b, c
- Output: Kết luận nghiệm của PT
* Thuật toán
- Phương pháp liệt kê
B1: Nhập a, b, c
B2: D := b*b- 4*a*c
B3: Nếu D<0 thì phương trình vô nghiệm
B4: Nếu D=0 thì phương trình có nghiệm kép x := -b/2a
B5: Ngược lại phương trình có hai nghiệm phân biệt x1 :=
6
−b− d
−b+ d
; x2 :=
2a
2a
- Phương pháp sơ đồ khối
Nhập a, b, c
D := b*b-4*a*c
Đ
D<0
S
PT VN
Đ
PT có 1 nghiệm x := -b/a
D=0
S
PT có 2 nghiệm x1, x2
2.3. Kĩ thuật tổ chức hoạt động
NỘI DUNG KT 1: Khái niệm bài toán
Hoạt động của giáo viên
Hoạt động của học sinh
GV: Từ khi được làm quen với Toán học
đến giờ các em đã phải giải rất nhiều bài
toán. Các em đã được làm quen với bài
toán nào trong Tin học chưa?
Vậy bài toán trong Tin học do ai giải?
HS: Bài toán trong Tin học do máy tính
GV: Bài toán trong Tin học gồm mấy giải.
phần? Nó tương ứng với phần nào của
bài toán trong Toán học?
HS: Bài toán trong Tin học gồm 2 phần.
Nó tương đương với phần giả thiết và
GV: 3 nhóm trình bày INPUT và kết luận trong toán học
OUTPUT của bài tập nhóm mình vào
giấy A0.
NỘI DUNG KT 2: Khái niệm thuật toán
Hoạt động của giáo viên
Hoạt động của học sinh
GV: Trong Toán học khi đã xác định
được giả thiết và kết luận của bài toán
thì các em sẽ đi vào giải bài toán mình
7
đang làm. Các bước giải bài toán đó gọi
là lời giải.
Vậy trong Tin học các bước đó gọi là
HS: Các bước giải đó trong Tin học gọi
gì?
là thuật toán ạ
GV: Mời bạn Hoa đọc giúp cô giáo khái
niệm thuật toán?
GV: Chúng ta có hai cách trình bày
thuật toán bằng phương pháp liệt kê và
phương pháp sơ đồ khối.
GV: Cho học sinh ghi bài.
GV: Cô giáo sẽ trình bày thuật toán tính
tổng hai số nguyên a,b.
GV: Một thuật toán cần thỏa mãn ba HS: Tính dừng, tính xác định và tính
tính chất. Đó là những tính chất nào?
đúng đắn
GV: Bài toán tính tổng hai số a, b mà cô
cho.
- Có tính dừng không? Nó dừng tại đâu? GV: - Thuật toán dừng tại giá trị tổng
của hai số
GV: Bài toán tìm Max (a, b, c) dừng khi
nào?
NỘI DUNG KT 3: Một số ví dụ
Hoạt động của giáo viên
Hoạt động của học sinh
Gv: Chúng ta sẽ đi cùng giải bài tập của
các nhóm
Nhóm 1: Để tìm được Max (a, b, c). Ta
phải làm thế nào?
HS: So sánh các phần tử với nhau, số
nào lớn nhất thì đưa ra
GV: ta thực hiện gán Max := a. Sau đó
đem so sánh Max với các phần từ còn
lại. Nếu phần tử nào lớn hơn thì gán
Max bằng phần tử đó. Kết luận đưa ra
Max. Nó có thể là số a, b hoặc c tùy
8
thuộc vào giá trị người dùng nhập vào.
GV: Trong toán học các em đã học biện
luận PT BN và biện luận PTBH rồi. Bạn
nào nói giúp cô giáo
- Với PTBN xảy ra những trường hợp
nghiệm nào?
HS: PT VSN khi a = 0 và b = 0
PTVN khi a = 0 và b # 0
- Với PTBH?
PT có nghiệm khi a # 0
GV: Các em nên kiểm tra trường hợp
HS: Tính delta. Sau đó đi kiểm tra delta
delta < 0 rồi delta = 0. Ngược lại của hai - Nếu delta > 0, có hai nghiệm
trường hợp trên là delta > 0
- Nếu delta < 0, PT VN
GV: Các em hãy trình bày thuật toán của - Nếu delta = 0, PT có 1 nghiệm
nhóm mình bằng hai phương pháp ra
giấy A0. Rồi một bạn đại diện lên trình
bày.
Chú ý : Khi vẽ hình thoi luôn phải rẽ ra
hai nhánh đúng và sai. Phải suy nghĩ
xem đúng thì sao mà sai thì sao
2.4. Dự kiến sản phẩm của học sinh
* Ở nội dung KT 1:
- Nhóm 1:
Input: a, b, c
Output: Max(a, b, c)
- Nhóm 2:
Input: a, b
Output: Kết luận nghiệm của PT
- Nhóm 3:
Input: a, b, c
Output: Kết luận nghiệm của PT
* Ở nội dung KT 2:
- HS1: Các bước giải đó trong tin học gọi là thuật toán
- HS2: Thuật toán có các tính chất: Tính dừng, tính xác định, tính đúng đắn
- Bài toán tìm Max (a, b, c) dừng khi tìm được GTLN
* Ở nội dung KT 3:
Nhóm 1
Phương pháp liệt kê
Phương pháp sơ đồ khối
B1: Nhập a, b, c
9
B2: Gán Max:=a
Nhập a, b, c
B3: Nếu Max
B4: Nếu Max
B5. Đưa ra GTLN là Max
Max:=a
Đ
Max
Max:=b
S
Max
Đ
Max:=c
S
GTLN là Max
Phương pháp liệt kê
B1: Nhập a, b
B2: Nếu a = 0
B21: b = 0 kết luận
PTVSN
B22: Ngược lại kết luận
PTVN
B3: Ngược lại kết luận
phương trình có 1 nghiệm x :=
-b/a
Nhóm 2
Phương pháp sơ đồ khối
Nhập a,b
Đ
a=0
S
Đ
PTVSN
b=0
s
PT có nghiệm x:= -b/a
10
PTVN
Phương pháp liệt kê
B1: Nhập a, b, c
B2: D :=
b*b
- 4*a*c
Nhập
a, b,
c
B3: Nếu D<0 thì phương trình
vô nghiệm
D:=b*b-4*a*c
B4: Nếu
D=0 thì phương trình
có nghiệm kép x := -b/2*a
Đ
B5: Ngược lại phương
trìnhPT VN
D<0
có hai nghiệm phân biệt x1,
S
x2
Đ
D=0
S
Nhóm 3
Phương pháp sơ đồ khối
PT có 1 nghiệm
PT có 2 nghiệm
HOẠT ĐỘNG 3: LUYỆN TẬP
3.1. Mục tiêu
- Củng cố các kiến thức về thuật toán
- Rèn luyện kỹ năng viết thuật toán thông qua các câu hỏi và ví dụ
3.2. Nội dung
Học sinh trả lời các câu hỏi sau:
Câu 1: Input của bài toán : “Trình bày thuật toán hoán đổi giá trị của hai biến số
thực A và C dùng biến trung gian”
A. Hai số thực A,B
B. Hai số thực A,C
C. Hai số nguyên A,B
D. Hai số nguyên A,C
Mục đích: Củng cố lại kiến thức xác định Input của bài toán
Câu 2: Cho bài toán kiểm tra tính nguyên tố của số nguyên dương N. Hãy xác định
Output của bài toán.
A. N là số nguyên tố
B. N không là số nguyên tố
C. N là số nguyên tố hoặc N không là số nguyên tố
D. Tất cả đều sai.
Mục đích: Củng cố lại kiến thức xác định Input của bài toán
Câu 3: Khi biểu diễn thuật toán bằng sơ đồ khối, hình thoi có ý nghĩa gì?
A. Thực hiện các phép nhập, xuất dữ liệu
11
B. Thực hiện các phép so sánh
C. Thực hiện các phép tính toán
D. Không thực hiện thao tác gì.
Mục đích: Củng cố lại kiến thức xác định hình thôi được sử dụng khi nào
Bài tập 1: Cho N và dãy các số nguyên a1, a2, … an. Trình bày thuật toán tìm Max
của dãy.
Bài tập 2: Cho số N nguyên dương. Trình bày thuật toán kiểm tra tính nguyên tố
của N
3.3. Kĩ thuật tổ chức hoạt động
- Các câu hỏi từ 1-3 đọc và cho học sinh trả lời nhanh. Chỗ nào học sinh vướng
mắc thì giải thích
- Giáo viên hướng dẫn học sinh giải quyết các bài tập 1,2,3,4
Bài tập 1
* Cách xác định bài toán
- Input: N; a1, a2, … an
- Output: Max(a1, a2, … an)
* Thuật toán
Phương pháp liệt kê
Phương pháp sơ đồ khối
B1: Nhập N và các số nguyên a 1,
a2, ..., aN Nhập N; a1, a2, ..., aN
B2: Max := a1; i := 2;
Max
:= a1; báo
i := 2giá trị
B3: Nếu i > N
thông
Max rồi kết thúc.
B4:
Đ
N thì Max
TB Max
B41: Nếu ai >i >Max
S
:= ai
B42:Stăng i :=a >Max
i + 1 rồi quay
i
lại B3.
Đ
Max :=Dai
i := i + 1
Bài tập 2
* Cách xác định bài toán
- Input: N là 1 số nguyên dương
- Output: N là số nguyên tố hay không
* Thuật toán
12
Phương pháp liệt kê
B1: Nhập N.
B2: Nếu N=1 thì thông báo N không
là snt rồi kết thúc.
B3: Nếu N<4 thì thông báo N là snt
rồi kết thúc
B4: Gán i:=2; d:= [ N ] (i = 2 d)
B5: Nếu i>=d thì thông báo N là snt
B6: Nếu N chia hết cho i thì N
không là snt
B7: i:=i+1 quay trở lại B5
Phương pháp sơ đồ khối
Nhập N
Đ
N=1
S
N k là
SNT
Đ
N<4
S
i:=2; d:=[]
TB N là
SNT
Đ
i>d
S
S
i:=i+1
N i
Đ
3.4. Dự kiến sản phẩm của học sinh
Câu 1: A
Câu 2: B
Câu 3: B
HOẠT ĐỘNG 4: VẬN DỤNG, TÌM TÒI VÀ MỞ RỘNG
4.1. Mục đích
- Khắc sâu hơn phần kiến thức đã được học trong bài.
- Giúp học sinh thuần thục hơn cách trình bày các thuật toán
3.2. Nội dung
Từ các bài toán đã học. Mở rộng thêm các bài toán có liên quan
- Trình bày thuật toán của bài toán tìm Min (a,b,c)
- Trình bày thuật toán của bài toán tìm Min của dãy N số a1, a2, … an
- Trình bày thuật toán sắp xếp các phần tử của dãy theo thứ tự giảm dần
- Trình bày thuật toán đếm số lần của K xuất hiện trong dãy.
- Cho N và dãy các số nguyên a1, a2, … an. Trình bày thuật toán tìm sắp xếp các
phần tử của dãy theo thứ tự tăng dần.
- Cho N và dãy các số nguyên a1, a2, … an và số nguyên K. Trình bày thuật toán
cho biết vị trí xuất hiện của K trong dãy.
4.3. Kĩ thuật tổ chức hoạt động
- Về nhà các em làm các bài tập cô cho ra giấy. Nộp lại cho cô vào đầu giờ buổi
học hôm sau.
13
- Hôm sau các em có tiết bài tập
4.4. Sản phẩm của học sinh, kiểm tra, đánh giá
- Kiểm tra và đánh giá kết quả các bài tập của học sinh rồi nhận xét
14