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

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyển Hoàng Hoa (trang riêng)
Ngày gửi: 22h:49' 22-04-2009
Dung lượng: 76.0 KB
Số lượt tải: 130
Nguồn:
Người gửi: Nguyển Hoàng Hoa (trang riêng)
Ngày gửi: 22h:49' 22-04-2009
Dung lượng: 76.0 KB
Số lượt tải: 130
Số lượt thích:
0 người
Bài thực hành số 6
Mục tiêu của bài
Tìm hiểu được các thao tác xử lí xâu, cách tạo hiệu ứng chạy chữ trên màn hình
Củng cố những khái niệm về CTC :Thủ tục, hàm, tham số giá trị, tham số biến, biến toàn bộ và biến cục bộ.
Rèn luyện tác phong tư duy lập trình
a.Tìm hiểu việc xây dựng 1 số thủ tục
Tìm hiểu việc xây dựng thủ tục catdan(s1,s2)
type str79 = string[79];
procedure catdan (s1:str79;var s2:str79);
begin
s2:=copy(s1,2 ,length(s1)-1) +s1[1];
end;
Trong thủ tục trên có sử dụng hàm và thủ tục chuẩn nào về xử lí xâu ?
Hàm length(s) cho độ dài xâu s
Hàm copy(S,vt,N) cho xâu gồm N kí tự liên tiếp
bắt đầu từ vị trí vt của xâu S
Ví dụ
S1=‘ Một nghìn năm Thăng Long -Hà Nội’;
S2=copy(S1,5,length(S1)-4);
S2=?
S2= ‘nghìn năm Thăng Long-Hà Nội ‘
Thủ tục catdan(s1,s2)
type str79 = string[79];
procedure catdan (s1:str79;var s2:str79);
begin
s2:=copy(s1,2 ,length(s1)-1) +s1[1];
end;
ví dụ:
S1=‘ Một nghìn năm Thăng Long -Hà Nội’;
S2=‘ ột nghìn năm Thăng Long -Hà NộiM’;
Hãy cho biết tác dụng của thủ tục catdan(s1,s2)?
Tìm hiểu thủ tục cangiua(S)
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;
đầu vào, đầu ra?
hoa
hoa
Chức năng của thủ tục này là gì?
b.Hãy gõ và chạy thử chương trình sau:
Program chuchay;
uses crt;
Type str79=string[79];
Var s1,s2:str79;
stop:false;
Procedure catdan(s1:str79;vars2:str);
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;
Begin
Clrscr;
Write(‘nhap xau s1:’); Readln(s1);
Cangiua(s1);
clrscr;
Stop:false;
While not (stop) do s:=‘ ’+ s;
begin
gotoxy(1,12);
write (s1);
delay(500);
Catdan(s1,s2);
s1:=s2;
Stop:=keypressed;
End;
Readln;
End.
Mục tiêu của bài
Tìm hiểu được các thao tác xử lí xâu, cách tạo hiệu ứng chạy chữ trên màn hình
Củng cố những khái niệm về CTC :Thủ tục, hàm, tham số giá trị, tham số biến, biến toàn bộ và biến cục bộ.
Rèn luyện tác phong tư duy lập trình
a.Tìm hiểu việc xây dựng 1 số thủ tục
Tìm hiểu việc xây dựng thủ tục catdan(s1,s2)
type str79 = string[79];
procedure catdan (s1:str79;var s2:str79);
begin
s2:=copy(s1,2 ,length(s1)-1) +s1[1];
end;
Trong thủ tục trên có sử dụng hàm và thủ tục chuẩn nào về xử lí xâu ?
Hàm length(s) cho độ dài xâu s
Hàm copy(S,vt,N) cho xâu gồm N kí tự liên tiếp
bắt đầu từ vị trí vt của xâu S
Ví dụ
S1=‘ Một nghìn năm Thăng Long -Hà Nội’;
S2=copy(S1,5,length(S1)-4);
S2=?
S2= ‘nghìn năm Thăng Long-Hà Nội ‘
Thủ tục catdan(s1,s2)
type str79 = string[79];
procedure catdan (s1:str79;var s2:str79);
begin
s2:=copy(s1,2 ,length(s1)-1) +s1[1];
end;
ví dụ:
S1=‘ Một nghìn năm Thăng Long -Hà Nội’;
S2=‘ ột nghìn năm Thăng Long -Hà NộiM’;
Hãy cho biết tác dụng của thủ tục catdan(s1,s2)?
Tìm hiểu thủ tục cangiua(S)
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;
đầu vào, đầu ra?
hoa
hoa
Chức năng của thủ tục này là gì?
b.Hãy gõ và chạy thử chương trình sau:
Program chuchay;
uses crt;
Type str79=string[79];
Var s1,s2:str79;
stop:false;
Procedure catdan(s1:str79;vars2:str);
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;
Begin
Clrscr;
Write(‘nhap xau s1:’); Readln(s1);
Cangiua(s1);
clrscr;
Stop:false;
While not (stop) do s:=‘ ’+ s;
begin
gotoxy(1,12);
write (s1);
delay(500);
Catdan(s1,s2);
s1:=s2;
Stop:=keypressed;
End;
Readln;
End.
 







Các ý kiến mới nhất