Tải bản đầy đủ (.doc) (25 trang)

Giao an tin hoc 11 HKII

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (196.57 KB, 25 trang )

Tiết 20+21+22+23
Bài 11. Kiểu mảng
I. Mục tiêu
- Về kiến thức: học sinh cần nắm đợc mảng là kiểu dữ liệu có cấu trúc, có 2 kiểu mảng là mảng một chiều và
mảng hai chiều, có 2 cách khai báo gián tiếp và trực tiếp, học sinh hiểu và viết đợc một số chơng trình đơn
giản về mảng.
- Về kĩ năng: học sinh thao tác tốt với máy tính và thực hiện đợc một số bài toán đơn giản về mảng.
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
1. Kiểu mảng một chiều
Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Mảng đợc đặt tên và mỗi phần tử của nó có một
chỉ số.
Hoạt động của giáo viên Hoạt động của học sinh
- Mô tả về mảng một chiều
- Đa ra các quy tắc xác định mảng một chiều
- Xét ví dụ: (sgk-53): chuẩn bị máy chiếu, chiếu ví dụ
viết bài toán không sử dụng mảng và có sử dụng
mảng.
- Yêu cầu học sinh nhận xét 2 đoạn chơng trình?
Đ1: Không sử dụng mảng:
if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1;
if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1;
if t5>tb then dem:=dem+1; if t6>tb then dem:=dem+1;
if t7>tb then dem:=dem+1;
Đ2: Có sử dụng mảng:
For i:=1 to N do
if nhietdo[i] > trung_binh then dem:=dem+1;
- Trình chiếu cho học sinh quan sát toàn bộ ví dụ có


sử dụng mảng. Yêu cầu học sinh đa ra cấu trúc khai
báo mảng một chiều?
- Giảng giải cho học sinh về kiểu chỉ số và kiểu phần
tử.
- Nghe, ghi chép
- Quan sát ví dụ trên máy chiếu
- Nhận xét: Đ1 phải viết lặp lại nhiểu câu lênh if
giống nhau, Đ2 khắc phục đợc điều đó của Đ1
- Quan sát và đa ra cấu trúc khai báo mảng một
chiều.
a. Khai báo
Cách1: khai báo trực tiếp
Var <tên biến mảng>: array [kiểu chỉ số] of <kiểu phần tử>;
Cách 2: khai báo gián tiếp
Type <tên kiểu mảng> = array [kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng>: <tên kiểu mảng>;
b. Một số ví dụ
- Tìm phần tử lớn nhất của dãy số nguyên.
- Sắp xếp dãy số nguyên bằng thuật toán tráo đổi
- Tìm kiếm nhị phân
Hoạt động của giáo viên Hoạt động của học sinh
- Hãy xác định Input và Output của bài toán
- Nhận xét bổ sung cho học sinh.
- Hớng dẫn gợi mở, tổ chức cho học sinh thảo luận đa
ra thuật toán của bài toán bằng cách liệt kê.
- Xây dựng bài toán trên máy tính bằng ngôn ngữ lập
trình pascal.
- Trình chiếu cho học sinh quan sát chơng trình thực
hiện chạy chơng trình.
- giải đáp những thắc mắc của học sinh

- Đọc yêu cầu bài toán và xác định Input, Output
của bài toán
- Thảo luận đa ra thuật toán của bài toán bằng cách
liệt kê.
Thảo luận xây dựng bài toán trên máy tính bằng
ngôn ngữ lập trình pascal.
- Quan sát và nhận xét
2. Kiểu mảng hai chiều
- Mảng hai chiều là bảng các phần tử cùng kiểu
Hoạt động của giáo viên Hoạt động của học sinh
- Chuẩn bị sẵn một chơng trình đa ra màn hình bảng
nhân và trình chiếu cho học sinh quan sát.
- Mô tả về mảng hai chiều
- Đa ra các quy tắc xác định mảng hai chiều
- Cho học sinh quan sát hai đoạn lệnh sau và nhận
xét?
Đ1: sử dụng mảng một chiều
var B: array[1 9] of array [1 10] of integer;
Đ2: sử dụng mảng hai chiều
- Quan sát, nghe giảng
- Quan sát và nhận xét: Đ2 phải khai báo ngắn gọn
hơn Đ1
var B: array[1 9,1 10] of integer;
- Tơng tự với bảng một chiều, yêu cầu học sinh quan
sát và đa ra cấu trúc khai báo mảng hai chiều?
- Quan sát và đa ra cấu trúc khai báo mảng hai
chiều.
a. Khai báo
Cách 1: khai báo trực tiếp
Var <tên biến mảng>: array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>;

Cách 2: khai báo gián tiếp
Type <tên kiểu mảng> = array [kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>;
Var <tên biến mảng>: <tên kiểu mảng>;
b. Một số ví dụ
- Chơng trình tính và đa ra màn hình bảng nhân
- Chơng trình nhập vào từ bàn phím các phần tử của mảng hai chiều B gồm 5 hàng, 7 cột với các phần tử là các
số nguyên và một số nguyên k sau đó, đa ra màn hình các phần tử của mảng có giá trị nhỏ hơn k.
Hoạt động của giáo viên Hoạt động của học sinh
- Hãy xác định Input và Output của bài toán
- Nhận xét bổ sung cho học sinh
- Hớng dẫn gợi mở, tổ chức cho học sinh thảo luận đa
ra thuật toán của bài toán bằng cách liệt kê.
- Xây dựng bài toán trên máy tính bằng ngôn ngữ lập
trình pascal.
- Trình chiếu cho học sinh quan sát chơng trình thực
hiện chạy chơng trình.
- giải đáp những thắc mắc của học sinh
- Đọc yêu cầu bài toán và xác định Input, Output
của bài toán
- Thảo luận đa ra thuật toán của bài toán bằng cách
liệt kê.
Thảo luận xây dựng bài toán trên máy tính bằng
ngôn ngữ lập trình pascal.
- Quan sát và nhận xét
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt

Tiết 24+25
Bài tập và thực hành 3
I. Mục tiêu
- Về kiến thức: học sinh hiểu và biết giải một số bài toán đơn giản trên máy tính .
- Về kĩ năng: rèn luyện kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy
thử các chơng trình có sẵn.
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Bài 1: Tạo mảng A gồm n (n 100) số nguyên, mỗi số có trị tuyệt đối không vựot quá 300. Tính tổng các phần
tử của mảng là bội số của một số nguyên dơng k cho trớc.
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 1 của bài tập thực hành 3 cho học
sinh tìm hiểu và chay thử chơng trình mẫu đã cho.
- chú ý nghe triển khai nội dung của bài thực
hành
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 1 của bài tập thực hành 3 và
thực hiện soạn thảo và chạy thử chơng trình mẫu.
program sum1;

uses crt;
const nmax=100;
type MyArray=arry[1 nmax] of integer;
var A:MyArray;
a,n,a,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]; writeln('tong can tinh la:');
readln
end.
Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu cho học sinh về hàm random(n)
- Đa ra một số câu lệnh và yêu cầu học sinh đa vào
chơng trình vừa soạn thảo để có một chơng trình mới
đa ra các số âm và các số dơng trong mảng
- Nhận xét, bổ sung, trả lời những thắc mắc của học
sinh.
- chú ý nghe Chạy thử chơng trình vừa soạn thảo.
- Thực hành soạn thảo đa các câu lệnh vào các vị trí
cần thiết của chơng trình trớc đó để có một chơng
trình mới.

- Chạy thử chơng trình mới
- Nhận xét
- Đa ra các câu hỏi cần giải đáp
Bài 2: Viết chơng trình tìm phần tử có giá trị lớn nhất của mảng và đa 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ì đa ra phần tử có chỉ số nhỏ nhất.
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 2 của bài tập thực hành 3 cho học
sinh tìm hiểu và chay thử chơng trình mẫu đã cho.
- chú ý nghe triển khai nội dung của bài thực
hành
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 2 của bài tập thực hành 3 và
thực hiện soạn thảo và chạy thử chơng trình mẫu.
program MaxElement;
uses crt;
const nmax=100;
type MyArray=arry[1 nmax] of integer;
var A:MyArray;
n,i,j:integer;
Begin
clrscr;
write('nhap n=');

readln(n);
for i:=1 to n do
begin
write('phan tu thu',i,'=');
readln(A[i]);
end; j:=1;
j:=2 to n do if A[i]>A[j] then j:=i;
writeln('chi soL',j,'gia tri:',A[j]:4);
readln;
end.
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh soạn thảo và chạy thử chơng trình
- Yêu cầu học sinh chỉnh sửa lại đoạn chơng trình vừa
chạy thử để có một chơng trình mới chỉ đa ra chỉ số
của các phần tử có cung giá trị lớn nhất
- nhận xét, bổ sung bài làm của học sinh
- Giải đáp thắc mắc của học sinh
- Thực hiện soạn thảo và chạy thử chơng trình
- Thực hiện chỉnh sửa chơng trình để có một ch-
ơng trình mới chỉ đa ra chỉ số của các phần tử có
cung giá trị lớn nhất
- Nhận xét và đặt câu hỏi thắc mắc.
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 26+27
Bài tập và thực hành 4

I. Mục tiêu
- Về kiến thức: học sinh hiểu và biết giải một số bài toán đơn giản trên máy tính .
- Về kĩ năng: rèn luyện kĩ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy
thử các chơng trình có sẵn.
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Bài 1
a. Hãy tìm hiểu và chạy thử chơng trình thực hiện sắp xếp dãy số nguyên bằng thuật toán tráo đổi với các giá
trị khác nhau của n. Qua đó nhận xét về thời gian chạy của chơng trình.
b. Khai báo thêm biến nguyên Dem và bổ sung thêm vào chơng trình những 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 đa ra kết quả.
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 1 ý a của bài tập thực hành 4 cho học
sinh tìm hiểu và chay thử chơng trình mẫu đã cho.
- Hãy nhận xét về thời gian thực hiện chơng trình?
- Khuyến khích học sinh đa ra các đề xuất cho bài
toán chạy tốt hơn.
- chú ý nghe triển khai nội dung của bài thực
hành
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình

turbo pascal.
- Tìm hiểu bài toán 1 ý a của bài tập thực hành 4
và thực hiện soạn thảo và chạy thử chơng trình
mẫu.
- Khi sử dụng biến trung gian t tránh lặp lại nhiều
câu lệnh giống nhau, thời gian chạy chơng trình
nhanh hơn, tốn ít bộ nhớ.
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 j:=1 downto 2 do
for i:=1 to j-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 duoc sap xep');
for i:= 1 to n do write(A[i]:7);
writeln;
readln
end.
Hoạt động của giáo viên Hoạt động của học sinh
- Giải thích cho học sinh về đoạn câu lệnh tráo đổi có
sử dụng biến trung gian t

- Đa ra biến Dem, một số câu lệnh và yêu cầu học
sinh đa vào chơng trình vừa soạn thảo để có một ch-
ơng trình mới tính số lần thực hiện tráo đổi trong
thuật toán đa ra kết quả.
- Đa ra một số câu hỏi gợi mở: Khai báo biến Dem
nh thế nào? tăng biến Dem o đâu?
- Nhận xét, bổ sung, trả lời những thắc mắc của học
sinh.
- chú ý nghe Chạy thử chơng trình vừa soạn thảo.
- Thực hành soạn thảo đa thêm biến nguyên Dem và
các câu lệnh cần thiết vào các vị trí cần thiết của ch-
ơng trình trớc đó để có một chơng trình mới.
- Chạy thử chơng trình mới
- Nhận xét
- Đa ra các câu hỏi cần giải đáp
Bài 2
Hãy đọc và tìm hiểu phân tích để viết chơng trình giải bài toán: Cho mảng A gồm n phần tử. Hãy viết chơng
trình tạo mảng B [1 n], trong đó B[i] là tổng của i phần tử đầu tiên của A.
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
- chú ý nghe triển khai nội dung của bài thực
hành
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 2 của bài tập thực hành 4 cho học
sinh tìm hiểu và chay thử chơng trình mẫu đã cho.
- Thực hành khởi động máy tính, kiểm tra kết nối

và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 2 của bài tập thực hành 4 và
thực hiện soạn thảo và chạy thử chơng trình mẫu.
uses crt;
const Nmax=100;
type MyArray=array[1 Nmax] of integer;
var n,i,j,y:integer;
A,B:MyArray;
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:=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);
writeln;
readln
end.
Hoạt động của giáo viên Hoạt động của học sinh
- Phân tích gợi mở cho học sinh: Ta có: B[1]= A[1] và
B[i]=B[i-1]+A[i], 1<i n do đó ta thay đoạn chơng trình
Bắt đầu tạo B bởi hai câu lệnh sau: B[1]= A[1]; for
i:= 2 to n do B[i]:= B[i-1]+ A[i];
- Với hai lệnh này máy chỉ thực hiện n-1 phép cộng,
trong khi đó với đoạn CT trớc máy phải thực hiện
n(n+1)/2 phép cộng.

- nhận xét, bổ sung bài làm của học sinh
- Giải đáp thắc mắc của học sinh
- chú ý nghe Chạy thử chơng trình vừa soạn thảo.
- Thực hành soạn thảo đa thêm biến nguyên Dem và
các câu lệnh cần thiết vào các vị trí cần thiết của ch-
ơng trình trớc đó để có một chơng trình mới.
- Chạy thử chơng trình mới
- Nhận xét
- Đa ra các câu hỏi cần giải đáp
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 28+29
Bài 12. Kiểu xâu
I. Mục tiêu
- Về kiến thức: Biết xâu là một dãy các kí tự( có thể coi xâu là mảng một chiều), biết cách khai báo xâu, truy
cập phần tử xâu.
- Về kĩ năng: Biết sử dụng một số hàm, thủ tục về xâu, cài đặt đợc một số chơng trình đơn giản.
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
- Xâu là một dãy các kí tự trong bộ mã ASCII, mối kí tự đợc gọi là một phần tử của xâu. Số lợng kí tự của một
xâu đợc gọi là độ dài của xâu. Xâu có độ dài bằng 0 gọi là xâu rỗng.
- Các ngôn ngữ lập trình đều có quy tắc, cách thức cho phép xác định:
+ Tên kiểu xâu + Các phép toán thao tác với xâu

+ Cách khai báo biến kiểu xâu + Cách tham chiếu tới phần tử của xâu
+Số lợng kí tự của xâu
Hoạt động của giáo viên Hoạt động của học sinh
- Giảng giải, thuyết trình về xâu
- Lấy ví dụ về xâu
- Theo em để xác đinh kiểu xâu cần xác định những
yếu tố nào?
- tơng tự với kiểu mảng hãy cho biết cách tham chiếu
tới phần tử của xâu?
- Nghe, quan sát
- Trả lời liệt kê những yếu tố cần xác định khi xây
dựng dữ liệu kiểu xâu.
- Tham chiếu: <tên biến xâu>[độ dài]
VD: biến Hoten lu trữ giá trị Nguyen thì
Hoten[3] cho kết quả là kí tự thứ 3 là u
1. Khai báo
Var <tên biến>: string [độ dài lớn nhất của xâu];
Hoạt động của giáo viên Hoạt động của học sinh
- Lấy ví dụ về xâu, yêu cầu học sinh quan sát và đa ra
cấu trúc khai báo biến xâu?
- Nhấn mạnh việc sử dụng tên dành riêng String, độ
dài lớn nhất của xâu không vợt quá 255 kí tự.
- Nghe, quan sát
- Đa ra cấu trúc của khai báo biến xâu.
2. Các thao tác xử lýxâu
a. Phép ghép xâu
- kí hiệu: +
- dùng để ghép nhiều xâu thành một xâu
b. Các phép so sánh
- gồm các phép so sánh: =, <>, <, >, <=, >=.

c. Thủ tục delete(st, vt, n): thực hiện việc xoá n kí tự của biến xâu st bắt đầu từ vị trí vt.
d. Thủ tục Insert(s1, s2, vt): Chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt.
e. Hàm Copy(S, vt, N): Tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt của xâu S
f. Hàm Length(s): Cho giá trị độ dài xâu s.
g. Hàm Pos(s1,s2): cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2
h. Hàm Upcase(ch): Cho chữ in hoa ứng với chữ cái trong ch.
Hoạt động của giáo viên Hoạt động của học sinh
- Thuyết trình, giảng giải về các phép toán, hàm và
thủ tục đơn giản về xâu.
- Dựa vào cấu trúc các hàm và thủ tục hãy lấy ví dụ?
- trình chiếu ví dụ có sử dụng các phép toán, hàm, thủ
tục về xâu.
- Khuyến khích học sinh đề xuất các ý kiến.
- Nghe, quan sát
- Lấy ví dụ về xâu dựa vào cấu trúc của các hàm,
thủ tục về xâu.
- Đề xuất các ý kiến về xâu
3. Một số ví dụ
Ví dụ 1: Nhập họ tên của hai ngời vào hai biến xâu vàđa ra màn hình xâu dài hơn, nếu bằng nhau thì đa ra xâu
nhập sau.
Ví dụ 2: Nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của
xâu thứ hai không?
Ví dụ 3: Nhập một xâu từ bàn phím và đa ra màn hình xâu đó nhng đợc viết theo thứ tự ngợc lại
Ví dụ 4: Nhập một xâu vào từ bàn phím và đa ra màn hình xâu thu đợc từ nó bởi việc loại bỏ các dấu cách nếu
có.
Ví dụ 5: Nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ nguyên thứ tự
xuất hiện của chúng) và đa kết quả ra màn hình.
Hoạt động của giáo viên Hoạt động của học sinh
- Phân tích các ví dụ cho học sinh nghe, trình chiếu
các ví dụ cho học sinh quan sát

- Khuyến khích học sinh nhận xét, đề xuất các ý kiến
về các bài toán về xâu?
- Nghe, quan sát
- Đề xuất các ý kiến về xâu
- Hớng dẫn học sinh xây dựng một chơng trình về xâu
đơn giản.
- Thảo luận xây dựng một chơng trình xâu đơn
giản.
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 30+31
Bài tập và thực hành 5
I. Mục tiêu
- Về kiến thức: Làm quen với việc tìm kiếm, thay thế và biến xâu
- Về kĩ năng: học sinh hiểu và thao tác tốt với dữ liệu kiểu xâu
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Bài1: 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 gọi là xâu
palindrome).
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc

trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 1 của bài tập thực hành 5 cho học
sinh tìm hiểu và chay thử chơng trình mẫu đã cho.
- Yêu cầu học sinh viết lại chơng trình trong đó không
dùng biến xâu p.
- chú ý nghe triển khai nội dung của bài thực
hành
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 1 của bài tập thực hành 5 và
thực hiện soạn thảo và chạy thử chơng trình mẫu.
- Thực hiện viết lại chơng trình trong đó không
dùng biến xâu p.
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 khong phai la palindrome');

readln
end.
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 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)
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 2 của bài tập thực hành 5 cho học
sinh tìm hiểu và chay thử chơng trình.
- Yêu cầu học sinh đề xuất ý kiến
- chú ý nghe triển khai nội dung của bài thực
hành
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 2 của bài tập thực hành 5 và
thực hiện soạn thảo và chạy thử chơng trình.
- Đề xuất ý kiến
var s:string;
i, d:integer;
begin
write('nhap xau s');
readln(s); d:=0;
for i:= 1 to length(s) do
if (s[i]>='A') and (s[i])<='Z') then d:=d+1;
write('so luong chu cai la',d);

readln
end.
Bài 3: 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
Hoạt động của giáo viên Hoạt động của học sinh
- tại phòng thực hành, triển khai nội dung thực hành
- Nhắc lại một phần lý thuyết học sinh cần nắm đợc
- chú ý nghe triển khai nội dung của bài thực
hành
trong bài thực hành.
- Yêu cầu học sinh khởi động và kiểm tra hoạt động
của máy tính.
- Yêu cầu học sinh khởi động chơng trình pascal
- Đa ra bài toán 3 của bài tập thực hành 5 cho học
sinh tìm hiểu và chay thử chơng trình.
- Yêu cầu học sinh đề xuất ý kiến
- Thực hành khởi động máy tính, kiểm tra kết nối
và hoạt động của máy tính, khởi động chơng trình
turbo pascal.
- Tìm hiểu bài toán 3 của bài tập thực hành 5 và
thực hiện soạn thảo và chạy thử chơng trình.
- Đề xuất ý kiến
var a:string;
vt:integer;
begin
write('nhap xau a'); readln(a);
while pos('anh',a)<>0 do
begin
vt:=pos('anh',a);
delete(a,vt,3);
insert('em',a,vt);

end;
write(a);
readln
end.
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 32
Bài 13. kiểu bản ghi
I. Mục tiêu
- Về kiến thức: Biết khái niệm kiểu bản ghi, biết cách khai báo kiểu bản ghi, truy cập vào các trờng của bản
ghi.
- Về kĩ năng: Học sinh hiểu và viết đợc một chơng trình đơn giản có sử dụng bản ghi.
- Về thái độ: rèn luyện ý thức tự giác, thao tác nhanh, chính xác.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
- Dữ liệu kiểu bản ghi (record) dùng để mô tả các đối tợng có cùng một số thuộc tính mà các thuộc tính có thể
có các kiểu dữ liệu khác nhau.
- Quy tắc xác định:
+ Tên kiểu bản ghi + Cách khai báo biến
+ Tên các thuộc tính (các trờng) + Cách tham chiếu đến trờng
+ Kiểu dữ liệu của mỗi trờng
Hoạt động của giáo viên Hoạt động của học sinh
- Thuyết trình về dữ liệu kiểu bản ghi
- Nhấn mạnh vai trò của kiểu dữ liệu bản ghi

- Lấy ví dụ thực tế cho học sinh hiểu về kiểu bản ghi
- yêu cầu học sinh quan sát bảng sgk-74
Tiết 38
Bài tập
I. Mục tiêu
- Về kiến thức: Nhằm củng cố kiến thức cho học sinh về dữ liệu kiểu tệp
- Về kĩ năng: Học sinh thao tác đợc với dữ liệu kiểu tệp
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Hoạt động của giáo viên Hoạt động của học sinh
- Nhắc lại vai trò của kiểu tệp, yêu cầu học sinh nhắc
lại một số thao tác đối với tệp?
- Yêu cầu học sinh nhắc lại một số câu lệnh dùng để
khai báo biến tệp? gắn tên tệp, mở tệp, đọc/ghi tệp,
đóng tệp?
- Nêu một số trờng hợp dùng tệp?
- trong sơ đồ thao tác với tệp, khi cần nhập dữ liệu từ
tệp phải dùng những thao tác nào?
- Tại sao phải dùng câu lệnh mở tệp trớc khi đọc/ghi
tệp?
- Tại sao phải dùng câu lệnh đóng tệp sau khi kết thúc
ghi dữ liệu vào tệp?
* Tổ chức cho học sinh thảo luận đa ra câu trả lời,
hớng dẫn gợi mở để học sinh đề xuất ý kiến cho câu
hỏi, bài tập. Phát phiếu học tập trắc nghiệm kiến
thức của học sinh về dữ liệu kiểu tệp.
- Thao tác:

+ Khai báo biến: Var <tên biến>: text;
+ mở tệp: reset(biến tệp);
+ đọc/ghi tệp: read(biến tệp, danh sách
biến)/write(biến tệp, danh sách kết quả ra);
+ đóng tệp: close(biến tệp);
- Khi cần trao đổi dữ liệu với bộ nhớ ngoài.
assign(f,lop.txt);
rewrite(f);
write(f,x,y,z);
close(f);
- Để trình dịch biết mục đích mở tệp để đọc hay
ghi, đồng thời đặt con trỏ vào vị trí thích hợp.
- Để hệ thống hoàn tất việc ghi dữ liệu vào tệp
* học sinh thảo luận đa ra câu trả lời, dới sự hớng
dẫn gợi mở của giáo viên, học sinh đề xuất ý kiến
cho câu hỏi, bài tập.
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 39+40
Bài 17. Chơng trình con và phân loại
I. Mục tiêu
- Về kiến thức: Nhằm giới thiệu cho học sinh về chơng trình con, những lợi ích của việc sử dụng chơng trình
con, khái niệm về chơng trình con.
- Về kĩ năng: Học sinh nhớ vai trò của việc sử dụng chơng trình con.
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác
II. Chuẩn bị của giáo viên và học sinh

- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
1. Khái niệm chơng trình con
- Chơng trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể đợc thực hiện(đợc gọi) từ nhiều vị
trí trong chơng trình.
Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu về chơng trình con, thuyết trình về lợi ích
của việc sử dụng chơng trình con
- Nhấn mạnh một bài toán phức tạp có thể phân dã
thành nhiều bài toán con.
- Ví dụ: Tluythua= a
n
+b
m
+c
p
+d
q
- Bài toán này có thể giải quyết nhanh hơn khi nào?
- Quá trình phân rã và làm mịn dần bài toán nh vậy
gọi là cách thiết kế từ trên xuống.
- Khái niệm?
- Trình chiếu ví dụ tính Tluythua= a
n
+b
m
+c
p
+d

q
viết
bằng Pascal không sử dụng CTC, yêu cầu học sinh
nhận xét các đoạn lệnh tính giá trị của: a
n
, b
m
, c
p
, d
q
?
- Trình chiếu ví dụ tính Tluythua= a
n
+b
m
+c
p
+d
q
viết
bằng Pascal có sử dụng CTC, yêu cầu học sinh nhận
xét.
- Vai trò của CTC?
- Nhận xét câu trả lời của học sinh và bổ sung.
- Nghe và ghi chép
- Khi giao cho 4 ngời tính, rồi lấy kết quả của 4 ng-
ời cộng lại.
- Trình bày khái niệm chơng trình con.
- Các đoạn lệnh tính giá trị của: a

n
, b
m
, c
p
, d
q
gần
nh lặp lại và giống nhau
- Các đoạn lệnh tính giá trị của: a
n
, b
m
, c
p
, d
q
không
còn lặp lại, thay thế vào đó chỉ còn một câu lệnh
tính tích và đợc gọi ra ở chơng trình chính.
- Vai trò: tránh việc lặp lại các câu lệnh, hỗ trợ việc
thực hiện các CT lớn, Phục vụ cho quá trình trừu t-
ợng hoá, mở rộng khả năng ngôn ngữ, thuận tiện
cho việc nâng cáp CT.
2. Phân loại và cấu trúc của chơng trình con
a. Phân loại
Gồm hai loại: + Hàm (function)
+ Thủ tục (procedure)
b. Cấu trúc chơng trình con
<Phần đầu>

[<Phần khai báo>]
<Phần thân>
c. Thực hiện chơng trình con
- Tham số thực sự: Các hằng, các biến đợc gọi trong chơng trình con đợc gọi là tham số thực sự.
Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu về hàm và thủ tục trong CTC, Nêu chức
năng của hàm và thủ tục?
- Lấy ví dụ về hàm và thủ tục?
- Trình chiếu cho học sinh quan sát về một ví dụ có sử
dụng CTC, hãy cho biết cấu trúc của một CTC?
- Thuyết trình về các thành phần của một CTC, giới
thiệu tham số hình thức.
- Ví dụ tham số hình thức?
- Giới thiệu về tham số thực sự, yêu cầu học sinh nêu
vai trò của tham số thực sự? cho ví dụ?
+ Hàm (function): thực hiện một số thao tác nào đó
và trả về giá trị qua tên của nó
+ Thủ tục (procedure): thực hiện các thao tác nhất
định và không trả về giá trị qua tên của nó.
- CTC gồm có: phần đầu, phần khai báo và phần
thân.
- VD: Luythua(x,k) trong đó x, k là các tham số
hình thức.
- Vai trò: để thực hiện gọi một chơng trình con.
- VD: sqr(225) trong đó sqr là tên của CTC, 225 là
tham số thực sự.
IV. Giáo viên rút kinh nghiệm sau giờ dạy
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………

……………………………………………………………………………………………………………………
Tæ trëng duyÖt
Tiết 41+42
Bài 18. ví dụ về cách viết và sử dụng chơng trình con
I. Mục tiêu
- Về kiến thức: Nhằm giúp học sinh hiểu hơn về cấu trúc chơng trình con, nhận biết đợc các loại tham số
- Về kĩ năng: Học sinh thao tác đợc với CTC.
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
1. Cách viết và sử dụng thủ tục
a. Cấu trúc của thủ tục
Procedure <tên thủ tục>[(<danh sách tham số>)];
[<Phần khai báo>]
Begin
[<dãy các lệnh>]
end;
b. Ví dụ về thủ tục
- Ví dụ 1: Thủ tục vẽ hình chữ nhật với kích thớc cố đinh và với kích thớc khác nhau.
- Ví dụ 2: Thủ tục hoán đổi giá trị của 2 biến.
Hoạt động của giáo viên Hoạt động của học sinh
- Trìnhchiếu cho học sinh quan sát CTC vẽ hình chữ
nhật có sử dụng thủ tục.
- Viết cấu trúc của CTC?
- Nhận xét.
- Đa một vài ví dụ về CTC: Ví dụ 1: Thủ tục vẽ hình
chữ nhật với kích thớc cố đinh và với kích thớc khác
nhau. Ví dụ 2: Thủ tục hoán đổi giá trị của 2 biến.

- Quan sát và cho biết đâu là tham số giá trị (tham
trị) và đâu là tham số biến (tham biến)?
- Quan sát và viết cấu trúc của CTC.
Procedure <tên thủ tục>[(<danh sách tham
số>)];
[<Phần khai báo>]
Begin
[<dãy các lệnh>]
end;
- Ví dụ 1: Ve_Hcn(5,10) thì 5 và 10 đợc gọi là
tham trị. còn Ve_Hcn(a,b) thì a, b đợc gọi là
tham biến.
- Ví dụ 2: Hoan_doi(5,10) thì 5 và 10 đợc gọi là
tham trị. còn Hoan_doi(a,b) thì a, b đợc gọi là
tham biến.
2. Cách viết và sử dụng hàm
Function <tên hàm> [(<danh sách tham số>)]: <kiểu dữ liệu>;
- Trong đó: kiểu dữ liệu chỉ có thể là các kiểu integer, real, char, boolean, string.
- Gán giá trị: <tên hàm>:=<biểu thức>;
Sử dụng hàm: hoàn toàn tơng tự với việc sử dụng các hàm chuẩn.
Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu về cấu trúc của hàm
- Đa ra ví dụ về hàm tính UCLN của 2 số nguyên
- Giới thiệu về các biến toàn cục và biến cục bộ
- Quan sát CTC cho biết đâu là biến toàn cục và đâu
là biến cục bộ?
- trình chiếu cho học sinh quan sát về CTC tìm số nhỏ
nhất có sử dụng hàm.
- Yêu cầu học sinh quan sát, nhận xét, đề xuất ý kiến?
- Nghe giảng và quan sát.

- trong ví dụ biến toàn cục là biến Tuso, Mauso,
a và biến sodu là biến cục bộ.
- Quan sát
- Đề xuất ý kiến về giải pháp tìm số nhỏ nhất có
sử dụng CTC và so sánh với chơng trình không
sử dụng CTC.
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt
Tiết 43+44
Bài tập và thực hành 6
I. Mục tiêu
- Về kiến thức: Nhằm củng cố kiến thức cho học sinh về dữ liệu kiểu xâu và Chơng trình con.
- Về kĩ năng: Học sinh thao tác đợc với dữ liệu kiểu xâu và kĩ năng sử dụng CTC.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
a. Tìm hiểu việc xây dựng hai thủ tục CanDan(s1,s2) và thủ tục CanGiua(s)
Thủ tục CanDan(s1,s2)
Type str79 = string[79];
Procedure CatDan(s1: str79; Var s2: str79);
Begin
s2:= copy(s1,2,length(s1)-1-1+s1[1];
end;
Thủ tục CanGiua(s)
Procedure Cangiua(Var s: str79);

var i, n: integer;
Begin
n:= length(s);
n:= (80-n) div 2;
for i:= 1 to n do s:= +s;
end;
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh tìm hiểu hai thủ tục
CanDan(s1,s2) và thủ tục CanGiua(s)?
- Yêu cầu học sinh đề xuất ý kiến cho 2 thủ tục trên?
- Hớng dẫn học sinh thực hành
- sinh tìm hiểu hai thủ tục CanDan(s1,s2) và thủ tục
CanGiua(s).
- Đề xuất ý kiến cho 2 thủ tục trên.
- Thực hành dới sự hớng dẫn của giáo viên
b. Quan sát chơng trình nhập một xâu kí tự từ bàn phím và đa xâu đó ra màn hình có dạng dòng chữ
chạy giữa màn hình văn bản 2580
c. Hãy viết thủ tục Chuchay(s,dong) nhận đầu vào là xâu s gồm không quá 79 kí tự và biến nguyên
dong, đa ra xâu s có dạng chữ chạy ở dòng dong. Viết và chạy chơng trình có sử dụng thủ tục này.
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh quan sát và chạy thử chơng trình
nhập một xâu kí tự từ bàn phím và đa xâu đó ra màn
hình có dạng dòng chữ chạy giữa màn hình văn bản
2580.
- Nhận xét đặc điểm của chơng trình?
- Cho biết đâu là các tham số, tham biến, biến toàn
cục, biến cục bộ?
- Yêu cầu học sinh đề xuất ý kiến
- Tổ chức cho học sinh thảo luận viết CT
- Chạy thử chơng trình với dòng chữ: Mung nghin

nam Thang Long- Ha Noi
- Nhận xét đặc điểm của chơng trình
- đề xuất ý kiến
- Hoạt động nhóm thảo luận viết CT
Chuchay(s,dong)?
- Hớng dẫn, gợi mở cho học sinh.
Chuchay(s,dong)
Procedure Chuchay(s1:str79; dong:byte);
Var s2: str79;
stop: boolean;
begin
clrscr;
cangiua(s1);
clrscr;
stop:=false;
While not(stop) do
begin
gotoxy(1,dong);
write(s1);
delay(100);
candan(s1,s2);
s1:=s2;
stop:=keypressed;
end;
end.
IV. Giáo viên rút kinh nghiệm sau giờ dạy





Tổ trởng duyệt
Tiết 45+46
Bài tập và thực hành 7
I. Mục tiêu
- Về kiến thức: Tiếp tục củng cố kiến thức cho học sinh về dữ liệu kiểu xâu và Chơng trình con.
- Về kĩ năng: Học sinh thao tác đợc với dữ liệu kiểu xâu và kĩ năng sử dụng CTC.
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
a. Tìm hiểu việc xây dựng các hàm và thủ tục
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh tìm hiểu các hàm và các thủ tục
thực hiện tính độ dài các cạnh, chu vi, diện tích, kiểm
tra các tính chất đều, cân, vuông, của tam giác?
- Vấn đáp học sinh một số kiến thức có liên quan
đến , chu vi, diện tích, các tính chất đều, cân, vuông,
của tam giác?
- Yêu cầu học sinh đề xuất ý kiến?
- Hớng dẫn học sinh thực hành
- Học sinh tìm hiểu các hàm và các thủ tục thực
hiện tính độ dài các cạnh, chu vi, diện tích, kiểm tra
các tính chất đều, cân, vuông, của tam giác.
- trả lời một số câu hỏi liên quan.
- Đề xuất ý kiến.
- Thực hành dới sự hớng dẫn của giáo viên
b. Tìm hiểu CT nhập vào toạ độ 3 đỉnh một tam giác và sử dụng các hàm, thủ tục đợc xây dựng sẵn để
khảo sát các tính chất của tam giác?
c. Viết CT sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán (sgk-108)?
Hoạt động của giáo viên Hoạt động của học sinh

- Yêu cầu học sinh tìm hiểu CT nhập vào toạ độ 3
đỉnh một tam giác và sử dụng các hàm, thủ tục đợc
xây dựng sẵn để khảo sát các tính chất của tam giác?
- Vấn đáp học sinh một số kiến thức có liên quan
đến , chu vi, diện tích, các tính chất đều, cân, vuông,
của tam giác?
- Tổ chức cho học sinh thảo luận viêt CT
- Yêu cầu học sinh đề xuất ý kiến?
- Hớng dẫn học sinh thực hành
- Học sinh tìm hiểu CT nhập vào toạ độ 3 đỉnh một
tam giác và sử dụng các hàm, thủ tục đợc xây dựng
sẵn để khảo sát các tính chất của tam giác.
- trả lời một số câu hỏi liên quan.
- Đề xuất ý kiến.
- Thực hành dới sự hớng dẫn của giáo viên
IV. Giáo viên rút kinh nghiệm sau giờ dạy



Tổ trởng duyệt
Tiết 47+48
Bài 19. Th viện chơng trình con chuẩn
I. Mục tiêu
- Về kiến thức: Giới thiệu sơ lợc cho học sinh về th viện chơng trình con chuẩn trong ngôn ngữ lập trình
pascal, thông qua đó học sinh biết đợc mỗi ngôn ngữ lập trình đều có các th viện chơng trình con chuẩn để mở
rộng khả năng ngôn ngữ.
- Về kĩ năng: học sinh biết khai báo th viện chơng trình con chuẩn và viết đợc một số CTC đơn giản có sử
dụng th viện CTC chuẩn
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác
II. Chuẩn bị của giáo viên và học sinh

- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
1. CRT
- Th viện CRT chứa các hàm, thủ tục liên quan đến việc quản lý và khai thác màn hình, bàn phím của máy
tính.
- Một số thủ tục:
+ Textcolor(color) đặt màu cho chữ trên màn hình trong đó color là hằng hoặc biến xác định màu
+ Textbackground(color) đặt màu cho nền màn hình trong đó color là hằng hoặc biến xác định màu
+ Gotoxy(x,y) đa con trỏ đến vị trí x cột y dòng trong đó: 1 x 25 và 1 y 80.
Hoạt động của giáo viên Hoạt động của học sinh
- kể tên một số th viện trong ngôn ngữ lập trình mà
em biết?
- Giới thiệu cho học sinh một số th viện trong ngôn
ngữ lập trình pascal.
- Nhấn mạnh 2 th viện đợc dùng nhiều nhất: CRT và
GRAPH.
- Giới thiệu về th viện CRT
- Cho ví dụ về thủ tục trong th viện CRT?
- Ngoài thủ tục CLRSCR đã giới thiệu thì th viện CRT
còn chứa một số thủ tục tiện ích khác.
- yêu cầu học sinh quan sát bảng xác đinh màu cho
hằng, biến color. cho ví dụ?
- Chạy một chơng trình pascal đơn giản có sử dụng
các thủ tục trong th viện CRT cho học sinh quan sát
và hớng dẫn học sinh viết một CT đơn giản có dùng
th viện CRT.
- Kể tên th viện: CRT đã đợc học trong ngôn ngữ lập
trình pascal
- Nghe, quan sát

- VD: CLRSCR; - thủ tục xoá màn hình
- Quan sát cho ví dụ: Textcolor(red)
- Quan sát
- Tổ chức hoạt động theo nhóm viết một CT đơn giản
có sử dụng các thủ tục trong th viện CRT.
2. GRAPH
a. Các thiết bị và chơng trình hỗ trợ đồ hoạ
- Màn hình: có hai chế độ làm việc là chế độ văn bản và chế độ đồ hoạ. Đơn vị cơ bản của hình ảnh là điểm
ảnh pixel.
- Bảng mạch điều khiển: turbopascal thờng cung cấp các CT điều khiển tơng ứng với bảng mạch đồ hoạ
b. Khởi tạo chế độ đồ hoạ
- Dùng thủ tục: Procedure InitGraph(var driver, mode: integer; path: string);
+ driver: là số hiệu của trình điều khiển BGI
+ mode: số hiệu độ phân giải
+ path: đờng dẫn đến các tệp BGI.
c. Các thủ tục vẽ điểm, đoạn thẳng
- Vẽ điểm: Procedure Putpixel(x,y: integer; color: word);
- Vẽ đoạn thẳng: Procedure Line(x1,y1,x2,y2: integer);
- Vẽ đoạn thẳng nối điểm hiện tại tới điểm có toạ độ (x,y): Procedure LineTo(x,y: integer);
- Vẽ đoạn thẳng nối điểm hiện tại với điểm có toạ độ hiện tại cộng với gia số dx,dy:
Procedure LineRel(dx,dy: integer);
d. Các hàm và thủ tục liên quan đến vị trí con trỏ
- hàm xác định giá trị lớn nhất có thể có của toạ độ màn hình X, Y
function GetMaxX: integer;
function GetMaxY: integer;
- Thủ tục chuyển con trỏ tới toạ độ (x,y): ProcedureMoveTo(x,y: integer);
e. Một số thủ tục vẽ hình đơn giản:
- Vẽ đờng tròn có tâm tại (x,y) bán kính r: Procedure Circle(x,y: integer; r:word);
- Vẽ cung của Elip có tâm tại (x,y) bán kính trục Xr, Yr từ góc khởi đầu StAngle đến góc kết thúc EndAngle:
Procedure Ellipse(x,y: integer; StAngle, EndAngle, Xr, Yr: word);

- Vẽ hình chữ nhật: Procedure Rectangle(x1,y1,x2,y2: integer);
Hoạt động của giáo viên Hoạt động của học sinh
- Để làm việc đợc với th viện đồ hoạ cần khởi tạo chế
độ đồ hoạ.
- Giới thiệu cấu trúc khởi tạo chế độ đồ hoạ, yêu cầu
học sinh dựa và cấu trúc đa ra một ví dụ?
- Giới thiệu cho học sinh các thủ tục vẽ điểm, đoạn
thẳng, tổ chức cho học sinh hoạt động nhóm thảo luận
viết một chơng trình vẽ một đoạn thẳng, chạy CT trên
máy chiếu cho học sinh quan sát
- Giới thiệu cho học sinh một số thủ tục vẽ hình đơn
giản, cho học sinh thảo luận nhóm vẽ một hình đơn
giản và trình chiếu cho học sinh quan sát.
- Khuyến khích học sinh nhận xét, đề xuất ý kiến
- nghe, quan sát
- VD: driver:= 0;
InitGraph(driver, mode, C:\tp\BGI);
- Hoạt động nhóm viết CT:
Program DT;
uses CRT, Graph;
var driver, mode: integer;
begin
driver:= 0;
InitGraph(driver, mode,C:\tp\bgi);
Setcolor(red);
LineTo(150,200);
closegraph;
end.
3. Một số th viện khác
- Th viện System: là th viện chứa các hàm sơ cấp và các thủ tục vào/ ra đơn giản

- Th viện DOS: dùng để thiết lập giờ hệ thống
- Th viện Printer: làm việc với máy in
4. Sử dụng th viện
- Cấu trúc khai báo: Uses unit1, unit2,, unitN;
Hoạt động của giáo viên Hoạt động của học sinh
- Giới thiệu một số th viện khác - nghe, quan sát
- Dựa vào cấu trúc khai báo th viện đã học hãy đa ra
cấu trúc chung? Cho ví dụ cụ thể?
- Nhận xét, củng cố bài học.
- Cấu trúc chung: Uses unit1, unit2,, unitN;
- Ví dụ: Uses crt, graph, dos;
- Nghe, quan sát
IV. Giáo viên rút kinh nghiệm sau giờ dạy



Tổ trởng duyệt
Tiết 49
Bài tập
I. Mục tiêu
- Về kiến thức: Nhằm củng cố kiến thức cho học sinh về hàm và thủ tục
- Về kĩ năng: học sinh nhận biết đợc hàm và thủ tục, viết đợc một số bài toán có sử dụng hàm và thủ tục
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác
II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh nhắc lại khái niệm hàm và thủ tục?
cho ví dụ?

- Nêu sự giống nhau và khác nhau giữa hàm và thủ
tục?
- Chơng trình con có thể không có tham số đợc
không? cho ví dụ?
- Hãy cho ví dụ CTC có nhiều hơn một kết quả ra?
- Hàm (Function) là chơng trình con thực hiện một số
thao tác nào đó và trả về giá trị qua tên của nó- VD:
sin(x)
- Thủ tục (Procedure) là CTC thực hiện một số thao
tác nào đó và không trả về giá trị qua tên của nó- VD:
Writeln
+ Giống nhau: đều là một chơng trình con thực hiện
một số thao tác nào đó.
+ Khác nhau: Hàm (Function) trả về giá trị qua tên
của nó còn Thủ tục (Procedure) không trả về giá trị
qua tên của nó.
- CTC có thể không có tham số.
Ví dụ: program vd;
procedure Ve_hcn;
begin
writeln(@@@@@@@@@);
writeln(@ @);
writeln(@@@@@@@@@);
end;
begin
Ve_hcn;
end.
- Ví dụ: program vd;
procedure Ve_hcn;
begin

writeln(@@@@@@@@@);
writeln(@ @);
writeln(@@@@@@@@@);
end;
begin
Ve_hcn;
writeln; writeln
Ve_hcn;
- Viết CTC (hàm, thủ tục) tính BCNN của hai số
nguyên dơng a,b. Hãy cho biết trong trờng hợp này
viết CTC dới dạng hàm hay thủ tục thuận lợi hơn? vì
sao?
- Trình chiếu bài viết của học sinh, nhận xét, khuyến
khích học sinh đề xuất ý kiến.
end.
- Tổ chức hoạt động nhóm viết CTC. trong trờng hợp
này viết CTC dới dạng hàm thuận lợi hơn vì cần dùng
đến hàm tính UCLN.
IV. Giáo viên rút kinh nghiệm sau giờ dạy



Tổ trởng duyệt
Tiết 50
Ôn tập
I. Mục tiêu
- Về kiến thức: Nhằm củng cố kiến thức cho học sinh về lập trình có cấu trúc
- Về kĩ năng: học sinh hiểu và viết đợc một số bài toán đơn giản có sử dụng đến các kiểu dữ liệu của lập trình
có cấu trúc Pascal.
- Về thái độ: Học sinh có ý thức tự giác, thao tác nhanh nhẹn, chính xác

II. Chuẩn bị của giáo viên và học sinh
- Giáo viên: giáo án, kĩ năng thuyết trình, giảng giải
- Học sinh: vở ghi, nghe giảng, hỏi và trả lời câu hỏi.
III. Hoạt động dạy học
Hoạt động của giáo viên Hoạt động của học sinh
- Yêu cầu học sinh nhắclại một số kiến thức cơ bản về các kiểu
dữ liệu đã đợc học nh: kiểu mảng, kiểu xâu, kiểu bản ghi, kiểu
tệp, CTC?
- Kiểm tra kiến thức của học bằng cách cho học sinh thực hiện
làm một số phiếu trắc nghiệm.
Phiếu 1:
Cõu 1.
Mảng một chiều là?
A.
Bảng các phần tử cùng kiểu
B.
Dãy các phần tử khác kiểu
C.
Dãy các phần tử cùng kiểu
D.
Bảng các phần tử khác kiểu
Cõu 2.
Cách khai báo biến mảng nào sau đây là đúng?
A.
ArrInt: array[1 nmax] of integer;
B.
ArrInt: array[n nmax] of integer;
C.
ArrInt= array[n nmax] of integer;
D.

ArrInt= array[1 nmax] of integer;
Cõu 3.
Đâu là cách khai báo biến kiểu xâu?
A.
Var <tên kiểu xâu>: string[ kiểu dữ liệu];
B.
Var <tên kiểu xâu>: string[ độ dài lớn nhất của xâu];
C.
Var <tên biến xâu>: string[ kiểu dữ liệu];
D.
Var <tên biến xâu>: string[ độ dài lớn nhất của xâu];
Phiếu 2:
Cõu 1.
Trong ngôn ngữ lập trình Pascal có mấy cách khai
báo biến mảng hai chiều?
A.
2
B.
4
C.
3
D.
1
Cõu 2.
Đoạn lệnh sau thực hiện công việc gì?
assign(tep3,'C:\KQ.TXT'); Rewrite(tep3);
A.
gắn tên tệp và ghi tệp
B.
gắn tên tệp và đọc tệp

C.
gắn tên tệp và mở tệp để ghi
D.
gắn tên tệp và mở tệp để đọc
Cõu 8.
Đâu là cách khai báo biến bản ghi?
A.
Var <Tên biến bản ghi>: <tên truờng của bản ghi>;
B.
Var <tên biến bản ghi>: <tên kiểu bản ghi>;
C.
Var <Tên kiểu bản ghi>: <kiểu truờng>
D.
Var <Tên biến bản ghi>: <kiểu truờng>;

Tổ chức cho học sinh hoạt động theo nhóm viết một số CT đơn
giản và đọc CT chạy CT trên máy chiếu cho hóc sinh quan sát
cho biết kết quả hiện ra trên màn hình?
- Nghe và nhắc lại một số kiến thức cơ bản
về các kiểu dữ liệu đã đợc học nh: kiểu
mảng, kiểu xâu, kiểu bản ghi, kiểu tệp,
CTC.
- Làm bài tập trong phiếu trắc nghiệm theo
nhóm.
- Tổ chức hoạt động theo nhóm và đọc CT
cho biết kết quả.
110
1100
VD: đọc CT sau và cho biết kết quả
program bai1;

var a,b: integer;
procedure p( var x:integer; y:integer);
begin
writeln(x,

,y
);

x:= x*x;
y:= y*10;
writeln(x,

,y
);
end;
begin

a:=1;
b:= 10;
P(a,b);
writeln(x,

,y);
readln;
end.

- Nhận xét, khuyến khích học sinh đề xuất ý kiến
IV. Giáo viên rút kinh nghiệm sau giờ dạy




Tổ trởng duyệt

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×