MỤC LỤC I. ĐẶT VẤN ĐỀ: 2 1.1. Lý do chọn đề tài: 2 1.2. Mục đích nghiên cứu: 2 1.3. Đối tượng nghiên cứu: 3 1.4. Phương pháp nghiên cứu: 4 1.5. Giới hạn phạm vi nghiên cứu: 4 II. GIẢI QUYẾT VẤN ĐỀ: 5 2.1. Cơ sở lý luận của vấn đề: 5 2.2. Thực trạng của vấn đề: 6 2.3. Các biện pháp đã tiến hành giải quyết vấn đề: 8 2.3.1. Các yêu cầu cơ bản của giáo viên: 8 2.3.2. Các yêu cầu cơ bản của học sinh: 8 2.3.3. Biện pháp tiến hành: 9 2.4. Hiệu quả của SKKN: 29 2.4.1. Kết quả đạt được: 29 2.4.2. Bài học kinh nghiệm: 30 III. KẾT LUẬN : 32 TÀI LIỆU THAM KHẢO: 33 I. ĐẶT VẤN ĐỀ: 1.1. Lý do chọn đề tài: Trong những năm gần đây sự bùng nổ công nghệ thông tin đã tác động lớn đến công cuộc phát triển kinh tế xã hội loài người. Với xu thế ngày càng phát triển về công nghệ thông tin và ứng dụng công nghệ thông tin trong cuộc sống hàng ngày là rất lớn, nên Đảng, Nhà nước đã xác định rõ ý nghĩa tầm quan trọng của tin học và công nghệ thông tin, truyền thông cũng như những yêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo nguồn nhân lực đáp ứng yêu cầu công nghiệp hoá, hiện đại hoá, mở cửa và hội nhập, hướng tới nền kinh tế tri thức của nước ta nói riêng thế giới nói chung. Trong những năm gần đây Sở giáo dục và đào tạo tỉnh Gia Lai nói chung và của phòng giáo dục và đào tạo huyện Chư Sê nói riêng đã phát động phong trào “Ứng dụng công nghệ thông tin trong quản lý và dạy học và xem đây là giải pháp đột phá để nâng cao chất lượng giáo dục, giải pháp này đã được các nhà trường tích cực hưởng ứng và thực hiện đạt hiệu quả cao trong quản lý và dạy học. Để đáp ứng nhu cầu giảng dạy bộ môn tin học ở trong nhà trường, phòng giáo dục cũng như địa phương đã rất quan tâm đầu tư trang thiết bị phục vụ cho việc dạy học của giáo viên và học sinh. Vì vậy cơ sở vật chất của các nhà trường đã từng bước được bổ sung về hệ thống máy vi tính và các điều kiện khác để phục vụ cho công tác dạy và học. Do đó môn tin học đã được đưa vào giảng dạy ở trường trung học cơ sở nhằm trang bị cho học sinh những hiểu biết cơ bản về công nghệ thông tin và vai trò của nó trong xã hội hiện đại. Môn học này giúp học sinh bước đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng máy tính phục vụ học tập và cuộc sống. Tin học có ý nghĩa to lớn đối với sự phát triển trí tuệ, tư duy thuật toán, góp phần hình thành kiến thức phổ thông cho học sinh. 1.2. Mục đích nghiên cứu: Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn làm thế nào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8. Việc tiếp cận với môn học rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu. Do đó sẽ rất khó khăn để các em hình thành kỹ năng viết chương trình. Nhất là những năm gần đây Ngành giáo dục luôn thành lập đội tuyển tham dự thi học sinh giỏi môn Tin học,… Lập trình Pascal khó đối với học sinh THCS vì môi trường lập trình Pascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay trợ giúp cũng vậy. Nhìn chung học sinh THCS vốn tiếng Anh không nhiều, nhiều em còn yếu về tiếng Anh. Hơn nữa, rào cản đối với việc các học sinh THCS tiếp cận với lập trình Pascal đó là: tư duy Toán học của các em còn hạn chế phụ thuộc còn vào Sách Giáo Khoa do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bài toán hay vấn đề cần lập trình chưa tốt. Các em vẫn thụ động trong việc tiếp cận bài toán, sắp xếp tư duy, xây dựng thuật giải. Là giáo viên trực tiếp giảng dạy môn tin học tôi xác định mục tiêu chính là giúp học sinh không chỉ biết soạn thảo mà còn phải có khả năng phân tích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề và đặc biệt là phát triển tư duy, sáng tạo trong phương pháp lập trình. Qua kinh nghiệm nhiều năm giảng dạy và bồi dưỡng học sinh dự thi tin học trẻ về ngôn ngữ lập trình Pascal cùng với nhiều đối tượng học sinh khác nhau trong trường, tôi nhận thấy học sinh còn lúng túng nhất ở khâu vận dụng xây dựng chương trình cụ thể, không biết làm thế nào? bắt đầu từ đâu? Do đó tôi đã tích luỹ được một vài kinh nghiệm về “Nâng cao kỹ năng lập trình pascal cho học sinh lớp 8”. Giúp các em hiểu, yêu thích lập trình và học lập trình trong sự hứng thú, phấn khởi.
Trang 1MỤC LỤC
I ĐẶT VẤN ĐỀ: 2
1.1 Lý do chọn đề tài: 2
1.2 Mục đích nghiên cứu: 2
1.3 Đối tượng nghiên cứu: 3
1.4 Phương pháp nghiên cứu: 4
1.5 Giới hạn phạm vi nghiên cứu: 4
II GIẢI QUYẾT VẤN ĐỀ: 5
2.1 Cơ sở lý luận của vấn đề: 5
2.2 Thực trạng của vấn đề: 6
2.3 Các biện pháp đã tiến hành giải quyết vấn đề: 8
2.3.1 Các yêu cầu cơ bản của giáo viên: 8
2.3.2 Các yêu cầu cơ bản của học sinh: 8
2.3.3 Biện pháp tiến hành: 9
2.4 Hiệu quả của SKKN: 29
2.4.1 Kết quả đạt được: 29
2.4.2 Bài học kinh nghiệm: 30
III KẾT LUẬN : 32
TÀI LIỆU THAM KHẢO: 33
Trang 2I ĐẶT VẤN ĐỀ:
1.1 Lý do chọn đề tài:
Trong những năm gần đây sự bùng nổ công nghệ thông tin đã tác độnglớn đến công cuộc phát triển kinh tế xã hội loài người Với xu thế ngày càngphát triển về công nghệ thông tin và ứng dụng công nghệ thông tin trong cuộcsống hàng ngày là rất lớn, nên Đảng, Nhà nước đã xác định rõ ý nghĩa tầmquan trọng của tin học và công nghệ thông tin, truyền thông cũng như nhữngyêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo nguồn nhân lựcđáp ứng yêu cầu công nghiệp hoá, hiện đại hoá, mở cửa và hội nhập, hướngtới nền kinh tế tri thức của nước ta nói riêng - thế giới nói chung Trongnhững năm gần đây Sở giáo dục và đào tạo tỉnh Gia Lai nói chung vàcủa phòng giáo dục và đào tạo huyện Chư Sê nói riêng đã phát động phongtrào “Ứng dụng công nghệ thông tin trong quản lý và dạy học" và xem đây làgiải pháp đột phá để nâng cao chất lượng giáo dục, giải pháp này đã được cácnhà trường tích cực hưởng ứng và thực hiện đạt hiệu quả cao trong quản lý vàdạy học
Để đáp ứng nhu cầu giảng dạy bộ môn tin học ở trong nhà trường,phòng giáo dục cũng như địa phương đã rất quan tâm đầu tư trang thiết bịphục vụ cho việc dạy học của giáo viên và học sinh Vì vậy cơ sở vật chất củacác nhà trường đã từng bước được bổ sung về hệ thống máy vi tính và cácđiều kiện khác để phục vụ cho công tác dạy và học Do đó môn tin học đãđược đưa vào giảng dạy ở trường trung học cơ sở nhằm trang bị cho học sinhnhững hiểu biết cơ bản về công nghệ thông tin và vai trò của nó trong xã hộihiện đại Môn học này giúp học sinh bước đầu làm quen với phương pháp giảiquyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng máy tính phục vụhọc tập và cuộc sống Tin học có ý nghĩa to lớn đối với sự phát triển trí tuệ, tưduy thuật toán, góp phần hình thành kiến thức phổ thông cho học sinh
1.2 Mục đích nghiên cứu:
Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn làm thế nàonâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8 Việc tiếp cận với
Trang 3môn học rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các
em mới hiểu việc nhập và xuất dữ liệu Do đó sẽ rất khó khăn để các em hìnhthành kỹ năng viết chương trình Nhất là những năm gần đây Ngành giáo dụcluôn thành lập đội tuyển tham dự thi học sinh giỏi môn Tin học,…
Lập trình Pascal "khó" đối với học sinh THCS vì môi trường lập trìnhPascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báohay trợ giúp cũng vậy Nhìn chung học sinh THCS vốn tiếng Anh khôngnhiều, nhiều em còn yếu về tiếng Anh Hơn nữa, rào cản đối với việc các họcsinh THCS tiếp cận với lập trình Pascal đó là: tư duy Toán học của các emcòn hạn chế phụ thuộc còn vào Sách Giáo Khoa do đó kỹ năng phân tích, tổnghợp, xây dựng thuật toán cho mỗi bài toán hay vấn đề cần lập trình chưa tốt Các em vẫn thụ động trong việc tiếp cận bài toán, sắp xếp tư duy, xây dựngthuật giải
Là giáo viên trực tiếp giảng dạy môn tin học tôi xác định mục tiêuchính là giúp học sinh không chỉ biết soạn thảo mà còn phải có khả năng phântích, tổng hợp, trừu tượng hoá, khái quát hoá vấn đề và đặc biệt là phát triển
tư duy, sáng tạo trong phương pháp lập trình Qua kinh nghiệm nhiều nămgiảng dạy và bồi dưỡng học sinh dự thi tin học trẻ về ngôn ngữ lập trìnhPascal cùng với nhiều đối tượng học sinh khác nhau trong trường, tôi nhậnthấy học sinh còn lúng túng nhất ở khâu vận dụng xây dựng chương trình cụthể, không biết làm thế nào? bắt đầu từ đâu? Do đó tôi đã tích luỹ được một
vài kinh nghiệm về “Nâng cao kỹ năng lập trình pascal cho học sinh lớp 8” Giúp các em hiểu, yêu thích lập trình và học lập trình trong sự hứng thú,
phấn khởi
1.3 Đối tượng nghiên cứu:
Trong chương trình lớp 8, các em làm quen với lập trình Ngôn ngữ lậptrình dường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các
em được học
Qua giảng dạy môn Tin học ở trường THCS Nay Der, bản thân tôi nhậnthấy rằng nhiều học sinh lớp 8 thấy môn lập trình Pascal khó, khô khan và cực
Trang 4kỳ phức tạp Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở ngoàithì đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong lậptrình cũng bài toán đó mà phải làm đến hàng chục phút, đưa ra thuật toán mà
có thể cho kết quả sai Tâm lý một số em đều cho rằng môn Tin học khôngphải là môn học chính Do đó không cần phải để tâm đến
1.4 Phương pháp nghiên cứu:
Vận dụng linh hoạt, sáng tạo các phương pháp dạy học theo cách pháthuy yếu tố tích cực và những ưu điểm của phương pháp dạy học truyền thốngcùng phương pháp dạy học hiện đại nhằm tăng cường tính tích cực của họcsinh trong tiếp nhận kiến thức, hình thành kỹ năng sử dụng máy tính, sử dụngthành thạo phần mềm Turbo Pascal để phục vụ cho học tập và bước đầu vậndụng vào cuộc sống Từ đó, tôi luôn tạo điều kiện tối ưu để học sinh bồidưỡng kỹ năng tự học Vận dụng linh hoạt, sáng tạo các hình thức tổ chức họctập kết hợp giữa học tập cá thể với học tập hợp tác; giữa hình thức học cánhân với hình thức học theo nhóm
1.5 Giới hạn phạm vi nghiên cứu:
Nhằm giới hạn phạm vi nghiên cứu theo như mục tiêu đã đề ra, đề tàitập trung xem xét, phân tích, đánh giá các yếu tố nằm trong phạm vi sau:
Địa điểm nghiên cứu: Trường THCS Nay Der, huyện Chư Sê, tỉnh Gia Lai Hoạt động được nghiên cứu: tập trung nghiên cứu tình hình hoạt động trong
kiến thức lập trình ở chương trình tin học lớp 8
Thời gian nghiên cứu: qua việc giảng dạy môn tin học lớp 8 các năm học
2014-2015, 2015-2016, 2016- 2017 tại Trường THCS Nay Der, huyện Chư
Sê, tỉnh Gia Lai
Trang 5II GIẢI QUYẾT VẤN ĐỀ:
2.1 Cơ sở lý luận của vấn đề:
Vận dụng linh hoạt, sáng tạo các phương pháp dạy học theo cách pháthuy yếu tố tích cực và những ưu điểm của phương pháp dạy học truyền thốngcùng phương pháp dạy học hiện đại nhằm tăng cường tính tích cực của họcsinh trong tiếp nhận kiến thức, hình thành kỹ năng sử dụng máy tính, sử dụngthành thạo phần mềm Turbo Pascal để phục vụ cho học tập và bước đầu vậndụng vào cuộc sống Từ đó, tôi luôn tạo điều kiện tối ưu để học sinh bồidưỡng kỹ năng tự học Vận dụng linh hoạt, sáng tạo các hình thức tổ chức họctập kết hợp giữa học tập cá thể với học tập hợp tác; giữa hình thức học cánhân với hình thức học theo nhóm
Tôi luôn chủ động sáng tạo thiết kế các dạng bài tập căn cứ vào mụctiêu cụ thể của bài học, không gò bó theo một quy trình cứng nhắc nhữngbước đi bắt buộc Tăng cường kiểm tra đánh giá bằng nhiều hình thức khácnhau theo chuẩn kiến thức kỹ năng, yêu cầu học sinh tự viết các chương trìnhhoàn chỉnh đó là một biện pháp kích thích hứng thú học tập Với phương phápdạy và học hiện nay đang có xu hướng thay đổi một cách tích cực Phươngpháp mới hướng tới lấy học sinh làm trung tâm, học sinh không còn đóng vaitrò tiếp thu một cách thụ động những kiến thức do giáo viên truyền đạt Giáoviên trở thành người hướng dẫn, giúp đỡ học sinh Học sinh hướng tới việchọc tập chủ động, biết tự thích nghi Kiến thức được cá nhân học sinh tự tìmtòi, phát hiện một cách tích cực dưới sự hướng dẫn của giáo viên Ngoài ra,cách tổ chức học theo nhóm làm tăng thêm khả năng cộng tác, khả năng làmviệc tập thể Tin học là môn học có nhiều điều kiện thuận lợi để thực hiện cácphương pháp dạy và học mới này
Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong
bộ môn tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác,tích cực, chủ động và sáng tạo của học sinh Khi cần dạy một nội dung tin họccho học sinh, người giáo viên phải biết phân tích nội dung đó liên quan đếnnhững hoạt động nào Và một số hoạt động trong đó lại được phân tích thành
Trang 6những hoạt động thành phần Rồi căn cứ vào mục tiêu tiết học, trình độ họcsinh, trang thiết bị hiện có mà lựa chọn cho học sinh tập luyện và thực hiệnmột số những hoạt động tiềm tàng trong nội dung cần dạy Để học sinh có ýthức về ý nghĩa của những hoạt động, cần tạo động cơ học tập cho học sinh,
để học sinh học bằng sự hứng thú thực sự, nó được nảy sinh từ việc ý thức sâusắc ý nghĩa nội dung bài học, học bằng tất cả tính tích cực, độc lập và tráchnhiệm cao nhất của học sinh
Để thưc hiện được các mục đích trên cần phải đặt học sinh vào tìnhhuống có vấn đề để hướng đích cho học sinh Phải tập luyện cho học sinhnhững hoạt động ăn khớp với tri thức phương pháp Phải phân bậc hoạt động
để tuần tự nâng cao yêu cầu khi tình huống dạy học cho phép hoặc hạ thấpyêu cầu khi học sinh gặp khó khăn Hệ thống bài tập được phân bậc để họcsinh luyện tập tại lớp hoặc làm ở nhà
Lập trình Turbo Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ,đơn giản và dễ hiểu, ngôn ngữ lập trình Pascal đang được giảng dạy cho họcsinh lớp 8 Turbo Pascal là ngôn ngữ cơ sở để giới thiệu cho học sinh làmquen với kỹ thuật xây dựng chương trình Quan điểm của tác giả viết ngônngữ lập trình là chương trình máy tính được viết để giải quyết các bài toántrong đời sống Bằng cách đó học sinh sẽ dễ thấy hơn mối liên hệ chặt chẽ lậptrình và cuộc sống, cũng như lợi ích của việc lập trình để giải quyết các bàitoán bằng máy tính
Ngoài ra, nó cũng được dùng để trình bày nhiều chuyên đề khác nữacủa tin học trong những năm học tiếp theo Mỗi học sinh đến với bộ môn tin
Trang 7học ở cấp trung học sơ sở thường cảm thấy khó khăn trong kiến thức lập trình
* Khó khăn:
Nhà trường đã có một phòng máy vi tính, nhưng vẫn còn hạn chế về sốlượng cũng như chất lượng, mỗi ca thực hành có tới 2 đến 3 em ngồi chungmột máy nên các em không có nhiều thời gian để thực hành làm bài tập mộtcách đầy đủ Nhiều máy cấu hình đã cũ, chất lượng không còn đảm bảo hayhỏng hóc ảnh hưởng đến chất lượng học tập của học sinh
Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nênchưa có sự đầu tư thời gian cho việc học môn Tin học, một số em còn sử dụngmáy vi tính không đúng mục đích của môn học Một số em tiếp thu kiến thứccòn chậm, đặc biệt là kỹ năng đọc hiểu chương trình vì đa phần dùng ngônngữ Tiếng Anh
Đa phần phụ huynh học sinh làm nông nên sự quan tâm đến việc họccủa con em còn hạn chế, ít có điều kiện chăm sóc, giáo dục và định hướngcho con em trong việc học tập
Ngoài ra, ở chương trình Tin học 8, các em phải làm quen, tiếp cận vớingôn ngữ lập trình Pascal là một phần mềm có cấu trúc phức tạp, ngôn ngữlập trình bằng tiếng anh Mặt khác để thực hiện được một chương trình thì các
em phải có một kiến thức toán học nhất định
Trang 82.3 Các biện pháp đã tiến hành giải quyết vấn đề:
2.3.1 Các yêu cầu cơ bản của giáo viên:
Giáo viên cần phải nắm vững các phương pháp dạy học Tin học (theo
sự đổi mới: kết hợp giữa “ôn cũ giảng mới”, trong tiết dạy cần kết hợpphương pháp dạy “vừa lý thuyết, vừa thực hành” ) nhằm phát huy tính tíchcực, chủ động của học sinh trong học tập Để nâng cao chất lượng dạy họcmôn tin học, giáo viên phải tiếp cận nội dung bài và lựa chọn các phươngpháp, xây dựng hệ thống các dạng bài tập lập trình phù hợp với ba đối tượng:giỏi- khá, trung bình, yếu- kém Từ đó dẫn dắt học sinh tự khám phá kiếnthức, không thụ động ghi nhận kiến thức giáo viên cung cấp, phải có sự phốihợp giữa hoạt động dạy và hoạt động học trên cơ sở lấy học sinh làm trungtâm Để kích thích hứng thú học tập và hoạt động tích cực chủ động của họcsinh, giáo viên phải phối hợp nhuần nhuyễn, phù hợp các phương pháp dạyhọc đồng thời giáo viên phải tác động cho học sinh thấy được môn tin học
là cần thiết cho bản thân các em sau này
2.3.2 Các yêu cầu cơ bản của học sinh:
Học sinh phải xác định được sách giáo khoa là phương tiện chủ yếu đểhọc sinh học tập Bên cạnh đó, học sinh phải biết chọn lọc những tài liệu thamkhảo phù hợp để học tốt môn tin học Học sinh phải tích cực chủ động họctập, thực hiện các yêu cầu của giáo viên và chuẩn bị chu đáo ở nhà trước khiđến lớp Trong quá trình học tập, các em phải tư duy theo sự hướng dẫn gợi
mở của giáo viên, phải chủ động quan sát vấn đề, hiện tượng, phối hợp giảiquyết, khám phá ra nội dung bài học để thực hành vận dụng đạt hiệu quả cao
Học thì phải hành Thực hành là thước đo đánh giá tiếp nhận và vậndụng kiến thức Thực hành thông thường là áp dụng bài tập trên lớp và ở nhà
Vì vậy học sinh phải biết kết hợp lý thuyết với thực hành một cách thànhthạo
Trang 92.3.3 Biện pháp tiến hành:
a, Giới thiệu chung giúp học sinh nắm được về các thành phần cơ bản của ngôn ngữ lập trình Pascal
* Bộ chữ viết - Biểu thức- Câu lệnh - Từ khóa
- Bộ chữ viết: Bộ chữ viết trong Pascal gồm:
- Biểu thức (expression): là công thức tính toán mà trong đó bao gồm
các phép toán, các hằng, các biến, các hàm và các dấu ngoặc đơn
Trong một biểu thức, thứ tự ưu tiên của các phép toán được liệt kê theothứ tự sau:
+ Lời gọi hàm
+ Dấu ngoặc ()
+ Phép toán một ngôi (NOT, -)
+ Phép toán *, /, DIV, MOD, AND
+ Phép toán +, -, OR, XOR
+ Phép toán so sánh =, <, >, <=, >=, <>, IN
- Câu lệnh:
+ Câu lệnh đơn giản:
Câu lệnh gán (:=): <Tên biến>:=<Biểu thức>;
Lời gọi hàm, thủ tục
+ Câu lệnh có cấu trúc:
Câu lệnh ghép: BEGIN END;
Các cấu trúc điều khiển:
IF , CASE , FOR , REPEAT , WHILE
Trang 10biến kiểu BOOLEAN), ta sử dụng cú pháp sau đây:
READLN(<biến 1>, <biến 2>, ,<biến n>);
- Từ khóa: Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định,
không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từkhóa: Array, Begin, Const, Div, Do, Else, For, If, Mod, Program, String,Then, To, Var, While…
+ Từ khóa chung: PROGRAM, BEGIN, END
+ Từ khóa để khai báo như biến, hằng, mảng, xâu kí tự: VAR, CONST,ARRAY, STRING
+ Từ khóa của lệnh lựa chọn: câu điều kiện
IF … THEN … ELSE
+ Từ khóa của lệnh lặp với số lần biết trước:
FOR … TO … DO (đi từ giá trị nhỏ đến giá trị lớn)
FOR … DOWNTO … DO (đi từ giá trị lớn đến giá trị nhỏ)
+ Từ khóa của lệnh lặp với số lần chưa biết trước:
WHILE … TO
+ Từ khóa phép tính:
DIV: Chia lấy phần nguyên
MOD: Chia lấy phần dư
+ Lệnh dịch chương trình: ALT + F9
+ Lệnh chạy chương trình: CTRL +F9
Trang 11+ Để thay đổi vị trí lưu kết quả biên dịch trong bộ nhớ hay tạo tệp chạytrực tiếp ta dùng lệnh: Destination trong bảng chọn Complite
b Giới thiệu chung về các bước viết một chương của ngôn ngữ lập trình Pascal:
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 cụ thể thuộc cùngmột loại
Bài toán được cấu tạo từ các yếu tố cơ bản:
Thông tin vào Xử lý thông tin Thông tin ra
Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trênngôn ngữ Pascal thì cần thực hiện được các bước cụ thể như sau:
Bước 1 Xác định các bài toán:
Là xác định xem ta phải giải quyết vấn đề gì?, với giả thiết nào đã cho
và lời giải cần phải đạt những yêu cầu gì Khác với bài toán thuần tuý toánhọc chỉ cần xác định rõ giả thiết và kết luận chứ không cần xác định yêu cầu
về lời giải, vì thế từ phát biểu của bài toán, các em phải xác định được đâu làthông tin đã cho (Input) và đâu là thông tin cần tìm (Output) Xác định đúngyêu cầu bài toán là rất quan trọng bởi nó ảnh hưởng tới cách thức giải quyết
và chất lượng một lời giải Một bài toán thực tế thường cho những thông tinkhá mơ hồ và hình thức, ta phải phát biểu lại một cách chính xác và chặt chẽ
để hiểu đúng bài toán
Bước 2 Mô tả thuật toán:
Khi giải một bài toán ta cần phải định nghĩa tập hợp dữ liệu để biểudiễn tình trạng cụ thể Việc lựa chọn này tuỳ thuộc vào vấn đề cần giải quyết
và những thao tác sẽ tiến hành trên dữ liệu vào Có những thuật toán chỉ thíchứng với một cách tổ chức dữ liệu nhất định, đối với cách tổ chức dữ liệu khácthì kém hiệu quả và không thể thực hiện được Chính vì thế bước xây dựngcấu trúc dữ liệu không thể tách rời bước tìm kiếm thuật toán giải quyết vấn
đề Bởi thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác
Trang 12định một dãy thao tác trên cấu trúc dữ liệu sao cho: Với một bộ dữ liệu vào,sau một số hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được mục tiêu
đã định Từ đó tìm cách giải bài toán và diễn tả bằng các lệnh cần phải thựchiện
Bước 3 Viết chương trình:
Dựa vào mô tả thuật toán ở bước 2 trên, ta viết chương trình bằng mộtngôn ngữ lập trình mà các em đã học (Cụ thể là dùng ngôn ngữ lập trìnhTurbo Pascal để viết chương trình)
c Phân tích chi tiết nội dung cần viết chương trình:
- Xác định bài toán
- Tìm dữ liệu biểu diễn thuật toán
- Xây dựng thuật toán
- Viết chương trình
- Chạy thử, thay đổi, kiểm tra chương trình
* Xác định bài toán:
- Khái niệm bài toán: Bài toán là một công việc hay một nhiệm vụ cần
phải giải quyết
+ Vấn đề có nghĩa rộng hơn bài toán( là một loại vấn đề mà để giảiquyết phải liên quan ít nhiều đến tính toán: bài toán trong Vật lý, Hóa học,Sinh học…)
+ Có 2 loại vấn đề
Vấn đề được khẳng định tính đúng/ sai
Vấn đề cần tìm được giải pháp để đạt được một mục đích xác định từnhững điều kiện ban đầu nào đó
+ Biễu diễn vấn đề bài toán: A → B
Trong đó: A: Giả thiết, điều kiện ban đầu
B: Kết luận, mục tiêu cần đạt
+ Giải quyết vấn đề bài toán:
Từ A dùng một số hữu hạn, các bước suy luận có lý hoặc hành độngthích hợp để đạt được B
Trang 13 Trong Tin học: A là đầu vào, B là đầu ra.
- Quá trình giải bài toán trên máy tính: Bài toán trên máy cũng mang
đầy đủ các tính chất của bài toán tổng quát trên, nhưng nó lại được diễn đạttheo một các khác
+ A : là đưa thông tin vào – thông tin trước khi xử lý (Input )
+ B: là đưa thông tin ra – kết quả sau khi xử lý (Output)
+ : là chương trình tạo từ các câu lệnh cơ bản của máy tính cho phép
xử lý từ A đến B
- Xác định bài toán: Là xác định rõ 2 thành phần Input và Output và
mối quan hệ giữa chúng để có thể lựa chọn thuật toán và ngôn ngữ lập trìnhthích hợp
Ví dụ: Giải phương trình bậc nhất dạng tổng quát bx + c =0(SGK)
Các bước xác định cho bài toán:
+ Input : Các số b và c
+ Output : Nghiệm của phương trình bậc nhất
Ví dụ : Lần lượt đưa giá trị b, c vào ( b = 5,c = - 7)
Áp b = 0 và c = 0 thì phương trình có vô số nghiệm
Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm
Nếu b ≠ 0 thì phương trình có nghiệm x = -c/b;
Trang 14thì sẽ kém hiệu quả hoặc không thể thực hiện được Chính vì vậy nên bước xâydựng cấu trúc dữ liệu không thể tách rời bước tìm kiếm thuật toán giải quyết vấnđề.
- Các tiêu chuẩn khi lựa chọn dữ liệu:
+ Dữ liệu trước hết phải biểu diễn được đầy đủ các thông tin nhập vàxuất của bài toán
String Các dãy số tối đa 255 kí tự
+ Dữ liệu phải phù hợp với các thao tác của thuật toán mà ta lựa chọn
để giải quyết bài toán
* Xây dựng thuật toán:
- Khái niệm thuật toán:
Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo trình tự xácđịnh để thu được kết quả cần thiết từ những điều kiện cho trước
- Phương pháp biểu diễn thuật toán: Khi chứng minh hoặc giải một
bài toán trong toán học, chúng ta thường dùng những ngôn từ toán học như :
"ta có", "điều phải chứng minh", "giả thiết", và sử dụng những phép suyluận toán học như phép suy ra, tương đương, Thuật toán là một phươngpháp thể hiện lời giải bài toán nên cũng phải tuân theo một số quy tắc nhấtđịnh Ðể có thể truyền đạt thuật toán cho người khác hay chuyển thuật toánthành chương trình máy tính, ta phải có phương pháp biểu diễn thuật toán Có
3 phương pháp biểu diễn thuật toán:
+ Dùng ngôn ngữ tự nhiên
+ Dùng lưu đồ - sơ đồ khối
+ Dùng mã giả
- Các tiêu chí thuật toán cần thỏa mãn:
+ Tính hữu hạn: Giải thuật phải dừng lại sau một số bước hữu hạn
Trang 15+ Tính dừng: Khi kết thúc giải thuật phải cung cấp kết quả đúng đắn.+ Tính hiệu quả: Thời gian tính toán nhanh.
+ Sử dụng ít tài nguyên không gian như: bộ nhớ, thiết bị
+ Mang tính phổ dụng: dễ hiểu, dễ cài đặt và mở rộng cho các bài toánkhác
- Phân loại thuật toán
+ Phân loại theo cài đặt
+ Phân loại theo thiết kế
+ Phân loại theo lĩnh vực nghiên cứu
Không làm nổi bật cấu trúc thuật toán
Khó biểu diễn với các bài toán phức tạp
Ví dụ: Bài toán giải phương trình bậc nhất 1 ẩn ax+b=0
Bước 1: Nhập a, b
Bước 2: Nếu a = 0 thì
Bước 2.1 Nếu b = 0 thì phương trình vô số nghiệm
Bước 2.2 Nếu b ≠ 0 thì phương trình vô nghiệmBước 3 Nếu a ≠ 0 thì phương trình có nghiệm x= - b/a
Bước 4 Đưa ra giá trị nghiệm x
Bước 5 Kết thúc
- Lưu đồ - sơ đồ khối
Trang 16+ Lưu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuậttoán Biểu diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi được sựphân cấp các trường hợp và quá trình xử lý của thuật toán Phương pháp lưu
đồ thường được dùng trong những thuật toán có tính rắc rối, khó theo dõiđược quá trình xử lý
+ Ðể biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loạithao tác
Một thao tác là thao tác chọn lựa dựa theo một điều kiện nào đó
Các thao tác không thuộc loại chọn lựa được xếp vào loại hành động
+ Ưu điểm
Trực quan, dễ hiểu, dễ thiết kế
Cung cấp toàn cảnh, tổng quan về thuật toán
+ Nhược điểm
Cồng kềnh, đặc biệt đối với bài toán phức tạp
Một số khối trong sơ đồ khối dùng để biểu diễn thuật toán.
Trang 17+ Cấu trúc tuần tự: Các bước thực hiện theo một trình tự, hết bước này tới bước khác.
+ Cấu trúc rẽ nhánh:
Nếu biểu thức điều kiện đúng, thực hiện công việc 1
Nếu biểu thức điều kiện sai, thực hiện công việc 2