1. Trang chủ
  2. » Cao đẳng - Đại học

SKKN Kieu xau

34 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Kiểu Xâu - Bài Tập Kiểu Xâu
Thể loại bài tập
Định dạng
Số trang 34
Dung lượng 40,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Với mong muốn phần nào giúp học sinh cũng như giáo viên trong việc tìm ra lời giải cho một số bài toán liên quan tới kiểu dữ liệu xâu dễ dàng hơn, nhất là giúp cho các em học sinh có thể[r]

Trang 1

MỤC LỤC Phần I: MỞ ĐẦU

1 Lý do chọn đề tài 4

2 Mục đích nghiên cứu 7

3 Phạm vi đề tài 7

4 Đối tượng, kế hoạch và phạm vi nghiên cứu 7

5 Đóng góp của đề tài 7

Phần II: NỘI DUNG CHƯƠNG I : TỔNG QUAN 9

1 Cơ sở lý luận 9

2 Cơ sở thực tiễn 10

CHƯƠNG II: THỰC TRẠNG VẤN ĐỀ NGHIÊN CỨU 11

CHƯƠNG III: NỘI DUNG VẤN ĐỀ NGHIÊN CỨU 11

I Khái báo và truy xuất đến phần tử xâu 11

1 Khái niệm, tham chiếu đến phần tử xâu 11

2 Khai báo ……… 12

3 Cách nhập/xuất ……… 12

II Các thao tác xử lí xâu 1 Phép ghép xâu ……….… 12

2 Phép so sánh ……… 12

3 Một số thủ tục xử lí xâu ………… ……… 13

4 Một số hàm ……… … 14

III CÁC DẠNG BÀI TẬP THƯỜNG GẶP 1 Dạng 1: Một số bài tập củng cố kiến thức, tạo hứng thú cho HS … 14

2 Dạng 2: Biến đổi xâu 23

Trang 2

3 Dạng 3: Một số bài tập xâu Palindrome 26

4 Dạng 4: Ứng dụng kiểu xâu vào giải các bài toán kiểu số nguyên ….28 5 Bài tập tự luyện ……… 32

Chương IV: PHƯƠNG PHÁP VÀ KẾT QUẢ NGHIÊN CỨU……….…33

1 Phương pháp nghiên cứu……… 33

2 Kết quả nghiên cứu……….…33

Phần III: KẾT LUẬN 35

Kiến nghị……….35

DANH MỤC TÀI LIỆU THAM KHẢO ……… … 36

Trang 3

QUY ƯỚC VIẾT TẮT

Trang 4

KIỂU XÂU - BÀI TẬP KIỂU XÂU

mà bài toán đưa ra Kỹ năng khi làm việc với kiểu dữ liệu xâu của học sinh thườngkhông đáp ứng được yêu cầu đề ra

Tin học là một môn học mới ở các trường phổ thông nên học sinh còn nhiều bỡngỡ khi tiếp cận với môn học này Nội dung tin học lập trình lớp 11 là một nộidung mới lạ đối với đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu

mà học sinh mới được tiếp xúc lần đầu Chính vì vậy mà học sinh dễ mắc sai lầmkhi lập trình giải quyết các bài toán Nguyên nhân dẫn đến những khó khăn mà họcsinh thường gặp là:

+ Gặp khó khăn khi xác định bài toán đặc biệt là xác định dạng bài toán về kiểu dữ liệu xâu

+ Khó liên hệ phương pháp giải một bài toán trong toán học với thuật toán trong tin học

Trang 5

Trong việc giảng dạy cho HS, ngoài việc giúp học sinh lĩnh hội những kiến thức

cơ bản, người thầy còn phải biết kích thích tính tích cực, sự sáng tạo say mê họchỏi trong học tập của các em Vì việc học tập tự giác, tích cực, chủ động, sáng tạođòi hỏi học sinh phải có ý thức về những mục tiêu đặt ra, tạo được động lực bêntrong thúc đẩy bản thân các em hoạt động để đạt các mục tiêu đó Điều này đượcthực hiện trong dạy học không chỉ đơn giản bằng việc nêu rõ mục tiêu mà quantrọng hơn còn do gợi động cơ

Xuất phát từ thực tiễn giảng dạy tại trường THPT Lương Tài, tôi thấy rằng

để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bài giảng chophù hợp với nội dung kiến thức, phương pháp, phương tiện dạy học phải phù hợpvới từng đối tượng học sinh Để qua mỗi phần học, tiết học, học sinh thích thú vớikiến thức mới, hiểu được kiến thức đã học trên lớp, đồng thời thấy được tầm quantrọng của vấn đề: trước là ứng dụng của kiến thức để đáp ứng những yêu cầu củamôn học, sau đó là ứng dụng vào thực tiễn trong đời sống xã hội (nếu có) Tuynhiên, trong các môn học ở bậc học THPT thì môn Tin học lớp 11 được các em họcsinh cho là môn học “khó nhai” nhất trong các môn học Từ việc các em chỉ làngười sử dụng các phần mềm sẵn có như: hệ điều hành, sọan thảo văn bản Word,bảng tính Excel, các phần mềm học tập, nghe nhạc hay chơi game… thì các em lại

là người phải tìm ra lời giải cho các bài toán, chỉ ra các bước cho máy tính thựchiện và viết chương trình để tạo ra các sản phẩm phần mềm cho người khác sửdụng mặc dù mới chỉ là bước khởi đầu, cơ bản

Mọi thứ đều có điểm khởi đầu của nó, học sinh học ngôn ngữ lập trình TurboPascal là khởi đầu cho việc tiếp cận ngôn ngữ lập trình bậc cao, giúp các em hìnhdung được sự ra đời, cấu tạo, hoạt động cũng như ích lợi của các chương trình hoạtđộng trong máy tính, các máy tự động… Qua đó giúp các em có thêm một địnhhướng, một niềm đam mê về tin học, về nghề nghiệp mà các em chọn sau này

Turbo Pascal là ngôn ngữ lập trình có cấu trúc thể hiện trên 3 yếu tố: Cấutrúc về mặt dữ liệu, cấu trúc về mặt lệnh, cấu trúc về mặt chương trình Turbo

Trang 6

Pascal được dùng phổ biến ở nước ta hiện nay trong công tác giảng dạy ở hầu hếtcác trường đại học, cao đẳng, trung học phổ thông và được mệnh danh là “Ngônngữ học đường”.

Các em HS phải làm quen với nhiều kiểu dữ liệu mới mà trong các môn họckhác không có, nhiều học sinh còn bỡ ngỡ không hiểu vì sao cùng là kiểu sốnguyên mà lại chia làm nhiều kiểu như byte, integer, word, … mà trong toán họcchỉ gồm số nguyên âm và nguyên dương Hoặc các loại thông tin như hình ảnh, âmthanh… được xử lý như thế nào Kiến thức mới và khó, HS sợ học môn Tin học 11,kết quả giảng dậy thấp, nhất là ở các lớp học sinh yếu về môn tự nhiên, ít có điềukiện sử dụng máy tính Người thầy phải làm gì để khắc phục được điều này?

Để khắc phục được điều đó, theo tôi, chúng ta cần phải tìm tòi, nghiên cứutìm ra những bài toán phù hợp, kích thích được tính độc lập, tích cực của học sinhtrong học tập Học sinh có thể tự mình tìm ra được những ý tưởng sáng tạo vậndụng thiết thực vào cuộc sống thực tế khi nhu cầu nảy sinh, khi đó các em có thể tựmình hoàn thành được ý tưởng đó

Với mong muốn phần nào giúp học sinh cũng như giáo viên trong việc tìm ralời giải cho một số bài toán liên quan tới kiểu dữ liệu xâu dễ dàng hơn, nhất là giúpcho các em học sinh có thể yêu thích nhiều hơn nữa ngôn ngữ lập trình Pascal, tôi

xin giới thiệu chuyên đề “Kiểu xâu – Bài tập kiểu xâu” (Chương IV, bài 12, tin

học 11) mà tôi đã áp dụng có hiệu quả trong quá trình giảng dạy Chuyên đề đượctrình bày dựa trên kinh nghiệm giảng dạy của bản thân và tham khảo một số tài liệuliên quan

II MỤC ĐÍCH NGHIÊN CỨU

- Giới thiệu cách khai báo và truy xuất đến kiểu dữ liệu xâu

- Giới thiệu một số phép toán trên kiểu dữ liệu xâu, đặc biệt phần này có cung cấp thêm một số hàm, thủ tục chưa được giới thiệu trong bài 12 sách giáo khoa tin học

11, đồng thời đưa ra một số ví dụ tương ứng để học sinh dễ dàng sử dụng

- Giới thiệu một số bài tập áp dụng.

Trang 7

- Hệ thống các bài toán dưới dạng một số dạng bài tập thường gặp giúp cho giáo viên và học sinh phần nào nhận dạng và giải một số bài tập liên quan

- Sử dụng các ví dụ cụ thể trước hết để học sinh nắm được cú pháp, ý nghĩa củakiểu xâu và thông qua các ví dụ đó để củng cố phần kiến thức này, đồng thời giáoviên giới thiệu thêm một số hàm, thủ tục xử lý xâu nhằm giúp các em học sinh xử

lý được một số bài tập ứng dụng, tăng sự yêu thích với môn học được mệnh danh làmôn học khó nhất trong các môn học ở lớp 11

III PHẠM VI ĐỀ TÀI

- Kiểu dữ liệu có cấu trúc “Kiểu xâu” là dãy kí tự liên tiếp trong bảng mã

ASCII Tuy nhiên trong khuôn khổ đề tài chỉ hệ thống lại kiến thức về kiểu xâu vàđưa ra một số dạng bài tập xứ lý xâu thường gặp và cách giải quyết

IV ĐỐI TƯỢNG, KẾ HOẠCH VÀ PHẠM VI NGHIÊN CỨU

- Đối tượng khảo sát: Học sinh khối 11 của lớp: 11A2, 11A3

- Sử dụng ngôn ngữ lập trình Turbo Pascal và Free Pascal để tiến hành lập trìnhcác bài tập thực nghiệm

- Hình thành được kỹ năng thực hành giải các bài tập cho học sinh và có đượcmột hệ thống kiến thức với các bài tập về kiểu dữ liệu xâu Phạm vi thực hiện trênkiểu dữ liệu xâu

V ĐÓNG GÓP CỦA ĐỀ TÀI

- Học sinh sau khi được giới thiệu một cách hệ thống các dạng bài tập về xâu vàquy trình giải quyết từng dạng đã có thể nhận biết yêu cầu của bài toán và cáchthức giải quyết chúng một cách hiệu quả

- Hình thành ở HS kỹ năng phân tích, xử lý các vấn đề liên quan đến bài tập kiểu

xâu, sử dụng thành thạo vòng lặp biết trước, thủ tục chuẩn vào/ra đơn giản, bướcđầu làm quen với 1 số chương trình con dạng thủ tục tạo điều kiện thuận lợi choviệc tiếp thu kiến thức về cách viết chương trình có cấu trúc

- Mở rộng một số bài tập kiểu xâu để học sinh thấy được ứng dụng quan trọng củakiểu dữ liệu xâu trong lập trình

Trang 8

- Sáng kiến kinh nghiệm “Bài tập kiểu xâu” được áp dụng lần đầu tiên tại lớp11A2 năm học 2011-2012 trường THPT Lương Tài, Bắc Ninh Sau đó được ứngdụng mở rộng trong việc giảng dạy Tin học khối 11 từ 11A2, 11A3, 11A4, 11D3,11D4 năm học 2012-2013 Tôi đã đưa SKKN của mình lên tranghttp://giaoan.violet.vn từ tháng 6/2012 và được các bạn đồng nghiệp tham khảo khánhiều Sau một thời gian ứng dụng trong việc giảng dậy, tôi đã mở rộng một sốdạng bài tập kiểu xâu, dậy thử nghiệm tại lớp 11A2, 11A3 năm học 2015-2016 kháhiệu quả trong tiết bài tập về kiểu xâu

Trang 9

Phần II: NỘI DUNG

Chương I TỔNG QUAN

I CƠ SỞ LÍ LUẬN

Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vựchoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn Việc sử dụngmáy tính không còn chỉ bó hẹp trong viện nghiên cứu, các trường đại học, các trungtâm máy tính mà còn mở rộng ra mọi cơ quan, tổ chức kinh tế và trong các giađình Song song với quá trình trên, việc giảng dạy Tin học trong các trường đạihọc, THPT cũng được đẩy mạnh đi đôi với việc tăng cường trang bị máy vi tính.Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đãđưa môn học này vào trường phổ thông như những môn học khác bắt đầu từ nămhọc 2006-2007

Chỉ thị số 55/2008/CT- BGTĐT ngày 30/9/2008 của Bộ trưởng Bộ GDĐT vềtăng cường giảng dạy, đào tạo và ứng dụng công nghệ thông tin trong ngành giáodục giai đoạn 2008-2011

Trong bối cảnh toàn ngành GD-ĐT đang nỗ lực đổi mới phương pháp dạyhọc theo hướng phát huy tính tích cực chủ động của học sinh trong hoạt động họctập Điều 24.2 của Luật giáo dục đã nêu rõ: “Phương pháp giáo dục phổ thông phảiphát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp với đặcđiểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ năngvận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứngthú học tập cho học sinh ” Như vậy, chúng ta có thể thấy định hướng đổi mớiphương pháp dạy học đã được khẳng định, không còn là vấn đề tranh luận Cốt lõicủa việc đổi mới phương pháp dạy học ở trường phổ thông là giúp học sinh hướngtới việc học tập chủ động, chống lại thói quen học tập thụ động Với một số nộidung trong đề tài này, học sinh có thể tự học, tự rèn luyện thông qua một số bài tập,dạng bài tập cụ thể

II CƠ SỞ THỰC TIỄN

Trang 10

- Qua thực tế giảng dạy ở trường THPT Lương Tài nhiều năm, tôi nhận thấy khihọc đến chương trình tin học lớp 11 đa số học sinh đều cho rằng đây là môn họckhó nhất trong các môn học, nhiều em còn sợ môn học này

- Khi học sinh học bài học Bài 12 “Kiểu xâu”, học sinh đã có rất nhiều khókhăn, nhầm lẫn trong việc xử lý dữ liệu vì các em đang quen với các bài toán xử lý

dữ liệu kiểu số, các bài toán quen thuộc như tính tổng hoặc tích của 1 dãy số thoảmãn điều kiện nào đó…

- Khi gặp các bài toán phải sử dụng kiểu dữ liệu lớn nhiều em lúng lúng.Việc giải các bài toán với kiểu dữ liệu lớn thực sự cần thiết cho các em khi làm cácbài toán lập trình trong chương trình Tin học phổ thông nói riêng và việc giải quyếtcác bài toán thực tế nói chung

- Ở bài tập kiểu xâu giáo viên có thể tạo sự hứng thú cho học sinh bằng các

ví dụ cụ thể, có thể làm được các công việc mà các em đã gặp trong thực tế cuộcsống như các biển hiệu quảng cáo, chế độ nghỉ màn hình, qua đó các em có thểgiải các các bài toán trong thực tế, bước đầu viết được một số phần mềm ứng dụngnhỏ vào đời sống

- Do đặc trưng của bộ môn nên học sinh muốn học được tốt môn tin học cần có

được tư duy khái quát xác định được hết các khả năng của một vấn đề (tư duy vétcạn tổng quát)

- Phát triển nhân cách học sinh khi tham gia làm các bài tập về kiểu xâu có thể

rèn luyện tính tích cực chủ động sáng tạo trang việc chọn hướng giải quyết một vấn

đề cụ thể thông qua việc liệt kê các khả năng của nó

Trang 11

CHƯƠNG II: THỰC TRẠNG CỦA VẤN ĐỀ NGHIÊN CỨU

Qua việc giảng dạy học sinh học lập trình lớp 11, tôi nhận thấy học sinh cònkhá nhiều bỡ ngỡ khi tiếp cận với lập trình có cấu trúc cũng như kiểu dữ liệu có cấutrúc Với các thao tác duyệt xâu và các thao tác kiểm tra tính chất phần tử của xâucần phải sử dụng cấu trúc lặp học sinh thường gặp nhiều khó khăn:

+ Sử dụng các biến điều khiển.

+ Tác động đến biến điều khiển ngay trong vòng lặp

+ Thông báo kết quả trong vòng lặp dẫn đến tình trạng lặp lại việc thông báo kết quả khi thực hiện chương trình

- Với cấu trúc lặp có số lần chưa biết trước HS cũng gặp phải những khó khăn như:

+ Xác định điều kiện để kết thúc vòng lặp

+ Khó xác định cấu trúc lặp để triển khai

+ Thường bỏ quên việc tác động đến điều kiện để kết thúc vòng lặp

CHƯƠNG III: NỘI DUNG VẤN ĐỀ NGHIÊN CỨU

Để xử lý các chuỗi văn bản, Pascal đưa ra một kiểu dữ liệu mới gọi là xâu ký

tự (định nghĩa bằng từ khóa String) Tuy nhiên độ dài của String tối đa chỉ 255 màthực tế thì ta thường gặp xâu có độ dài rất lớn, vậy có cách nào để có thể khắc phụcđược điều đó, chúng tôi xin trình bày một số nội dung mà chúng tôi đã tìm hiểu vàvận dụng có hiệu quả trong khi giảng dạy

I KHAI BÁO VÀ TRUY XUẤT ĐẾN PHẦN TỬ XÂU

1 Khái niệm, tham chiếu đến phần tử xâu

- Khái niệm: Xâu là dãy các kí tự thuộc 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 một xâu được gọi là độ dài của xâu Xâu có

độ dài bằng 0 được gọi là xâu rỗng Trong Turbo Pascal xâu rỗng được viết bởi haidấu nháy đơn liền nhau ‘và’

VD: cho xâu s=‘THPT Luong Tai’, xâu S có số kí tự 14 =>độ dài xâu s bằng 14

Trang 12

- Có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự Các kí tự của xâuđược đánh số thứ tự thường bắt đầu từ 1.

- Tham chiếu đến phần tử xâu: <tên biến xâu>[chỉ số phần tử]

VD; s[1]=’T’, s[4]=’T’, s[6]=’L’, s[10]=’g’

Lưu ý: - Kiểu xâu khác với kiểu char

2 Khai báo: Var <tên biến xâu>: string[độ dài lớn nhất của xâu];

VD: var hoten:string[30];

S:string; {xâu s sẽ có độ dài là 255}

- Nếu không khai báo độ dài lớn nhất của xâu thì xâu sẽ nhận giá trị ngầm định là

255 Xâu ký tự trong bộ nhớ chiếm số byte bằng số ký tự cực đại được khai báocộng với byte đầu tiên chứa số ký tự hiện có của xâu.

- Ngoài ra có các kiểu khai báo khác của xâu như:

+ Shortstring: Chính là String+ longstring: là mảng ký tự có kiểu char Thông thường kiểu char cókích thước 16 bit nên mảng có kích thước tối đa 16 bit = 65535 ký tự

+ ansistring (chỉ có trong free pascal)có kích thước gần 2GB = 230 B

3 Cách nhập/xuất: Cách đọc hay viết kiểu xâu tương tự như các kiểu dữ liệu

khác, ta sử dụng các thủ tục READ, hoặc WRITE

Ví dụ: Readln(s); Writeln(s);

II CÁC THAO TÁC XỬ LÍ XÂU

1 Phép ghép xâu (phép cộng xâu): kí hiệu là dấu cộng (+), dùng để ghép nhiều

xâu thành một

VD: ‘Luong’ + ’Tai’ cho kết quả ‘LuongTai’

‘Luong’ + ’ ‘ +’ Tai’ cho kết quả ‘Luong Tai’

2 Các phép so sánh <, <=, =, >=, >, <> có thứ tự thực hiện ưu tiên thấp hơn phép

ghép xâu và thực hiện việc so sánh hai xâu theo các quy tắc sau:

- Xâu A > xâu B nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu

A có mã ASCII lớn hơn

VD: ‘an’>’An binh’, kí tự ‘a’ có mã ASCII là 97, kí tự ‘A’ có mã ASCII là 65

Trang 13

- Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A< B VD: ‘an’ < ’an binh’, ‘Luong’ < ‘Luong Tai’

- A=B nếu xâu A và B giống nhau hoàn toàn

- Thủ tục Insert(s1,s2,vt): Chèn xâu s1 vào s2, bắt đầu ở vị trí vt

VD:

Insert(s2,s1,1) ‘TaiLuong’

- Thủ tục str(value,s): chuyển đổi giá trị kiểu số (value) sang dạng xâu kí tự và gán

cho biến s

VD: n:=195;

str(n,s) sẽ cho kết quả xâu s là s=’195’

- Thủ tục val(s,value,code): đổi xâu kí tự s sang dạng số và gán cho biến value,

nếu biến đổi thành công thì code nhận giá trị bằng 0, ngược lại cho giá trị khác 0.VD: val(‘195’,value,code) lúc này code=0 và value=195

4 Một số hàm:

1 Copy(s,vt,n) Tạo xâu mới gồm n kí tự liên tiếp bắt đầu từ vị trí vt của xâu s

2 Length(s) Cho giá trị là độ dài xâu s

3 Pos(s1,s2) Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2

4 Upcase(ch) Cho chữ cái in hoa ứng với chữ cái trong ch

5 Ord(ch) Cho mã của kí tự ch trong bảng mã ASCII

6 Chr(n) Cho kí tự có mã là n

Trang 14

7 Concat(s1,s2, ,sn) Cho xâu mới bằng cách nối đuôi các xâu s1,s2, ,snlại với nhau

Ví dụ:

III CÁC DẠNG BÀI TẬP THƯỜNG GẶP

1 Dạng 1: Một số bài tập củng cố kiến thức, tạo hứng thú cho học sinh:

Bài tập 1: Viết chương trình nhập vào một xâu ký tự từ bàn phím Đổi xâu ký tự đó

sang chữ in hoa rồi in kết quả ra màn hình

Ví dụ: Input: ‘nguyen van an’

Output: ‘NGUYEN VAN AN’

GV nêu câu hỏi: Ứng dụng của viết chữ in hoa các em gặp trong những trường hợp

nào?

HS: khi đi làm giấy khai sinh, kê khai lý lịch, làm hồ sơ thi tốt nghiệp, ĐH-CĐ…

GV: Làm thế nào để khi ta nhập họ tên vào máy là chữ thường thì khi hiện lên trên

màn hình là chữ in hoa có dấu?

HS: sử dụng hàm upcase(ch)

Giáo viên: Nhưng hàm upcase(ch) chỉ đổi được 1 kí tự thành ký tự in hoa, ở đây

chúng ta đổi cả 1 xâu kí tự? vậy chúng ta xử lý vấn đề này như thế nào?

HS: đưa ra cách xử lý

Giáo viên: Chúng ta đã biết có thể coi xâu là mảng 1 chiều mà mỗi phần tử là một

kí tự Mỗi kí tự của xâu được đánh số thứ tự thường bắt đầu từ 1, số kí tự của xâu

chính là độ dài của xâu Vậy để có thể chuyển 1 xâu nhập từ bàn phím thành chữ in

Trang 15

hoa thì ta sẽ chuyển từng kí tự trong xâu thành kí tự in hoa: duyệt lần lượt từngphần tử trong xâu và gán phần tử đó bằng giá trị mới upcase(ch);

Câu lệnh for i:=1 to length(s) do S[i]:=upcase(S[i]); dùng để thực hiện yêu cầu đó

GV gọi học sinh lên bảng viết chương trình HS viết chương trình, sau đó GV nhậnxét, sửa chữa nếu có sai sót Chạy chương trình để HS theo dõi kết quả thực hiện

Chương trình:

Program inhoa;

Var S: String;i:Byte;

Begin

Write(‘Nhap xau S: ‘); Readln(S);

For i:=1 to length(S) do S[i]:=Upcase(S[i]);

Write(‘Xau ket qua: ‘, S);

Readln;

End

Bài tập 2: Nhập 1 xâu S từ bàn phím (S<=80), đưa ra màn hình xâu đảo ngược của

xâu đó (viết theo chiều ngược lại)

VD: Input: ‘Hello’

Output: ‘olleH’

GV nêu câu hỏi: làm thế nào để chúng ta có thể viết ngược lại xâu nhập vào?

Học sinh trả lời:

GV: Để duyệt lần lượt các kí tự trong xâu S từ 1 đến hết (phần tử cuối cùng có chỉ

số trùng với độ dài của xâu) ở các ví dụ và bài tập 1 chúng ta sử dụng vòng lặp biếttrước for i:=1 to length(s) do …Vậy nếu chúng ta sử dụng vòng lặp lùi fori:=length(s) downto 1 do …thì có thể giải quyết được yêu cầu của bài toán không? HS: trả lời

GV gọi học sinh lên bảng viết CT, sau đó nhận xét và chạy thử chương trình họcsinh viết, HS quan sát kết quả thực hiện chương trình trên màn hình máy chiếu.(GV giải thích thêm vì sao xâu s trong bài tập này có độ dài tối đa 80 kí tự)

Trang 16

Chương trình:

Program xaunguoc;

Var S: String[80]; i:Byte;

Begin

Write(‘Nhap xau S: ‘); Readln(S);

For i:=length(S) downto 1 do write(S[i]);

Write(‘Xau nguoc cua xau s la: ‘, S);

Readln;

End

Bài tập 3: Nhập 1 xâu S từ bàn phím (S<=25), đưa ra màn hình xâu st nhưng mỗi

kí tự viết trên 1 dòng (GV giải thích thêm vì sao xâu s trong bài tập này có độ dàitối đa 25 kí tự)

VD: Input: ‘LuongTai’

Output: L

u o n g T a iPhần lớn HS vẫn chưa biết khi nào thì sử dụng write, khi nào dùng writeln Mụcđích của bài tập này tôi đưa ra để nhằm củng cố cho học sinh viêc sử dụng thànhthạo thủ tục write và writeln, sự khác biệt giữa 2 thủ tục này

GV gọi học sinh nhắc lại sự khác biệt giữa 2 thủ tục, sau đó gọi học sinh lên bảngviết chương trình

GV chạy chương trình hoặc sửa chương trình của bài tập 2, HS theo dõi kết quảthực hiện trên màn hình  sự hứng thú cho học sinh khi học bài kiểu xâu và kết hợp

Trang 17

với các thủ tục tưởng chừng như đã rất quen thuộc nhưng khi vận dụng thì các emthấy được sự kì diệu của tin học.

Write(‘Nhap xau S: ‘); Readln(S);

Write(‘ket qua la: ‘);

For i:=1 to length(S) do writeln(S[i]:15);

Readln;

End

Bài tập 4: Nhập 1 xâu S từ bàn phím (S<=25), đưa ra màn hình xâu st nhưng mỗi

kí tự viết trên 1 dòng ngược lại với xâu S

VD: Input: ‘LuongTai’

Output: i

a T g n o u L

Khi tôi nêu bài toán và hỏi hs: bạn nào xung phong lên bảng viết chương trình thì

đã có khá nhiều cách tay giơ lên

Chương trình mà em học sinh đã sửa như sau:

Program baitap4;

Ngày đăng: 16/10/2021, 20:49

HÌNH ẢNH LIÊN QUAN

5 Ord(ch) Cho mó của kớ tự ch trong bảng mó ASCII 6Chr(n)Cho kớ tự cú mó là n - SKKN Kieu xau
5 Ord(ch) Cho mó của kớ tự ch trong bảng mó ASCII 6Chr(n)Cho kớ tự cú mó là n (Trang 13)
- Bảng số liệu kết quả đạt được của học sinh lớp 11 năm học 2013-2014 khi chưa thực hiện đề tài: - SKKN Kieu xau
Bảng s ố liệu kết quả đạt được của học sinh lớp 11 năm học 2013-2014 khi chưa thực hiện đề tài: (Trang 32)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w