SỞ GD VÀ ĐT VĨNH PHÚCTrường THPT Nguyễn Viết Xuân Tên chủ đề dạy học: MỘT SỐ BÀI TOÁN VÀ THUẬT TOÁN ĐƠN GIẢN TRONG TIN HỌC Giáo viên thực hiện: Nguyễn Thị Hà Môn: Tin học Tổ: Toán – Tin
Trang 1SỞ GD VÀ ĐT VĨNH PHÚC
Trường THPT Nguyễn Viết Xuân
Tên chủ đề dạy học:
MỘT SỐ BÀI TOÁN VÀ THUẬT TOÁN ĐƠN GIẢN TRONG TIN HỌC
Giáo viên thực hiện: Nguyễn Thị Hà Môn: Tin học
Tổ: Toán – Tin Trường: THPT Nguyễn Viết Xuân
Vĩnh Tường, 11/2018
Trang 2CHỦ ĐỀ: 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
Tiết 1
Hoạt động khởi động Hoạt động hình thành kiến
thức
KT1: Khái niệm bài toán KT2: Khái niệm thuật toán
Tiết 3 Hoạt động luyện tậpHoạ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:
Trang 3+ 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
Trang 4Nhó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: ax 2 + 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
Trang 5* 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
VD 1: Cho hai số a,b,c 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
B2: S:=a+b
B3: Tổng là S
Phương pháp sơ đồ khối
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ê
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ẻ
Phương pháp sơ đồ khối
Nhập a, b
S:=a+b
Tổng là S
Nhập N
N chia hết cho
2
N là số lẻ N là số chẵn
Đ S
Trang 6* 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
Cách liệt kê
B1: Nhập a, b, c
B2: Gán Max:=a
B3: Nếu Max<b thì Max:=b
B4: Nếu Max<c thì Max:=c
B5 Đưa ra GTLN là Max
Sơ đồ khối
VD 2: Trình bày thuật toán giải phương trình: ax + b = 0
Lời giải
* Cách xác định bài toán
Nhập a, b,c
Max:=a
Max<b Max:=b
Max<c Max:=c
GTLN là Max
S
Đ
Đ S
Trang 7- 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
VD 3: Trình bày thuật toán giải phương trình: ax 2 + 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, x2
Phương pháp: Sơ đồ khối
S
Nhập a,b
a=0
PTVN
PT có nghiệm x:= -b/a
Đ
Đ
S
Trang 82.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?
GV: Bài toán trong Tin học gồm mấy
phần? Nó tương ứng với phần nào của
bài toán trong Toán học?
GV: 3 nhóm trình bày INPUT và
OUTPUT của bài tập nhóm mình vào
giấy A0
HS: Bài toán trong Tin học do máy tính giải
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à kết luận trong toán học
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
PT VN Đ
PT có 1 nghiệm
Nhập a, b,c
D:=b*b-4*a*c
D<0
PT có 2 nghiệm D=0
S
Đ
S
Trang 9thì các em sẽ đi vào giải bài toán mình
đ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à
gì?
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
tính chất Đó là những tính chất nào?
HS: Các bước giải đó trong Tin học gọi
là thuật toán ạ
HS: Tính dừng, tính xác định và tính đúng đắn
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?
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
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?
- Với PTBH?
HS: So sánh các phần tử với nhau, số nào lớn nhất thì đưa ra
HS: PT VSN khi a =0 và b=0 PTVN khi a=0 và b#0
PT có nghiệm khi a#0
Trang 10GV: Các em nên kiểm tra trường hợp
delta<0 rồi delta=0 Ngược lại của hai
trường hợp trên là delta>0
GV: Các em hãy trình bày thuật toán
của 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?
HS: Tính delta Sau đó đi kiểm tra delta
- Nếu delta >0, có hai nghiệm
- Nếu delta<0, PT VN
- Nếu delta =0, PT có 1 nghiệm
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
* Ở nội dung KT 3:
Nhóm 1
B1: Nhập a, b, c
B2: Gán Max:=a
B3: Nếu Max<b thì Max:=b
B4: Nếu Max<c thì Max:=c
B5 Đưa ra GTLN là Max
10
Nhập a, b,c
Max:=a
S
Đ
Đ
S
Trang 11Nhóm 2
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
Nhập a,b
a=0
PTVN
PT có nghiệm x:= -b/a
Đ
Đ
S
Trang 12Nhóm 3
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/2*a
B5: Ngược lại phương trình
có hai nghiệm phân biệt x1,
x2
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
PT có 1 nghiệm
Nhập a, b,c
D:=b*b-4*a*c
PT có 2 nghiệm D=0
Đ
S
Đ S
Trang 13B 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
Bài tập 3: 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
Bài tập 4: 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
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 a1,
a2, , aN
B2: Max = a1; i = 2;
B3: Nếu i > N thông báo giá trị
Max rồi kết thúc
B4:
B41: Nếu ai > Max thì Max =
ai
B42: tăng i = i + 1 rồi quay lại
B3
Bài tập 2
i = i + 1
Nhập a
1 , a
2 , , a
N
Max = a1; i = 2
i > N
ai>Max
TB Max
Đ
Đ D S S
Trang 14* 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
Phương pháp liệt kê Phương pháp sơ đồ khối
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
Bài tập 3
* Cách xác định bài toán
- Input: Dãy số nguyên a1, a2, , aN
- Output: Dãy số đã được sắp xếp
* Thuật toán
Phương pháp liệt kê Phương pháp sơ đồ khối
B1: Nhập N và dãy a1, a2, , aN
B2: Gán giá trị M := N
B3: Nếu M <2 thông báo dãy đã
đc sắp xếp và kết thúc
B4: Gán M := M - 1; i := 0;
B5: Gán i := i + 1
B6: Nếu i > M quay lại B3
B7: Nếu ai> ai+1 thì tráo đổi ai và
ai+1 cho nhau
B8: quay lai bước 5
14
Nhập a 1 , a 2 , , a N
M = N
M < 2
i > M
M: = M - 1;
i: = 0
Dãy đã SX
i := i + 1
Đ
S
S
Đ
ai > ai+1 Đ
S
Đ
Nhập N
N<4
TB N là
SNT
i:=2; d:=[]
i>d
N i i:=i+1
N k là SNT
N=1
S
Đ S
Đ
S
Đ S
Trang 15Bài tập 4
* Cách xác định bài toán
- Input: Dãy số nguyên a1, a2, , aN
- Output: Vị trí xuất hiện của K hoặc K không có trong dãy
* Thuật toán
Phương pháp liệt kê Phương pháp sơ đồ khối B1: Nhập N và dãy a1, a2, , aN
B2: gán i:=1
B3: Nếu ai = k thì thông báo vị
trí xuất hiện k là i
B4: i:=i+1
B5: Nếu i>N thì thông báo
trong dãy không có K
B6: Quay về B3
Trang 163.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
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
- 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
Đ
Nhập N; a
1 , a
2 a
n ; k
i:=1
a i = k K xuất hiện tại i
i:=i+1
ai = k Không có k trong dãy
Đ S
S