Bài tập và thực hành 6

Chia sẻ bởi Nguyễn Trần Bảo Chương | Ngày 10/05/2019 | 47

Chia sẻ tài liệu: Bài tập và thực hành 6 thuộc Tin học 11

Nội dung tài liệu:

Bài tập & thực hành 6
CHƯƠNG TRÌNH CON
I. 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?i dung
a) Tìm hiểu hai thủ tục sau:
• Thủ tục Catdan(s1, s2) nhận đầu vào là xâu s1 không quá 79 kí tự, tạo xâu s2 thu được từ xâu s1 bằng việc chuyển kí tự đầu tiên của nó xuống vị trí cuối cùng. Ví dụ s1 = ‘abcd’ thì s2 = ‘bcda’.
type str79= string[79];
procedure Catdan (s1: str79; var s2: str79);
begin
s2:= copy(s1,2,length(s1)-1) + s1[1];
end;
• Thủ tục Cangiua(s) nhận đầu vào là xâu s gồm không quá 79 kí tự, bổ sung vào đầu xâu s một số dấu cách để khi đưa ra màn hình xâu kí tự s ban đầu được căn giữa dòng (80 kí tự).
Ví dụ
Nhap vao xau s:
TRA VINH QUE TOI
TRA VINH QUE TOI
16 kí tự
procedure Cangiua(var s: str79);
var i, n: integer;
begin
n:= length(s);
n:= (80-n) div 2;
for i:=1 to n do s:= ‘ ‘+s;
end;
b) Theo dõi cách sử dụng hai thủ tục trên qua chương trình sau:
uses crt;
type str79= string[79];
var s1, s2: str79; stop: boolean;
procedure Catdan(s1: str79; var s2: str79); {…}
procedure Cangiua(var s: str79); {…}
begin
clrscr; write(‘Nhap xau s1:’); readln(s1); Cangiua(s1); clrscr;
stop:= false;
while not(stop) do
begin
gotoxy(1, 12); {di chuyển con trỏ đến tọa độ (cột, dòng)}
write(s1);
delay(500); {dừng 500 miligiây}
Catdan(s1, s2);
s1:= s2;
stop:= keypressed; {Nhấn một phím bất kì để kết thúc}
end;
readln;
end.
c) Chương trình có sử dụng thủ tục Chuchay(s, dong);
PROGRAM BTTH6c;
uses crt;
type str79= string[79];
var s1, s2: str79;
stop: boolean;
dong: byte;
{********************************}
procedure Catdan(s1: str79; var s2: str79);
begin
s2:= copy(s1,2,length(s1)-1) + s1[1];
end;
{********************************}
procedure Cangiua(var s: str79);
var i, n: integer;
begin
n:= length(s);
n:= (80-n) div 2;
for i:=1 to n do s:= ` `+s;
end;
{********************************}
procedure chuchay(s1: str79; d:byte);
var s2: str79;
begin

clrscr;
Cangiua(s1);
clrscr;
stop:= false;
while not(stop) do
begin
gotoxy(1, d);
write(s1);
delay(500);
Catdan(s1, s2);
s1:= s2;
stop:= keypressed;
end;
end;
{***************************}
BEGIN
clrscr;
write(`Nhap xau s1:`); readln(s1);
write(`Nhap dong chu chay:`);
readln(dong);
chuchay(s1,dong);
END.
c) Chương trình có sử dụng thủ tục Chuchay(s, dong);
PROGRAM BTTH6c;
uses crt;
type str79= string[79];
var xau, s1: str79;
stop: boolean;
d: byte;

procedure chuchay(s: str79; dong:byte);
var i, n: integer;
begin
n:= length(s);
n:= (80-n) div 2;
for i:=1 to n do s:= ` `+s;
stop:= false;
while not(stop) do
begin
gotoxy(1, dong);
write(s);
delay(150);
s1:= copy(s,2,length(s)-1) + s[1];
s:= s1;
stop:= keypressed;
end;
end;
BEGIN
clrscr;
write(`Nhap xau chu:`);
readln(xau);
write(`Nhap dong xuat hien:`);
readln(d);
chuchay(xau,d);
END.
Tương đương với
thủ tục Cangiua(s)
Tương đương với thủ tục Catdan(s,s1)
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)