Viết thủ tục giải phương trình bậc 2
Show
Viết chương trình giải phương trình bậc hai với yêu cầu sử dụng các chương trình con để giải quyết các trường hợp xãy ra của delta. PROGRAM Tên_chương_trình; USES CRT; CONST ............; VAR ............; PROCEDURE THUTUC[(Các tham số)]; [Khai báo Const, Var] BEGIN .............. END; FUNCTION HAM[(Các tham số)]: [Khai báo Const, Var] BEGIN .............. HAM:= END; BEGIN {Chương trình chính} ................... THUTUC[(...)]; ................... A:= HAM[(...)]; ................... END. Chương trình con (CTC) là một đoạn chương trình thực hiện trọn vẹn hay một chức năng nào đó. Trong Turbo Pascal, có 2 dạng CTC:
Ngoài ra, trong Pascal còn cho phép các CTC lồng vào nhau. Trong quá trình xây dựng CTC, khi nào thì nên dùng thủ tục/hàm?
Nhận xét: Chương trình con cho phép chia nhỏ công việc nhằm đơn giản hoá. Ngoài ra một công việc nào đó lặp lại nhiều lần trong chương trình nên dùng CTC vì khi đó mã chương trình sẽ gọn, dễ theo dõi, gỡ rối hơn.
Viết chương trình giải phương trình bậc hai: Ax2 + Bx +C = 0 Yêu cầu: Viết chương trình với mỗi trường hợp sử dụng IF – ELSE và SWITCH CA Mục tiêuLàm quen với Cấu trúc rẽ nhánh if – else và Cấu trúc rẽ nhánh Switch case. Hướng dẫnBài tập mang tính tham khảo, hỗ trợ các bạn làm quen và luyện tập với các bàn toán lập trình từ cơ bản đến nâng cao trong C#. Để đảm bảo kiến thức về bài tập này, bạn nên xem qua bài: Bài tập sẽ được hướng dẫn chi tiết qua các Live Stream tương tác hằng ngày tại Channel
Kteam khuyến khích các bạn tự phân tích đề bài > tự giải bài toán > debug để kiểm tra kết quả và fix lỗi trong quá trình giải. Sau đó, bạn có thể tham khảo source code mẫu hoặc video hướng dẫn để hoàn chỉnh bài tập. Để được hỗ trợ tốt nhất, bạn có thể đặt câu hỏi ở phần BÌNH LUẬN bên dưới bài viết hoặc ở mục HỎI & ĐÁP. Source code tham khảousing System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CSharp_Bai13 { class Program { static void Main(string[] args) { Console.OutputEncoding = Encoding.UTF8; Console.WriteLine("Nhập vào A: "); float a = float.Parse(Console.ReadLine()); Console.WriteLine("Nhập vào B: "); float b = float.Parse(Console.ReadLine()); Console.WriteLine("Nhập vào C: "); float c = float.Parse(Console.ReadLine()); float delta = (b/2) * (b/2) - a * c; Console.WriteLine("Phương trình nhập vào là:\n {0}x*x + {1}x + {2} = 0", a,b,c); Console.WriteLine("Delta phẩy = {0}", delta); /* if (delta < 0) { Console.WriteLine("Chương trình vô nghiệm"); } else if (delta == 0) { float x = (-b/2)/a; Console.WriteLine("Phương trình có nghiệm kép x1 = x2 = {0}", x); } else { double x1 = 0; double x2 = 0; x1 = ((-b / 2) - Math.Sqrt(delta)) / a; x2 = ((-b / 2) + Math.Sqrt(delta)) / a; Console.WriteLine("Phương trình có 2 nghiệm phân biệt: "); Console.WriteLine("x1 = {0}", x1); Console.WriteLine("x2 = {0}", x2); } */ switch (delta <0) { case true: Console.WriteLine("Chương trình vô nghiệm"); break; case false: switch (delta == 0) { case true: float x = (-b / 2) / a; Console.WriteLine("Phương trình có nghiệm kép x1 = x2 = {0}", x); break; default: double x1 = 0; double x2 = 0; x1 = ((-b / 2) - Math.Sqrt(delta)) / a; x2 = ((-b / 2) + Math.Sqrt(delta)) / a; Console.WriteLine("Phương trình có 2 nghiệm phân biệt: "); Console.WriteLine("x1 = {0}", x1); Console.WriteLine("x2 = {0}", x2); break; } break; } Console.ReadKey(); } } }Tải projectNếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới! Kết luậnBạn có thể củng cố kiến thức C# từ các khóa học tại LẬP TRÌNH C#.NET với rất nhiều khóa học từ cơ bản đến nâng cao, kèm theo các dự án thực tế như làm game, làm phần mềm quản lý. Hoặc tìm hiểu thêm các bài tập khác trong khóa BÀI TẬP LẬP TRÌNH. Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên: “ Luyện tập – Thử thách – Không ngại khó!” Thảo luậnNếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.
60 điểm NguyenChiHieu
Viết chương trình giải phương trình bậc hai với yêu cầu sử dụng các chương trình con để giải quyết các trường hợp xãy ra của delt Tổng hợp câu trả lời (1)
Program Giai_PT_bac_hai; uses crt; var a,b,c,delta:real; {----------------------} Procedure delta_duong; begin write('Phuong trinh co hai nghiem x1=',(-b+sqrt(delta))/(2*a),'x2=',(-b+sqrt(delta))/(2*a)); end; {---------------------} Procedure delta_khong; begin write('Phuong trinh co nghiem kep x=',-b/(2*a):3:1); end; {--------------------} Procedure delta_am; begin writeln('Phuong trinh vo nghiem'); end; {Chuong trinh chinh} Begin clrscr; write('Nhap a: ');readln(a); write('Nhap b: ');readln(b); write('Nhap c: ');readln(c); delta:=b*b-4*a*c; if delta>0 then delta_duong else if delta = 0 then delta_khong else delta_am; readln end. Tham khảo giải bài tập hay nhấtLoạt bài Lớp 11 hay nhấtxem thêm |