SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓATRƯỜNG THPT LƯƠNG ĐẮC BẰNG SÁNG KIẾN KINH NGHIỆM PHƯƠNG PHÁP LUYỆN TẬP BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN TIN HỌC 10 Người thực hiện: Nguyễn Thúy Hà
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT LƯƠNG ĐẮC BẰNG
SÁNG KIẾN KINH NGHIỆM
PHƯƠNG PHÁP LUYỆN TẬP BÀI 4: BÀI TOÁN VÀ
THUẬT TOÁN TIN HỌC 10
Người thực hiện: Nguyễn Thúy Hà Chức vụ: Tổ phó chuyên môn SKKN thuộc môn: Tin học
THANH HÓA NĂM 2018
Trang 2MỤC LỤC
Trang
1 PHẦN MỞ ĐẦU
1.1 Lí do chọn đề tài: ……… 1
1.2 Mục đích nghiên cứu: ……… 1-2 1.3 Đối tượng nghiên cứu: ……… 2 1.4 Phương pháp nghiên cứu: ……… 2
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận: ……… 2 2.2 Thực trạng của vấn đề nghiên cứu: ……… 2-3 2.3 Giải quyết vấn đề: ……… 3 2.3.1 Các giải pháp thực hiện: ……… 3 2.3.2 Nội dung thực hiện: ……… 3-12 2.4 Hiệu quả của sáng kiến kinh nghiệm: ……… 12
3 Kết luận, kiến nghị: ……… 12 3.1 Kết luận: ……… 12-13 3.2 Kiến nghị: ……… 13
Trang 3ĐỀ TÀI SÁNG KIẾN KINH NGHIỆM
“PHƯƠNG PHÁP LUYỆN TẬP BÀI 4: BÀI TOÁN VÀ THUẬT
TOÁN TIN HỌC 10’’
1 PHẦN MỞ ĐẦU
1.1 Lí do chọn đề tài
Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vực hoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn
Sự phát triển mạnh mẽ như “vũ bão” của tin học đã làm cho xã hội có nhiều nhận thức mới về cách tổ chức các hoạt động Nhiều quốc gia trên thế giới ý thức được rất rõ tầm quan trọng của tin học và có những đầu tư lớn cho lĩnh vực này, đặc biệt trong giáo dục nâng cao dân trí về tin học và đào tạo nguồn nhân lực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này, vì thế chúng ta hi vọng có thể sớm hoà nhập với khu vực và trên thế giới
Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đã đưa môn học này vào nhà trường phổ thông như những môn khoa học khác bắt đầu từ năm học 2006-2007
1.2 Mục đích nghiên cứu
THUẬT TOÁN ”, nội dung của bài này là dạy cho học sinh cách viết thuật toán bằng cách liệt kê hay sơ đồ khối và là nội dung khó đối với học sinh Vì vậy đối với các tiết bài tập của phần này nên cần thiết kết hợp kiến thức của nhiều môn học làm cho bài dạy phong phú, gần gũi hơn để học sinh tích cực tự giác tiếp thu kiến thức một cách chủ động hơn Qua đó giúp các em vừa nắm vững kiến thức Tin học, hiểu thêm kiến thức của các môn khác và qua nội dung của bài này cũng giúp giáo viên tìm được nguồn học sinh giỏi để bồi dưỡng học sinh dự thi kì thi học sinh giỏi Tỉnh năm lớp 11
Trang 4Từ lí do trên, tôi xin trình bày sáng kiến kinh nghiệm “PHƯƠNG PHÁP LUYỆN TẬP
BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN TIN HỌC 10’’ Với các ví dụ được trình bày trong sáng kiến kinh nghiệm của mình sẽ giúp cho học sinh nắm bắt hơn về cách viết thuật toán của một bài toán khi học bài 4 tin học 10
1.3 Đối tượng nghiên cứu
Học sinh khối 10 trường THPT Lương Đắc Bằng
1.4 Phương pháp nghiên cứu
Phương pháp nghiên cứu lí luận:
Khi xây dựng đề tài này tôi đã nghiên cứu các tài liệu tham khảo sau: Sách giáo khoa Tin học 10, Bài tập trắc nghiệm và một số đề kiểm tra Tin học
10, Một số bài tập cơ bản của các môn học khác
Phương pháp ứng dụng thực tiễn
- Phương pháp quan sát - Kiểm tra việc học tập của học sinh (bài cũ, bài mới)
- Phương pháp điều tra – Phỏng vấn học sinh
- Phương pháp khảo nghiệm thăm lớp, dự giờ Kiểm tra chất lượng sau giờ học
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận
- Nghị quyết 40/2000/QH10 và chỉ thị 14/2001/CT-TT ngày 9/12/2000
vầ việc đổi mới chương trình giáo dục phổ thông: Nội dung chương trình là tích cực áp dụng một cách sáng tạo các phương pháp tiên tiến, hiện đại, ứng dụng CNTT vào dạy và học
- Trong nhiệm vụ năm học 2005-2006 Bộ trưởng giáo dục và đào tạo nhấn mạnh: Khẩn trương triển khai chương trình phát triển nguồn nhân lực CNTT từ nay đến năm 2010 của chính phủ về đề án dạy Tin học ứng dụng CNTT và truyền thông giai đoạn 2004-2006
- Chỉ thị 29/CT của trung ương Đảng về việc đưa CNTT vào nhà trường
- Thông tư số 14/2002/TT- BGD& ĐT ngày 1/4/2002 về việc hướng dẫn quán triệt chủ trương đổi mới giáo dục phổ thông
2.2 Thực trạng của vấn đề nghiên cứu.
Trang 5“Bài 4: Bài toán và thuật toán” Trong chương trình tin học lớp 10 là một
phần kiến thức quan trọng của chương trình vì khi học sinh học lên lớp 11 thì chỉ học lập trình mà muốn viết được chương trình thì các em phải hiểu thuật toán và cài đặt được thuật toán trên một ngôn ngữ lập trình cụ thể
+ Học sinh thường gặp khó khăn khi xác định bài toán
+ Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải trong tin học
Chính vì vậy khi dạy giáo viên cần đưa thêm nhiều bài tập của các môn học khác không phải chỉ toán học và hướng dẫn các em diễn tả thuật toán của các bài tập đó, đây là một việc làm thiết yếu để có được kết quả tốt
2.3 Giải quyết vấn đề
2.3.1 Các giải pháp thực hiện.
Đề tài được hình thành dựa vào các câu hỏi khoa học sau:
* Để học sinh có thể tự lực diễn tả được thuật toán của các bài toán thì phải làm cách nào?
* Việc giúp học sinh có thể dễ dàng nhận dạng được bài toán với phương pháp
đã được hướng dẫn của giáo viên thì người giáo viên cần phải làm gì?
Từ các câu hỏi trên, tôi thấy rằng để học sinh học tốt được “Bài 4: Bài toán
và thuật toán” thì cần phải đưa ra các bài toán của nhiều môn học để các em
thấy hứng thú học hơn
2.3.2 Nội dung thực hiện
A Nhắc lại khái niệm bài toán và thuật toán
Khái niệm bài toán
Bài toán là một việc nào đó ta muốn máy tính thực hiện.
Khi dùng máy tính giải bài toán , ta cần quan tâm đến hai yếu tố: Đưa vào máy thông tin gì (Input) và cần lấy ra thông tin gì (Output)
Khái niệm thuật toán
Trang 6Thuậ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, ta nhận được Output cần tìm.
Các tính chất của thuật toán:
- 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 đinh: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc
hoặc là có đúng một thao tác xác định để đượ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.
B Các bài tập
Bài 1: Dãy thao tác nào sau đây là một mô tả thuật toán?
a (Chỉ đường)
Bước 1: Đi thẳng, tới cửa hàng bán sách đầu tiên bên phải thì rẽ phải; Bước 2: Tiếp đó đi thẳng qua các ngã tư, tới ngã tư thứ ba thì rẽ trái;
Bước 3: Đi tiếp, tới một quán ăn thì tìm nhà bên cạnh quán ăn để gõ cửa
b (Xử lí tình huống qua ngã ba hay ngã tư có đèn giao thông)
Bước 1: Nhìn màu của đèn giao thông đang sáng theo chiều đi của mình; Bước 2: Nếu đèn có màu đỏ hoặc vàng thì dừng rồi quay lại bước 1;
Bước 3: Đi tiếp
Đáp án: b
Bài 2: Cho một danh sách tên học sinh trong một tổ học tập Có thể sắp xếp
danh sách các tên đó theo thứ tự ABC của chữ cái đầu tiên ở mỗi tên bằng thuật toán sắp xếp bằng tráo đổi đã được học
Danh sách ban đầu: Tuyết, Phương, Nam, Hà, Lan, Bình, Xuân
a/ Danh sách nào dưới đây là kết quả sau lần duyệt thứ nhất khi thực hiện thuật toán sắp xếp với danh sách ban đầu?
(A) Tuyết, Phương, Nam, Hà, Lan, Bình, Xuân;
(B) Phương, Tuyết, Hà, Nam, Bình, Lan, Xuân;
(C) Phương, Nam, Hà, Lan, Bình, Tuyết, Xuân;
(D) Xuân, Tuyết, Phương, Nam, Hà, Lan, Bình
Trang 7b/ Với danh sách ban đầu như trên, thuật toán cần phải thực hiện bao nhiêu lần duyệt danh sách?
(A) 1 lần; (B) 7 lần; (C) 6 lần; (D) 5 lần
Đáp án: Câu a: (C)
Câu b: (D)
Hãy xác định bài toán, nêu ý tưởng và mô tả thuật toán bằng cách liệt
kê hoặc sơ đồ khối để giải các bài toán sau:
Bài 1: Một đoạn phân tử ADN có A = 1500Nu, G = 3000Nu Tính chiều dài của đoạn phân tử ADN đó
Xác định bài toán
- Input: Đoạn phân tử AND có A=1500Nu, G=3000Nu;
- Output: Chiều dài của đoạn phân tử AND.
Ý tưởng:
Thuật toán
Bước 1: Nhập A=1500Nu, G=3000Nu;
Bước 2: N 2 * (A + G);
Bước 3: L N/2 * 3,4;
Bước 4: Đưa ra giá trị của L rồi kết thúc.
Bài 2: Một người đi xe máy từ A đến B mất t giờ với vận tốc trung bình là
v (km/h) Tính độ dài quãng đường AB
Xác định bài toán
- Input: Cho vận tốc là v và thời gian là t;
- Output: Tính SAB
Ý tưởng:
- SAB = v * t
Thuật toán
Bước 1: Nhập vận tốc v và thời gian t;
Bước 2: S v * t;
Trang 8Bước 3: Đưa ra giá trị của S rồi kết thúc.
Bài 3: Mức phạt được quy định tại Nghị định 46/2016/NĐ-CP của chính phủ về
xử phạt hành chính trong lĩnh vực giao thông đường bộ có hiệu lực từ ngày 1/8/2016 (Mức phạt dưới đây chỉ tính riêng với xe điện và xe đạp điện)
- Không đội mũ bảo hiểm Mức phạt 100.000 – 200.000 VNĐ;
- Lấn làn, đè vạch liền Mức phạt 50.000 – 60.000 VNĐ;
- Rẽ phải ở ngã tư có đèn đỏ, vượt đèn vàng Mức phạt 60.000 – 80.000 VNĐ;
- Chạy ngược chiều, đi xe trên vỉa hè Mức phạt 100.000 – 200.000 VNĐ;
- Dừng, đậu xe không đúng nơi quy định Mức phạt 60.000 – 80.000 VNĐ
Quy ước: - Số 1 đối với lỗi ’Không đội mũ bảo hiểm’;
- Số 2 đối với lỗi ’Lấn làn, đè vạch liền’;
- Số 3 đối với lỗi ’Rẽ phải ở ngã tư có đèn đỏ, vượt đèn vàng’;
- Số 4 đối với lỗi ’Chạy ngược chiều, đi xe trên vỉa hè’;
- Số 5 đối với lỗi ’Dừng, đậu xe không đúng nơi quy định’.
Cho số nguyên N (0<N<6) là quy ước của lỗi vi phạm Hãy đưa ra mức phạt tương ứng với lỗi đó
Xác định bài toán
- Input: Cho số nguyên dương N (0<N<6) là quy ước của lỗi vi phạm;
- Output: Đưa ra mức phạt tương ứng với lỗi vi phạm.
Ý tưởng:
Trang 9 Thuật toán
Nhập số nguyên N (0<N<6)
Sai
Thông báo mức phạt là
60.000 – 80.000 VNĐ rồi kết thúc
Sai
Thông báo mức phạt là 100.000 – 200.000 VNĐ
rồi kết thúc
Thông báo mức phạt là 60.000 – 80.000 VNĐ rồi kết thúc
Thông báo mức phạt là 50.000 – 60.000 VNĐ rồi kết thúc
Sai
Sai
Thông báo mức phạt là 100.000 – 200.000 VNĐ rồi kết thúc
Trang 10Bài 4: Cuối mỗi học kì cô Hà dạy bộ môn Tin học sẽ thưởng cho một bạn trong
lớp cô dạy có điểm thi ≥ 9 và điểm phải cao nhất lớp Học kì II năm nay lớp 10A1 có những 8 bạn đạt điểm 10 tuyệt đối Cô không biết sẽ thưởng cho bạn nào, vậy cô yêu cầu các bạn trong lớp bỏ phiếu Kết quả bỏ phiếu cho biết bạn Hùng được a1 phiếu, bạn Dũng được a2 phiếu, bạn Ánh được a3 phiếu, bạn Lan được a4 phiếu, Bạn Hoàng được a5 phiếu, bạn Quân được a6 phiếu, bạn Minh được a7 phiếu, bạn Mạnh được a8 phiếu (giả sử không có hai bạn nào có số phiếu bằng nhau) Ai cao phiếu nhất sẽ được thưởng Hãy tìm bạn được thưởng
Xác định bài toán
- Input: Cho tên của các bạn lần lượt là b1, b2, b3, b4, b5, b6, b7, b8 có số phiếu tương ứng là a1, a2, a3, a4, a5, a6, a7, a8;
- Output: Đưa ra tên bạn được thưởng.
Ý tưởng:
- Khởi tạo giá trị Max = a1
- Lần lượt với i chạy từ 2 đến 8, so sánh giá trị số hạng a i với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai Sau khi tìm được Max thì cho i chạy từ 1 đến 8 kiểm tra xem giá trị ai nào bằng Max thì đưa ra bi
Thuật toán
Bước 1: Nhập tên các bạn là b1, , b8 và dãy số phiếu là a1, ,a8;
Bước 2:Max a1, i 2;
Bước 3: Nếu i > 8 thì chuyển xuống bước 5;
Bước 4:
Bước 4.1: Nếu ai > Max thì Max ai;
Bước 4.2: i i+1 quay lại bước 3;
Bước 5: i 1;
Bước 6: Nếu ai = Max thì đưa ra bi rồi kết thúc
Bước 7: i i+1 quay lại bước 6.
Bài 5: Trong một trang trại trồng rau ông A lắp hệ thống gồm n vòi phun để tưới
nước (máy) cho rau Hằng ngày, các vòi phun đều hoạt động 2 lần với tổng thời
Trang 11gian phun trong một tháng là h giờ Nếu mỗi vòi phun nước trong 1giờ thì sẽ hết k khối nước Tính số tiền nước cuối tháng mà ông A phải trả, biết rằng giá những khối nước từ 1 >99 là X đồng/ khối, từ 100 >200 giá là Y đồng/khối, nếu >200 khối trở lên giá là Z đồng/khối
Xác định bài toán
- Input: Cho tổng số thời gian phun nước trong một tháng là h giờ và k
là số khối nước phun hết trong 1 giờ, cho X, Y, Z là mức giá những khối nước
- Output: Đưa ra số tiền nước cuối tháng mà ông A phải trả.
Ý tưởng:
- Tính số khối nước dùng hết trong một tháng T = h*k
Thuật toán
Nhập h, k , X, Y, Z
Sai
Đưa ra số tiền nước cuối tháng ông A phải trả là ST
rồi kết thúc
T ≤ 99?
Đúng
T ≤ 200?
Đúng
Đúng
Sai
Trang 12Bài 6: Từ khi bé Gấu vào lớp 1 thì mẹ bé có kế hoạch tiết kiệm cho bé Mỗi
tháng mẹ bé sẽ bỏ vào lợn đất 600.000 đồng Hỏi sau bao nhiêu tháng mẹ bé sẽ bỏ được cho bé số tiền ít nhất là A đồng
Xác định bài toán
- Input: Cho số tiền A.
- Output: Đưa ra số tháng mẹ bé phải bỏ tiền vào lợn để đạt được số tiền
ít nhất là A đồng
Ý tưởng:
- Khởi tạo giá trị Tong = 600.000 và T = 1
- So sánh giá trị A với giá trị Tong, nếu Tong < A thì T = T+1 và Tong = Tong + 600.000 Thao tác này sẽ được lặp đi lặp lại cho đến khi Tong ≥ A
Thuật toán
Bước 1: Nhập A;
Bước 2:Tong 600000, T 1;
Bước 3: Nếu Tong ≥ A thì đưa ra T rồi kết thúc;
Bước 4: Tong Tong + 600000;
Bước 5: T T+1 quay lại bước 3.
Bài 7: Viết một bài bói vui nho nhỏ, nếu cộng tổng các chữ số của ngày, tháng,
năm sinh của bạn sẽ được một số N Nếu 1 ≤ N ≤ 5 bạn là người mạnh mẽ, thẳng thắn Nếu 6 ≤ N ≤ 9 bạn là người tình cảm, vị tha Nếu N ≥ 10 bạn là người luôn vui vẻ, hòa đồng Cho d1, d2 là các con số thể hiện ngày; m1, m2 là các con số thể hiện tháng; y1, y2, y3, y4 là các con số thể hiện năm Hãy in ra một lời nhận xét về ngày, tháng, năm sinh đó
Xác định bài toán
- Input: Cho d1, d2, m1, m2, y1, y2, y3, y4 là các số của ngày, tháng, năm sinh
- Output: In ra lời nhận xét về ngày, tháng, năm sinh tương ứng với tổng
tính được
Ý tưởng:
- Tính tổng N = d1+ d2+ m1+ m2+ y1+y2+ y3+y4
- Nếu 1 ≤ N ≤ 5 thì đưa ra nhận xét ‘Bạn là người mạnh mẽ, thẳng thắn’;
Trang 13- Nếu 6 ≤ N ≤ 9 đưa ra nhận xét ‘Bạn là người tình cảm, vị tha’;
- Nếu N ≥ 10 đưa ra nhận xét ‘Bạn là người luôn vui vẻ, hòa đồng’
Thuật toán
Nhập d1, d2, m1, m2,
y1, y2, y3, y4
N d1+ d2+ m1+ m2+ y1+y2+ y3+y4
Sai
Đưa ra nhận xét ‘Bạn là
người mạnh mẽ,thẳng thắn’
rồi kết thúc
Đưa ra nhận xét ‘Bạn là
người tình cảm, vị tha’
rồi kết thúc
Đưa ra nhận xét ‘Bạn là
người luôn vui vẻ, hòa đồng’
rồi kết thúc
Sai