Bài tập thực hành số 3 tin học 11

Để học tốt Tin học lớp 11, nội dung bài học là trả lời câu hỏi, giải bài tập Tin học 11 Bài tập và thực hành 5 hay nhất, ngắn gọn. Bên cạnh đó là tóm tắt lý thuyết ngắn gọn và bộ câu hỏi trắc nghiệm Tin học 11 bài Bài tập và thực hành 5 có đáp án.

1. Mục đích, yêu cầu

Làm quen với việc tìm kiếm, thay thế và biến đổi xâu.

Quảng cáo

2. Nội dung

Bài 1 (trang 73 sgk Tin 11): Nhập vào từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng hay không. Xâu đối xứng có tính chất: đọc nó từ phải sang trái cũng thu được kết quả giống như đọc từ trái sang phải (còn được gọi là xâu palindrome).

  1. Hãy chạy thử chương trình sau:

program vd2; uses crt; var i,x:byte; a,p:string; begin clrscr; write('nhap xau:'); readln(a); x:=length(a); p:=''; for i:=x downto 1 do p:=p+a[i]; if a=p then

write('xau la palindrome')
else
write('xau khong phai la palindrome');
readkey; end.

Quảng cáo

  1. Hãy viết lại chương trình tên, trong đó không dùng biến xâu p.

Do xâu đảo ngược cũng chính là xâu viết xuôi nên

Xau[1]=Xau[length(xau)] Xau[2]=Xau[length(xau-1)] …..

Vậy ta có thể làm theo cách sau:

Sử dụng biến I để đếm xuôi rồi so sánh với xau[length(xau)-i] nếu khác nhau thì kết luận luôn không phải là palindrome. Lặp đến khi nào i> length(xau)-I +1(Vì duyệt tiếp chỉ là sự lặp lại)

program vd2; uses crt; var a:string; i:integer; p:boolean; begin clrscr; write('nhap xau:'); readln(a); i:=1; p:=true; while (i<length(a)-i+1) do begin if a[i]<>a[length(a)-i+1] then begin break; end; i:=i+1; end; if p then writeln('xau la palindrome') else writeln('xau khong phai la palindrome'); readkey; end.

Quảng cáo

Cách này sẽ tiết kiệm được chi phí hơn cách trước do chỉ cần duyệt khoảng 1/2 xâu.

Bài 2 (trang 73 sgk Tin 11): Viết chương tình nhập từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiêng Anh trong S (không phân biệt chữ hoa hay chữ thường).

Trả lời:

Phân tích:

Ta sẽ tạo một mảng gồm 26 kí tự để lưu trữ số lần xuất hiện của các chữ cái trong bảng chữ cái tiếng Anh. Phần từ đầu tiên sẽ lưu số lần xuất hiện của kí tự 'A' (do đề bài yêu cầu không phân biệt chữ thường với chữ hoa). Để lấy vị trí mảng của một kí tự nào đó ta dùng câu lệnh:

ord(upcase(a[i]))-ord('A')

ord sẽ lấy giá trị tương ứng của kí tự trong bảng mã ASCII sau đó trừ đi giá trị của 'A' trong bảng ASCII .

Ví dụ :

Mã ASCII của 'A' là 65 thì vị trí trong mảng của nó là 65-65 =0

Mã ASCII của 'A' là 66 thì vị trí trong mảng của nó là 66-65 =1

program vd2; uses crt; var a:string; gt:array[0..26] of integer; i:integer; begin clrscr; write('nhap xau:'); readln(a); for i:=0 to 25 do gt[i]:=0; for i:=1 to length(a) do begin gt[ord(upcase(a[i]))-ord('A')]:=gt[ord(upcase(a[i]))-ord('A')]+1; end; for i:=0 to 25 do if gt[i]>0 then writeln(chr(ord('A')+i),':',gt[i]); readkey; end.

Kết quả:

Bài 3 (trang 73 sgk Tin 11): Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự 'anh' bằng cụm kí tự 'em'.

Trả lời:

Ta sẽ tìm vị trí mà từ 'anh' xuất hiện đầu tiên bằng hàm pos sau đó xóa từ 'anh' đi rồi chèn từ 'em' vào.

Đến khi nào xâu ban đầu không còn từ 'anh' nữa thì dừng.

program vd2; uses crt; var a:string; vt:integer; begin clrscr; write('nhap xau:'); readln(a); while pos('anh',a)>0 do begin vt:=pos('anh',a); delete(a,vt,3); insert('em',a,vt); end; write(a); readkey; end.

Xem thêm các bài giải bài tập Tin học lớp 11 hay, chi tiết khác:

  • Bài 11: Kiểu mảng
  • Bài tập và thực hành 3
  • Bài tập và thực hành 4
  • Bài 12: Kiểu xâu
  • Bài tập và thực hành 5
  • Bài 13: Kiểu bản ghi
  • Giải bài tập Tin học 11 trang 79,80
  • Bài tập thực hành số 3 tin học 11
    Gói luyện thi online hơn 1 triệu câu hỏi đầy đủ các lớp, các môn, có đáp án chi tiết. Chỉ từ 200k!

Săn SALE shopee tháng 12:

  • Đồ dùng học tập giá rẻ
  • Sữa dưỡng thể Vaseline chỉ hơn 40k/chai
  • Tsubaki 199k/3 chai
  • L'Oreal mua 1 tặng 3

ĐỀ THI, GIÁO ÁN, GÓI THI ONLINE DÀNH CHO GIÁO VIÊN VÀ PHỤ HUYNH LỚP 11

Bộ giáo án, bài giảng powerpoint, đề thi dành cho giáo viên và gia sư dành cho phụ huynh tại https://tailieugiaovien.com.vn/ . Hỗ trợ zalo VietJack Official

Tổng đài hỗ trợ đăng ký : 084 283 45 85

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Bài tập thực hành số 3 tin học 11

Bài tập thực hành số 3 tin học 11

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.