Trang chủ Lớp 11 Tin học Lớp 11 SGK Cũ Bài tập và thực hành 6 Hướng dẫn làm bài tập và thực hành 6 trang 103 SGK Tin học 11

Hướng dẫn làm bài tập và thực hành 6 trang 103 SGK Tin học 11

Lý thuyết Bài tập

Tóm tắt bài

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ội dung

a) Hai thủ tục CatDan(s1,s2) và CanGiua(s) sẽ được dùng trong một chương trình để làm một dòng chữ chạy trên màn hình.

- Thủ tục CatDan(s1,s2) tạo nên xâu s2 từ xâu s1 nhận đầu vào sao cho s2 chính là trạng thái tiếp theo nếu hình dung s1 dịch sang trái một vị trí trong chuyển dịch vòng. Ta chỉ cần khai báo s1 là tham số giá trị, nhưng s2 phải khai báo là tham số biến.

- Thủ tục CanGiua(s) thêm một số dấu cách ở đầu một xâu s sao cho khi đưa ra màn hình dòng chữ của xâu s nằm giữa màn hình. Nếu khai báo s là tham sổ biến thì thù tục này không có hiệu lực gì vì lệnh đưa s ra màn hình khòng nằm trong thủ tục này.

b) Chương trình làm một dòng chữ chạy trên màn hình. Nó sử dụng hai thủ tục mà chúng ta đã tìm hiểu ờ câu a).

Trong chương trình:

- Thủ tục chuẩn gotoxy(x,y) chuyển con trỏ màn hình đến vị trí Cột X dòng y trên màn hình;

- Thủ tục delay(n) dừng trạng thái của màn hình trong n miligiây.

- Hàm chuẩn keypressed không có tham số trả ra giá trị true khi có một phím được gõ.

Khi chạy chương trình trên với dòng chữ

'....Mung nghin nam Thang Long — Ha Noi!'

Kết quả chương trình có dạng như hình 72 dưới đây:

c) Để giải quyết bài toán tổng quát hơn (xâu chữ chạy ở dòng bất kỳ do chương trình chính quy định). Chúng ta cần lưu ý một số điểm sau:

Nhiệm vụ cùa thủ tục Chuchay(s, dong) thực hiện, về cơ bản là nhiệm vụ mà chương trình ở câu b) đã làm, chỉ khác là chương trình ở câu b) luôn cho dòng chữ chạy ở dòng 12, còn thủ tục Chuchay(s, dong) có tham số dong quy định dòng nào trên màn hình xảy ra chuyển động của chữ. Từ ý nghĩa sử dụng tham số dong ta thấy chi cần khai báo nó là tham số giá trị. Như vậy, thủ tục Chuchay(s, dong) chỉ viết khác thân chương trình ờ câu b) vài chỗ. Chẳng hạn:

procedure Chuchay(s1:Str79; dong:byte);

var s2 : Str79;

 stop:boolean;

begin

clrscr;

cangiua(s1);

clrscs;

stop: = false;

while not(stop) do

begin

gotoxy(1,dong);

write(s1);

delay(100); (*Dung 100 miligiay*)

Catdan(s1,s2); s1:=s2 ;

stop:=keypressed;

end;

end;

-  Thủ tục Chuchay (s, dong) có sử dụng hai thủ tục Catdan(s1,s2) và CanGiua(s). Do vậy, chương trình sử dụng thủ tục ChuChay vẫn có hai thủ tục đó trong phần khai báo chương trình con, phải đặt phía trên phần khai báo thủ tục ChuChay.

- Thân chương trình sử dụng thủ tục ChuChay đơn giản vì chỉ cần gọi thủ tục này làm việc. Tất nhiên trước đó cần xác định giá trị của xâu chữ cần chạy (xác định giá trị của biến s) và xác định chữ chạy ờ dòng nào trên màn hình (xác định tham số thực sự cho tham số dong khi gọi thủ tục ChuChay). Chương trình chính có thêm biến dong thuộc kiểu byte (thực tế sổ nguyên dương không vượt quá số dòng của màn hình).

Chương trình:

Program Xau_chu_chay_o_dong_bat_ky;

uses crt;

type Str79 = string[79];

var s1, s2: Str79;

dong: byte; stop: boolean;

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; dong:byte);

var s2: Str79;

stop: boolean;

begin

clrscr;

cangiua(s1);

clrscr;

stop:= false;

while not(stop) do

begin

gotoxy(1,dong); write(s1);

delay(100); (*Dung 100 miligiay*)

Catdan(s1,s2); s1:=s2;

stop:=keypressed;

end ;

end.

clrscr;

vrite('Nhap xau chu:');

readln(s1);

vrite('Nhap đong xuat hien:');

readln(dong);

ChuChay(s1, dong);

readln

END

Khi chạy chương trình trên, giả sử ta nhập vào xâu:

' Xin chao cac ban ! ' thì ngay sau đó sẽ xuất hiện một dòng yêu cầu ' Nhap dong Xuat hien:' của xâu vừa nhập vào (chẳng hạn, ở dòng 15)(Hình 73)

Kết quả của chương trình sẽ là một dòng chữ chạy ở dòng 15 trên màn hình có dạng như hình 74 dưới đây:



Bạn có biết?

Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.

Nguồn : Wikipedia - Bách khoa toàn thư

Tâm sự Lớp 11

Lớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!

Nguồn : ADMIN :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK