CHƯƠNG 6: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC
THỦ TỤC HÀM
Bài 1:Viết thủ tục để nhập 1 xâu từ bàn phím rồi xuất
xâu ra n lần:
Program Loichao;
var s:string[50]; n:byte;
Procedure Xuatxau(xau:string;m:byte);
Var i:byte;
{******************}
Begin
for i:=1 to m do
Writeln(xau);
End;
{******************}
BEGIN
Write('Nhap xau: ');readln(s);
Write('Nhap so lan xuat ra:');readln(n);
{Goi thu tuc}
xuatxau(s,n);
readln
END.
Bài 2: Viết thủ tục vẽ 1 hình chữ nhậtcó dạng:
* * * * * *
* *
* * * * * *
Bài 3a: Viết thủ tục tính tổng của 2 số được nhập từ
bàn phím.
Áp dụng: Tính giá trị biểu thức (a+b)
2
Program TT_cong;
Var x,y,z : integer;
Write('x='); Readln(x);
Write('y='); Readln(y);
A := cong(x,y)* cong(x,y);
Writeln('Ket qua A =',A:2);
Readln;
END.
Bài 4a: Viết thủ tục tính hiệu của 2 số được nhập từ
bàn phím.
Áp dụng: Tính giá trị biểu thức (a-b)
3
Bài 5a: Viết thủ tục tính tích của 2 số được nhập từ
bàn phím.
Bài 6a: Viết thủ tục tính thương của 2 số được nhập
từ bàn phím.
Bài 7a: Viết thủ tục chuvi và thủ tục dientich để xuất
ra màn hình chu vi và diện tích hình chữ nhật có
chiều dài và chiều rộng nhập từ bàn phím.
Bài 8a: Nhập vào giá trị của a
1
, công sai d và n (vị trí
thứ n), viết thủ tục xuất ra màn hình giá trị a
n
và tổng
của dãy từ a
1
đến a
n
Program Cap_so_cong;
Var a1,an,d,n: integer;
Procedure So_n(a1,d,n: integer);
2
+bx+c=0.
Bài 11a: Viết thủ tục luythua để tính a
n
, áp dụng: tính
a
m
+b
n
(a, b, m, n) được nhập từ bàn phím.
Bài 4a: Viết hàm tính hiệu của 2 số được nhập từ bàn
phím.
Áp dụng: Tính giá trị biểu thức (a-b)
3
Bài 5b: Viết hàm tính tích của 2 số được nhập từ bàn
phím.
Bài 6b: Viết hàm tính thương của 2 số được nhập từ
bàn phím.
Bài 7b: Viết hàm chuvi và hàm dientich để tính chu vi
và diện tích hình chữ nhật có chiều dài và chiều rộng
nhập từ bàn phím.
8b: Nhập vào giá trị của a
1
, công sai d và n (vị trí thứ
n), viết hàm giá trị a
n
và tổng của dãy từ a
1
đến a
n
a: array[1..10] of integer;
i:byte;
Begin
for i:=1 to 10 do
Begin
Write('Nhap so ',i,' : '); readln(a[i]);
End;
assign(f1,'c:\data1.txt');
rewrite(f1);
for i:=1 to 10 do
write(f1,a[i]:4);
close(f1);
End.
1b:
Program Doctep1;
Var f1:text;
a: array[1..10] of integer;
i:byte;
Begin
assign(f1,'c:\data1.txt');
reset(f1);
i:=1;
while not eof(f1) do
Begin
read(f1,a[i]);
write(a[i]:4);
i:=i+1;
end;
close(f1);
readln
Type Hocsinh=Record
Ten : String[30];
Tuoi: Byte;
End;
var F : file of Hocsinh;
Hs: array[1..10] of Hocsinh;
i,n: byte;
BEGIN
Assign(F,'C:\DATA10.txt');
Rewrite(f);
Write('Danh sach co bao nhieu hoc sinh? ');
readln(n);
For i:=1 to n do
Begin
Write('Ho va ten: '); Readln(Hs[i].Ten);
Write('Tuoi : '); Readln(Hs[i].Tuoi);
End;
for i:=1 to n do
Write(f,Hs[i]);
Close(f);
END.
Câu b:
Program Doctep;
Uses Crt;
Type Hocsinh=Record
Ten : String[30];
Tuoi: Byte;
End;