CÁC BÀI TOÁN SỬ DỤNG CHƯƠNG TRÌNH CON (P1). | Hòa's Blog
Có thể bạn quan tâm
CÁC BÀI TOÁN SỬ DỤNG CHƯƠNG TRÌNH CON (P1).
Bài 1: Giải phương trình bậc 2: ax2+bx+c=0; với a,b,c được nhập vào từ bàn phím.
Cách 1: Chúng ta sẽ sử dụng thủ tục để thực hiện công việc tính Delta và nghiệm nếu có.
Trong thủ tục này chúng ta lưu ý: Các biến chúng ta sử dụng là biến toàn cục, nên công việc tính Delta và tính nghiệm sẽ được thực hiện trong chương trình con và kết quả sẽ được mang ra ngoài thủ tục để phục vụ cho công việc xét nghiệm.
{This code Created by hoana2007}
{Giai phuong trinh bac 2}
Program GiaiPTB2;
uses wincrt;
var a,b,c,x1,x2,Delta:real;
{Thu tuc tinh Delta va nghiem}
Procedure PTB2;
var r:real;
begin
Delta := sqr(b)-4*a*c;
if Delta >= 0 then
Begin
r := Sqrt(Delta);
x1 := (-b-r)/(2*a);
x2 := (-b+r)/(2*a);
end;
end;
{Than chuong trinh chinh}
Begin
Writeln(‘Nhap 3 he so: a,b,c(Moi so cach nhau mot dau cach)’); readln(a,b,c);
PTB2;
if Delta < 0 then write(‘Phuong trinh vo nghiem’)
else
If Delta = 0 then Write(‘Phuong trinh co 1 nghiem: ‘, x1:10:2)
else writeln(‘Phuong trinh co 2 nghiem: x1 = ‘, x1:10:2 ,’***** x2 = ‘, x2:10:2);
readln;
end.
Cách 2: Chúng ta có thể sử dụng hàm để tính giá trị của Delta sau đó sẽ dùng hàm này để thực hiện việc xét nghiệm cho phương trình, các biến a,b,c,x1,x2 vẫn là các biến toàn cục.
{This code Created by hoana2007}
{Giai phuong trinh bac 2}
Program GiaiPTB2;
uses wincrt;
var a,b,c,x1,x2,r:real;
{Thu tuc tinh Delta va nghiem}
Function Delta:real;
begin
Delta := sqr(b)-4*a*c;
end;
{Than chuong trinh chinh}
Begin
Writeln(‘Nhap 3 he so: a,b,c(Moi so cach nhau mot dau cach)’); readln(a,b,c);
if Delta < 0 then write(‘Phuong trinh vo nghiem’)
else
If Delta = 0 then
Begin
x1:=-b/(2*a);
Write(‘Phuong trinh co 1 nghiem: ‘, x1:10:2)
end
else
Begin
r:=sqrt(Delta);
x1 := (-b-r)/(2*a);
x2 := (-b+r)/(2*a);
writeln(‘Phuong trinh co 2 nghiem: x1 = ‘, x1:10:2 ,’***** x2 = ‘, x2:10:2);
end;
readln;
end.
Cách 3: Hoặc chúng ta có thể sử dụng một thủ tục để thực hiện tất cả các công việc. Sau đó chúng ta có thể chỉ cần gọi thủ tục khi ta thực thi với các bộ dữ liệu:
{This code Created by hoana2007}
{Giai phuong trinh bac 2}
Program GiaiPTB2;
uses wincrt;
var a,b,c:real;
Procedure PTB2(a,b,c:real); {Tham so hinh thuc}
Var r,x1,x2,Delta:real; {Bien cuc bo}
begin
Delta := sqr(b)-4*a*c;
if Delta < 0 then write(‘Phuong trinh vo nghiem’)
else
If Delta = 0 then
Begin
x1:=-b/(2*a);
Write(‘Phuong trinh co 1 nghiem: ‘, x1:10:2)
end
else
Begin
r:=sqrt(Delta);
x1 := (-b-r)/(2*a);
x2 := (-b+r)/(2*a);
writeln(‘Phuong trinh co 2 nghiem: x1 = ‘, x1:10:2 ,’***** x2 = ‘, x2:10:2);
end;
readln;
end;
begin
Writeln(‘Nhap 3 he so: a,b,c(Moi so cach nhau mot dau cach)’); readln(a,b,c);
PTB2(a,b,c);{Goi thu tuc voi tham bien}
PTB2(2,8,3);{Goi thu tuc voi tham tri}
end.
Bài 2: Viết chương trình thực hiện các công việc sau:
- Nhập dữ liệu cho một mảng một mảng một chiều.
- Tìm xem trong mảng có bao nhiêu phần tử có giá trị nguyên tố.
- In ra các phẩn tử của mảng có giá trị nguyên tố.
- In lại toàn bộ mảng.
Phân tích:
Bài này chúng ta có thể sử dụng các chương trình con để thực hiện từng công việc.
- Phần nhập dữ liệu cho mảng ta có thể dùng thủ tục để thực hiện việc nhập.
- Chúng ta cần có một hàm để kiểm tra số nguyên tố, hàm này chúng ta nên sử dụng hàm có kiểu trả về là kiểu logic.
– Ý tưởng:
Hàm nguyento(x:nguyen):logic;
Nguyento:=sai;
nếu x<1 then nguyento :=sai
khác
lặp công việc xét nếu một trong các số từ 2 đến phần nguyên của căn x
Nếu x chia hết một trong các số đó thì nguyento:=sai
Khác nguyento:=đúng.
- Chúng ta cũng cần thêm có một hàm để đếm các số trong mảng là nguyên tố, hàm này sẽ sử dụng lại kết quả ở hàm nguyên tố ở trên.
- Việc in các số là số nguyên tố ra màn hình chúng ta cũng dùng một thủ tục và thủ tục này sẽ gọi đến hàm nguyên tố để kiểm tra.
- Việc in lại toàn bộ mảng cũng sẽ dử dụng một thủ tục in thông thường.
Chương trình:
{This code Created by hoana2007}
Program Mang;
uses wincrt;
const n=100;
type mg = array[1..n] of longint;
var A:mg; m,i:byte;
procedure Nhap_mg(Var X:mg);
begin
for i:=1 to m do readln(X[i]);
end;
Function NguyenTo(X:longint):boolean;
var j:integer;
begin
NguyenTo := false;
for j:=2 to Trunc(sqrt(X)) do
If X mod j = 0 then exit; {thoat khoi chuong trinh con}
NguyenTo := X > 1; {Thuc chat: NguyenTo := true;}
end;
Function Dem(X:mg):longint;
var d:longint;
begin
d:=0;
for i:=1 to m do
If NguyenTo(X[i]) then d:=d+1;{inc(d)}
Dem := d;
end;
Procedure InN_To(X:mg);
begin
write(‘Cac phan tu trong day co gia tri nguyen to la: ‘);
for i:=1 to m do
If NguyenTo(X[i]) then Write(X[i],’_’);
end;
Procedure In_Mg(X:mg);
begin
Writeln(‘TOAN BO CAC PHAN TU TRONG DAY’);
for i:=1 to m do write(X[i],’ ‘);
end;
{Chuong trinh chinh}
Begin
writeln(‘Nhap so luong phan tu cho mang’); readln(m);
Nhap_mg(A);
Writeln(‘So luong phan tu co gia tri nguyen to trong day la: ‘, dem(A));
InN_To(A);
In_Mg(A);
end.
Bài tập:
- Em hãy viết thủ tục nhập vào bộ 3 số nguyên dương, một hàm logic kiểm tra xem 3 số đó có tạo thành một tam giác hay không. Nếu có tạo thành một tam giá thì hãy viết hàm tính chu vi và diện tích của tam giác đó. Sau đó in các kết quả ra màn hình.
- Em hãy viết chương trình kiểm tra một số nguyên dương a có phải là một số nguyên tố hay không.
(còn nữa…)
Created by hoana2007
Email: nguyenhoa2003@hotmail.com
http://hoana2007.spaces.live.com
http://violet.vn/hoana2007
Từ khóa » Viết Chương Trình Con Giải Phương Trình Bậc 2
-
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 ...
-
Cài đặt Phương Trình Bậc Hai Bằng Chương Trình Con (Procedure)
-
Top 10 Viết Chương Trình Con Giải Phương Trình Bậc 2 2022
-
Viết Chương Trình Giải Phương Trình Bậc Hai Với Yêu Cầu. - Selfomy
-
Viết Chương Trình Giải Phương Trình Bậc 2 Với Yêu Cầu Sử Dụng ...
-
Bài Tập 2 Viết Chương Trình Con Giải Phương Trình Bậc Nhất, Giải ...
-
Viết Chương Trình Sử Dụng Chương Trình Con Giải Phương Trình Bậc 2 ...
-
Viết Chương Trình Giải Phương Trình Bậc Hai | How Kteam
-
Hướng Dẫn Viết Chương Trình Con (hàm) Giải Phương Trình Bậc Hai ...
-
Giải Phương Trình Bậc 2 Trong C
-
Viết Chương Trình Giải Phương Trình Bậc Hai Bằng Pascal - YouTube
-
Top 29 Viết Chương Trình Giải Phương Trình Bậc 2 Bằng C++ 2022
-
Viết Chương Trình Giải Phương Trình Bậc 2 Bằng Pascal
-
Viết Chương Trình Giải Phương Trình Bậc 2 Sử Dụng Chương Trình Con ...