Giáo án Tin Học khối 11 cả năm

Bài thực hành số 4 (Tiết 1)

 I. MỤC TIÊU

 1. Kiến thức.

 - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.

 - Làm quen với thuật toán sắp xếp đơn giản.

 2. Kĩ năng.

 - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuất toán bằng chương trình sử dụng dữ liệu kiểu mảng.

 - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn.

 3. Thái độ.

 - Tự giác, chủ động trong khi thực hành.

 II. ĐỒ DÙNG DẠY HỌC

 1. Chuẩn bị của giáo viên

 - Phòng máy vi tính, máy chiếu Projedtor để hướng dẫn.

 

doc107 trang | Chia sẻ: dung89st | Lượt xem: 1645 | Lượt tải: 1download
Bạn đang xem trước 20 trang mẫu tài liệu Giáo án Tin Học khối 11 cả năm, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
 - Biết giải một số bài toán cơ bản thường gặp:
 + Tính tổng các phần tử thỏa mãn điều kiện nào đó.
 + Đếm số các phần tử thỏa mãn điều kiện nào đó.
 + Tìm phần tử lớn nhất, nhỏ nhất.
 3. Thái độ
 - Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tích cực, chủ độngvà sáng tạo trong tìm kiếm kiến thức.
 II. Đồ dùng dạy học.
 1. Chuẩn bị của giáo viên.
 - Phòng máy tính, máy chiếu Projector để minh họa.
 2. Chuẩn bị của học sinh.
 - Sách giáo khoa.
 III. hoạt động dạy - học .
 1. Hoạt động 1: Tìm hiểu cách sử dụng lệnh và kiểu dữ liệu mảng một chiều qua chương trình có sẵn.
 a. Mục tiêu:
 - Học sinh hiểu được chương trình có sẵn ở câu a, biết được kết quả chạy chương trình này, từ đó tìm ra cách giải quyết câu b.
 b. Nội dung:
 * Tìm hiểu, gõ chương trình vào máy và chạy thử:
 Program Sum 1;
 Uses Crt;
 Const nmax:=100;
 Type Myarray = Array[1..nmax] of integer ;
 Var A:myarray;
 s, n, i, k:integer;
 Begin
 Clrscr;
 Randomize;
 Write(‘nhap n=’);
 readln(n);
 For i:=1 to n do a[i]:=random(300) – random(300);
 For i:=1 to n do Write(A[i]:5);
 Writeln;
 Write(;nhap k=’);
 readln(k);
 s:=0;
 For i:=1 to n do 
 if a[i] mod k=0 then s:=s+a[i];
 Write(‘tong can tinh la’,s);
 readln;
 End.
 * Thêm các lệnh mới vào chương trình nhằm sửa đổi chương trình trong câu a dể chương trình thực hiện đếm số dương và số lượng số âm của mảng.
 Posi, neg:integer;
 Posi:=0;neg:=0;
 If a[i] >0 then Posi:=posi+1
 Else if a[i] <0 then neg:=neg+1;
 Write(pói:4,neg:4);
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. tìm hiẻu chương tình ở câu a, sách giáo khoa, trang 63 và chạy thử chương trình.
 - Chiếu chương trình lên bảng .
 - Hỏi: Khai báo Uses CRT; có ý nghĩa gì?
 - Hỏi: Myarray là tên kiểu dữ liệu hay tên biến?
 - Hỏi: Vai trò của nmax và n có gì khác nhau?
 - Hỏi: Những dòng lệnh nào dùng để tạo biến màng a?
 - Thực hiện chương trình để học sinh thấy kết quả.
 - Hỏi: Lệnh gán a[i]:=random(300) – random(300) có ý nghĩa gì?
 - Hỏi: Lệnh Fori:=1 to n do
 Write(A[i]:5);có ý nghĩa gì?
 - Hỏi : Lệnh For – Do cuối cùng thực hiện nhiệm vụ gì?
 - hỏi: Lệnh s:=a+a[i]; được thựchiện bao nhiêu lần?
 - Thực hiện lại chương trình lần cuối để học sinh thấy kết quả.
 2. Sửa chương trình câu a để được chương trình giải quyết bài toán ở câu b.
 - Chiếu lên màn hình các lệnh cần thêm vào chương tình ở câu a.
 - Hỏi: ý nghĩa của biến Posi và neg?
 - Hỏi: Chức năng của lệnh:
 If a[i] >0 then posi:=posi+1
 else if a[i] <0 then neg:=neg+1;
 - Yêu cầu học sinh thêm vào vị trí cần thiết để chương trình đếm được số.
 - Yêu cầu học gõ nội dung và lưu lại với tên caub.pas. thực hiện chương trình và báo cáo kết quả.
 1. Quan sát, chú ý và trả lời.
 - Khai báo thư viện chương trình con Crt để sử dụng được thủ tục Clrscr;
 - Tên kiểu dữ liệu.
 - nmax là số phần tử tối đa có thể chứa của biến mảng a.n là số phần tử thực tế của a.
 - Lệnh khai báo kiểu và khai báo biến.
 - Quan sát chương trình thực hiện và kết quả trên màn hình.
 - Lệnh sinh ngẫu nhiên giá trị cho mảng a từ – 299 đến 299.
 - In ra màn hình giá trị của từng phần tử trong mảng a.
 - Cộng các phần tử chia hết cho k.
 - Có số lần đúng bằng số phần tử a[i] chia hết k.
 - Quan sát giáo viên thực hiện chương trình và kết quả trên màn hình.
 2. Quan sát và chú ý theo dõi các câu hỏi của giáo viên:
 - Quan sát các lệnh và suy nghĩ vị trí cần sửa trong chương trình câu a.
 - Dùng để lưu số lượng đếm được.
 - Đếm số dương hoặc đếm số âm.
 - Chỉ ra vị trí cần thêm vào trong chương trình.
 - Lưu chương trình. Thực hiện chương trình và thông báo kết quả.
 IV. Đánh giá cuối bài
 1. Những nội dung đã học.
 Một số thuật toán cơ bản:
 + Tìm tổng các phần tử thỏa mãn điều kiện nào đó.
 + Đếm số các phần tử thỏa mãn điều kiện nào đó.
 + Tìm phần tử lớn nhất, nhỏ nhất.
V.Rỳt kinh nghiệm.
Tuaàn 13:
Ngaứy soaùn: 3/11/2009
Ngaứy giaỷng: 9-14/11/2009
PPCT Tieỏt 24 : 
Bài thực hành số 3 (Tiết 2)
I. mục tiêu.
 1. Kiến thức.
 - Củng cố lại các kiến thức cơ bản về kiểu dữ liệu mảng.
 2. Kĩ năng
 - Nâng cao kĩ năng sử dụng một số lệnh kỉeu dữ liệu mảng một chiều trong lập trình, cụ thể: 
 + Khai báo kiểu dữ liệu mảng một chiều.
 + Nhập/xuất dữ liệu cho mảng.
 + Duyệt qua tất cả các phần tử của mảng để xử lí từng phần tử.
 - Biết giải một số bài toán cơ bản thường gặp:
 + Tính tổng các phần tử thỏa mãn điều kiện nào đó.
 + Đếm số các phần tử thỏa mãn điều kiện nào đó.
 + Tìm phần tử lớn nhất, nhỏ nhất.
 3. Thái độ
 - Góp phần rèn luyện tác phong, tư duy lập trình: Tự giác, tích cực, chủ độngvà sáng tạo trong tìm kiếm kiến thức.
 II. Đồ dùng dạy học.
 1. Chuẩn bị của giáo viên.
 - Phòng máy tính, máy chiếu Projector để minh họa.
 2. Chuẩn bị của học sinh.
 - Sách giáo khoa.
 III. hoạt động dạy - học .
 1. Hoạt động 1: rèn luyện kĩ năng lập trình.
 a. Mục tiêu:
 - Viết được chương trình hoàn thiện bằng cách sử dụng lệnh và kểi dữ liệu mảng một chiều.
 b. Nội dung:
 - Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và in ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì chỉ đưa ra phần tử có chỉ số nhỏ nhất.
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. láy một ví dụ thực tiễn: Người mù tìm viên sỏi có kích thước lớn nhất trong một dãy các viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn nhất.
 - Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn nhất.
 2. Tìm hiểu chương trình tìm chỉ số và giá trị lớn nhất.
 - Chiếu chương tình ví dụ, sách giáo khoa, trang 64. 
 - Hỏi: Vai trò của biến j trong chương trình?
 - Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa ở chỗ nào?
 - Hỏi: Nếu muốn tìm phần tử lớn nhất với chỉ số lớn nhất ta sửa ở chỗ nào?
 3. Đặt yêu cầu mới: Viết chương trình đưa ra các chỉ số của các phần tử có giá trị lớn nhất.
 - Hỏi: Cần giữ lại đoạn chương trình tìm giá trị lớn nhất không?
 - Hỏi: Cần thêm lệnh nào nữa?
 - Hỏi: Vị trí thêm các lệnh đó?
 - Yêu cầu: Viết chương trình hoàn thiện.
 - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và báo kết quả.
 - Đánh giá kết quả của học sinh.
 1. Theo dõi vị trí của giáo viên.
 - So sánh lần lượt từ trái sang phải, giữ lại chỉ số của phần tử lớn nhất. 
 2. Quan sát chương trình, suy nghĩ và trả lời.
 - Giữ lại chỉ số của phần tử có giá trị lớn nhất.
 - Phép so sánh a[i] <a[j]
 - Chuyển thứ tự duyệt từ n-1 vè 1.
 3. Theo dõi yêu cầu, suy nghĩ các câu hỏi định hướng để viết chương trình.
 - Có.
 - Lệnh để in ra các chỉ số có giá tị bằng giá trị lớn nhất tìm được.
 - Sau khi tìm được giá trị lớn nhất.
 - Soạn chương trìnhvào máy. Thực hiện chương trình và thông báo kết quả.
 - Nhập dữ liệu vào và thông báo cho giáo viên dữ liệu ra.
 IV. Đánh giá cuối bài
 1. Những nội dung đã học.
 Một số thuật toán cơ bản:
 + Tìm tổng các phần tử thỏa mãn điều kiện nào đó.
 + Đếm số các phần tử thỏa mãn điều kiện nào đó.
 + Tìm phần tử lớn nhất, nhỏ nhất.
 2. Câu hỏi và bìa tập về nhà.
 - Viết chương trình nhập một mảng một chiều A[1..20] và nhập một số x. Đếm số lượng số trong A có giá trị bằng x.
 - Xem nội dung của bài thực hành số 4, sách giáo khoa, trang 65.
V.Rỳt kinh nghiệm.
Tuaàn 13:
Ngaứy soaùn: 3/11/2009
Ngaứy giaỷng: 9-14/11/2009
PPCT Tieỏt 25 : 
Bài thực hành số 4 (Tiết 1)
 I. mục tiêu
 1. Kiến thức.
 - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.
 - Làm quen với thuật toán sắp xếp đơn giản.
 2. Kĩ năng.
 - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuất toán bằng chương trình sử dụng dữ liệu kiểu mảng.
 - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn.
 3. Thái độ.
 - Tự giác, chủ động trong khi thực hành.
 II. Đồ dùng dạy học
 1. Chuẩn bị của giáo viên
 - Phòng máy vi tính, máy chiếu Projedtor để hướng dẫn.
 2. Chuẩn bị của học sinh.
 - Sách giáo khoa, chương trình đã được viết sẵn.
 III. Hoạt động dạy – học .
 1. Hoạt động 1: Tìm hiểu chương trình diễn đạt của thuật toán sắp xếp.
 a. Mục tiêu:
 - Học sinh hiểu chương trình và thuật toán sắp xếp đơn giản.
 b. Nội dung:
 Bài toán 1: Viết chương trình sắp xếp các phần tử của mảng theo thứ tự không giảm.
Chương trình minhhọa:
 Uses CRT;
 Const nmax=250;
 type arrint=array[1..nmax] of integer;
 Var n, i, j, y:integer;
 a:arrint;
 Begin
 clrscr;
 Randomize;
 Write(‘nhap n=’);
 Readln(n);
 For i:=1 to n do a[i]:=random(300) – random (300);
 For i:=1 to n do write(a[i]:5);
 Writeln;
 For i:=n dowto 2 do
 For i:=1 to i – 1 do
 If a[i] >a[i+1] then
 Begin
 t:=a[i];
 a[i]:=a[i+1];
 a[i+1]:=t;
 End;
 Writeln(‘day so sau khi sap xep’);
 For i:=1 to n do write(a[i]:7);
 Writeln;
 readln;
 End.
 - Yêu cầu: Soan chương trình vào máy, chạy thử với các giá trị khac nhau của n. Rút ra nhận xét về thời gian thực hiện của hcương trình.
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. Gợi ý cho học sinh thuật toán sắp xếp tăng dần.
 - Lấy một ví dụ thực tiễn: Người mù sắp xếp một dãy các viên bi theo kích thước không giảm.
 - Yêu cầu: Vạch ra các bước để sắp xếp các phần tử của một mảng không giảm.
 2. Tìm hiểu chương trình ví dụ, sách giáo khoa, trang 65.
 - Chiếu chương trình ví dụ lên bảng.
 - Hỏi: Vai trò của biến i, j trong chương trình? Mỗi vòng lặp For trong đoạn chương trình sắp xếp có ý nghĩa gì?
 - Hỏi: Ba lệnh tg:=a[i]; a[i]:=a[i+1]; a[i+1]:=tg; có ý nghĩa gì?
 - Thực hiện chương trình, nhập dữ liệu để học sinh thấy kết quả chương trình.
 - Hỏi: Chương trình làm công vịêc gì?
 3. Sửa chương trình để giẩi quyết bài toán ở câu b.
 - Đặt yêu cầu mới: Khai báo thêm biến nguyên Dem và bổ sung vào chương trình đoạn lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi trong thuật toán. In kết quả tìm được ra màn hình.
 - Hỏi: Đoạn chương trình nào dùng để thực hiện tráo đổi giá trị?
 - Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi.
 - Hỏi: Lệnh này được viết ở vị nào trong chương trình?
 - Yêu cầu học sinh soạn chương trình?
 - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và thông báo kết quả.
 - Đánh giá kết quả của học sinh.
 1. CHú ý theo dõi những dẫn dắt của giáo viên để trả lời câu hỏi.
 - Lần lượt lấy từng phần tử từ trái qua phải.
 - Cứ mỗi phần tử ta đem so sánh lần lượt với các phần tử đứng bên phải của nó.
 - Nếu nhỏ hơn thì đổi chỗ.
 2. Quan sát chương trình, suy nghĩ câu hỏi và trả lời.
 - Biến i, j dùng làm chỉ số.
 - Mỗi vòng lặp For ứng với mỗi phép duyệt lần lượt.
 - Dùng để đổi giá trị của hai phần tử a[i] với a[i+1].
 - Quan sát giáo viên thực hiện chương trình.
 - Chương trình sắp xếp dãy số theo thứ tự không giảm.
 3. Quan sát yêu cầu mới, chú ý định hướng giải quyết của giáo viên.
 tg:=a[i];a[i]:=a[i+1];a[i+1]:=tg;
 - Dem := Dem+1;
 - Ngay sau đoạn tráo đổi.
 - Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả.
 - Nhập dữ liệu theo yêu cầu của giáo viên, thực hiện chương trình và thông báo kết quả sau khi thực hiện.
 IV. Đánh giá cuối bài
 1. Những nội dung đã học.
 Một số thuật toán cơ bản:
 + Tìm tổng các phần tử thỏa mãn điều kiện nào đó.
 + Đếm số các phần tử thỏa mãn điều kiện nào đó.
 + Tìm phần tử lớn nhất, nhỏ nhất.
V.Rỳt kinh nghiệm.
Tuaàn 14:
Ngaứy soaùn: 10/11/2009
Ngaứy giaỷng: 16-21/11/2009
PPCT Tieỏt 26 : BÀI TẬP VÀ THỰC HÀNH 4 (Tiết 2)
 I. mục tiêu
 1. Kiến thức.
 - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng.
 - Làm quen với thuật toán sắp xếp đơn giản.
 2. Kĩ năng.
 - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuất toán bằng chương trình sử dụng dữ liệu kiểu mảng.
 - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn.
 3. Thái độ.
 - Tự giác, chủ động trong khi thực hành.
 II. Đồ dùng dạy học
 1. Chuẩn bị của giáo viên
 - Phòng máy vi tính, máy chiếu Projedtor để hướng dẫn.
 2. Chuẩn bị của học sinh.
 - Sách giáo khoa, chương trình đã được viết sẵn.
 III. Hoạt động dạy - học .
 1. Hoạt động 1: Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bào toán sao cho chương trình chạy nhanh hơn.
 a. Mục tiêu:
 - Học sinh biết sử dụng kiểu mảng để lập trình giải một bài toán. Biết nhận xét, phân tích để đề xuất phương pháp giải hay.
 b. Nội dung:
 Cho mảng A gồm n phần tử. Viết chương trình tạo mảng B[1..n], trong đó B[i] là tổng giá trị của i phần tử đầu tiên của mảng A.
 Chương trình minh họa:
 Const nmax=100;
 Type myarray=array[1..nmax] ò integer;
 Var n, i, j:integer;
 a,b:arrint;
 Begin
 Randomize;
 Write(‘nhap n=’);
 Readln(n);
 For i:=1 to n do a[i]:=random(300) – random(300);
 For i:=1 to n do write(a[i]:5);
 Writeln;
 For i:=1 to n do
 Begin
 B[i]:=0;
 For j:=1 to i do B[i]:=B[i]+A[j];
 End;
 For i:=1 to n do write(B[i]5);
 Readln;
 End.
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. Xác định bài toán.
 - Chiếu đề bài lên bảng.
 - Yêu cầu: Xác định dữ liệu vào, dữ liệu ra?
 - Gợi ý để học sinh đề xuất thuật toán thô.
 2. giới thiệu chương trình chưa cải tiến.
 - Chiếu chương trình diễn đạt thuật toán.
 - Thực hiện chương trình để học sinh biết thời gian thực hiện chương trình và kết quả của chương trình.
 - Hỏi: Trong chương trình phải thực hiên bao nhiêu phép toán cộng?
 - Hỏi: Có cách nào để cải tiến?
 - Lệnh này được thay lệnh nào trong chương trình? Viết ở vị trí nào?
 3. Yêu cầu: Viết chương trình hoàn thiện.
 4. Tiểu kết: Cùng một bài toán, có nhiều cách giải quyết khác nhau. Người lập trình cần chọn cách sao cho máy thực hiện nhanh nhất. 
 1. Quan sát đề bài và trả lời câu hỏi.
 - Vào: Mảng A gồm n phần tử.
 - Ra: Mảng B gồm n phần tử.
 - Tại vị trí i ta tính tổng giá trị các phần tử từ 1 đến i.
 2. Quan sát chương trình trên bảng.
 - Quan sát giáo viên thực hiện, nhận xét về thời gian thực hiện chương trình.
 - Phải thực hiện n(n+1)/2 phép cộng.
 - Để tính bước thứ i, ta sử dụng kết quả đã tính ở bước thứ i – 1 .
 B[i]:=B[i-1]+A[i];
 - Thay đoạn lệnh
 For j:=1 to i do B[i]:=B[i]+A[j];
 3. Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả.
 - Nhận xét về thời gian thực hiện của chương trình này so với chương trình trước khi cải tiến.
 IV. Đánh giá cuối bài
 1. Những nội dung đã học.
 - Thuật toán sắp xếp đơn giản.
 - Một bài toán có thể có nhiều cách viết thành một chương trình. Cần chọn cách có số phép tính ít nhất.
 2. Câu hỏi và bài tập về nhà.
 - Xem lại tất cả các kiến thức đã học, bao gồm: Lệnh cơ bản, lệnh điều khiển, kiểu dữ liệu cơ bản, kiểu dữ liệu có cấu trúc.
V.Rỳt kinh nghiệm.
Tuaàn 14:
Ngaứy soaùn: 10/11/2009
Ngaứy giaỷng: 16-21/11/2009
Kiểu dữ liệu xâu(tiết 1)
 I. Mục tiêu.
 1. Kiến thức.
 - Biết được một kiểu dữ liệu mới, biết được khái niệm kiểu xâu.
 - Phân biệt được sự giống và khác giữa kiểu mảng kí tự với xâu kí tự.
 - Biết được cách khai báo biến, nhập xuất dữ liệu, tham chiếu đến từng kí tự của xâu.
 - Biết các phép toán liên qua đến xâu.
 2. Kĩ năng.
 - Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal. Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản.
 II. Đồ dùng dạy học.
 1. Chuẩn bị của giáo viên.
 - Máy vi tính, máy chiếu Projector để giới thiệu ví dụ.
 2. Chuẩn bị của học sinh
 - Sách giáo khoa.
 III. Hoạt động dạy - học .
 1. Hoạt động 1: Tìm hiểu về xâu và cách sử dụng.
 a. Mục tiêu:
 - Học sinh biết được ý nghĩa của xâu và một số khái niệm của xâu. Biết cách khai báo biến xâu, nhập xuất dữ liệu cho biến xâu và tham chiếu đến từng kí tự trong xâu.
 b. Nội dung:
 - Xâu kí tự là dãy các 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 các kí tự trong xâu được gọi là độ dài xâu. Xâu có độ dài bằng không là xâu rỗng.
 - Khai báo biến: VAR tên_biến : STRING[độ dài lớn nhất của xâu];
 - Tham chiếu đến từng kí tự trong xâu: tên_biến[chỉ_số]
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. Tìm hiểu ý nghĩa của xâu kí tự.
 - Chiếu đề bài của bài toán đặt vấn đề: Viết chương trình nhập họ tên của 30 học sinh trong lớp.
 - Hỏi: ta sẽ chọn kiểu dữ liệu như thế nào? Khai báo biến như thế nào?
 - Yêu cầu học sinh: Viết đoạn lệnh để nhập và xuất dữ liệu cho từng phần tử.
 - Hỏi: Có những khó khăn gì gặp phải?
 - Dẫn dắt: Cần có một kiểu dữ liệu mới cho phép ta nhập/ xuất dữ liệu cho xâu bằng một lệnh.
 2. Tìm hiểu về kiểu xâu.
 - Chiếu lên bảng cách khia báo biến xâu trong ngôn ngữ lập trình Pascal.
 - Hỏi: ý nghĩa của từ String, [n]
 - Hỏi: Khi khai báo không có[n] thì số lượng kí tự tối đa là bao nhiêu?
 - Yêu cầu học sinh cho ví dụ một xâu kí tự
 - Hỏi: Xâu có bao nhiêu kí tự?
 - Diễn giải: 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.
 - Hỏi: Xâu chỉ gồm một kí tự trống được viết như thế nào? Số lượng kí tự bao nhiêu?
 - Hỏi: Xâu rỗng được viết như thế nào? Số lượng kí tự bao nhiêu?
 3. Nhập/xuất dữ liệu cho biến xâu trong ngôn ngữ Pascal.
 - Giới thiệu cấu trúc chung của thủ tục nhập/xuất dữ liệu.
 - Yêu cầu học sinh tìm ví dụ cụ thể.
 - Hỏi: Khi viết lệnh nhập/xuất dữ liệu cho biến xâu, có gì khác so với biến mảng các kí tự.
 - Dẫn dắt: Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu. Cấu trúc chung:
 Tên_biến_xâu:=hằng_xâu;
 - Yêu cầu học sinh tìm một ví dụ cụ thể.
 4. Tham chiếu đến từng kí tự của xâu.
 - Giới thiệu cấu trúc chung.
 - Hỏi: Có gì giống và khác nhau so với cách tham chiếu đến từng phần tử của mảng.
 - Yêu cầu học sinh tìm một ví dụ.
 5. Kiểm tra kiến thức.
 - Chiếu nội dung bài tập kiểm tra kiến thức: 
 Var st:string[1]; c:char;
 Begin
 c:=st[1]; {1}
 c:=st; {2}
 End.
 - Hỏi: Trong hai lệnh {1} và {2}, Lệnh nào đúng?
 - Thực hiện chương trình để học sinh tự kiểm nghiệm suy luận.
 1. Quan sát, suy nh\ghĩ và trả lời.
 - Kiểu mảng một chiều gồm 30 kí tự.
 - Khai báo một biến mảng A để lưu họ tên của một học sinh.
 Readln(A[1]0; Readln (A[2])
 Readln(A[3]0; Readln (A[4]);
 ........
 - Chương trình được viết dài dòng. Khi nhập dữ liệu, phải thực hiện gõ nhiều phím.
 2. Quan sát cấu trúc khai báo và tham khảo sách giáo khoa.
 - String là tên kiểu xâu.
 - [n] là giá trị quy định số lượng kí tự tối đa mà biến xâu có thể chứa.
 - Số kí tự tối đa là 255.
 - Ví dụ: ‘HA NOI’
 - Xâu có 6 kí tự, dấu cách là một kí tự.
 - Kí hiệu của xâu gồm một kí tự trống là ‘ ’. Xâu nà có độ dài là 1.
 - Kí hiệu của xâu rỗng là ‘ ’. Xâu này có độ dài là 0.
 3. Quan sát bảng để trả lời.
 - Ví dụ: Readln(ho ten);
 - Ví dụ: Write(‘ho ten’,hoten);
 - Viết một lệnh nhập nguyên cho cả xâu. Viết lệnh gọn hơn, CHương trình gọn.
 - Ví dụ:St:=’HA NOI’;
 4. Quan sát và suy nghĩa để trả lời.
 - Giống cấu trúc chung khi tham chiếu tên biến[chỉ số]
 - Ví dụ: st[2]
 5. Quan sát chương trình trên bảng và độc lập suy nghĩ.
 - Lệnh {1} đúng.
 - Lệnh {2} sai. không thể gán một xâu cho một kí tự .
 2. Hoạt động 2: Tìm hiểu các phép toán liên quan đến xâu.
 a. Mục tiêu:
 - Học sinh biết được các phép toán liên quan đến xâu. Diễn đạt được các phép toán đó trong ngôn ngữ lập trình Pascal.
 b. Nội dung:
 - Phép ghép xâu: Kí hiệu là +, được sử dụng để ghép nhiều xâu thành một xâu.
 - Các phép so sánh; =, ,>, =: Thực hiện việc so sánh hai xâu. Xâu A được xem là lớn hơn xâu B nếu như kí tự khác nhau đầu tiên giữa chúng kể từ trái sang trong xâu A có chỉ số trong bảng mã ASCII là lớn hơn. 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 nhỏ hơn B.
 c. Các bước tiến hành:
hướng dẫn của giáo viên
Hoạt động của học sinh
 1. gợi nhớ các phép toán đã học.
 - Hỏi: Hãy nhắc lại các phép toán đã học trên kiểu dữ liệu chuẩn.
 2. Tìm hiểu chức năng của một số phép toán trong kiểu xâu qua một số ví dụ.
 - Chiếu chương trình ví dụ:
 Var st:string;
 Begin
 st:=’Ha’+ ‘Noi’;
 Write()st ;
 readln;
 End.
 - Hỏi: Kết quả của chương trình in ra m

File đính kèm:

  • docGiao An Tin 11(2009-2010).doc