1. Trang chủ
  2. » Công Nghệ Thông Tin

SK mon tin hoc2019 2020

31 22 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 31
Dung lượng 307,5 KB

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

Nội dung

Tin học ngày nay là một ngành khoa học phát triển rất mạnh mẽ, con người ngày nay nếu thiếu hiểu biết về Tin học là một hạn chế rất lớn. Chính vì lí do đó mà Tin học trở thành môn học không thể thiếu đối với lứa tuổi học sinh từ cấp tiểu học trở đi. Tôi là một giáo viên cấp THCS phụ trách môn Tin học, tôi càng ý thức cao hơn về tầm quan trọng của nó

Trang 1

MỤC LỤC

I Đặt vấn đề 2

1 Lý do chọn đề tài 2

1.1 Cơ sở lý luận 2

1.2 Cơ sở thực tiễn 2

2 Xác định mục đích nghiên cứu 3

3 Đối tượng nghiên cứu 4

4 Đối tượng khảo sát, thực nghiệm 4

5 Phương pháp nghiên cứu 5

5.1 Phương pháp nghiên cứu tài liệu 5

5.2 Tiến hành điều tra khảo sát ban đầu 5

6 Phạm vi và thời gian nghiên cứu 6

II Nội dung 6

1 Những nội dung lí luận có liên quan trực tiếp đến vấn đề nghiên cứu 6

2 Thực trạng vấn đề nghiên cứu 7

3 Mô tả, phân tích các giải pháp 8

3.1 Tạo cho học sinh sự tự tin và hứng thú với bộ môn lập trình 8

3.2 Bước đầu hình thành khái niệm về lập trình và ngôn ngữ lập trình 8

3.3 Nêu ra cấu trúc của chương trình và các kiểu dữ liệu cần thiết 10

3.4 Hình thành quá trình giải bài toán trên máy tính 11

3.5 Ứng dụng Toán học vào lập trình 17

3.6 Giới thiệu một số câu lệnh cơ bản 18

3.7 Biến kiến thức lạ thành kiến thức quen thuộc 21

3.8 Giải thích các lỗi mà học sinh gặp phải 22

3.9 Kiểm tra kết quả của học sinh trong các tiết thực hành 24

4 Kết quả thực hiện 25

III Kết luận 26

1 Những kết luận đánh giá cơ bản nhất về sáng kiến 26

2 Các đề xuất khuyến nghị 27

2.1 Đối với giáo viên 27

2.2 Đối với các cấp lãnh đạo 27

Ý kiến đánh giá của hội đồng khoa học 29

Tài liệu tham khảo 30

Trang 2

SÁNG KIẾN NHỮNG GIẢI PHÁP GIÚP HỌC SINH HỌC TỐT

LẬP TRÌNH PASCAL TRONG MÔN TIN HỌC 8

Lập trình là môn học hướng dẫn học sinh cách giải các bài toán bằng cáchviết chương trình trên máy tính Đây là môn học mới đối với học sinh nên phầnđông các em không nắm bắt được kiến thức để vận dụng vào giải bài tập Mặtkhác trước khi học lập trình các em phải biết được thuật giải của bài toán cần lậptrình nhưng các em học sinh chưa được trang bị kiến thức này ở các lớp họctrước đây nên các em gặp nhiều khó khăn trong việc lập trình giải quyết vấn đềgiáo viên đưa ra

1.2 Cơ sở thực tiễn

Thực tế qua nhiều năm trực tiếp giảng dạy bộ môn cũng như trao đổi vớiđồng nghiệp tôi nhận thấy: hầu như học sinh đều rất yêu thích và hứng thú vớimôn Tin học Tuy nhiên, riêng về khối lớp 8 thì chất lượng bộ môn qua các nămhọc chưa cao, thậm chí một số học sinh còn rất ngại khi nhắc đến việc họcchương trình pascal

Trang 3

Ngôn ngữ lập trình đang giảng dạy trong các nhà trường THCS nhưPascal đang gây khó khăn cho các học sinh mới bắt đầu tìm hiểu học lập trình.Pascal được chọn sử dụng để dạy ngôn ngữ lập trình cho học sinh phổ thông vì

30 năm trước nó không có đối thủ về mặt diễn tả thuật toán một cách trong sáng.Tuy nhiên, hơn 10 năm nay Pascal mất ưu thế về mọi mặt và có một số nhượcđiểm so với những ngôn ngữ khác

Còn về phía học sinh thì nhiều em bị hỏng kiến thức về Toán, bài tập vềlập trình Pascal đòi hỏi sự tư duy rất cao, tuy nhiên mức độ tư duy của các emcòn hạn chế và không đồng đều trong một lớp học, không kích thích tư duy sángtạo của học sinh, học sinh chỉ cố gắng hoàn thành một cách bị động các bài tậpgiáo viên cho Từ đó học sinh sẽ dễ chán và chỉ học để đối phó với môn học này.Học sinh sẽ tự hỏi lập trình Pascal có ứng dụng như thế nào trong thực tế Họcsinh sẽ rất khó hình dung được các ứng dụng mà lập trình có thể làm được trongthực tế nếu chỉ căn cứ vào lý thuyết thuần túy do giáo viên truyền đạt

Theo thói quen của nhiều em học sinh, học môn Tin là học những thao tác

sử dụng như cách sử dụng internet, sử dụng hệ điều hành windows, chương trìnhsoạn thảo văn bản MS Word, chương trình soạn thảo trình diễn MS PowerPoint

… Đây là những phần học không cần đòi hỏi tư duy, mà chỉ cần học kĩ và nhớthao tác, thực hành nhiều lần thì sẽ thành thạo

Nhưng khi học bộ môn lập trình Pascal lớp 8 thì hầu như các em bị

“choáng” vì bộ môn rất “mới”, và cách học cũng “mới” Học những thao tác vàthực hành nhiều không còn tác dụng, học thuộc bài cũng không còn ổn nữa Lúcnày các em cần phải học cách tư duy logic, tìm thuật toán, và viết những dònglệnh máy tính chính xác đến từng dấu chấm, dấu phẩy

Với tâm lí thông thường các em học sinh coi Tin học là môn phụ khôngquan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên khônghiểu bài và dần bị mất căn bản Đây cũng là lí do mà nhiều em bị điểm kém,thậm chí là thi lại, học lại bộ môn Tin học mặc dù có thể các em học rất giỏi ởcác môn học khác

Trang 4

Trước tình hình đó, ngay từ đầu năm học 2017 - 2018 tôi đã bắt tay

nghiên cứu và thực hiện đề tài: "Những giải pháp giúp học sinh học tốt lập trình

Pascal trong môn Tin học 8".

2 Xác định mục đích nghiên cứu:

Đặc trưng của môn Tin học là khoa học gắn liền với công nghệ, do vậydạy học Tin học một mặt trang bị cho học sinh kiến thức khoa học về Tin học,phát triển tư duy thuật toán, rèn luyện kĩ năng giải quyết vấn đề Mục tiêu của đềtài này tôi xin trình bày một số giải pháp giúp học sinh học tốt lập trình Pascalnhằm giúp học sinh có được một tâm lý thoải mái và tự tin trong quá trình họctập Ngoài ra, tôi muốn đưa phương pháp này vào giảng dạy trong nhóm bộ mônTin để giúp nâng cao chất lượng học tập môn Tin trong nhà trường và cụ thể làchương trình Tin học 8

Ở trường THCS chúng ta không chú trọng học chuyên sâu về ngôn ngữlập trình để tạo ra các phần mềm máy tính mà tập trung rèn luyện kĩ năng tư duylogic, tư duy hệ thống và sáng tạo không chỉ để giải quyết những vấn đề trongTin học mà đây còn là những kĩ năng vô cùng quan trọng để giải quyết nhiềuvấn đề trong cuộc sống Học Pascal giúp cho ta hiểu được cách làm việc củamáy tính, cách giao tiếp để ra lệnh cho máy tính làm việc theo sự điều khiển củacon người thông qua ngôn ngữ lập trình Các em có thể tạo ra các chương trìnhthú vị bằng cách sử dụng các câu lệnh Pascal Cũng giống như những môn họckhác như toán học, vật lý, hóa học … Khi các em đã thực sự hiểu và yêu thích

bộ môn Tin học các em sẽ tìm thấy nhiều niềm vui, sự đam mê khi tìm hiểu vàkhám phá những điều mới mẻ nhưng đầy hấp dẫn trong bộ môn tưởng chừngnhư khô khan này

Chính vì những ý nghĩa đó mà bản thân tôi luôn cố gắng tìm tòi, nghiêncứu, học hỏi, trao đổi với đồng nghiệp Trong quá trình tìm tòi, nghiên cứu, họchỏi và ứng dụng đó bản thân tôi đã tìm ra một số giải pháp hữu ích trong việcgóp phần nâng cao chất lượng bộ môn Tin học lớp 8

3 Đối tượng nghiên cứu:

- Các giải pháp để giúp học sinh tự tin trong việc học lập trình

Trang 5

- Kiến thức Toán học để vận dụng giải các bài tập Pascal trong chươngtrình.

- Kĩ năng lập trình

- Học sinh khối 8 của trường THCS Phước Hiệp năm học 2017 – 2018 vànăm học 2018 - 2019

4 Đối tượng khảo sát, thực nghiệm:

Học sinh khối 8 của trường THCS Phước Hiệp năm học 2018 - 2019

5 Phương pháp nghiên cứu:

5 1 Phương pháp nghiên cứu tài liệu:

- Bản thân tìm hiểu kĩ các phương pháp để giúp học sinh tự tin và hứngthú trong việc học lập trình; các kiến thức về Toán học có liên quan để vận dụngvào các chương trình trong sách giáo khoa Tin học dành cho THCS quyển 3.Chẳng hạn: Tính diện tích của hình chữ nhật, hình tròn; Tính tổng 100 số tựnhiên đầu tiên; Tìm số lớn nhất trong một dãy các số cho trước; Giải phươngtrình bậc nhất một ẩn

- Tìm cách giải các bài toán ở sách giáo khoa theo nhiều cách khác nhau

để hướng dẫn học sinh viết được nhiều chương trình theo những cách đó

5.2 Tiến hành điều tra khảo sát ban đầu:

Qua điều tra học sinh về việc học lập trình Pascal ở năm học 2017 - 2018,tôi đã thu được kết quả như sau:

Qua kết quả trên thì đa phần các em chưa yêu thích trong việc học lậptrình và hơn hết là chưa biết lập trình là gì?

Trang 6

* Ngoài ra, để hoàn thành đề tài này bản thân đã tiến hành thêm một sốbiện pháp nghiên cứu sau:

- Kiểm tra việc học tập của học sinh (bài cũ, bài mới)

- Thăm lớp, dự giờ

- Kiểm tra chất lượng sau giờ học

- Tận dụng tối đa các tiết giải bài tập và thực hành để các em được làmquen và vận dụng thật tốt các bài học lý thuyết

- Rèn kĩ năng vận dụng Toán học vào lập trình trong từng tiết dạy, từngnội dung nhỏ trong bài học

6 Phạm vi và thời gian nghiên cứu:

Bắt đầu từ tháng 8 năm 2018 đến giữa tháng 2 năm 2019, qua nghiên cứucông tác giảng dạy môn Tin học 8 của trường trong năm học 2018-2019 về cácgiải pháp giúp học sinh học tốt lập trình pascal đã giúp học sinh nâng cao ý thứchọc tập từ đó thực hiện thành thạo các bài tập có trong chương trình cơ bản ởsách giáo khoa

- Kiến thức Toán có liên quan trong các bài tập ở sách giáo khoa Tin họcdành cho THCS quyển 3

- Kiến thức về lập trình cơ bản

- Tất cả các bài tập về lập trình trong chương trình sách giáo khoa Tinhọc dành cho THCS quyển 3

II NỘI DUNG:

1 Những nội dung lí luận có liên quan trực tiếp đến vấn đề nghiên cứu:

Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tinhọc và đã đưa môn học này vào nhà trường phổ thông như những môn khoa họckhác bắt đầu từ năm học 2006- 2007 Chỉ thị số 55/2008/CT- BGTĐT ngày30/9/2008 của Bộ trưởng Bộ GD& ĐT về tăng cường giảng dạy, đào tạo và ứngdụng công nghệ thông tin trong ngành giáo dục giai đoạn 2008-2011 Trong bốicảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mới phương pháp dạy họctheo hướng phát huy tính tích cực chủ động của học sinh trong hoạt động họctập Điều 24.2 của Luật giáo dục đã nêu rõ : “Phương pháp giáo dục phổ thôngphải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp

Trang 7

với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, rènluyện kỹ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lạiniềm vui, hứng thú học tập cho học sinh” Như vậy, chúng ta có thể thấy địnhhướng đổi mới phương pháp dạy học đã được khẳng định, không còn là vấn đềtranh luận Cốt lõi của việc đổi mới phương pháp dạy học ở trường phổ thông làgiúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụđộng Với một số nội dung trong đề tài này, học sinh có thể tự học, tự rèn luyệnthông qua một số bài tập, dạng bài tập cụ thể

Tin học được đưa vào nhà trường, vào giáo dục của nước ta nhằm giúphọc sinh chúng ta theo kịp với trình độ phát triển của khu vực và thế giới ĐưaTin học vào nhà trường nói chung và THCS nói riêng là một việc làm cần thiết

để các em làm quen và tiếp cận với công nghệ khoa học tiên tiến

Bài tập trong các tiết học đóng một vai trò hết sức quan trọng, việc hướngdẫn học sinh làm bài tập là một hoạt động dạy học, là một công việc khó khăn, ở

đó bộc lộ rõ nhất trình độ của người giáo viên Tin học trong việc hướng dẫn hoạtđộng trí tuệ của học sinh, vì thế đòi hỏi người giáo viên và cả học sinh phải họctập và lao động không ngừng

2 Thực trạng vấn đề nghiên cứu:

Một số thuận lợi và khó khăn khi giảng dạy lập trình Pascal ở khối lớp 8trường THCS Phước Hiệp

* Thuận lợi:

- Được sự quan tâm, chỉ đạo của Ban Giám Hiệu nhà trường

- Giáo viên được đào tạo sư phạm Toán - Tin nên có được sự liên hệ giữa

2 phân môn trên

- Học sinh trường THCS Phước Hiệp có học lực khá đồng đều, có nhiều

em say mê Toán, Tin

* Khó khăn:

- Thực tế giảng dạy ở trường THCS Phước Hiệp các năm qua, tôi nhậnthấy khi học đến chương trình Tin học lớp 8 đa số học sinh đều nhận xét bộ mônnày khá khó và không gây được hứng thú khi giải quyết được các bài toán Toánhọc bằng máy tính với nhiều bộ test khác nhau Tuy nhiên đối với một số học

Trang 8

sinh đam mê Toán học thì lại yêu thích Pascal, nhiều học sinh tỏ ra rất thích thúkhi lập trình để giải được một bài toán và cho chạy ra kết quả đúng Từ đó hăngsay tìm hiểu cách để giải các bài lập trình khó hơn

- Tin học là một môn học được đưa vào giảng dạy tại trường THCS PhướcHiệp được nhiều năm, tuy nhiên các em lớp 8 thì đây là nội dung chương trìnhkhá mới Đây là bộ môn đặc trưng muốn đạt chất lượng cao đòi hỏi các em phảiyêu thích môn học, vững về kiến thức Toán và vận dụng tốt Toán học vào lậptrình Pascal

Từ thực tế trên, bản thân tôi là một giáo viên dạy bộ môn Tin học luôn

suy nghĩ phải đưa ra những giải pháp như thế nào để nâng cao chất lượng bộmôn tin học 8 Sau một thời gian suy nghĩ tiến hành thực nghiệm tôi đã thu đượcnhững kết quả rất tốt Sau đây tôi xin trình bày một số giải pháp mà bản thân đãnghiên cứu được

3 Mô tả, phân tích các giải pháp:

3.1 Tạo cho học sinh sự tự tin và hứng thú với bộ môn lập trình

Qua nhiều năm công tác, tham dự nhiều buổi hội thảo chuyên đề, thaogiảng thì tôi nhận thấy đa phần giáo viên khi mới bắt đầu dạy Pascal đều truyềncho các em tư tưởng là: Pascal là môn học rất khó; Học rất dễ bị điểm kém vàthi lại; Pascal không còn hữu ích trong cuộc sống hiện nay Những điều đó đãlàm cho học sinh có tâm lý sợ và không hứng thú với môn học Đối với tôi, làgiáo viên giảng dạy nhiều năm chương trình tin học 8, tôi luôn tạo cho học sinhmột tâm lý thoải mái và tự tin khi học môn học này bằng những lợi ích sau:

- Pascal là ngôn ngữ lập trình dễ nhất trong các ngôn ngữ lập trình Pascal

là tiền đề để sau này học các môn học lập trình khác như: Java, C

- Học giỏi Pascal sẽ học giỏi được các môn Toán và Tiếng Anh (hai mônthi tuyển vào lớp 10)

- Việc tìm đáp án một số bài toán bằng cách viết chương trình Pascal đơngiản hơn là giải bằng kiến thức môn Toán Ví dụ:Tìm tất cả các số có 3 chữ sốthỏa điều kiện abc=a*a*a+b*b*b+c*c*c

- Học giỏi môn Tin học sẽ giúp các em rất nhiều trong công việc sau này

Trang 9

- Ngành Công nghệ thông tin là một ngành học đang có sức hút rất lớn vớigiới trẻ, ngành mang lại nguồn thu nhập hấp dẫn trong thời đại công nghệ hiệnnay.

Từ những điều này bước đầu tôi đã trang bị cho các em một tâm lý thoảimái, một tinh thần lạc quan và sự hứng thú đối với việc học môn Tin học nóichung và Lập trình Pascal nói riêng

3.2 Bước đầu hình thành khái niệm về lập trình và ngôn ngữ lập trình:

Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lậptrình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán Kháiniệm lập trình dùng để chỉ quá trình con người tạo ra chương trình máy tínhthông qua ngôn ngữ lập trình Người ta còn gọi đó là quá trình mã hoá thông tin

tự nhiên thành ngôn ngữ máy

Một tập hợp các chỉ thị được biểu thị qua ngôn ngữ lập trình nhằm mụcđích thực hiện các thao tác máy tính nào đó được gọi là một chương trình Kháiniệm này còn có tên gọi khác như chương trình máy tính Lưu ý: chương trìnhđược viết cho máy vi tính thường được gọi là phần mềm máy tính Vídụ: chương trình Microsoft Word là một cách gọi chung chung; cách gọi phầnmềm Microsoft Word chỉ rõ hơn nó là một chương trình ứng dụng

Ngôn ngữ lập trình là một tập con của ngôn ngữ máy tính Đây là mộtdạng ngôn ngữ được thiết kế và chuẩn hóa để truyền các chỉ thị cho máy tính(hoặc máy khác có bộ xử lí) Ngôn ngữ lập trình có thể được dùng để tạo ra cácchương trình nhằm mục đích điều khiển máy tính hoặc mô tả các thuật toán đểngười khác đọc hiểu Ngôn ngữ lập trình là một hệ thống được ký hiệu hóa đểmiêu tả những tính toán (qua máy tính) trong một dạng mà cả con người và máyđều có thể đọc và hiểu được

Theo định nghĩa ở trên thì một ngôn ngữ lập trình phải thỏa mãn được hai điềukiện cơ bản sau:

- Dễ hiểu và dễ sử dụng đối với người lập trình, để có thể dùng để giảiquyết nhiều bài toán khác nhau

- Miêu tả một cách đầy đủ và rõ ràng các tiến trình để chạy được trên các

hệ máy tính khác nhau

Trang 10

Pascal là một ngôn ngữ lập trình cấp cao do Niklaus Wirth, giáo sư điệntoán trường đại học Kỹ thuật Zurich (Thụy sĩ) thiết kế và công bố vào năm 1971

và đặt tên là Pascal để tưởng niệm nhà Toán học và Triết học nổi tiếng BlaisePascal Đây là một ngôn ngữ lập trình có cấu trúc đơn giản, rõ ràng, cấu trúcchặt chẽ, dễ viết, dễ hiểu cũng như dễ sửa chữa, cải tiến Do đó Pascal đượcnhiều quốc gia trong đó có Việt Nam đưa vào chương trình giảng dạy Tin học ởcác trường phổ thông và đại học như một môn học cơ sở, đại cương

Là một giáo viên giảng dạy môn tin học 8 với nội dung phần lớn là lậptrình Pascal thì cần phải nắm chắc những vấn đề này để giúp học sinh hiểu rõnhư thế nào là lập trình? Vì sao cần phải có ngôn ngữ lập trình? Lập trình có lợiích gì trong cuộc sống hiện nay?

3.3 Nêu ra cấu trúc của chương trình và các kiểu dữ liệu cần thiết:

Một số học sinh khi học xong nội dung lập trình vẫn không nắm được cấutrúc của một chương trình, chưa biết cách sắp xếp các câu lệnh một cách hợp lý,

sử dụng các kiểu dữ liệu cho biến chưa khoa học Vì vậy, giáo viên cần làm rõ

về cấu trúc chương trình, các kiểu dữ liệu cho học sinh trong quá trình học

Cấu trúc của mọi chương trình thường gồm 2 phần: phần khai báo vàphần thân

- Phần khai báo thường gồm các câu lệnh dùng để khai báo tên chươngtrình, khai báo các thư viện và một số khai báo khác

- Phần thân của chương trình gồm các câu lệnh mà máy tính cần thựchiện, đây là phần bắt buộc phải có

Ví dụ:

Máy tính là công cụ xử lí thông tin, còn chương trình chỉ dẫn cho máytính cách thức xử lí thông tin để có kết quả mong muốn, thông tin rất đa dạng

Trang 11

nên dữ liệu trong máy tính cũng rất khác nhau về bản chất Để dễ dàng quản lí

và tăng hiệu quả xử lí, các ngôn ngữ lập trình thường phân chia dữ liệu thànhcác kiểu khác nhau: chữ, số nguyên, số thập phân

Các ngôn ngữ lập trình định nghĩa sẵn một số kiểu dữ liệu cơ bản Dướiđây là một số kiểu thường dùng nhất trong ngôn ngữ lập trình Pascal:

Integer Số nguyên trong khoảng -215 đến 215 – 1

Longint Số nguyên trong khoảng -231 đến 231 – 1

Real Số thực có giá trị tuyệt đối trong khoảng 2,9x10

-39

đến 1,7x1038

String Xâu ký tự, tối đa gồm 255 kí tự

Khi dạy bài này, giáo viên cần lưu ý cho học sinh trên đây chỉ là một sốkiểu dữ liệu cơ bản, khi tiếp xúc với lập trình nhiều hơn thì các em sẽ được làmquen với nhiều kiểu dữ liệu khác nữa

3.4 Hình thành quá trình giải bài toán trên máy tính:

Bài toán là khái niệm quen thuộc trong các môn học như Toán, Vật lý,…Chẳng hạn tính tổng của các số tự nhiên từ 1 đến 100; tính quãng đường ô tô điđược trong 3 giờ với vận tốc 60 km/h là những ví dụ về bài toán Tuy nhiên,hàng ngày ta thường gặp và giải quyết các công việc đa dạng hơn nhiều nảy sinh

từ nhu cầu thực tế; tính số gạch ít nhất phải mua để lát nền nhà, lập bảng điểmcủa lớp hoặc so sánh chiều cao của các bạn,…cũng là những ví dụ về bài toán

Mặc dù có nhiều tính năng ưu việt song máy tính vẫn chỉ là một công cụtrợ giúp con người trong xử lí thông tin Máy tính không thể tự mình tìm ra lờigiải của các bài toán Lời giải của một bài toán cụ thể, tức thuật toán là tư duysáng tạo của con người Tuy nhiên, việc mô tả thuật toán chưa đủ đối với máytính mà cần diễn đạt thuật toán dưới dạng máy tính có thể hiểu và thực hiệnđược Phương pháp cơ bản giải các bài toán trong Tin học không chỉ dùng đểgiải một bài toán cụ thể mà còn giải một lớp các bài toán tương tự thuộc cùngmột loại Bài toán được cấu tạo từ hai yếu tố cơ bản: Thông tin vào (Input) vàthông tin ra (Output) Phương pháp tổng quát để giải một bài toán bằng máy vitính dựa trên ngôn ngữ Pascal thì cần thông qua các bước sau:

Trang 12

Bước 1 Xác định các bài toán

Mỗi bài toán được đặc tả bởi hai thành phần: Input (thông tin đã cho) vàOutput (thông tin cần tìm) Việc xác định bài toán chính là xác định rõ hai thànhphần Input; Output và mối quan hệ giữa chúng Cần nghiên cứu cẩn thận Input

và Output để có thể lựa chọn thuật toán

Xét các bài toán tính diện tích hình tam giác, tìm đường đi tránh các điểm nútgiao thông và tìm ước chung lớn nhất (ƯCLN) của hai số nguyên dương M và

N Hãy xác định Input và Output của các bài toán trên?

- Để tính diện tích hình tam giác:

Input: Một cạnh và chiều cao tương ứng với cạnh đó

Output: Diện tích hình tam giác

- Đối với bài toán vượt qua điểm nghẽn giao thông:

Input: Vị trí điểm nghẽn giao thông và các con đường có thể đi được từ vị tríhiện tại tới vị trí cần tới

Output: Đường đi từ vị trí hiện tại tới vị trí cần tới mà không qua điểm nghẽngiao thông

- Đối với bài toán tìm ƯCLN

Input : Hai số nguyên dương M và N;

Output: ƯCLN(M, N)

Khi đã xác định được input và output ta sẽ lựa chọn hoặc thiết kế thuật toán chobài toán Xác định bài toán là bước đầu tiên và là bước rất quan trọng trong việcgiải các bài toán

Bước 2 Mô tả thuật toán

Thuật toán là gì? Thuật toán là một dãy hữu hạn các thao tác được sắp xếptheo một trình tự xác định sao cho khi thực hiện dãy thao tác ấy, từ Input của bàitoán, ta nhận được Output cần tìm Đây là bước quan trọng nhất để giải một bàitoán Cần phải lưu ý rằng , để giải một bài toán có thể có nhiều thuật toán khácnhau, song mỗi thuật toán chỉ dùng để giải một bài toán cụ thể Vì vậy khi mô tảthuật toán, người ta thường chỉ ra cả điều kiện cho trước và kết quả cần nhậnđược kèm theo để dễ nhận biết thuật toán đó dùng để giải bài toán nào

Trang 13

Bên cạnh đó, việc lựa chọn thuật toán cũng hết sức cần thiết, cần phải chọn thuậttoán ít phức tạp, ít tốn thời gian, thực hiện ít phép toán và dễ hiểu nhất Dướiđây là một số ví dụ về mô tả thuật toán:

Ví dụ 1: Bài toán “giải phương trình bậc nhất dạng tổng quát.”

- Input: các số b,c

- Output: Nghiệm của phương trình bậc nhất

- B1: Nếu b = 0

(Chuyển tới b3)

- B2: Nếu b≠ 0, tính nghiệm pt x= -c/b và kết thúc (chuyển tới b4)

- B3: Nếu c ≠ 0, thông báo pt vô nghiệm, ngược lại (c=0), thông báo pt vô sốnghiệm

- B4: Kết thúc

Khi dạy bài tập này giáo viên sẽ gặp khó khăn vì học sinh chưa được học

về phương trình bậc nhất, nội dung này có ở sách giáo khoa Toán 8 tập 2 Nhưvậy, giáo viên vừa phải cung cấp cho các em cách giải vừa phải hướng dẫn viếtthuật toán

Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên

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

INPUT: Dãy 100 số tự nhiên đầu tiên (từ 1 đến 100).

OUTPUT: Giá trị SUM = 1+ 2+ + 100

* Mô tả thuật toán:

Trang 14

* Mô tả thuật toán :

Bước 1: Nhập số n và dãy A; gán MAX ← a1; i ← 0

Bước 2: i ← i + 1

Bước 3: Nếu i > n, kết thúc thuật toán (khi đó MAX là giá trị phần tử lớn nhất

của dãy A) Trong trường hợp ngược lại (i ≠ n), thực hiện bước 4.

Bước 4: Nếu ai > MAX, thay đổi giá trị MAX:

MAX ← ai rồi chuyển về bước 2 Trong trường hợp ngược lại (MAX ≥ ai), giữnguyên MAX và chuyển về bước 2

Giáo viên hướng dẫn học sinh vận dụng kiến thức so sánh và hoán đổi các số đểgiải quyết ví dụ trên

Bước 3 Viết chương trình:

Ngôn ngữ lập trình + thuật toán = Chương trình

Là diễn đạt thuật toán dưới dạng một ngôn ngữ lập trình cụ thể, nói cáchkhác là tổng hợp giữa lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lậptrình để diễn đạt đúng thuật toán Nên chọn một ngôn ngữ lập trình hoặc mộtphần mềm chuyên dụng thích hợp với thuật toán Viết chương trình trong ngônngữ nào thì cần phải tuân theo đúng quy định cú pháp của ngôn ngữ đó, và cụthể ở đây là ngôn ngữ lập trình Pascal

Ví dụ 1: Chương trình từ thuật toán trong ví dụ 1 ở trên

If (b=0) and (c<>0) then write(‘pt vo nghiem);

If (b=0) and (c = 0) then write(‘pt vo so nghiem) else

If b<>0, then write(‘nghiem pt la:’,-c/b);

End

Ví dụ 2: Chương trình tính tổng và tích

* Tính tổng:

Program tinh_tong;

Trang 15

Var N,i: Integer;

Ngày đăng: 20/09/2020, 21:30

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w