Bài tập và thực hành 7
1. Mục đích, yêu cầu
- Rèn luyện các thao tác xử lí xâu, kĩ năng tạo hiệu ứng chữ chạy trên màn hình;
- Nâng cao kĩ năng viết, sử dụng chương trình con.
2. Ôn tập kiến thức
a. Cách viết và sử dụng chương trình con
Hình 1. Cách viết và sử dụng chương trình con
b. Các biến - tham số và thực hiện chương trình trong chương trình con
Hình 2. Các biến - tham số và thực hiện chương trình trong chương trình con
b.1. Biến
Hình 3. Nội dung trọng tâm về biến
b.2. Tham số
Hình 4. Nội dung trọng tâm về tham số
b.3. Thực hiện chương trình con
Hình 5. Cách thực hiện 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.
Gợi ý làm bài:
- Xác định bài toán:
+ 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));
- Cài đặt chương trình:
Var a,b,c : Integer;
Procedure 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;
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;
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;
End;
BEGIN {4. Chương trình chính}
NhapABC(a,b,c);
KiemTra_InDienTich (a,b,c);
END.
Bài tập 2
Viết chương trình tính \(C_{n}^{k}\). Có sử dụng hàm?
Gợi ý làm bài:
- Xác định bài toán:
+ INPUT: Nhập n, k
+ OUTPUT: \(C_{n}^{k}=\frac{n!}{k!(n-k)!}\)
- Cài đặt chương trình:
Program 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.
1. Mục đích, yêu cầu
- Rèn luyện các thao tác xử lí xâu, kĩ năng tạo hiệu ứng chữ chạy trên màn hình;
- Nâng cao kĩ năng viết, sử dụng chương trình con.
2. Ôn tập kiến thức
a. Cách viết và sử dụng chương trình con
Hình 1. Cách viết và sử dụng chương trình con
b. Các biến - tham số và thực hiện chương trình trong chương trình con
Hình 2. Các biến - tham số và thực hiện chương trình trong chương trình con
b.1. Biến
Hình 3. Nội dung trọng tâm về biến
b.2. Tham số
Hình 4. Nội dung trọng tâm về tham số
b.3. Thực hiện chương trình con
Hình 5. Cách thực hiện 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.
Gợi ý làm bài:
- Xác định bài toán:
+ 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));
- Cài đặt chương trình:
Var a,b,c : Integer;
Procedure 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;
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;
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;
End;
BEGIN {4. Chương trình chính}
NhapABC(a,b,c);
KiemTra_InDienTich (a,b,c);
END.
Bài tập 2
Viết chương trình tính \(C_{n}^{k}\). Có sử dụng hàm?
Gợi ý làm bài:
- Xác định bài toán:
+ INPUT: Nhập n, k
+ OUTPUT: \(C_{n}^{k}=\frac{n!}{k!(n-k)!}\)
- Cài đặt chương trình:
Program 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.