Bài tập tin học
Chia sẻ bởi Hồ Diên Lợi |
Ngày 14/10/2018 |
79
Chia sẻ tài liệu: Bài tập tin học thuộc Tư liệu tham khảo
Nội dung tài liệu:
TÊN BÀI GIẢNG: Tiết 31 - KIỂU XÂU
Giáo viên hướng dẫn: Thầy, Lê Đình Hoàn
Sinh viên thực tâp: Nguyễn Thị Hà Phương
Lớp: 11B3 Tiết:7 Thứ 6, ngày:14/03/08 phòng:P12
I. Mục đích, yêu cầu:
- Củng cố cho học sinh những hiểu biết về kiểu xâu
- Rèn luyện được kĩ năng:
+ Khai báo kiểu xâu
+ Nhập/ xuất xâu
+ Duyệt qua tất cả các kí tự của xâu để thực hiện xử lí tương ứng với từng kí tự đó.
+ Sử dụng được các hàm và thủ tục
Từng bước hình thành và rèn luyện tư duy lập trình, tác phong của người lập trình.
II. Phương pháp giảng dạy:
Sử dụng phương pháp giảng giãi, đưa ra những tình huống, những câu hỏi cho học sinh phân tích và hướng dẫn gợi ý.
III. Tiến trình dạy học:
1. Ổn định lớp: - Ổn định trật tự
- Báo cáo sĩ số
2. Nội dung bài học:
Thời gian
Nội dung ghi bảng
Hoạt động của giáo viên
Hoạt động của học sinh
Tiết 31: BÀI TẬP
1, Bài tập1:
Viết chương trình nhập vào một xâu. Hãy xóa các kí tự trắng trong xâu đó và in ra xâu đó.
Input: Một xâu
Output: In ra xâu đã xóa kí tự trắng
*Ví dụ:
S:’em(đi(học(’
( ‘emdihoc’
*Ý tưởng giải thuật:
- Nhập một xâu
- Xóa các kí tự trắng
- In ra xâu đã xóa kí tự trắng.
+ Xóa:
Dùng for để duyệt (1(length(xâu))
Nếu s[i]= kí tự trắng thì xoa
*Viết chương trình:
Program bai1;
Var s:string; i:byte;
BEGIN
Write(‘nhap xau:’);readln(s);
For i:=1 to length(s) do
If s[i]=’ ‘ then
Delete(s,i,1);
Write(s);
END.
2, Bài toán 2:
Viết chương trình nhập vào một xâu. In ra xâu không chứa từ đầu tiên của xâu đó.
Input: Một xâu
Output: Xâu không chứa từ đầu tiên của xâu đó.
*Ví dụ:
S:’lop 11b3 của em’
( ‘11b3 của em’
*Ý tưởng giải thuật:
- Nhập xâu
- Xóa kí tự đầu tiên
- IN ra xâu đã xóa kí tự đầu tiên
* Xóa từ đầu tiên
- Delete(s,vt,n)
+Vt=1
+ n=pos(‘ ‘,s)
*Viết chương trình:
Program bai2;
Var s:string; n:byte;
BEGIN
Write(‘nhap xau:’);readln(s);
n:=pos(‘ ‘,s);
Delete(s,1,n);
Write(s);
Readln;
END.
3,Bài toán 3:
Nhập vào một xâu. IN ra xâu mới trong đó các kí tự là chữ cái thường thì in hoa lên, còn lại thì giữ nguyên.
Input: một xâu
Output: xâu đã in hoa
* ví dụ:
S:’Lop 11b3’ ( ‘LOP 11B3’
Sau khi học xong kiểu xâu, có một tiết bài tập và chúng ta cũng đã thực hành rồi. Các em đã thành thạo về kiểu xâu, đặc biệt là cách khai báo và nhâp, xuất xâu. Vậy bây giờ chúng ta sẽ đi tiếp phần bài tập về kiểu xâu và hôm nay chúng ta sẽ đi sâu hơn vào các hàm và thủ tục.
Xác định bài toán?
Em nào lấy một ví dụ về một xâu?
Kết quả của bài toán sẽ là xâu gì?
Bây giờ nêu lên ý tưởng giải thuật?
Nêu cách xóa các kí tự trắng? (gợi ý: dùng lệnh gì để duyệt? Nếu bắt gặp kí tự trắng thì như thế nào? Không phải kí tự trắng thì như thế nào?).
Nếu không bằng kí tự trắng thì làm gì?
Để xóa thì ta sử dụng thủ tục gì?
Ví dụ ta xét đến phần tử thứ 3 tức là i=3. Thì để muốn xóa kí tự này thì các tham số trong thủ tục delete phải là gì?
Một bạn lên viết chương trình
Ai có thể nêu lên cách giải bài toán này bằng cách khác?
Chúng ta có thể tạo một xâu mới. Trong đó ta sẽ duyệt từng phần tử của xâu s nếu phần tử nào khác kí tự trắng thì copy sang xâu mới tạo đó. Thì cuối cùng ta được xâu mới không chứa kí tự trắng. Đây chính là bài tập về nhà hãy giải bài toán theo cách này cách tạo một xâu mới.
Bây giờ chúng ta sẽ tiếp tục với bài toán 2
Một bạn xác định bài toán?
Một đưa ra một ví dụ về một xâu bất kì?
Bài toán sẽ đưa ra kết quả gì?
Một em đưa ra ý tưởng giải thuật?
Phần nhập và in ra thì chúng ta đã thành thạo rồi. Vậy chúng ta cùng nhau phân tích cách xóa kí tự đầu tiên.
Để xóa thì chúng ta dùng thủ tục gì đây?
Đối với ví dụ trên để xóa kí tự đầu tiên thì các tham số của delete là như thế nào?
Nếu là ta xóa 3 kí tự thì xâu của nó sẽ có một kí tự trắng ở giữa sẽ không đẹp. Do đó chúng ta nên xóa mấy kí tự?
Đó là ví dụ cụ thể thì ta mới lấy chính xác như vậy. Nếu là một xâu bất kì thì ta phải làm thế nào để xác định các tham số đó. Với bất kì xâu nào ta cũng đều có delete vị trí của từ đầu tiên thì bao giờ cũng xuất phát từ bao nhiêu?
Còn việc xóa bao nhiêu kí tự thì ta còn phải phụ thuộc từ đầu tiên dài bao nhiêu nữa. Vậy ta thấy rằng độ dài của kí tự đầu tiên kể cả dấu cách nữa chính là bằng cái gì?(gợi ý: chính là vị trí của kí tự nào?)
Vậy ta phải biết được vị trí của kí tự trắng đầu tiên. Mà để biết vị trí của kí tự trắng đầu tiên thì ta phải sử dụng hàm gì đây?
Bây giờ một bạn lên viết chương trình, các bạn còn lại viết vào nháp. Cố sẽ gọi bất kì em nào lên để chấm bài.
Có cách giải quyết bài toán bằng cách khác không?
Các em về tìm thêm các cách giải quyết bài toán này bằng cách khác. Còn bây giờ chúng ta sẽ vào tiếp bài tập tiếp theo.
Xác định bài toán?
Phần còn lại các em tự về nhà giải.
HSTL
HS đưa ra ví dụ
HSTL
HSTL
HSTL
HSTL
Delete(s,vt,n)
Delete(s,i,1)
HS lên bảng
HSTL
HSTL
HSTL
‘11b3 của em’
HSTL
delete
delete(s,1,3)
delete(s,1,4)
1
Kí tự trắng
Pos(s1,s2)
HS lên bảng
HSTL
HSTL
Giáo viên hướng dẫn duyệt
Thầy, Lê Đình Hoàn
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Hồ Diên Lợi
Dung lượng: 71,50KB|
Lượt tài: 18
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)