V. CỦNG CỐ - DẶN DÒ 1. Củng cố:
Thế nào là xâu?
Cách khai báo xâu? Tham chiếu đến phần tử của xâu?
Các hàm thủ tục xử lí xâu?
2. Dặn dò
Về nhà học bài và làm bài tập 10 VI. RÚT KINH NGHIỆM
BÀI THỰC HÀNH 5
I. MỤC ĐÍCH – YÊU CẦU 1. Kiến thức
Làm quen với tiềm kiếm, thay thế và biến đổi xâu.
2. Kĩ năng
HS biết khai báo xâu
Nhập dữ liệu cho xâu, đưa ra màn hình giá trị của xâu.
Duyệt qua tất cả các kí tự của xâu.
Sử dụng hàm và thủ tục chuẩn đã học 3. Thái độ
Rèn luyện HS ý thức cần có của người lập trình
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ủ động trong thực hành.
II. PHƯƠNG PHÁP
Nêu vấn đề giải quyết vấn đề III. PHƯƠNG TIỆN DẠY HỌC
Phòng máy thực hành vi tính, máy chiếu.
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP 1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ 3. Nội dung
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Yêu cầu HS mở chương trình Pascal
Hướng dẫn HS tìm hiểu chương trình.
Một xâu được gọi là Palidrom nếu ta đọc các kí tự từ phải sang trái sẽ giống từ trái sang phải.
Bài 2:
Hướng dẫn HS :
Ta thấy cần ghi nhận số lần xuất hiện của từng chữ cái. Có tất cả 26 chữ cái từ A đến Z. Có thể dung mảng một chiều để
Mở chương trình Pascal
Chương trình var i, x: byte;
a, p: string;
begin
write('nhap vao 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 la palindrome’);
readln end.
b. Hãy viết lại chương trình đó, không dùng biến xâu p
Bài 2: Viết chương trình nhập từ bàn phím một xâu kí tự S và thông báo ra rằng số lần xuất hiện mỗi chữ cái tiếng Anh trong xâu S (không phân biệt chữ hoa chữ thường) Tiết CT: 29,30 Tuần: 24
Ngày soạn: 30.01.2014 Ngày dạy: 06.02.2014
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG ghi nhận số lần xuất hiện trong
xâu S của các kí tự.
Do chương trình không phân biệt chữ hoa chữ thường nên ta dùng hàm upcase để đổi kí tự thường thành kí tự hoa.
Có thể cho dàn ý sau:
{phần khai báo}
begin
{nhập xâu S}
N:= length(S);
{khởi tạo giá trị cho mảng dem}
for i:= 1 to N do
{nếu S[i] là chữ cái thì đếm tăng cho S[i] }
for i :=1 to 26 do
{Thông báo số lần xuất hiện của chr(i+ord(‘A’) –1)}
end.
Yêu cầu HS về nhà chuẩn bị bài 3.
V. CỦNG CỐ - DẶN DÒ 1. Củng cố:
Nhắc lại một số lỗi khi thực hành 2. Dặn dò
Chuẩn bị bài tiết sau ôn tập thi HK I VI. RÚT KINH NGHIỆM
BÀI TẬP CHƯƠNG IV
I. MỤC ĐÍCH – YÊU CẦU
Củng cố kiến thức đã học ở bài 12-13 II. PHƯƠNG PHÁP
Nêu vấn đề, diễn giảng., thảo luận nhóm III. PHƯƠNG TIỆN DẠY HỌC
Bảng phụ viết chương trình trong bài tập chương.
IV. NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP 1. Ổn định lớp (kiểm tra sĩ số)
2. Kiểm tra bài cũ:
Câu 1: viết cú pháp khai báo xâu?
Câu 2: Giả sử biến xâu St lưu giá trị ‘Truong THPT Duyen Hai’ hãy viết kết quả sau:
Delete(St,13,9) → ?, Copy(st,8,4)→ ?, length(St)→ ? 3. Nội dung
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Yêu cầu HS thảo luận trong 5 phút
Gợi ý cho HS viết chương trình
Lấy d = A[2]-A[1]
Khi đó dãy A là cấp số cộng nếu thỏa mãn điều kiện
A[i]=A[1]+(i-1)d
Hoặc điều kiện A[i+1]-A[i]=d (với 1<i<N)
Dùng dòng lặp theo biến đếm i để kiểm tra xem mỗi A[i]
có thỏa mãn điều kiện nói trên hay không, chỉ cần phát hiện được một phần tử của A không thỏa mãn là kết luận được dãy A không phải là cấp số cộng.
Yêu cầu HS thảo luận để viết chương trình
HS thảo luận và đưa ra phương án để giải.
Thảo luận và viết chương trình.
Câu 5 trang 79
Câu 6/79: Chương trình Program baitap6;
uses crt;
var A: array[1..100] of integer;
N, i, u: integer;
so_nt, so_chan: integer;
begin
so_chan:= 0; so_nt := 0;
write(‘so phan tu cua day A (N<=100), N= ‘); readln(N);
while (N < 0) or (N > 100) do begin
write(‘nhap lai so phan tu cua day A (N<=100), N = ‘); readln(N);
Tiết CT: 31,32-33,34 Tuần: 25- 26
Ngày soạn: 13.01.2014 Ngày dạy: 13.02.2014 20.02.2014
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG
Nhận xét đánh giá cho điểm.
Chương trình chỉ thực hiện với N = 24 vì số Phi-pô-na-xi thứ 25 là 75025 vượt quá phạm vi của kiểu word.
end.
For i:=1 to n do begin
write(‘A[‘,i,’]= ’); readln(A[i]);
if A[i] mod 2 = 0 then so_chan:=so_chan+1;
if A[i] > 1 then begin
u:=2;
while (u<=sqrt(A[i])) and (a[i]mod u <>0) do u:=u+1;
if u> sqrt(a[i]) then so_nt:=so_nt +1;
end;
end;
writeln(‘so luong so chan: ‘, so_chan);
writeln(‘so luong so le: ‘, N-so_chan);
writeln(‘so luong so ngto: ‘, so_nt);
readln end.
Câu 7/79 Chương trình:
Program cau_7;
Uses crt;
Var n, i:word;
F1, F2, F: word;
Begin clrscr;
write(‘tim so hang thu N cua day phi-po- na-xi, N= ‘); readln(N);
F1:=1;
F2:= 1;
for i:=1 to n do begin
F:= F1+F2;
F1:=F2;
F2:=F;
end;
write(F);
readln end.
Câu 10/80.
Chương trình Program cau_10;
Var S:tring[100];
HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG i, dem: byte;
begin
write(‘cho mot xau ki tu: ’);
readln(S);
dem:= 0;
for i:=1 to length(S) do
if (‘0’ <= S[i]) and (S[i]<9) then dem:= dem +1;
write(‘trong xau co ’, dem, ‘ chu so’);
readln end.
V. CỦNG CỐ - DẶN DÒ 1. Củng cố:
Nhắc lại một số chú ý khi viết chương trình 2. Dặn dò
Về nhà học bài và làm bài tập thực hành 5.
VI. RÚT KINH NGHIỆM