Input, output là gì trong tin học 10

Rèn kỹ năng viết thuật toán cho học sinh thông qua một số bài tập cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (162.1 KB, 17 trang )

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT HOẰNG HÓA II

SÁNG KIẾN KINH NGHIỆM
ĐỀ TÀI:

NÂNG CAO KỸ NĂNG VIẾT THUẬT TOÁN
CHO HỌC SINH THÔNG QUA MỘT SỐ BÀI TẬP CƠ BẢN

Người thực hiện : LÊ THI HOÀI THU
Chức vụ

: Giáo viên



Đơn vị công tác : THPT HOẰNG HÓA 2
SKKN thuộc lĩnh vực môn: TIN HỌC

THANH HÓA NĂM 2017


PHẦN I. MỞ ĐẦU
1. LÝ DO
Năm học 2016 -2017 là năm tôi được tổ chuyên môn phân công dạy Tin học
10. Đứng trước nhiệm vụ của năm học này, tôi đã lên kế hoạch và mục tiêu dạy học
cho mình nhằm đạt hiệu quả dạy học được tốt nhất cũng như sẽ đạt được chỉ tiêu

đăng kí. Trong quá trình giảng dạy môn Tin học 10, khi dạy Bài 4 BÀI TOÁN VÀ
THUẬT TOÁN tôi nhận thấy đây là nội dung khó và mới đối với các em nhưng
khi các em hiểu được thì vô cùng lý thú. Với các ví dụ được trình bày trong kinh
nghiệm của mình sẽ giúp cho học sinh nắm bắt tốt hơn về cách viết thuật toán của
một bài toán.
Khảo sát tình trạng:
Giáo viên đưa ra đề kiểm tra 1 tiết đối với lớp 10A2 (40 học sinh) như
sau:
Bài 1: Xác định Input và Output của bài toán sau:
Tính tổng các bình phương các chữ số của 1 số tự nhiên bất kỳ có 4 chữ số

Bài 2: Liệt kê các bước của thuật toán để giải bài toán sau :

Rút gọn phân số

a
với a, b bất kỳ, b 0
b

Bài 3: Viết thuật toán để sắp xếp 1 dãy số nguyên bất kỳ nhập từ bàn phím theo thứ
tự giảm dần.
Kết quả kiểm tra khi không áp dụng kinh nghiệm như sau:
Lớp 10A2 có 40 học sinh:
Điểm
Số học sinh

Tỉ lệ
3
9
23 %
4
10
25 %
5
11
28 %
6
5

13 %
7
5
13 %
Đối với Bài 1, hầu như học sinh chỉ tìm được Input và Output của bài toán mà chưa
viết được đầy đủ thuật toán để giải nó.
Đối với Bài 2, Bài 3 học sinh chưa mô phỏng được thuật toán bằng sơ đồ khối

2


2. MỤC TIÊU NGHIÊN CỨU


Trong dự thảo báo cáo chính trị về phát triển văn hoá giáo dục đào tạo của báo
Nhân dân ra ngày 3.2.2001 có đề cập: Đổi mới căn bản và toàn diện nội dung,
phương pháp dạy và học, hệ thống trường lớp và hệ thống quản lí giáo dục theo
hướng chuẩn hoá, hiện đại hoá, xã hội hoá và dân chủ hoá. Trên cơ sở đó, mục
tiêu của đề tài nhằm:
Giúp học sinh hiểu rõ khái niệm Thuật toán
Giúp học sinh viết thuật toán dễ dàng, khắc phục tình trạng cảm thấy mơ hồ
khi học về thuật toán.
Khuyến khích học sinh biểu diễn thuật toán bằng sơ đồ khối.
Là cơ sở để phát hiện và bồi dưỡng học sinh giỏi tin học và để học tiếp kiến
thức viết chương trình trong năm sau của học sinh.

3. ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
- Nội dung bài 4 Bài toán và thuật toán nằm trong chương trình Tin học 10,
gồm 6 tiết (5 tiết lý thuyết và 1 tiết bài tập) , tôi đã áp dụng đề tài lồng
ghép trong cả giờ lý thuyết và giờ bài tập.
- Đối tượng là học sinh các lớp 10 mà tôi đã dạy.
4. PHƯƠNG PHÁP NGHIÊN CỨU CHUNG
- Đứng trước một vấn đề còn mới và trừu tượng đối với học sinh, việc xây
dựng các bài tập ví dụ là hết sức quan trọng. Học sinh học thông qua ví
dụ sẽ hiểu rõ và cụ thể hơn về thuật toán.
- Vì vậy, trước hết, tôi phải giúp học sinh giải quyết các bài tập trong sách
giáo khoa và sách bài tập, sau đó, tôi có thể đưa ra một số ví dụ khác
ngoài sách giáo khoa nhưng gần gũi với các em.

5. CẤU TRÚC ĐỀ TÀI
Phần I. Mở đầu
1. Lí do
2. Mục tiêu nghiên cứu
3. Đối tượng phạm vi nghiên cứu
4. Phương pháp nghiên cứu chung
5. Cấu trúc đề tài
Phần II. Nội dung
1.
Giúp học sinh hiểu rõ khái niệm Bài toán trong tin học
2.
Giúp học sinh hiểu rõ khái niệm Thuật toán trong tin học

3.
Một số bài tập
3


4.

Đánh giá

Phần III. Kết luận

4



PHẦN II. NỘI DUNG
1. Giúp học sinh hiểu rõ khái niệm "Bài toán" trong Tin học:
Giáo viên đặt vấn đề bằng cách đưa ra các ví dụ để học sinh quan sát:
Ví dụ 1: Giải phương trình bậc 2 tổng quát: ax2+ bx+ c= 0 (a 0).
Ví dụ 2: Bài toán kiểm tra tính nguyên tố của một số nguyên dương N
Phát vấn học sinh: Em hãy xác định INPUT(thông tin ban đầu) và
Output(kết quả) của mỗi bài toán sẽ có dạng gì ? (Dạng số, hình ảnh, hay văn
bản ?)
Học sinh trả lời:


ở ví dụ 1

Dữ kiện
Các hệ số a, b, c bất kỳ

Kết quả
Nghiệm của phương trình
(nếu có) có dạng số nguyên

ở ví dụ 2

Số nguyên dương N


hoặc số thực.
N là số nguyên tố hoặc N

không phải là số nguyên tố
Lâu nay, học sinh mới chỉ tiếp xúc và quen với khái niệm bài toán trong Toán học.
Vì vậy, giáo viên nên đưa ra câu hỏi so sánh sự giống và khác nhau giữa bài toán
trong Tin học và bài toán trong Toán học?
Giáo viên giải thích: Bài toán trong Toán học yêu cầu chúng ta giải cụ thể để
tìm ra kết quả, còn bài toán trong Tin học yêu cầu máy tính giải và đưa ra kết quả
cho chúng ta.
Từ đây giáo viên trình chiếu khái niệm Bài toán trong Tin học : Là một việc

nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào máy tính cho ta kết
quả mong muốn.
- Những dữ kiện của bài toán được gọi là Input.
- Kết quả máy tính trả ra được gọi là Output của bài toán.
Sau đó giáo viên yêu cầu học sinh tìm lại Input và Output của 2 ví dụ trên.

5


Như vậy, khái niệm bài toán không chỉ bó hẹp trong phạm vi môn toán, mà phải
được hiểu như là một vấn đề cần giải quyết trong thực tế, để từ những thông tin đã
cho máy tính tìm ra kết quả cho chúng ta.

2. Giúp học sinh hiểu rõ khái niệm "Thuật toán" trong Tin học:
Bước 1: Giáo viên nêu tình huống để giúp học sinh tt́ìm Input và Output
Làm thế nào để từ Input của bài toán, máy tính tìm cho ta Output ?
Ta cần tìm cách giải bài toán và làm cho máy tính hiểu được cách giải đó.
Giáo viên giải thích: Nếu như trong Toán học chúng ta phải giải trực tiếp
từng bài để lấy kết quả, thì ở đây, chúng ta chỉ cần tìm cách giải bài toán tổng quát
và máy tính sẽ giải cho ta một lớp các bài toán đồng dạng.
Ví dụ: Bài toán giải phương trình bậc 2 với 3 hệ số a,b,c bất kỳ, bài toán tìm
diện tích tam giác với độ dài 3 cạnh được nhập bất kỳ, bài toán tìm UCLN của 2 số
nguyên bất kỳ, bài toán quản lý học sinh
Bước 2: Giáo viên đưa ra khái niệm thuật toán và phân tích, nhấn mạnh các tính
chất của một thuật toán:

Khái niệm: 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 các thao
tác ấy, từ thông tin đầu vào (Input) của bài toán ta nhận được kết quả (Output) cần
tìm.
Các tính chất của một 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 các thao tác.
- Tính xác định: 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 để thực hiện bước tiếp theo.
- Tính đúng đắn: Sau khi thuật toán kết thúc, ta nhận được kết quả cần tìm.
Các bước tiến hành khi viết thuật toán của một bài toán :
Xác định bài toán: Là đi tìm Input và Output của bài toán .
Tìm ý tưởng để giải bài toán

Viết thuật toán bằng phương pháp liệt kê hay sơ đồ khối

6


Bước 3: Giới thiệu cho học sinh 2 cách biểu diễn một thuật toán
- Cách l: Liệt kê các bước: Chính là dùng ngôn ngữ tự nhiên để diễn tả các bước

cần làm khi giải một bài toán bằng máy tính.
- Cách 2: Dùng sơ đồ khối.
Quy ước :



Hình thoi

thể hiện thao tác so sánh



Hình chữ nhật



Hình ô van


thể hiện thao tác nhập, xuất dữ liệu



Các mũi tên

trình tự thực hiện các thao tác.

thể hiện các phép tính toán

Giáo viên lưu ý học sinh phải nhớ các quy ước trên để biểu diễn thuật toán được

chính xác. Các quy ước trên có thể hiểu như là ngôn ngữ của thuật toán, Vì vậy,
giáo viên khuyến khích học sinh biểu diễn thuật toán bằng sơ đồ khối. Ưu điểm của
sơ đồ khối là tránh được việc mô tả thừa câu chữ như cách biểu diễn liệt kê, người
đọc thấy trực quan hơn trong từng bước của thuật toán.
3. Một số bài tập
Bài tập 1 .Viết thuật toán cho bài toán tìm nghiệm phương trình bậc 2 ax2+bx+c=0
(SGK Tin học 10, trang 44)
Lời giải :


Xác định bài toán :
+Input : Cho ba số thực a, b, c

+ Output : Nghiệm của phương trình ax2+bx+c=0



Ý tưởng của bài toán: Để tìm nghiệm phương trình bậc 2 ta cần tính và dựa
vào kết quả của mà suy ra nghiệm của phương trình.
Thuật toán của bài toán:
Cách 1: Liệt kê từng bước

-

Bước 1: Bắt đầu


-

Bước 2: Nhập 3 hệ số a,b,c.

-

Bước 3: Tính biệt số = b2- 4ac
7


-


Bước 4: Nếu < 0 thông báo phương trình vô nghiệm rồi kết thúc.

-

Bước 5: Nếu = 0 thông báo phương trình có nghiệm kép x =

b
rồi kết
2a

thúc.

-

Bước 6: Nếu > 0 thông báo phương trình có 2 nghiệm x1,x2=

b ±
, rồi
2a

kết thúc.
-

Bước 7: Kết thúc.

Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Bắt đầu

Nhập a,b,c

Tính = b2- 4ac

<0

Đúng


Phương trình vô nghiệm

Đúng

Phương trình có nghiệm kép

Sai

=0
Sai

Kết thúc


x= -b/2a

Phương trình có 2 nghiệm
x1,x2=(-b)/2a

Bài tập 2 .Viết thuật toán cho bài toán tìm nghiệm phương trình bậc nhất ax +b =0
Lời giải :


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



+Input : Cho hai số thực a, b
+ Output : Nghiệm của phương trình ax+ b=0
Ý tưởng của bài toán: Để tìm nghiệm phương trình bậc nhất ta giải và biện



luận phương trình dựa vào hệ số a, b và suy ra nghiệm của phương trình
Thuật toán của bài toán:




Cách 1: Liệt kê từng bước

-

B1: Nhập a, b

-

B2 : Nếu a <> 0 thì phương trình có nghiệm x=-b/2a =>B4

-


B3 : Nếu a=0

-

B3.1 Nếu b=0 thì kết luận phương trình cú vô số nghiệm => B4

-

B3.2 Nếu b< > 0 thì kết luận phương trình Vô nghiệm => B4

-


B4: Kết thúc
Cách 2: Biểu diễn thuật toán bằng sơ đồ khối

Nhp a,b
Đúng

Phương

a0

trình




nghiệm x=-b/a
Sai

Phương trình

b0

Đúng


Kết thúc

vô nghiệm

Sai

Phương trình có
vô số nghiệm

Bài tập 3 Viết thuật toán tính tổng sau:
S=1/2+1/3+1/4++1/N
Lời giải :


9




Xác định bài toán :
+ Input : Nhập N
+ Output : Tổng S




Ý tưởng của bài toán:Ta thấy việc tính tổng của bài toán này được lặp đi lặp
lại nhiều lần với tổng sau bằng tổng trước cộng i với i chạy từ 1 cho đến N và khi i
>N thì thuật toán dừng lại và xuất tổng S



Thuật toán của bài toán:
Cách 1: Liệt kê từng bước
B1: Nhập số N
B2: S 0; i 0;
B3 : Nếu i >N thì đưa ra tổng S rồi kết thúc
B4: S S+ 1/i,i i+1

B5 : Kết thúc thuật toán
Yêu cầu học sinh chuyển từ cách viết thuật toán bằng phương pháp liệt kê sang sơ
đồ khối.
Cách 2: Biểu diễn thuật toán bằng sơ đồ khối
Nhập N
S 0; i0
S
i <=N

KQ :S

Đ

S S+1/N
ii+1

Bài 4 : Cho N và dăy a1,,aN, hăy tt́ìm giá trị nhỏ nhất (Min) của dăy đó .(SGK Tin
học 10 trang 44)
Lời giải:
10


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




+ Input : Nhập N và dăy a1,,aN
+ Output : Giá trị nhỏ nhất (Min) của dăy số
Học sinh có thể dựa vào bài toán tt́ìm Max đã học của dăy, để nêu ý tưởng giải bài
toán tìm Min.
Ý tưởng của bài toán: - Khởi tạo giá trị Min =a1
- Lần lược với i chạy từ 2 đến N, so sánh giá trị số hạng
ai với giá trị Min, nếu ai< Min tht́ì Min sẽ nhận giá trị mới là ai.
Thuật toán của bài toán:




Cách 1: Liệt kê từng bước
-

Bước 1. Nhập N và dăy a1,,aN

-

Bước 2. Min ¬ a1, i ¬ 2

-

Bước 3. Nếu i >N tht́ì đưa ra giá trị Min rồi kết thúc


-

Bước 4
Bước 4.1 Nếu ai