1. Trang chủ
  2. » Luận Văn - Báo Cáo

SKKN Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

29 53 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 29
Dung lượng 1,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh lớp 10 hoặc học sinh mới làm quen với lập trình...26 X.. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10CÁC KÝ H

Trang 1

MỤC LỤC

CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM 2

I Lời giới thiệu 3

II Tên sáng kiến: 4

III Tác giả sáng kiến: 4

IV Chủ đầu tư tạo ra sáng kiến: 4

V Lĩnh vực áp dụng sáng kiến: 4

VI Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: 4

VII Mô tả bản chất của sáng kiến: 5

1 Bài toán 5

1.1 Khái niệm 5

1.2 Ví dụ xác định INPUT và OUTPUT của các bài toán sau 5

2 Thuật toán 6

2.1 Khái niệm 6

2.2 Phương pháp 6

2.3 Tính chất 6

2.4 Ví dụ 6

2.5 Bài tập vận dụng 26

VIII Những thông tin cần bảo mật: Không 26

IX Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh lớp 10 hoặc học sinh mới làm quen với lập trình 26

X Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng sáng kiến theo ý kiến của tác giả: 26

XI Danh sách những tổ chức/cá nhân đã tham gia áp dụng thử hoặc áp dụng sáng kiến lần đầu: 28

TÀI LIỆU THAM KHẢO 29

1

Trang 2

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM

[ … ] Làm tròn giá trị số trong dấu ngoặc

Trang 3

BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN

I Lời giới thiệu

Trong kỷ nguyên công nghệ bùng nổ, không có gì bất ngờ khi công nghệthông tin luôn giữ vững vị thế là một trong những ngành hàng đầu về nhu cầunhân lực và tiềm năng phát triển Vị thế này càng được củng cố trong bối cảnhthế giới và đất nước bước vào thời đại Cách mạng công nghiệp 4.0 Vì thế đòihỏi mỗi chúng ta dù là học sinh hay giáo viên đều phải tích cực học tập, nghiêncứu để có thể hội nhập được với thời đại

Môn Tin học là môn học giúp các em dễ dàng tiếp cận được với côngnghệ, với thế giới Tuy nhiên nó khá mới mẻ với học sinh THPT đặc biệt là họcsinh trường THPT Nguyễn Viết Xuân với phần đông học sinh thuộc khu vựcnông thôn Học sinh mới chỉ được làm quen với máy tính chứ chưa thực sự có

khái niệm về công nghệ thông tin, khái niệm về bài toán và thuật toán trong Tin học Trong khi đó phần bài toán và thuật toán được học ở lớp 10 là phần kiến

thức quan trọng nhất Là nền tảng cho kiến thức tin học lớp 11 Là cốt lõi chocác em muốn theo học lập trình Nên rất cần những phương pháp, cách tiếp cậnbài toán và thuật toán sao cho học sinh không cảm thấy sợ dẫn đến mất gốc

Bài toán và thuật toán trong Tin học khá là quen thuộc với giáo viên Và

sự thật tôi cũng đã làm một sáng kiến kinh nghiệm về phần này cách đây banăm Nhưng khi đó tôi thường tập trung vào những thuật toán khó phức tạp mà

3

BÀI TOÁN

INPUT Muốn máy tính đưa ra OUTPUT

Output từ Input CHƯƠNG TRÌNH Muốn viết chương trình

Trang 4

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

quên đi việc xây dựng cái nền móng cho học sinh Từ thực tế giảng dạy nhiềunăm tôi nhận thấy học sinh của tôi có biết cách giải bài toán nhưng gặp khókhăn trong việc trình bày bài toán đó bằng phương pháp liệt kê hoặc phươngpháp sơ đồ khối Từ đó, tôi đúc rút được là khi dạy nên để học sinh tiếp cận vớinhững thuật toán dễ từ đó phát triển lên những thuật toán khó thì học sinh dễtiếp cận hơn và nên có mô phỏng thuật toán bằng các bộ test trong những trườnghợp đặc biệt để học sinh hiểu rõ hơn Không cần quá nặng nề việc phải bám sáttrình tự các ví dụ trong sách giáo khoa Mục đích sáng kiến kinh nghiệm này củatôi là muốn học sinh làm quen dần với các thuật toán từ đơn giản rồi nâng caodần để học sinh hình thành kỹ năng viết thuật toán thành thạo

Do thời gian và khả năng có hạn nên sáng kiến kinh nghiệm tôi viết vẫncòn nhiều tồn tại Kính mong đồng nghiệp và học sinh góp ý để sáng kiến kinhnghiệm của tôi được hoàn thiện hơn Để một phần nào đó giúp ích cho giáo viên

và học sinh trong quá trình giảng dạy và học tập

II Tên sáng kiến:

Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

III Tác giả sáng kiến:

- Họ và tên: Nguyễn Thị Hà

- Địa chỉ tác giả sáng kiến: Hội Hợp – Vĩnh Yên – Vĩnh Phúc

- Số điện thoại: 0977 212 636

- E_mail: nguyenthiha.gvnguyenvietxuan@vinhphuc.edu.vn

IV Chủ đầu tư tạo ra sáng kiến: Nguyễn Thị Hà

V Lĩnh vực áp dụng sáng kiến: Giảng dạy cho học sinh lớp 10 và

học sinh mới học lập trình

VI Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: Năm 2017 - 2018

Trang 5

VII Mô tả bản chất của sáng kiến:

1 Bài toán

1.1 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

1.2 Ví dụ xác định INPUT và OUTPUT của các bài toán sau

Ví dụ 1: Cho hai số a, b Tính tổng hai số.

Input: Hai số nguyên a và b

Output: Kết luận nghiệm của PT

5

Trang 6

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

Ví dụ 4: 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

2 Thuật toán

2.1 Khái niệm

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.

2.2 Phương pháp

Có hai phương pháp trình bày thuật toán:

* Phương pháp liệt kê: Là nêu trình tự thực hiện các bước giải một bài toán

bằng máy tính

* Phương pháp sơ đồ khối: Là sử dụng các hình khối để thể hiện thuật toán với:

: Thể hiện nhập hoặc xuất dữ liệu

Trang 7

- Output: Tổng hai số

* Thuật toán

- Phương pháp liệt kê

B1: Nhập a, bB2: S := a + bB3: Tổng là S

- Phương pháp sơ đồ khối

* Mô phỏng thuật toán

- Phương pháp sơ đồ khối

Trang 8

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

* Mô phỏng thuật toán

B21: b = 0 kết luận PT VSNB22: Ngược lại kết luận PT VNB3: Ngược lại phương trình có 1 nghiệm x := -b/a

- Phương pháp sơ đồ khối

* Mô phỏng thuật toán

N là số lẻ

Trang 9

- Với a = 0, b = 0 thì phương trình vô số nghiệm

- Với a = 0, b = 1 thì phương trình vô nghiệm

- Với a = 1, b = 1 thì phương trình có nghiệm x := -1

Ví dụ 4: Trình bày thuật toán giải phương trình: ax 2 + bx + c = 0 (a#0)

Trang 10

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

* Mô phỏng thuật toán

−3+√12∗1 = -1

Ví dụ 5: Cho dãy có N phần tử a1, a2, … an Trình bày thuật toán tính tổng cácphần tử của dãy

Trang 11

* Mô phỏng thuật toán

- Với N = 0 thì tổng của dãy là 0

- Với N = 3 và dãy số 4, 7, 2

+ B1: Nhập 3; 4, 7, 2+ B2: S := 0; i := 1+ B3: 1 > 3 (sai)+ B4: S := 0 + 4+ B5: i := 2, quay lại B3

Trang 12

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

- Phương pháp sơ đồ khối

* Mô phỏng thuật toán

- Với N = 0 thì tổng của dãy là 0

- Với N = 5 và dãy số 6, 5, 7, 8, 9

+ B1: Nhập 5; 6, 5, 7, 8, 9+ B2: S := 0; i := 1

+ B3: 1 > 5 (sai)+ B4: 6 ⋮ 2 nên S := S + 6+ B5: i := 2, quay lại B3

Nhập N; a1, a2, … an

Trang 13

- Phương pháp sơ đồ khối

Trang 14

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10B3: Max < 8 (đúng) nên Max := 8

B3: Nếu i > N thông báo giá trị Max rồi kết thúc

B4: Nếu ai > Max thì Max = ai

B5: i := i + 1 rồi quay lại B3

- Phương pháp sơ đồ khối

14

GTLN là Max

Nhập N; a1, a2, ,

aN Max := a1; i := 2

i > N Đ

S

Max := ai

ai > Max Đ

Trang 15

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

- Input: N là 1 số nguyên dương

- Output: N là số nguyên tố hay không

15

Trang 16

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

* Thuật toán

- 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à số nguyên tố

B3: Nếu N < 4 thì thông báo N là số nguyên tố

B4: Gán i := 2; d := [ N ] (i = 2 d)

B5: Nếu i >= d thì thông báo N là số nguyên tố

B6: Nếu N chia hết cho i thì N không là số nguyên tố

Trang 18

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

B3: Nếu M > N thì M := M – N rồi quay lại B2

B4: N := N – M rồi quay lại B2

- Phương pháp sơ đồ khối

Trang 19

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

* Mô phỏng thuật toán

Trang 20

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10B3: Nếu i > d thì đưa ra tổng S

Trang 22

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10B2: S := 1; i := 2

B3: 2 > 5 (sai)

B4 : S := 1 * 2

B5: i := 2+1

Giai thừa của 5 là 120

Ví dụ 14: Cho N và dãy các số nguyên a 1 , a 2 , … a n 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.

* 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 sơ liệt kê

B1: Nhập N và dãy a1, a2, , aN

B2: Gán giá trị M := NB3: 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 + 1B6: Nếu i > M quay lại B3B7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhauB8: quay lại bước 5

- Phương pháp sơ đồ khối

Trang 23

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

* Mô phỏng thuật toán

Trang 24

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

Thực hiện tương tự cho các lần duyệt tiếp theo cho đến khi không còn sự đổi chỗ nào nữa

Ví dụ 15: Cho N và dãy các số nguyên a 1 , a 2 , …, a n 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.

* Cách xác định bài toán

- Input: N; Dãy số nguyên a1, a2, , aN; K

- 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ê

B1: Nhập N và dãy a1, a2, , aN; KB2: Gán i := 1

Trang 25

B3: Nếu ai = K thì thông báo vị trí xuất hiện K là iB4: i := i + 1

B5: Nếu i > N thì thông báo trong dãy không có KB6: Quay về B3

- Phương pháp sơ đồ khối

* Mô phỏng thuật toán

Trang 26

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

Bài 6: Cho số N Trình bày thuật toán kiểm tra N có là số hoàn hảo hay không

Gợi ý: N được gọi là số hoàn hảo nếu N có giá trị bằng tổng các ước của nó (không kể chính nó) Ví dụ: N = 6; N = 28 …

Bài 7: Cho N và dãy các số nguyên a1, a2, … an Trình bày thuật toán tìm sắpxếp các phần tử của dãy theo thứ tự giảm dần

Bài 8: Cho N và dãy các số nguyên a1, a2, …, an và số nguyên K Trình bày thuậttoán đếm số lần xuất hiện của K trong dãy

VIII Những thông tin cần bảo mật: Không

IX Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh

lớp 10 hoặc học sinh mới làm quen với lập trình

X Đánh giá lợi ích thu được hoặc dự kiến có thể thu được

do áp dụng sáng kiến theo ý kiến của tác giả:

Học sinh được học theo nội dung trình bày trong sáng kiến sẽ có cái nhìntoàn diện hơn, tự tin hơn khi đối mặt với bài toán trong Tin học từ đó các em sẽ

Trang 27

thích học và chủ động tìm hiểu kiến thức Nội dung sáng kiến được trình bàylogic, phù hợp với trình độ phát triển tư duy của học sinh từ nhận biết, thônghiểu đến vận dụng, nâng cao và sáng tạo qua đó giúp cho học sinh phát triển tưduy tổng hợp và rèn luyện các kĩ năng viết thuật toán.

Bảng số liệu kết quả của học sinh lớp 10 – khối A trường THPT NguyễnViết Xuân năm học 2016 – 2017 khi chưa thực hiện đề tài:

STT Lớp Sỉ số Đạt yêu cầu Không đạt yêu cầu

- Khi thực hiện thực nghiệm qua các đối tượng học sinh đã nêu trên, đa số các

em tránh được các lỗi thường gặp khi trình bày thuật toán

- Một số không ít học sinh có tiến bộ rõ rệt khi trình bày thuật toán bằng haiphương pháp

- Nâng cao việc yêu thích học tin học đối với một bộ phận học sinh và một số

em có định hướng nghề nghiệp sau này

- Bảng số liệu kết quả đạt được của học sinh lớp 10 – khối A trường THPTNguyễn Viết Xuân năm học 2017 – 2018 sau khi thực hiện đề tài:

STT Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu

Sáng kiến kinh nghiệm sẽ là tài liệu tham khảo cơ bản về thuật toán đểtrao đổi kinh nghiệm với đồng nghiệp và truyền đạt cho học sinh

27

Trang 28

SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10

Mặc dù đã cố gắng rất nhiều trong quá trình viết sáng kiến kinh nghiệm

này nhưng chắc chắn sẽ không tránh khỏi những sai sót Kính mong quý thầy cô,

đồng nghiệp và học sinh chân thành góp ý để sáng kiến kinh nghiệm: “Dạy bài

toán và thuật toán cho học sinh lớp 10” được hoàn thiện hơn và trở thành một tài

liệu hay, hữu ích trong việc dạy và học thuật toán

XI Danh sách những tổ chức/cá nhân đã tham gia áp

dụng thử hoặc áp dụng sáng kiến lần đầu:

CHỦ TỊCH HỘI ĐỒNG SÁNG KIẾN CẤP CƠ SỞ

(Ký tên, đóng dấu)

Vĩnh Tường, ngày 29 tháng 01 năm 2019

Tác giả sáng kiến

(Ký, ghi rõ họ tên)

Nguyễn Thị Hà

TÀI LIỆU THAM KHẢO

1 Sách giáo khoa tin học 10 – NXB Giáo dục

2 Sách giáo khoa tin học 11 – NXB Giáo dục

Trang 29

3 Giải thuật và lập trình – Lê Minh Hoàng

4 Một số vấn đề về thuật toán – NXB Giáo dục – Tác giả: Nguyễn Hữu Điển

5 Giáo trình thuật toán và kỹ thuật lập trình Pascal – NXB Sở giáo dục và đào tạo Hà Nội – Tác giả: Nguyễn Chí Trung

29

Ngày đăng: 26/05/2020, 15:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w