intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Trần Thị Ta | Ngày: | Loại File: DOCX | Số trang:30

102
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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. Để nắm chi tiết hơn về Dạy bài toán và thuật toán mời các bạn cùng tham khảo sáng kiến sau.

Chủ đề:
Lưu

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

  1. 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 LỤC 1
  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 Ký hiệu Ý nghĩa THPT Trung học phổ thông PT Phương trình VN Vô nghiệm VSN Vô số nghiệm GTLN Giá trị lớn nhất SNT Số nguyên tố SX Sắp xếp UCLN Ước chung lớn nhất Đ Đúng S Sai B Bước NXB Nhà xuất bản Div Phép chia lấy phần nguyên Mod Phép chia lấy phần dư [ … ] Làm tròn giá trị số trong dấu ngoặc 2
  3. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 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ầu nhâ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ảnh thế 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ế đòi hỏ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ên cứ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ông  nghệ, với thế  giới. Tuy nhiên nó khá mới mẻ với học sinh THPT đặc biệt là  học sinh  trường THPT Nguyễn Viết Xuân với phần đông học sinh thuộc khu  vực nô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 cho cá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ận bà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.  3
  4. 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 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 ba   nă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à 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ều nă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ương phá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ới nhữ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ường hợ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át trì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ủa tô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 cao dầ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ẫn còn nhiều tồn tại. Kính mong đồng nghiệp và học sinh góp ý để  sáng  kiến kinh nghiệ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à 4
  5. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 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 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: a, b Output: Tổng hai số Ví dụ 2: Cho hai số a, b, c. Tìm max của ba số. 5
  6. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Input: a, b, c Output: Max (a,b,c) Ví dụ 3: 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. Ví dụ 4: Giải phương trình: ax2 + bx + c = 0      (a0) Input: Số nguyên a, b, c với a0. 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              : Phé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 2.3. 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. 6
  7. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 ­ 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. 2.4. Ví dụ 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 B2: S := a + b B3: Tổng là S ­ Phương pháp sơ đồ khối * Mô phỏng thuật toán  ­ Với a = 2, b = 3 thì tổng S là 5 ­ Với a = 10, b = 6 thì tổng S là 16 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 N. Lời giải 7
  8. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 * 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 2 thì N là số chẵn B3: Ngược lại N là số lẻ ­ Phương pháp sơ đồ khối * Mô phỏng thuật toán  ­ Với N = 4 thì N là số chẵn ­ Với N = 7 thì N là số lẻ Ví dụ 3: 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 ­ 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 PT VSN B22: Ngược lại kết luận PT VN B3: Ngược lại phương trình có 1 nghiệm x := ­b/a 8
  9. 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 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: 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 
  10. 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 a = 1, b = 2, c = 4  B1: Nhập 1, 2, 4 B2: D := 2*2 – 4*1*4 = ­12.  B3: D 
  11. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Lời giải * Cách xác định bài toán Input: N; a1, a2, … an Output: Tổng các phần tử của dãy * Thuật toán  ­ Phương pháp liệt kê B1: Nhập N; a1, a2, … an B2: S := 0; i := 1 B3: Nếu i > N thì dãy có tổng là S B5: S := S + ai B6: i := i + 1 B7: Quay về B3  ­ Phương pháp sơ đồ khối * Mô phỏng thuật toán 11
  12. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 ­ 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 ....  Vậy Tổng dãy là 13 Ví dụ 6: Cho dãy có N phần tử a1, a2, … an. Trình bày thuật toán tính tổng các  phần tử chẵn của dãy. Lời giải * Cách xác định bài toán Input: N; a1, a2, … an Output: Tổng các phần tử chẵn của dãy * Thuật toán  ­ Phương pháp liệt kê B1: Nhập N; a1, a2, … an B2: S := 0; i := 1 B3: Nếu i > N thì dãy có tổng là S B4: Nếu ai  2 thì S := S + ai B5: i := i + 1 B6: Quay về B3  ­ Phương pháp sơ đồ khối 12
  13. 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 ­ 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: 62 nên S := S + 6 + B5: i := 2, quay lại B3 .... Vậy Tổng dãy là 14 Ví dụ 7: 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 B3: Nếu Max 
  14. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 B4: Nếu Max 
  15. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 ­ Output: Max(a1, a2, … an) * Thuật toán ­ Phương pháp liệt kê 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: Nếu ai > Max thì Max = ai B5: i := i + 1 rồi quay lại B3. ­ Phương pháp sơ đồ khối * Mô phỏng 15
  16. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 ­ Với N = 1; dãy có 1 phần tử 5  B1: Nhập 1; 5 B2: Max := 5 ; i :=2 B3: 2 > 1 (đúng)  Vậy GTLN là 5 ­ Với N = 6 và dãy số 5, 1, 4, 7, 8, 2 Dãy số 5 1 4 7 8 2 7 i 2 3 4 5 6 Max  5 5  5  7  8 8 B1: Nhập 6 ; 5, 1, 4, 7, 8, 2 B2: Max := 5 ; i := 2 B3: 2 > 6 (sai) B4: 1 > 5 (sai)  B5: i := 3, quay về B3 ……  Vậy GTLN là 8 Ví dụ 9: 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. Lời giải * 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ê B1: Nhập N. 16
  17. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 B2: Nếu N = 1 thì thông báo N không là số nguyên tố. B3: Nếu N = 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ố B7: i := i + 1  quay trở lại B5 ­ Phương pháp sơ đồ khối * Mô phỏng ­ Với N = 1 thì 1 không là số nguyên tố ­ Với N = 2 thì 2 là số nguyên tố ­ Với N = 3 thì 3 là số nguyên tố ­ Với N = 17  B1: Nhập 17 B2: 17 = 1 (sai)  B3: 17 
  18. SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 i 2 3 4 5 N/i 17/2 17/3 17/4 Chia  hết  không không không không?  17 là số nguyên tố Ví dụ  10:  Cho số  nguyên dương N. Trình bày thuật toán tính tổng các  chữ số của N. Lời giải * Cách xác định bài toán ­ Input: N ­ Output: Tổng các chữ số * Thuật toán - Phương pháp liệt kê B1: Nhập N B2: S := 0 B3: Nếu N = 0 thì đưa ra tổng S B4: S := S + N mod 10 B5: N := N div 10 B5: Quay về B3 ­ Phương pháp sơ đồ khối 18
  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 ­ Với N = 0  Đưa ra tổng S = 0  ­ Với N = 3265 B1: Nhập 3265 B2: S := 0 B3: 3265 = 0 (Sai) B4: S := 0 + 3265 mod 10 = 0 + 5 B5: N := N div 10 = 326 .....  Đưa ra tổng chữ số là 16 Ví dụ 11: Cho hai số nguyên M và N. Trình bày thuật toán tìm ước chung  lớn nhất của hai số. Lời giải * Cách xác định bài toán ­ Input: M, N ­ Output: UCLN (M,N) * Thuật toán - Phương pháp liệt kê B1: Nhập M, N B2: Nếu N = M thì UCLN là M 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 19
  20. 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 = 8; M =8 B1: Nhập 8, 8 B2: 8=8 (đúng)  UCLN là 8 ­ Với N = 6, M = 9 B1: Nhập 6, 9 B2: 6 = 9 (sai)  B3: 6 > 9 (sai)  B4: N := 9 – 6 = 3, quay về B2 ……….  UCLN là 3 Ví dụ 12: Cho số nguyên N. Trình bày thuật toán tính tổng các ước của  N. Lời giải * Cách xác định bài toán 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2