Viết chương trình con dạng thủ tục thực hiện việc nhập vào một xâu kí tự từ bàn phím

Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Bài tập và thực hành 11 giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

Xem thêm các sách tham khảo liên quan:

    • Sách Giáo Viên Tin Học Lớp 11

    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 cho 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

    + Thủ tục CatDan[s1,s2] nhận đầu vào là xâu s1 gồm 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ụ nếu 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 dòng s một số dấu cách để khi đưa ra màn hình xâu kí tự 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;

    b] Theo dõi cách sử dụng hai thủ tục trên, ta có thể viết chương trình sau đây để nhập một xâu kí tự từ bàn phím và đưa xâu đó ra màn hình có dạng dòn gchuwx chạy giữa mà có dạng dòng chữ chạy giữa màn hình văn bản 25*80.

    uses crt; type str79=string[79]; var s1,s2:str79; 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; begin clrscr; write['Nhap xau s1:']; readln[s1]; CanGiua[s1]; clrscr; stop:=false; while not[stop] do begin gotoxy[1,12]; write[s1]; delay[500]; CatDan[s1,s2]; s1:=s2; stop:=keypressed; end; readln end.

    Thử chạy với dòng chữ ‘… Mung nghin nam Thang Long-Ha Noi!…’


    c] Hãy viết thủ tục ChuChay[s,dong] nhận đầu vào là xâu s gồm không qus 79 kkis tự và biến nguyên dong, đưa ra xâu s có dạng chữ chạy ở dòng dong. Viết chương trình đưa ra xâu s có dạng chữ chạy ở dòng dong. Viết và chạy chương trình có sử dụng thủ tục này.

    uses crt; type str79=string[79]; var s1,s2:str79; stop:boolean; dong:integer; procedure ChuChay[s:string;dong:integer]; begin gotoxy[1,dong]; write[s]; end; 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; begin clrscr; write['Nhap xau s1:']; readln[s1]; write['Nhap vao dong ']; readln[dong]; CanGiua[s1]; clrscr; stop:=false; while not[stop] do begin ChuChay[s1,dong]; delay[500]; CatDan[s1,s2]; s1:=s2; stop:=keypressed; end; readln end.

    Kết quả:

    Giải Bài Tập Tin Học 11 – Bài 12: Kiểu xâu giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    Xem thêm các sách tham khảo liên quan:

    • Sách Giáo Viên Tin Học Lớp 11

    Xâu: Là một dãy kí tự trong bảng mã ASCII. Mỗi kí tự được gọi là một phần tử của xâu.

       – Số lượng kí tự trong xâu được gọi là độ dài của xâu .

       – Xâu có độ dài bằng 0 gọi là xâu rỗng.

       – Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu.

    1. Khai báo

    Để khai báo dữ liệu kiểu xâu ta sử dụng tên dành riêng string, tiếp theo là dộ dài lớn nhất của xâu[không vượt quá 255 kí tự đặt trong dấu ngoặc [ và ] ]

    Cú pháp:

    Var:string[độ dài lớn nhất của xâu]; Hoặc Var :string;

    Ví dụ:

    Var ten:string[26]; Var chuthich:string;

    2. Các thao tác xử lí xâu:

    a] Phép ghép xâu, kí hiệu là dấu [+], được sử dụng để ghép nhiều xâu thành một. Có thể thực hiện ghép xâu đối với hằng và biến xâu.

    Ví dụ:

    ‘Tin hoc’+ ’11’ sẽ cho xâu có kết quả là ‘Tin hoc 11’.

    b] Các phép so sánh như bằng [=], khác [], nhỏ hơn [length[b] then write[a] else write[b]; readkey; end.

    Kết quả:

    Ví dụ 2: Viết chương trình nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng

    Với kí tự cuối cùng của xâu thứ hai không.

    program vd2; uses crt; var a,b:string; begin clrscr; write['nhap xau thu nhat:']; readln[a]; write['nhap xau thu hai :']; readln[b]; if a[1]=b[length[b]] then writeln['Trung nhau'] else writeln['Khac nhau']; readkey; end.

    Kết quả:

    Ví dụ 3:

    Viết chương trình nhập xâu từ bàn phím rồi in nó theo thứ tự ngược lại.

    program vd2; uses crt; var a:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; write['xau dao nguoc la:']; for i:=length[a] downto 1 do write[a[i]]; readkey; end.

    Ví dụ 4:

    Viết chương trình nhập vào từ bàn phím và đưa ra màn hình xâu thu được từ nó sau khi loại bỏ hết các dấu cách.

    program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; b:=''; for i:=1 to length[a] do if a[i]' ' then b:=b+a[i]; write['xau sau khi bo dau cach la',b]; readkey; end.

    Kết quả:

    Ví dụ 5:

    Viết chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong xâu s1 [giữ nguyên thứ tự xuất hiện của chúng ] và đưa kết quả ra màn hình.

    program vd2; uses crt; var a,b:string; i:integer; begin clrscr; write['nhap xau:']; readln[a]; b:=''; for i:=1 to length[a] do if ['0'=a[i]] then b:=b+a[i]; write[b]; readkey; end.

    • lý thuyết
    • trắc nghiệm
    • hỏi đáp
    • bài tập sgk

    Viết chương trình nhập xâu S từ bàn phím Hãy cho biết có bao nhiêu ký tự a trong sâu

    Các câu hỏi tương tự


    • Toán lớp 11
    • Ngữ văn lớp 11
    • Tiếng Anh lớp 11

    Video liên quan

    Chủ Đề