Tôi đã trăn trở rất nhiều “Làm thế nào để học sinh có thể giải quyết một bài toán đơn giản bằng ngôn ngữ lập trình pascal, có thể phát hiện và tự sửa lỗi của bài toán” và tôi đã lồng ghé
Trang 11 MỞ ĐẦU
1.1 Lý do chọn đề tài.
Lâu nay khi tôi dạy phần thuật toán tin học 10, hay phần lập trình tin học
11 học sinh cảm thấy rất trừu tượng, nhất là phần thuật toán Nếu tách rời 2 phần này ra thì học sinh sẽ khó học thuật toán cũng như lập trình Tôi đã trăn trở rất
nhiều “Làm thế nào để học sinh có thể giải quyết một bài toán đơn giản bằng ngôn ngữ lập trình pascal, có thể phát hiện và tự sửa lỗi của bài toán” và tôi
đã lồng ghép phần thuật toán trong dạy học phần “Câu lệnh rẽ nhánh” Nó là
một phần học dễ tạo hứng thú cho học sinh nhất vì học sinh có thể lấy những ví
dụ từ thực tế cuộc sống hàng ngày, trong học tập Ngoài ra tôi còn lấy thêm một
số ví dụ đơn giản hơn so với trong sách giáo khoa để học sinh nắm được cách xây dựng thuật toán và từ thuật toán có thể sử dụng ngôn ngữ lập trình pascal để giải quyết bài toán đó
Hiện nay có nhiều học sinh rất muốn khám phá môn học mới này nhưng vì không biết phải bắt đầu từ đâu Để có thể giúp học sinh khắc phục những hạn chế trong quá trình học phần tin học lập trình pascal Vì vậy tôi đã chọn đề tài:
“Giải pháp tạo hứng thú học lập trình cho học sinh khi học bài cấu trúc rẽ nhánh – Tin học 11”
1.2 Mục đích nghiên cứu.
Chương trình tin học 11 là chương trình khá khó đối với học sinh THPT Mục tiêu của chương trình tin học 11 là nhằm trang bị cho học sinh một số khái niện cơ bản về lập trình và ngôn ngữ lập trình bậc cao (pascal)
Thông qua việc hướng dẫn cho học sinh vận dụng phần câu lệnh rẽ nhánh trong giải quyết một số bài toán đơn giản, để từ đó tạo cho học sinh hứng thú học lập trình pascal Học sinh có thể tự giải quyết các bài toán thực tế, những bài toán từ dễ đến khó
Hiểu thế nào là rẽ nhánh, các loại rẽ nhánh Vận dụng câu lệnh rẽ nhánh vào giải quyết một số bài toán đơn giản
Các kiến thức trên góp phần phát triển khả năng tư duy khi giải quyết các vấn đề trong khoa học cũng như trong cuộc sống
Học sinh có thể giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng được các kiến thức về thuật toán, cấu trúc dữ liệu, ngôn ngữ lập trình cụ thể
Bài cấu trúc rẽ nhánh là một nội dung phù hợp nhất cho học sinh làm quen
để giải quyết các bài toán đơn giản sau khi học cấu trúc chương trình
Kết hợp phần thuật toán – tin 10 trong quá trình giảng dạy cho học sinh hay nói đúng hơn là trước khi giải một bài toán bằng ngôn ngữ lập trình thì cần phải yêu cầu học sinh xây dựng thuật toán Như vậy sẽ phát hiện lỗi nhanh và không làm cho học sinh cảm thấy chán nãn, học sinh có thể chạy được một số chương trình đơn giản phù hợp với mọi đối tượng học sinh
Dựa trên kiến thức đã học trước đó như: thuật toán (tin học 10), cấu trúc một số ví dụ đơn giản để học sinh biết cách xác định Input, Output trước khi học phần câu lệnh rẽ nhánh Từ đó tôi nhận thấy học sinh hứng thú hơn trong khi
Trang 2học lập trình và phát hiện ra lỗi của chương trình tốt hơn, các bước thực hiện rõ ràng
1.3 Đối tượng nghiên cứu.
Phần ngôn ngữ lập trình pascal là một phần học có thể nói là khó Các kiến thức trong phần học này góp phần phát triển khả năng tư duy khi giải quyết các vấn đề trong khoa học cũng như trong cuộc sống, hình thành một số kĩ năng trong việc giải quyết bài toán bằng ngôn ngữ lập trình; cách dùng biến, khởi tạo các giá trị biến…Vì vậy tôi thấy rằng cần giúp học sinh tạo cho mình một số kĩ năng học tin học nhất là tin học lập trình ở chương trình tin 11 mà học sinh không có cảm giác sợ học hay chán nãn với sự khô khan của nó và tôi đã bước đầu sử dụng kết hợp một số giải pháp trong quá trình dạy phần câu lệnh rẽ nhánh tin học 11 để cho học sinh không còn những suy nghĩ đó trong giờ học tin
học Vì vậy đề tài của tôi là: “Giải pháp tạo hứng thú học lập trình cho học sinh khi học bài câu lệnh rẽ nhánh – Tin học 11”.
Tôi đã thực hiện kết hợp dạy lồng ghép kiến thức “Thuật toán” và “Rẽ nhánh” trong bài dạy, bên cạnh đó tôi lấy thêm nhiều ví dụ phù hợp với đối tượng học sinh của từng lớp tôi đã áp dụng cho lớp cơ bản A, cơ bản C… và thật sự thấy có hiệu quả tốt Học sinh chủ động hơn trong quá trình học lý thuyết cũng như trong giờ thực hành Nhằm phát huy được tính chủ động, sáng tạo của học sinh Đáp ứng được yêu cầu đánh giá giờ dạy theo 12 tiêu chí công văn 572 của Sở GD&ĐT Thanh Hóa
1.4 Phương pháp nghiên cứu.
Tìm hiểu đối tượng học sinh của từng lớp, thuyết trình, hướng dẫn học sinh theo hướng học sinh chủ động Có thể kết hợp cả các biện pháp khuyến khích như cho điểm cao để học sinh hứng thú và hăng say phát biểu bài hơn Cho những ví dụ thực tế phù hợp với các nhóm đối tượng học sinh (Giỏi, khá, trung bình, yếu), ứng dụng phương pháp dạy học theo NCBH trong các tiết dạy Có thể nói đây là một nội dung khó vì vậy cần kết hợp nhiều biện pháp để hướng dẫn cho học sinh giải quyết các thuật toán từ dễ đến khó, không tạo cho học sinh
áp lực dẫn đến chán nãn trong quá trình học phần này
Tôi đã sử dụng một số phương pháp nghiên cứu chẳng hạn như:
Phương pháp nghiên cứu xây dựng cơ sở lý thuyết Tôi vận dụng ghép phần thuật toán đã học ở lớp 10 cùng kết hợp với phần lý thuyết câu lệnh rẽ nhánh Phương pháp dạy học theo nhóm
Phương pháp điều tra khảo sát thực tế, thu thập thông tin
Phương pháp thống kê, xử lý số liệu Học sinh phải tự cho một bài toán trong thực tế, và giải quyết bài toán đó
Ví dụ như: bài sắp xếp học sinh trong từng lớp (mỗi lớp chỉ được tối đa 40 học sinh)
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận của sáng kiến kinh nghiệm.
Trang 3Hầu hết học sinh khối 11 khi học phần tin học pascal đều cảm thấy “khó”,
vì nó liên quan đến rất nhiều môn học như: Toán, lý, anh Môn học này yêu cầu cao về tư duy, logic, kiến thức quan trọng của tin học 10 có liên quan đến phần học này đó là “Bài toán và thuật toán” thì đa phần học sinh không còn nhớ kiến
thức đó Vì vậy tôi đã trăn trở rất nhiều “Làm thế nào để học sinh hứng thú học tập phần tin học pascas” và tôi đã quyết định vận dụng những kinh nghiệm của mình trong dạy học phần cấu trúc rẽ nhánh Nó là một phần học dễ tạo
hứng thú cho học sinh nhất vì học sinh có thể lấy những ví dụ từ thực tế cuộc sống hàng ngày, trong học tập
Tin học 11 nó có liên quan kiến thức đến cả toán, lý, tiếng anh và yêu cầu cao của môn học về tư duy, logic Vì thế để các em có hứng thú học phần tin học lập trình là cả một vấn đề Tôi đã áp dụng một số kinh nghiệm vào quá trình giảng dạy tại lớp, và đầu tiên đó là phần câu lệnh rẽ nhánh vì phần này có thể dễ dàng khơi gợi lòng ham thích học lập trình của học sinh, rèn luyện một số phẩm chất cần thiết của người lập trình như: cẩn thận, chu đáo, sáng tạo, không thỏa mãn với kết quả đạt được…Điều này thể hiện trong suốt quá trình từ khi phân tích bài toán cho đến khi lựa chọn dữ liệu, viết chương trình, dịch và sửa lỗi… Cải tiến tích ứng của các bộ dữ liệu và trạng thái của bài toán khác nhau
Học sinh có thể hiểu được cấu trúc rẽ nhánh là gì? “Là lựa chọn công việc phù hợp với điều kiện” [3] Nhu cầu của cấu trúc rẽ nhánh trong biều diễn thuật
toán, sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một bài toán đơn giản, viết được câu lệnh rẽ nhánh dạng thiếu và dạng đủ, áp dụng để thể hiện được thuật toán của một bài toán đơn giản
Theo tôi muốn cho giờ học đạt kết quả tốt, học sinh nắm bài tốt và có thể vận dụng nó trong quá trình lập trình giải bài toán trên máy tính bằng chương trình PASCAL thì cần phải có tiết dạy tốt Vậy theo bạn thế nào là tiết dạy tốt? Theo tôi tiết dạy tốt là học sinh phải hăng hái học tập, hăng say phát biểu bài, giải quyết tốt những vấn đề mà giáo viên đặt ra Để làm được điều này tôi đã áp dụng một số biện pháp trong tiết dạy nội dung bài cấu trúc rẽ nhánh tại các lớp như sau:
Yêu cầu học sinh nắm được ý nghĩa của cấu trúc rẽ nhánh: Cấu trúc rẽ
nhánh là một điều khiển chọn thực hiện hay không thực hiện công việc phù hợp một điều kiện đang xảy ra [3]
Hai dạng của câu lệnh rẽ nhánh: dạng thiếu và dạng đủ
Câu lệnh ghép là gì? Là dãy lệnh cần thực hiện sau “then” hoặc “else”.
[3] Có thể vận dụng câu lệnh ghép trong giải bài toán
Áp dụng thực hiện làm một số ví dụ thực tế do giáo viên giao và ví dụ trong SGK.
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Mục tiêu của chương trình tin học 11 là nhằm trang bị cho học sinh một số khái niện cơ bản về lập trình và ngôn ngữ lập trình bậc cao (pascal) Học sinh có thể giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng được các kiến thức về thuật toán, cấu trúc dữ liệu, ngôn ngữ lập trình cụ thể [2]
Trang 4Bài cấu trúc rẽ nhánh là một nội dung phù hợp nhất cho học sinh làm quen
để giải quyết các bài toán đơn giản sau khi học cấu trúc chương trình
Kết hợp phần thuật toán – tin 10 trong quá trình giảng dạy cho học sinh hay nói đúng hơn là trước khi giải một bài toán bằng NNLT thì cần phải yêu cầu học sinh xây dựng thuật toán Như vậy sẽ phát hiện lỗi nhanh và không làm cho học sinh cảm thấy chán nãn, học sinh có thể chạy được một số chương trình đơn giản phù hợp với mọi đối tượng học sinh
Trước khi tôi áp dụng một số giải pháp theo kinh nghiệm dạy học của mình tôi thấy học sinh không hứng thú với phần tin học lập trình 11 Vì vậy tôi đã mạnh dạn áp dụng một số giải pháp dạy học bắt đầu từ phần “Cấu trúc rẽ nhánh” cho học sinh để nâng cao hiệu quả học tập và tôi nhận thấy kết quả học tập tại các lớp tốt hơn nhiều, học sinh ham thích học tin học lập trình hơn
Nội dung học phần tin học 11 là phần học khá khó, vì vậy với nội dung trong SGK học sinh rất khó hiểu, từ đó sẽ dẫn đến tình trạng ngại học Kinh nghiệm của tôi sau nhiều năm dạy tin học nhất là phần lập trình, dạy phần này cần tạo cho học sinh hứng thú học cần thiết Trong SGK tin 11 trong phần cấu trúc rẽ nhánh cho học sinh học một số ví dụ ban đầu không phù hợp với học sinh Vì vậy tôi đưa ra một số ví dụ có yêu cầu thấp hơn, dễ dàng giải quyết với học sinh hơn và kết hợp cả các biện pháp khuyến khích như cho điểm cao để học sinh hứng thú và hăng say phát biểu bài hơn Từ đó có thể giải quyết các ví
dụ trong SGK
2.3 Các kinh nghiệm đã áp dụng để giải quyết vấn đề.
Theo tôi muốn cho giờ học đạt kết quả tốt, học sinh nắm bài tốt và có thể vận dụng nó trong quá trình lập trình giải bài toán trên máy tính bằng chương trình Pascal thì cần phải có tiết dạy tốt Vậy theo bạn thế nào là tiết dạy tốt? Theo tôi tiết dạy tốt là học sinh phải hăng hái học tập, hăng say phát biểu bài, giải quyết tốt những vấn đề mà giáo viên đặt ra Để làm được điều này tôi đã áp dụng một số biện pháp trong tiết dạy nội dung bài câu lệnh rẽ nhánh tại các lớp như sau:
Tôi đã thực hiện lồng ghép các phương pháp dạy học vào với nhau trong các tiết dạy thuật toán
Cho ví dụ phù hợp với nhóm đối tượng học sinh không nhất thiết phải áp dụng ví dụ trong SGK
Ứng dụng phương pháp dạy học theo NCBH, học sinh làm việc theo nhóm Tôi đã thực hiện kết hợp dạy lồng ghép kiến thức “Thuật toán” và “Rẽ nhánh” trong bài dạy, bên cạnh đó tôi lấy thêm nhiều ví dụ phù hợp với đối tượng học sinh của từng lớp
Trước tiên tôi yêu cầu học sinh nêu lại các hình khối và tác dụng của nó:
Ô van Thể hiện thao tác nhập, xuất dữ liệu
Chữ nhật Thể hiện thao tác tính toán
Trang 5Thoi Thể hiện thao tác so sánh, điều kiện.
Mũi tên Thể hiện bước thực hiện tiếp theo
Sau khi ôn lại khối sử dụng trong thuật toán, tôi yêu cầu học sinh giải quyết một số bài toán đơn giản để có thể xác định lại cấu trúc của một chương trình pascal
Ví dụ 1: Nhập số nguyên dương A cho hiện số A vừa nhập ra màn hình
I: A
O: A
Nêu câu hỏi với học sinh:
?Chương trình này gồm mấy phần?
? để giải quyết bài toán này có cần khai báo biến không?
?Để dừng chương trình xem kết quả cần sử dụng lệnh nào?
Begin Readln(A);
Writeln( A);
Readln End
Yêu cầu: HS tự xác định biến và bổ
sung phần khai báo
Chú ý: Nhắc cho học sinh nhớ phần thuật toán chính là phần thân của chương trình Từ đó yêu câu học sinh xác định biến dùng trong chương trình
và bổ sung phần khai báo cho hoàn thiện chương trình.
Ví dụ 2 Nhập a,b nguyên dương Tính tổng a và b.
I: a, b
O: s
Nhập A
A, kết thúc
Trang 6Thuật toán Chương trình
Begin Readln(a,b) S:=a+b;
Writeln(s);
End
Yêu cầu: HS tự xác định biến và bổ
sung phần khai báo
Ví dụ 3 Cho số nguyên dương A kiểm tra xem A có phải là số lẻ không Nếu là
số chẵn yêu cầu nhập lại, nếu là số lẻ cho hiện ra kết quả [7]
I: A
O: A( lẻ)
Sau khi xác định bài toán và xây dựng được thuật toán tôi yêu cầu học sinh đưa ra nhận xét (tính gợi mở) bài này kiểm tra điều kiện của A, điều kiện thì có
2 trường hợp đúng(T) hoặc sai(F).Vì vậy từ đó tôi đi vào truyền đạt kiến thức về
rẽ nhánh cho học sinh trước khi yêu cầu học sinh viết chương trình
Tác dụng của cấu trúc rẽ nhánh:
Nhiệm vụ 1: Cho học sinh quan sát hoạt động của một số phần mềm, hệ thống
trong thực tế có sử dụng cấu trúc rẽ nhánh Từ đó rút ra vai trò và ý nghĩa của cấu trúc rẽ nhánh
Khi đăng nhập vào Facebook, hệ thống của Facebook sẽ kiểm tra xem tài khoản và mật khẩu có đúng không Nếu nhập tài khoản và mật khẩu đúng, em sẽ được chuyển vào trang chủ có địa chỉ tường nhà và nhiều liên kết khác Nếu tài khoản hoặc mật khẩu không hợp lệ, Facebook sẽ gửi thông báo "tài khoản hoặc mật khẩu không chính xác", và yêu cầu nhập lại
Vậy thao tác kiểm tra tài khoản và mật khẩu khi đăng nhập và quyết định tác vụ tiếp theo của Facebook được gọi là rẽ nhánh hoạt động của phần mềm máy tính
Nhiệm vụ 2: Tìm hiểu sơ đồ thuật toán câu lệnh điều kiện Vẽ sơ đồ thuật toán
chương trình giải phương trình bậc 2
o Tham khảo lại bài 4, sách Tin học 10 để xem lại kiến thức về thuật toán
và vẽ sơ đồ khối (sơ đồ thuật toán)
S a+b
S, kết thúc Nhập a,b
Trang 7Điều kiện Câu lệnh
o Tham khảo hình 4, trang 39, bài 9, sách Tin học 11 để xem sơ đồ thuật toán chương trình giải phương trình bậc 2
o Chỉ ra các tình huống liên quan đến rẽ nhánh của chương trình giải phương trình bậc 2
Trong sơ đồ khối, người ta sử dụng 4 ký hiệu chính để diễn tả thuật toán của chương trình:
o Hình ô van: thể hiện thao tác nhập, xuất dữ liệu
o Hình chữ nhật: thể hiện thao tác tính toán
o Hình mũi tên: thể hiện bước thực hiện tiếp theo
o Hình thoi: thể hiện điều kiện thực hiện lệnh tiếp theo (rẽ nhánh)
Các tình huống liên quan đến rẽ nhánh của chương trình giải phương trình bậc 2 căn cứ theo giá trị của delta
Nhiệm vụ 3: Tìm hiểu về cấu trúc lệnh rẽ nhánh trong ngôn ngữ Pascal
Tham khảo cấu trúc lệnh rẽ nhánh dạng thiếu và đủ của ngôn ngữ Pascal trong bài 9, sách Tin học 11 (trang 39 và 40) Dưới đây là thông tin trợ giúp các
em tìm hiểu bài học
a) Cấu trúc rẽ nhánh dạng thiếu:
IF <ĐIỀU KIỆN> THEN <CÂU LỆNH>; [1]
Sơ đồ thực hiện:
Ý nghĩa của cấu trúc lệnh: nếu biểu thức điều kiện giữa IF và THEN có giá trị TRUE thì câu lệnh sau THEN sẽ được thực hiện [1]
Giáo viên chạy chương trình ví dụ để thử cấu trúc lệnh:
Program vidu1;
Var
a : integer;
Begin
write('Nhap a:'); readln(a);
if (a mod 2) = 0 then writeln('a la so chan');
readln
End
Đ
S
Trang 8Điều kiện Câu lệnh 2 Câu lệnh 1
o Hãy nhập với a = 10; sau đó với a = 5 và nhận xét kết quả trên màn hình?
o Hãy chỉ ra câu lệnh rẽ nhánh trong chương trình, chỉ ra biểu thức điều kiện, và câu lệnh được thực hiện
o Lệnh rẽ nhánh trong chương trình có chức năng gì?
b) Cấu trúc rẽ nhánh dạng đủ
IF <ĐIỀU KIỆN> THEN <CÂU LỆNH 1> ELSE <CÂU LỆNH 2>; [1]
Chú ý: sau câu lệnh 1 không có dấu chấm phẩy (;) Dấu chấm phẩy sau câu lệnh 2.
Sơ đồ thực hiện:
Ý nghĩa của cấu trúc lệnh: Nếu điều kiện đúng (TRUE) thì chạy câu lệnh sau THEN (câu lệnh 1), ngược lại điều kiện sai (FALSE) thì chạy câu lệnh 2 sau ELSE
Giáo viên chạy chương trình ví dụ để thử cấu trúc lệnh:
Program vidu2;
Var
a : integer;
Begin write('Nhap a:'); readln(a);
if (a mod 2) = 0 then write('a la so chan') else
write('a la so le');
end
o Hãy nhập với a = 10; sau đó với a = 5 và nhận xét kết quả trên màn hình?
o Hãy chỉ ra câu lệnh rẽ nhánh trong chương trình, chỉ ra biểu thức điều kiện, và câu lệnh được thực hiện
o Lệnh rẽ nhánh trong chương trình có chức năng gì?
Từ đó học sinh có thể tự xác định được “Điều kiện là một biểu thức quan hệ hoặc biểu thức Logic”
c) Câu lệnh ghép.
Tham khảo SGK, mục "câu lệnh ghép" của bài học để biết cách xây dựng câu lệnh ghép và ý nghĩa của câu lệnh ghép
Trang 9<dãy lệnh>
End; [1]
o Câu lệnh ghép được xây dựng từ các câu lệnh bằng cách đặt giữa 2 từ khóa: "Begin" và "End;"
o Câu lệnh ghép được xem như 1 câu lệnh, do đó có thể dùng sau "Then" hoặc "Else"
Ví dụ: khi cho bài tính nghiệm của phương trình bậc 2 với D>0 [6]
Học sinh phải xác định được D >0 là điều kiện (True) thì tính nghiệm bằng công thức:
X1=(-b-sqrt(D))/(2*a);
X2=(-b+sqrt(D))/(2*a);
Vậy 2 lệnh tính nghiệm này là của trường hợp D>0 Như vậy phải tạo lệnh ghép nếu không câu lệnh sau điều kiện chỉ là tính X1
Sau khi học xong lí thuyết nội dung cấu trúc rẽ nhánh tôi yêu cầu học sinh quay lại làm ví dụ 3.
…
Begin Readln(a);
If a mod 2 <> 0 then writeln(‘a le:’, a);
If a mod 2 = 0 then readln(a); End
Hoặc
…
Begin Readln(a);
If a mod 2 <> 0 then writeln(‘a le:’, a) else readln(a);
End
Yêu cầu học sinh: trong giờ thực hành đưa ra nhận xét kết quả của chương trình Nêu cách khắc phục.
Vì đối tượng học sinh trong một lớp không đồng đều, nhiều học sinh sẽ cảm thấy nãn khi học pascal nên tôi đã hướng dẫn cho học sinh cách học pascal một cách dễ nhất, trong quá trình lập trình tôi chỉ yêu cầu học sinh học một số kiều dữ liệu chuẩn hay sử dụng nhất, từ đó học sinh xác định tốt kiểu dữ liệu dùng trong chương trình với phạm vi và dung lượng thích hợp
Nhập a
A mod 2 ≠0?
A lẻ, kết thúc
Đ
S
Trang 10Chẳng hạn:
Kiểu nguyên gồm: byte, interger
Kiều thực: real
Kiểu kí tự: char
Kiểu logic: boolean
Từ đó học sinh các thể thực hiện tốt các ví dụ có phạm vi dữ liệu
Lưu ý cho học sinh khi chọn kiểu dữ liệu cần chú ý dung lượng bộ nhớ (phạm vi) Nên chọn kiểu dữ liệu nào phù hợp mà phạm vi nhỏ nhất.
Chẳng hạn như ví dụ trên Có học sinh chọn kiểu integer, có học sinh chọn byte Khi đó giáo viện cần phân tích cho học sinh nên chọn kiểu nào phù hợp nhất.
Ví dụ: Cho số nguyên dương A (5<A<=100) Xác đinh kiểu dữ liệu của
A (A thuộc kiểu dữ kiệu Byte)
Áp dụng những kiến thức đã học tôi bắt đầu cho học sinh làm các ví dụ trong sách giáo khoa
d) Một số ví dụ
Ví dụ 1: Tìm nghiệm của phương trình bậc 2 [1,6,7]
ax2 + bx + c =0 (a≠0) (0 < a,b,c ≤ 9)
… Begin Readln(a,b,c);
D:=b*b – 4*a*c;
If D<0 then writeln(‘PTVN’);
If D>=0 then Begin
X1 = (-b-sqrt(D))/(2*a);
X2 = (-b+sqrt(D))/(2*a); Writeln(X1:4:2, X2:4:2); End;
Readln End
Hoặc:
… Begin Readln(a,b,c);
D:=b*b – 4*a*c;
If D<0 then writeln(‘PTVN’) else
Begin
X1 = (-b-sqrt(D))/(2*a);
X2 = (-b+sqrt(D))/(2*a); Writeln(X1:4:2, X2:4:2); End;
Nhập a,b,c
D b*b-4*c*c
Vô nghiệm Kết thúc
X1 (-b-sqrt(D))/(2*a)
X2 (-b+sqrt(D))/(2*a)
X 1 , X 2 , kết thúc
S