BÀI TẬP VỀ CHƯƠNG TRÌNH CONBài tập 1: Viết chương trình thực hiện lần lượt các công việc sau: - Lập thủ tục nhập ba số nguyen dương a , b , c từ bàn phím.. - Lập thủ tục kiểm tra xem ba
Trang 1BÀI TẬP VỀ CHƯƠNG TRÌNH CON
Bài tập 1: Viết chương trình thực hiện lần lượt các công việc sau:
- Lập thủ tục nhập ba số nguyen dương a , b , c từ bàn phím
- Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không ?
- Viết hàm tính diện tích của tam giác
- Viết hoàn thiện chương trình chính
Bài tập 2: Chương trình tính Có sử dụng hàm?k
n
C
Tiết PPCT 45:
Trang 21 Cách viết và sử dụ chương trình con
Program vidu;
Uses crt;
Var …………
Ctcon;
Khai báo;
Phần thân;
Begin
………….
Function <tênhàm>([<danh sách tham số>]):<kiểu dữ liệu>;
[<phần khai báo>]
begin [<Dãy các lệnh>]
<tênhàm>:= <biểu thức>;
end;
* Hàm
* Thủ tục
Procedure <tênthủtục>([<danh sách tham số>]);
[<phần khai báo>]
Trang 3Bài 1: Viết chương trình thực hiện lần lượt các công việc sau:
- Lập thủ tục nhập ba số nguyên dương a , b , c từ bàn phím
- Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không ?
- Viết hàm tính diện tích của tam giác
- Viết hoàn thiện chương trình chính
INPUT: 3 cạnh a,b,c của tam giác
OUTPUT: Kiểm tra tam giác và tính diện tích
Công thức Herong: p := (a+b+c)/2;
dt := sqrt(p* (p-a)*(p- b)*(p-c));
2 Bài tập
Trang 4Procedure NhapABC (Var a, b, c : Integer); {1 Nhập 3 cạnh a,b,c}
Begin
Write( 'Nhap a:' ); Readln( a );
Write( 'Nhap b:' ); Readln( b );
Write( 'Nhap c:' ); Readln( c );
End;
Function Dientich( a, b, c:Integer ) : Real; {3 Hàm tính diện tích}
Var dt,p : Real;
Begin
p := (a+b+c)/2;
dt := sqrt(p* (p-a)*(p-b)*(p-c));
Dientich := dt;
Procedure KiemTra_InDienTich ( a,b,c:Integer); {2 Kiểm tra tam giác}
Begin
If ((a+b>c) and (b+c>a) and (a+c>b)) then
Writeln(' Ba canh tren tao thanh tam giac.dien tich', Dientich(a,b,c) ) Else Writeln('Ba canh tren khongtao thanh tam giac');
End;
Var a,b,c : Integer;
Trang 5Bài tập 2: Viết chương trình tính
VD: nhập n: 5 Kết quả:
k: 3
INPUT : Nhập n, k
k n
C
3
5 10
k n
−
Trang 6Program to_hop;
Uses crt;
Var n,k : integer;
nCk: real;
Function gt( n : integer) : integer;
var i,s: integer;
Begin s:=1;
for i:=1 to n do
s:=s*i;
gt:=s;
end;
BEGIN
Write(‘ Nhap n:’); readln(n);
Write(‘ Nhap k:’); readln(k);
Write(‘ Nhap n:’); readln(n);
Write(‘ Nhap k:’); readln(k);
BEGIN
nCk = 10
gt=120 gt=6 gt=2
Trang 7Program to_hop;
Uses crt;
Var n,k : integer;
nCk: real;
Function gt( n : integer) : integer;
var i,s: integer;
Begin s:=1;
for i:=1 to n do
s:=s*i;
gt:=s;
end;
BEGIN
Write(‘ Nhap n:’); readln(n);
Write(‘ Nhap k:’); readln(k);
nCk := gt(n) /(gt(k) *gt(n-k));
Writeln(‘ nCk = ’, nCk);
Readln;
END.
Ct