Giáo án Tin học lớp 11 học kỳ 2

Giáo án Tin học lớp 11 học kỳ 2 được lưu dưới dạng pdf. Giáo án có 96 trang với nhiều bài tập kèm đáp án giúp bạn tham khảo để ôn tập đạt được kết quả cao.

Trang 1
Tuần: 20 Tiết: 20
Ngày dạy:01/01/2018 đến 07/01/2018
BÀI 11. KIỂU MẢNG
I. MỤC TIÊU
1. Về kiến thức
- Hiểu khái niệm mảng một chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Về kĩ năng
- Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữa liệu mảng
một chiều.
- Thực hiện khai báo mảng, truy cập, tính toán, đếm các phần tử trong mảng.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
- Chủ động tìm hiểu kiến thức mới.
4. Năng lực hướng tới:
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lưu dữ liệu một cách cấu
trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến
mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến mảng
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong thực tế, các kiểu dữ liệu chuẩn không
thể đáp ứng đủ biểu diễn của các bài toán lớn.
thế, dựa trên các kiểu dữ liệu đó người lập
trình có thể tạo ra các kiểu dữ liệu phức tạp hơn
để giải quyết các bài toán trong thực tế.
(?) Các em y tham khảo bài toán sách giáo
khoa trang 53 cho biết cần nhập thông tin
gì? Và dữ liệu đưa ra là gì?
- Nghe giảng.
- Tham khảo sách giáo khoa trả lời:
Input: Nhập vào nhiệt độ trung bình của
7 ngày t1, t2, t3, t4, t5, t6, t7;
Output: Nhiệt độ trung bình của tuần tb,
và số ngày vượt mức trung bình dem;
Trang 2
- Nhận xét, như vậy nếu muốn tính nhiệt độ
trung bình của n ngày (365 ngày) thì sẽ gặp
phải những khó khăn gì?
Để giải quyết vấn đề đó, ta sử dụng kiểu mảng
một chiều để mô tả dữ liệu đó
- m nay chúng ta sẽ tìm hiểu khái niệm
mảng 1 chiều.
- Trả lời: phải khai báo từ t1...t365.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng
một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Các em hãy tham khảo sách
giáo cho biết khi làm việc
với mảng 1 chiều cần xác định
những gì?
- Nhận xét.
- Cho ví dụ để học sinh hiểu
rõ hơn về mảng 1 chiều.
(?) Với mảng một chiều vừa
cho ta xác định được gì?
- Nhận xét.
- Tham khảo sách
giáo khoa và trả lời.
- Nghe giảng ghi
bài.
- Ghi ví dụ.
- Suy nghĩ trả lời.
- Ghi bài.
- Đối với các biến trong NNLT
- Ghi mục bài.
2. Khai báo
Trang 3
khi sử dụng thì bắt buộc chúng
ta phải khai báo, đối với
biến mảng 1 chiều chúng ta
cũng phải khai báo. Cách khai
báo thế nào thầy và cả lớp cùng
tìm hiều phần 2. Khai báo
mảng 1 chiều.
- Đối với mảng một chiều ta
2 cách khai báo.
- Bên cạnh đó ta cách khai
báo thứ hai.
- Giải thích ví dụ rõ để học sinh
phân biệt tên kiểu mảng, tên
biến mảng.
- Yêu cầu học sinh cho ví dụ về
2 cách khai báo trên.
- Nhận xét, chỉnh sửa nếu
sai sót.
- Nghe giảng ghi
bài.
- Nghe giảng ghi
bài.
- Nghe giảng.
- Thực hiện theo yêu
cầu giáo viên.
(?) Khi ta đã khai báo được
mảng một chiều, lúc đó ta đã
xác định được những của
mảng đó?
- Nhận xét.
(?) Giá trị của từng phần tử
mảng đã xác định được chưa,
làm thế nào để có các giá trị
đó?
- Nhận xét, để được giá trị
của các phần tử chúng ta phải
nhập thủ tục nhập như thế
nào thầy cả lớp cùng m
hiểu phần a. Nhập mảng 1
chiều.
- Suy nghĩ trả lời: xác
định được tên mảng,
số lượng phần tử tối
đa của mảng, kiểu dữ
liệu của mảng.
- Suy nghĩ trả lời.
- Nghe giảng ghi
mục bài.
Trang 4
- Để làm được điều đó ta cần
xác định các thao tác sau:
+ Trước tiên, cần xác định
bao nhiêu phần tử cần dùng;
+ Dùng vòng lặp For - do để
nhập giá trị cho từng phần tử
A[i].
- ớng dẫn học sinh cách in
các phần tử của mảng 1 chiều.
- Ghi bài.
- Nghe giảng ghi
bài.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Với cách khai báo biến mảng sau đây:
Var A:array[1..100] of integer;
Em hãy cho biết?
- Mảng tên gì? Được nhập tối đa bao nhiêu phần tử cho mảng? Các giá trị phần tử
kiểu dữ liệu gì? Cách khai báo trên là trực tiếp hay gián tiếp?
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
Trang 5
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). In giá trị của phần tử cuối và đầu
của dãy số.
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước phần b
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 6
Tuần: 20 Tiết: 21
Ngày dạy:01/01/2018 đến 07/01/2018
BÀI 11. KIỂU MẢNG (Tiếp theo)
I. MỤC TIÊU
1. Về kiến thức
- Hiểu khái niệm mảng một chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Về kĩ năng
- Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữa liệu mảng
một chiều.
- Thực hiện khai báo mảng, truy cập, tính toán, đếm các phần tử trong mảng.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
- Chủ động tìm hiểu kiến thức mới.
4. Năng lực hướng tới:
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lưu dữ liệu một cách cấu
trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến
mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được tìm hiểu cách dùng mảng trong việc giải
các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Tiết trước chúng ta đã tìm hiểu về cách khai
báo mảng một chiều. Nhưng khi giải các bài
toán bằng mảng ta cần hiểu sâu hơn nữa về
cách thức sử dụng mảng trong giải các bài toán
đơn giản.
- Hôm nay chúng ta sẽ hiểu sâu hơn qua các
dụ.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
Trang 7
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng
một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Yêu cầu học sinh đọc dụ
trong SGK xác định input,
output.
- Nhận xét.
- Các em chú ý thuật toán trong
sách giáo khoa.
- Sau khi hiểu thuật toán thể
giải thích các bước viết chương
trình hoàn chỉnh.
- Dựa vào SGK suy
nghỉ trả lời.
- Chú ý lắng nghe
ghi lại bài.
- Chú ý quan sát.
- Chú ý quan sát cách
viết chương trình
viết chương trình vào
tập.
Trang 8
- Yêu cầu học sinh về đọc các
ví dụ sách giáo khoa.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập dãy N số nguyên (N<=100). In dãy số
nguyên vừa nhập.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng dãy số nguyên
vừa nhập.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập mảng một chiều
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Trang 9
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 10
Tuần: 21 Tiết: 22
Ngày dạy:08/01/2018 đến 14/01/2018
BÀI TẬP VỀ MẢNG
I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần
cơ sở.
3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Tiến trình bày học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác với mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để
giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Với những bài toán yêu cầu nhập dãy số xác
định ta dùng khai báo kiểu để lưu các giá trị
đó?
Ta có thể tham chiếu đến các phần tử lấy giá
trị các phần tử của y số đó để tính toán được
không?
Để hiểu được sự lợi ích nhiều hơn của việc s
dụng kiểu mảng một chiều hôm nay chúng ta s
làm một sbài tập vận dụng cấu trúc rẽ nhánh,
cấu trúc lặp với kiểu mảng
- Trả lời : Kiểu mảng một chiều
- Trả lời : Được
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
Trang 11
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập
và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Xác định input và output
- Cần khai báo phạm vi của
mảng là bao nhiêu?
- Tương tự như tìm giá trị lớn
nhất của dãy số, ta gán một giá
trị min phần tử đầu sau
đólần ợt so sánh với các
phần tử còn lại nếu nhỏ hơn
min thì gán lại giá trị này.
- Khai báo những biến nào?
- Gọi học sinh lên bảng làm.
- Quan t các học sinh khác
làm bài.
- Gọi học sinh nhận xét.
- Nhận xét
- Xác định input và output
- Trả lời: Giá trn
dãy số a1,a2,..an,
output là số nhỏ nhất
- Trả lời: [1..100]
- Nghe giảng.
- Trả lời: Biến mảng,
biến min, n, i.
- Một học sinh lên
bảng làm
- Nhận xét
- Nghe giảng ghi
bài.
- Trả lời: Giá trn
dãy số a1,a2,..an,
output các số chia
Câu 1. Viết chương trình nhập
từ bàn phím số nguyên dương
N (N<=100) dãy A gồm N
số nguyên A
1
, A
2
, …A
N
. Tìm
in ra màn hình giá trị nhỏ
nhất của dãy số vừa nhập?
Program tim_min;
Uses crt;
Var A: Array[1..100] of
integer;
min, n, i: integer;
Begin
Clrscr;
Writeln('nhap vao n va n
phai lon hon khong');
Readln(n);
For i:=1 to n do
Begin
Writeln('nhap phan tu
thu ', i);
Readln(A[i]);
End;
Min:=a[1];
For i:=2 to n-1 do
If a[i]<min then
min:=a[i];
Writeln(‘Gia tri nho nhat
la',min);
Readln ;
End.
Câu 2. Viết chương trình nhập
từ bàn phím số nguyên dương
N (N<=100) dãy A gồm N
số nguyên A
1
, A
2
, …A
N
. Tìm
Trang 12
- Ta cần sử dụng hàm để
tính chia hết?
- Vậy đều kiện như thế nào
chia hêt?
- Cần ng vòng lặp nào để
duyệt hết các phần tử mảng?
- Sau khi ta nhập mảng sao đó
duyệt lần lượt các phần tử của
mảng, số nào chia hết cho 3 thi
in số đó ra màn hình.
- Gọi học sinh lên bảng làm.
- Quan t các học sinh khác
làm bài.
- Gọi học sinh nhận xét.
- Nhận xét
hết cho 3
- Trả lời: hàm mod
- Trả lời: a[i] mod
3=0
- Trả lời: Vòng lặp for
- Nghe giảng
- Một học sinh lên
bảng làm
- Nhận xét
- Nghe giảng ghi
bài.
in ra màn hình c số chia
hết cho 3?
Program Chia_het_cho_3;
Uses crt;
Var A:array[1..100] of integer;
n, i: integer;
Begin
clrscr;
Writeln('nhap vao n');
Readln(n);
For i:=1 to n do
Begin
Writeln('nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
Writeln(‘Cac so chia het cho 3
la:’)
For i:=1 to n do
If (A[i] mod 3=0) then
Write(a[i]:4);
Readln;
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập
và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
GV cho i tập : Viết chương trình nhập dãy N số nguyên (N<=250). m in ra
màn hình các số chẵn và lẻ riêng biệt.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
Trang 13
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng các số chẵn.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập và thực hành 3
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 14
Tuần: 21 + 22 Ngày soạn: 25/12/2017
Tiết: 23 + 24 Ngày dạy: 08/01/2018 đến 21/01/2018
BÀI TẬP VÀ THỰC HÀNH 3
I. MỤC TIÊU
1. Về kiến thức
- Biết các thao tác nhập xuất mảng một chiều, chạy thử một số chương trình
sẵn.
- Giải được một số bài toán tính toán đơn giản.
2. Về kĩ năng
- Thực hiện đúng các thao tác từ khai báo đến nhập xuất mảng một chiều.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới:
- Giải quyết vấn đề, sử dụng công nghệ thông tin giải các bài toán đơn giản.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
- Câu 1. Thế nào là mảng một chiều?
- Câu 2. Có mấy cách khai báo mảng một chiều? Cho dụ từng cách khai báo
mảng một chiều?
- Câu 3. Viết một phần chương trình nhập vào mảng n phần tử giá trị từng
phần tử trong mảng?
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để
giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi m việc với mảng một chiều trước tiên
chúng ta cần thành thạo các thao tác khai o,
nhập, xuất mảng. Để làm được điều đó thầy
cả lớp cùng m hiểu thực hành một số bài
tập ở Bài tập và thực hành số 3 trong SGK.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
Trang 15
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng một
chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Đọc nội dung yêu cầu của bài
1.
(?) Các em y xác định số
lượng phần tử yêu cầu của
bài là gì?
- Nhận xét, cho dụ cho học
sinh quan sát.
- Hướng dẫn cho học sinh cách
viết chương trình.
- Với bài tập vừa m các em
thể vận dụng giải quyết bài
toán tìm phần tử lớn nhất trong
mảng 1 chiều.
- Ghi bài tập.
- Suy nghĩ trả lời: đối
với bài y chúng ta
n phần tử, sao khi
giá trị các phần tử của
mảng được nhập thì ta
in các phần tử trong
mảng ngược lại.
- Chú ý quan sát
dụ.
- Ghi bài.
- Ghi nội dung bài
học.
Bài 1. Viết chương trình nhập
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình sao khi
đảo ngược mảng đó.
Program Dao_nguoc_mang;
Uses crt;
Var A: Array[1..100] of
Integer;
N, i: Integer;
Begin
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
Writeln('Mang vua duoc dao
nguoc lai la');
For i:=N downto 1 do
Write(A[i]);
Readln;
End.
Bài 2. Viết chương trình nhập
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình phần
Trang 16
- Yêu cầu học sinh nêu thuật
toán để giải bài toán trên.
- Nhận xét, hướng dẫn các em
cách viết chương trình.
- Trong học I thầy đã giới
thiệu cho các em một số bài
toán như kiểm tra tính chẵn l
của một số, tổng các số chẵn lẻ
trong y số. Hôm này chúng
ta sẽ áp dụng những thuật toán
đó vào bài toán đối với mảng
một chiều.
- Đọc yêu cầu bài toán cho học
sinh ghi bài.
(?) Các em y xác định Input
và Output của bài toán.
- Nhận xét, hướng dẫn cho học
sinh cách ghi bài.
- Suy nghĩ trả lời.
- Ghi bài.
- Nghe giảng.
- Ghi bài.
- Suy nghĩ trả lời.
- Chú ý quan sát
ghi bài.
tử lớn nhất của mảng.
Program Phan_tu_max;
Uses crt;
Var A: Array[1..100] of
Integer;
N, Max, i: Integer;
Begin
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
Max:=A[1];
For i:=2 to n do
If (Max<A[i]) then Max
:=A[i];
Write(‘Phan tu lon nhat ’,
Max);
Readln;
End.
Bài 3. Viết chương trình nhập
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình số lần
xuất hiện của số chẵn và số lẻ.
Program Demch_Deml;
Uses crt;
Var A: array[1..100] of Integer;
N, dle, dchan, i: Integer;
Begin
Trang 17
- Tương tự như vậy các em hãy
viết chương trình tính tổng các
giá của mảng N phần tử.
- Yêu cầu một học sinh lên
bảng viết chương trình.
- Nhận xét, bổ sung nếu sai
sót.
- Ghi bài.
- Suy nghĩ thực
hiện theo yêu cầu của
giáo viên.
- Chú ý quan sát
ghi bài.
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
dle:=0;
dchan:=0;
For i:=1 to N do
If (A[i] mod 2=0) then
dchan:=dchan+1
else
dle:=dle+1;
Writeln(‘So lan xuat hien so
chan la ', dchan);
Writeln('So lan xuat hien so
le la ', dle);
Readln;
End.
Bài 4. Viết chương trình
nhập vào mảng 1 chiều với N
phần tử, với N nhập từ bàn
phím, sao đó in ra màn hình
tổng các phần tử của mảng.
Program Tong_mang;
Uses crt;
Var A: Array[1..100] of
Integer;
N, Tong, i: Integer;
Begin
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
Tong:=0;
Trang 18
- Yêu cầu học sinh tham khảo
các bài tập SGK trang 63, 64.
For i:=1 to N do
Tong:=Tong+A[i];
Write(‘Tong mang la’,
Tong);
Readln;
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu mảng
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập y N số nguyên (N<=250). Đếm in ra
màn hình các số chẵn và lẻ.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng các số dương.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập thực hành 4
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 19
Tuần: 22 + 23 Ngày soạn: 02/01/2018
Tiết: 25 + 26 Ngày dạy:15/01/2018 đến 28/01/2018
BÀI TẬP VÀ THỰC HÀNH 4
I. MỤC TIÊU
1. Về 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 trên máy tính.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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. Về thái độ
- Thái độ nghiêm túc trong học tập, tự giác, chủ động trong khi thực hành.
4. Năng lực hướng tới:
- Giải quyết vấn đề, sử dụng máy tính giải một số bài toán về kiểu xâu.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng để giải các
bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi m việc với kiểu mảng trước tiên chúng
ta cần thành thạo các thao tác khai báo, nhập,
xuất xâu. Để làm được điều đó thầy cả lớp
cùng tìm hiểu và thực hành một số bài tập ở Bài
tập và thực hành số 4 trong SGK.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Nội dung hoạt động
Trang 20
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Các em y cho thầy một
số dụ về một mảng một
chiều dãy số tăng dần hoặc
giảm.
- Nhận xét, như vậy với một
dãy số bất k trong mảng 1
chiều làm sao chúng ta thể
sắp xếp như vậy. Để hiểu
hơn thầy và cả lớp cùng xét bài
tập thứ nhất.
- Hướng dẫn giải thích
chương trình.
- Đối với bài toán nvậy các
- Suy nghĩ cho ví dụ.
- Nghe giảng ghi
bài.
- Nghe giảng viết
chương trình vào tập.
- Chú ý nghe giảng
Bài 1. Hãy tìm hiểu chạy
thử chương trình thực hiện
thuật toá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 dưới đây
Program Sap_xep;
Uses crt;
Const nmax=250;
Type arrint=array[1..nmax] of
integer;
Var n, i, j, t: 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:=n 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 sau khi
sap xep');
For i:=1 to n do
write(A[i]: 7);
Writeln;
Readln;
End.
Bài 2. Viết chương trình nhập
Trang 21
em sẽ khó hiểu, để dể hiểu hơn
thầy cả lớp cùng viết
chương trình nhập vào mảng n
phần tử nhập vào giá trị
từng phần tử chứ không cho
giá trị ngẫu nhiên.
- Yêu cầu học sinh viết chương
trình, nhận xét, chiếu chương
trình hoàn chỉnh lên y
chiếu, khi thực thi chương
trình nhập từ bước cho học
sinh quan sát.
(?) Theo các em số lần tráo đổi
của từng y số khác nhau
không?
- Như thế ta thể xác định số
ghi bài.
- Chú ý quan sát.
- Suy nghĩ trả lời: có.
- Suy nghĩ trả lời.
vào mảng n phần tử, sau đó
sắp xếp mảng vừa nhập theo
chiều tăng dần.
Program MaxElement;
Uses crt;
Const nmax=200;
Type MyArray=array[1..nmax]
of integer;
Var A: MyArray;
n, t, i, j: integer;
Begin
Clrscr;
Write('Nhap n=');
Readln(n);
For i:=1 to n do
Begin
Writeln('Nhap vao phan
tu thu ', i);
Readln(A[i]);
End;
Writeln;
Writeln('Mang vua nhap
la');
For i:=2 to n do
Write(A[i],' ');
For j:=n 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;
Write(' Day so duoc sap xep
la ');
For i:=1 to n do
Write(A[i]:4);
Readln;
End.
Trang 22
lần tráo đổi được không, để
biết được đều đó thì chúng ta
phải đếm số lần tráo đổi. Như
vậy thì chúng ta cần phải bổ
xung vào chương trình cái gì?
- Nhận xét, ta cần khai báo
biến dem sao mỗi vòng lặp
tráo đổi ta tăng biến dem lên 1
đơn vị.
- ớng dẫn học sinh cách viết
chương trình.
- Cho bài tập yêu cầu học sinh
hãy viết chương trình tính tổng
- Nghe giảng.
- Chú ý quan sát
ghi bài.
- Ghi bài.
Program Sap_xep;
Uses crt;
Const nmax=250;
Type arrint=array[1..nmax] of
integer;
Var n, i, j, t, dem: 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:=n 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;
dem:=dem+1;
End;
Writeln('day so sau khi
sap xep');
For i:=1 to n do
write(A[i]: 7);
Writeln('So lan trao doi
', dem);
Readln;
End.
Bài 3. Viết chương trình nhập
vào mảng 1 chiều với N phần
Trang 23
các phần tử của mảng với điều
kiện các phần tử đó phải chia
hết cho 5.
- Giải thích yêu cầu của bài
toán.
- Yêu cầu học sinh lên viết
chương trình.
- Nhận xét, bổ sung nếu sai
sót.
(?) Giả sử y giờ thầy muốn
đếm xem trong mảng chúng ta
vừa nhập có bao nhiêu phần tử
chia hết cho 5 thì như thế nào?
- Hướng dẫn các em cách viết
chương trình.
- Chú ý nghe giảng.
- Viết chương trình.
- Nghe nhận xét
ghi bài.
- Suy ng trả lời:
chúng ta phải kiểm tra
từng phần tử sau đó
coi chia hết cho 5
không, nếu chia hết
thì chúng ta đếm lên
một giá trị.
- Nghe giảng ghi
bài.
tử, tính tổng các phần tử chia
hết cho 5, sau đó in tổng ra
màn hình.
Program Tong_chia5;
Uses crt;
Var A: array[1..100] of integer;
N, i, Tong: integer;
Begin
Clrscr;
Write('Nhap N=');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan
tu thu ', i);
Readln(A[i]);
End;
Tong:=0;
For i:=1 to N do
If (A[i] mod 5=0) then
Tong:=Tong+A[i];
Write('Tong cac so chia het
cho 5 la ', Tong);
Readln;
End.
Program Dem_chia5;
Uses crt;
Var A: array[1..100] of integer;
N, i, Dem: integer;
Begin
Clrscr;
Write('Nhap N=');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan
tu thu ', i);
Readln(A[i]);
End;
Dem:=0;
For i:=1 to N do
Trang 24
If (A[i] mod 5=0) then
Dem:=Dem+1;
Write('Mang 1 chieu co ',
Dem, ‘ chia het cho 5’);
Readln;
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu mảng
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập y N số nguyên (N<=250). In ra màn hình
tổng các số chẵn và lẻ.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Đếm và in ra số lần xuất hiện các
số dương và âm.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài kiểu xâu
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 25
Tuần: 23 Ngày soạn: 08/01/2018
Tiết: 27 Ngày dạy:22/01/2018 đến 04/02/2018
CHỦ ĐỀ 4: KIỂU XÂU
BÀI 12. KIỂU XÂU
I. MỤC TIÊU
1. Về 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.
- Biết 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 quan đến xâu.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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 các bài toán đơn giản.
3. Về thái độ
- Nghiêm túc trong giờ học, chủ động tìm hiều kiến thức mới.
4. Năng lực hướng tới
- Nhận biết, giải quyết vấn đề, thảo luận.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, y tính, y
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến
xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến xâu
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong thực tế, các kiểu dữ liệu chuẩn không
thể đáp ứng đủ biểu diễn của các bài toán lớn.
thế, dựa trên các kiểu dữ liệu đó người lập
trình có thể tạo ra các kiểu dữ liệu phức tạp hơn
để giải quyết các bài toán trong thực tế.
(?) Để nhập o một tự nào đó ta khai báo
kiểu dữ liệu gi?
- Nhận xet
- Vậy để nhập vào một chuỗi hay một xâu các
kí tự thì chúng ta dùng kiểu char được không?
- Để giải quyết vấn đề y hôm nay chúng ta sẽ
- Nghe giảng.
- Kiểu char
- Nghe giảng
Trang 26
tìm hiểu về kiểu xâu.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về xâu, cách khai báo mảng một
chiều, hiểu cách nhập và in một xâu kí tự.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về xâu, cách khai báo biến xâu một chiều,
hiểu cách nhập và in xâu, hiểu được một số ví dụ giải bài toán về xâu kí tự
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Các em y cho thầy một
vài ví dụ về dãy kí tự nào đó?
(?) Các em hãy tham khảo sách
giáo khoacho thầy biết khái
niệm xâu?
- Nhận xét nhắc lại khái
niệm.
(?) Các em hãy cho thầy biết
độ dài của 2 ví dụ vừa nêu?
- Qua đó giải thích cho học
sinh biết thế nào độ dài của
xâu.
(?) tồn tại xâu nào không
chứa bất kì kí tự nào không?
- Nhận xét, ớng dẫn cách
biểu diễn xâu rỗng.
- Tương tự mảng 1 chiều
chúng ta các quy tắc xác
định thì kiểu xâu cũng vậy.
- Suy nghĩ trả lời:
Ví dụ: ‘Ha Noi’
‘Ho Chi Minh’
- Trả lời: y tự
trong bảng ASCII,
mỗi tự một phần
tử, được đặt trong hai
dấu nháy đơn ‘’.
- Ghi bài.
- Trả lời:
+ Xâu 1: Độ dài: 6.
+ Xâu 2: Độ dài: 11.
- Nghe giảng ghi
bài.
- Trả lời: có, gọi
xâu rỗng.
- Nghe giảng.
- Ghi các quy tắc xác
định một xâu.
Trang 27
- Giới thiệu về cách khai báo
biến xâu trong ngôn ngữ lập
trình Pascal, giải thích ý nghĩa
của từ String, [n] cho học sinh
hiểu String tên kiểu xâu [n]
là giá trị qui định số lượng kí tự
tối đa mà biến xâu có thể chứa.
(?) Các em y cho biết khi
khai báo không [n] thì số
lượng tự tối đa cho phép
bao nhiêu?
- Cho dụ giúp học sinh hiểu
rõ cách khai báo kiểu xâu.
- Nghe giảng ghi
bài.
- Trả lời: Số lượng
tự tối đa là 255.
- Chú ý quan sát, ghi
bài.
(?) Đối với dữ liệu chuẩn, sử
dụng th tục nào để nhập giá
trị?
- Nhận xét, đối với kiểu xâu
cũng thực hiện các thao tác
tương tự.
(?) Làm thế nào để ghép hai
hay nhiều xâu lại với nhau?
- Yêu cầu học sinh cho dụ
cách ghép xâu.
(?) Các em y cho biết để so
- Trả lời:
+ Nhập: Read, readln.
+ Xuất: Write,
writeln.
- Ghi bài.
- Trả lời: dấu cộng
(+).
- Cho ví dụ.
- Trả lời: Các phép so
Trang 28
sánh, các phép toán so sánh
nào?
(?) Cho 2 xâu A B, khi nào
thì xâu A được coi lớn hơn
xâu B?
- Nhận xét phân tích, cho
dụ.
- Để xóa tự trong xâu ta
dùng thủ tục Delete, trình bày
cú pháp, khái niệm.
- Yêu cầu học sinh nêu ví dụ về
thủ tục Delete?
- Giới thiệu: thủ tục Insert dùng
để chèn xâu, trình y pháp,
khái niệm.
- Hãy nêu dụ về thủ tục
Insert?
- m copy dùng để tạo một
sánh: =, <>, <, >, <=,
>=.
- Tham khảo sách
giáo khoa trả lời:
(A>B) Nếu xâu B
đoạn đầu của xâu A.
+ (A>B) Nếu tự
đầu tiên khác nhau
giữa chúng kể từ trái
sang trong xâu A
mã ASCII lớn hơn;
+ (A=B) Nếu chúng
giống nhau hoàn toàn
giống nhau.
- Ghi bài.
- Nghe giảng ghi
bài.
Ví dụ: A:= ‘Tin hoc’
Delete( A, 4, 1)
KQ: ‘Tinhoc’
- Nghe giảng, ghi bài.
dụ: A:= ‘Tin’ ;
B:= ‘Hoc ’
Insert(A, B, 4)
KQ: ‘Học Tin’
- Ghi bài.
Trang 29
xâu mới bằng cách sao chép
các tự trong u cũ, trình
bày cú pháp và khái niệm.
Hãy nêu ví dụ về hàm copy?
- Hàm length dùng để trả về giá
trị độ dài của xâu.
Trình y pháp khái
niệm.
Xác định độ dài của xâu sau:
A := ‘Truong Van Hoa II’
Hàm pos xác định vị trí xuất
hiện đầu tiên của xâu này trong
một xâu khác hay vị trí xuất
hiện đầu tiên của một y tự
trong một xâu.
Trình y pháp khái
niệm.
Xác định kết quả của VD:
A := ‘Ho Guom’
B := ‘Guom’
Pos(B, A)
Hàm Upcase trả về ch cái in
hoa ơng ứng với các chữ cái
trong xâu.
Trình bày cú pháp và khái niệm
(?) Cho ví dụ về hàm Upcase?
dụ: A:= ‘Mua
xuan’
Copy(A, 5, 4)
KQ: ‘xuan’
- Nghe giảng.
- Trả lời: 17
- Ghi bài.
- Trả lời: 4.
- Quan sát và ghi bài.
- Suy nghĩ cho ví dụ.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
Trang 30
GV yêu cầu HS: Viết khai báo xâu a có độ dài lớn là 200 kí tự và xâu b có độ dài lớn
nhất.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Cho xâu s:= ‘Thien Ho Dương’
- Viết hàm xác định độ dài của xâu s
- Viết thủ tục xóa xâu s thành ‘Thien Ho’
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về phần 3 một số ví dụ
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 31
Tuần: 24 Ngày soạn: 08/01/2018
Tiết: 28 Ngày dạy:22/01/2018 đến 04/02/2018
BÀI 12. KIỂU XÂU (Tiếp theo)
I. MỤC TIÊU
1. Về 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.
- Biết 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 quan đến xâu.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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 các bài toán đơn giản.
3. Về thái độ
- Nghiêm túc trong giờ học, chủ động tìm hiều kiến thức mới.
4. Năng lực hướng tới
- Nhận biết, giải quyết vấn đề, thảo luận.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, y tính, y
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
4. Ổn định lớp, kiểm tra sĩ số
5. Kiểm tra bài cũ: không.
6. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng kiểu xâu để giải cách
bài toán đơn giản
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải cách bài
toán đơn giản
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Tiết trước chúng ta đã tìm hiểu về cách khai
xâu, một số thao tác với xâu. Nhưng khi giải
các bài toán bằng mảng ta cần hiểu sâu hơn nữa
về cách thức sử dụng xâu trong giải các bài
toán đơn giản.
- Hôm nay chúng ta sẽ hiểu sâu hơn qua các
dụ.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng kiểu xâu để giải cách bài toán
đơn giản
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
Trang 32
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách sử dụng kiểu xâu để giải cách bài toán đơn giản
thông qua các ví dụ
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
dụ 1. Viết chương trình
nhập vào họ đệm tên của
học sinh. In ra màn nh họ
tên của học sinh đó.
(?) Theo c em m sao ta
thể in học tên học sinh?
- Hướng dẫn học sinh cách viết
chương trình.
dụ 2. Nhập vào hai xâu,
kiểm tra tự đầu tiên của xâu
thứ nhất trùng với kí tự cuối
cùng của xâu thứ hai không?
- Hướng dẫn các em cách truy
cập phần tử cuối của xâu.
dụ 3. Nhập vào một xâu, in
ra màn hình xâu đó viết theo
thứ tự ngược lại.
(?) Để m được đó ta phải sử
dụng vòng lặp gì?
- Suy nghĩ trả lời: ta
ghép 2 xâu đó lại.
- Nghe giảng ghi
bài.
- Trả lời: Hàm length.
- Chú ý nghe giảng,
ghi bài.
Nghe giảng ghi
bài.
Trang 33
- Nhận xét trước tiên ta phải
dùng m length sao đó ta lặp
từ chỉ số cuối về chỉ số đầu.
dụ 4. Nhập vào một xâu,
đưa ra màn hình xâu thu được
từ nhưng đã loại bỏ dấu
cách.
- Hướng dẫn học sinh cách viết
chương trình.
dụ 5. Nhập vào xâu x1, tạo
một xâu x2 gồm tất cả các chữ
số trong x1, giữ nguyên thứ
tự xuất hiện giữa chúng, rồi in
ra màn hình.
- Giáo viên nhận xét.
- Trả lời: vòng lặp lùi.
- Nghe giảng viết
chương trình.
- Ghi bài.
Trang 34
- Tự viết chương
trình.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được sử dụng kiểu xâu để giải cách bài toán đơn
giản
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập vào hai xâu, in ra màn hình xâu dài hơn.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập hai xâu kí tự a, b bất kì. Kiểm tra kí tự cuối của xâu a có trùng
với kí tự thứ hai trong xâu b hay không.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập kiểu xâu
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 35
Tuần: 24 Ngày soạn: 15/01/2018
Tiết: 29 Ngày dạy:29/01/2018 đến 04/02/2018
BÀI TẬP
I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần
cơ sở.
3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác với kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Với những bài toán yêu cầu nhập xâu tự bất
kỳ ta dùng khai báo kiểu để lưu các giá trị
đó?
Ta có thể tham chiếu đến các phần tử lấy giá
trị các phần tử của xâu kí tự được không?
Để hiểu được sự lợi ích nhiều hơn của việc s
dụng kiểu xâu hôm nay chúng ta sẽ làm một số
bài tập vận dụng cấu trúc rẽ nhánh, cấu trúc lặp
với kiểu xâu
- Trả lời : Kiểu xâu
- Trả lời : Được
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập
và in mảng một chiều.
Trang 36
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Xác định input và output
- Cần khai báo những biến
nào?
- Sử dụng vòng lặp để duyệt
các phần tử?
- Vòng lặp đi từ giá trị nào?
- Để so sánh một tự với
khoảng trắng ta viết như thế
nào?
- Gọi học sinh lên bảng làm?
- Quan sát
- Gọi học sinh nhận xét
- Nhận xét
- Xác định input và output
- Cần khai báo những biến
nào?
- Khởi tạo s2 bang bao nhiêu?
- Sử dụng vòng lặp để duyệt
các phần tử?
- Vòng lặp đi từ giá trị nào?
- Đều kiện để lấy giá trị cho
s2?
- Trả lời: Xâu s,
output là số lượng dấu
cách
- Trả lời:Biến xâu s,
dem, i
- Trả lời:vòng lặp for
- Trả lời:1->length(s)
- Trả lời:a[i]=’ ‘
- Một học sinh lên
bảng làm
-Nhận xét
-Nghe giảng ghi
bài
- Trả lời: Xâu s1,
output xâu s2
- Trả lời:Biến xâu s1,
s2, i
-Trả lời:s2=’’
- Trả lời:vòng lặp for
- Trả lời :
1->length(s1)
-Trả lời: s1[i]<’0’ or
s1[i]>’9’
Bai 1: Viết chương trình nhập
một xâu s bất kỳ vào từ bàn
phím. Đếm in ra màn hình
xâu có bao nhiêu dấu cách?
Program dem_trang;
Uses crt;
Var s:string;
Dem, I:integer;
Begin
Write(‘Nhap xau:’);
Readln(s);
Dem:=0;
For i:=1 to length(s) do
If a[i]=’ ‘ then
Dem:=dem+1;
Write(‘so luong dau cach
la:’,dem);
Readln
End
Bai 2: Viết chương trình nhập
một xâu s1 bất kỳ vào từ bàn
phím, tạo xâu s2 gồm tất cả
các tự không phải chữ
số trong xâu s1 và in kết
quả ra màn hình.
Program tao_xau;
Var s1,s1:string;
I:integer;
Begin
Write(‘Nhap s1:’);
Readln(s1);
S2:=’’;
For i:=1 to length(s1) do
Trang 37
- Gọi học sinh lên bảng làm?
- Quan sát
- Gọi học sinh nhận xét
- Nhận xét
- Một học sinh lên
bảng làm
-Nhận xét
-Nghe giảng ghi
bài
If s1[i]<’0’ or s1[i]>’9’ then
S2:=s2+s1[i];
Writeln(‘xau s2 la:’,s2);
Readln
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo biến xâu, hiểu cách nhập và in xâu.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến xâu, hiểu cách nhập và in xâu,
giải được các bài toán về kiểu xâu.
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập một xâu tự bất kì. Đếm và in ra số lần
xuất hiện chữ số trong xâu.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập một xâu kí tự bất kì và một kí tự bất ki. Cho biết số lần xuất
hiện kí tự vừa nhập.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập thực hành 5
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 38
Tuần: 25 Ngày soạn: 15/01/2018
Tiết: 30+31 Ngày dạy:05/02/2018 đến 24/02/2018
BÀI TẬP VÀ THỰC HÀNH 5
I. MỤC TIÊU
1. Về kiến thức
- Củng cố cho học sinh những hiểu biết về kiểu xâu.
- Cung cấp cho học sinh một vài thuật toán cơ bản và đơn giản thường gặp
trong x xâu.
2. Về kĩ năng
- Làm việc với xâu trong lập trình.
- Bước đầu viết được một số thuật toán kiêu xâu quen thuộc bằng Pascal.
- Góp phần 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.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, y tính, y
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải các bài
toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi m việc với kiểu xâu trước tiên chúng ta
cần thành thạo các thao tác khai báo, nhập, xuất
xâu. Để làm được điều đó thầy cả lớp cùng
tìm hiểu thực hành một số bài tập Bài tập
và thực hành số 5 trong SGK.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Nội dung hoạt động
Trang 39
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
Bài 1. Nhập từ n phím một
xâu. Kiểm tra xâu đó có phải là
xâu đối xứng không. Xâu đối
xứng tính chất: đọc từ bên
phải sang trái cũng thu được
kết quả giống như từ trái sang
phải (còn gọi xâu
palindrome).
(?) Khi đó chúng m như thế
nào?
- Nhận xét, bên cạnh đó ta còn
kiểm tra phần tử đầu trùng với
phần tử cuối tương tự cho
đến phần tử ở giữa xâu.
- Trả lời: sao khi đảo
ngược xâu thì xâu
mới giống xâu cũ.
- Nghe giảng ghi
bài.
Bài 1. Nhập từ bàn phím một
xâu. Kiểm tra xâu đó phải
xâu đối xứng không. Xâu đối
xứng tính chất: đọc từ bên
phải sang trái cũng thu được
kết quả giống như từ trái sang
phải (còn gọi xâu
palindrome).
a/ Program xaudoixung;
Var i, x: byte;
a, p: string;
Begin
Writeln('Nhap vao xau:
');
Readln(a);
x:=length(a);
p:='';
For i:=x downto 1 do
p:=p+a[i];
If a=p then
Writeln('Xau la
palindrome')
Else
Writeln('Xau khong la
palindrome');
Readln;
End.
b/ Program xaudoixung;
Uses crt;
Var A: string;
i, dem, n: integer;
Begin
Clrscr;
Writeln('nhap vao xau');
Readln(A);
n:=length(A);
dem:=0;
For i:=1 to n div 2 do
If (A[i]=A[n+1-i]) then
dem:=dem+1;
If (dem=n div 2 ) then
Trang 40
- Giới thiệu các dòng lệnh giúp
học sinh hiểu cấu trúc
chương trình.
Bài 2. Viết chương trình nhập
từ bàn phím một xâu tự S
thông báo ra màn hình số lần
xuất lầ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).
- ớng dẫn học sinh cách viết
chương trình.
- Lắng nghe để hiểu
rõ hơn.
- Nghe giảng viết
chương trình.
- Chú ý quan sát, ghi
bài.
Writeln('Xau la palindrome')
Else
Writeln('Xau khong la
palindrome');
Readln;
End.
Bài 2. Viết chương trình nhập
từ bàn phím một xâu tự S
thông báo ra màn hình số lần
xuất lầ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).
Program xuathienchu;
Uses crt;
Var i, n: integer;
j: char;
dem, demso: integer;
A:string;
Begin
Clrscr;
Writeln('Nhap xau ki tu A');
Readln(A);
For i:=1 to length(A) do
If (A[i]=' ') then
delete(A, i, 1);
For i:=1 to length(A) do
A[i]:=upcase(A[i]) ;
For n:=0 to 9 do
begin
For i:=1 to length(A) do
If (A[i]=n) then
demso:=demso+1;
end;
For j:='A' to 'Z' do
begin
dem:=0;
For i:=1 to length(A) do
If (A[i]=j) then
dem:=dem+1;
If (dem>0) then writeln ('ki
tu ', j, ' xuat hien ', dem, ' lan');
end;
Readln;
Trang 41
Bài 3. Nhập tự n phím một
xâu. Thay thế tất cả các cụm tự
anh’ bằng kí tự ‘em’.
(?) Khi đó ta dùng thủ tục gì?
- Nhận xét, khi đó ta gặp chữ
anhta xóa 3 tự sao đó ta
chèn vào vị trí đó chữ ‘em’.
- Trả lời: ta dùng thủ
tục Delete và Insert.
- Viết chương trình
vào tập.
End.
Bài 3. Nhập tự bàn phím một
xâu. Thay thế tất cả c cụm tự
anh’ bằng kí tự ‘em’.
Program thaytheanhem;
Uses crt;
Var A: string;
vt, i: integer;
Begin
Clrscr;
Writeln('nhap vao xau A');
Readln(A);
While pos('anh', A)<>0 do
Begin
vt:=pos('anh', A);
delete(A, vt, 3);
insert('em', A, vt);
End;
Writeln(A);
Readln;
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu xâu
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập từ bàn phím một xâu bất k. Đếm xem trong
xâu vừa nhập có bao nhiêu chữ số.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Trang 42
Viết chương trình nhập từ bàn phím một xâu bất kỳ. In xâu vừa nhập sau khi đã chuyển
tất cả kí thường thành kí tự hoa.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước câu hỏi và bài tập chương IV
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 43
Tuần: 27 Ngày soạn: 29/01/2018
Tiết: 32+33 Ngày dạy:26/02/2018 đến 03/03/2018
CÂU HỎI VÀ BÀI TẬP
I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần
cơ sở.
3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh ôn nắm lại kiến thức kiểu mảng một chiều và
kiểu xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được trả lời các câu hỏi và các bài tập về kiểu
mảng một chiều và kiểu xâu.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Để ôn lại về khái niệm thế nào kiểu mảng
một chiều, kiểu xâu. Sử dụng kiểu mảng một
chiều, kiểu xâu để giải các bài toán đơn giản,
hôm nay chúng ta sẽ làm câu hỏi bài tập
trang 79
- Yêu cầu học sinh mở sách giáo khoa trang 79
sau đó trả lời từng câu hỏi.
- Nghe giảng.
HOẠT ĐỘNG 2: Hình thành kiến thức
Trang 44
(1) Mục tiêu: Giúp học sinh ôn lại kiến thức về kiêu xâu và kiểu mảng một chiều, giải
các bài toán đơn giản.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, nhóm.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được kiến thức đã học, sử dụng kiểu xâu và mảng giải
được một số bài toán đơn giản
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Gọi học sinh lên trả lời câu
hỏi sao gọi dữ liệu cấu
trúc?
- Nhận xét, kết luận mảng
kiểu dữ liệu có cấu trúc.
(?) Tại sao phải khai báo kích
thước mảng?
- Nhắc lại, sự cần thiết khai
báo kích thước.
(?) Các em y kể tên các kiểu
liệu đã được học?
- ơng tự như vậy mảng cũng
có các kiểu dữ liệu như vậy.
(?) Để tham chiếu đến phần tử
của mảng, phần quan trọng
nhất là gì?
- Nhận xét: cần xác định tên
mảng, chỉ số, phải để trong dấu
[].
(?) Các em đã học toán hãy
cho một ví dụ về cấp s cộng?
- ơng tự trong Pascal vẫn
giống như vậy, m nay chúng
ta sẽ lập trình bài toán kiểm tra
dãy số phải cấp số cộng
không.
- Trả lời:
khuôn dạng do ngôn
ngữ lập trình cung
cấp.
- Nghe giảng, ghi bài.
- Suy nghĩ trả lời.
- Nghe giảng ghi
bài.
- Trả lời: Real,
Integer, Longint,
Boolean.
- Ghi bài.
- Trả lời: chỉ số của
mảng, cách ghi đúng.
- Nghe giảng.
- Trả lời: y số 1
3 5 7
- Nghe giảng.
Câu 1. Tại sao mảng kiểu
dữ liệu có cấu trúc?
Mảng kiểu dữ liệu cấu
trúc bởi kiểu cấu
trúc được đề cập tới sớm nhất
trong các ngôn ngữ lập trình.
được y dựng từ những
kiểu dữ liệu đã theo quy tắc
khuôn dạng do ngôn ngữ lập
trình cung cấp.
Câu 2. Tại sao phải khai báo
kích thước của mảng?
+ Để đánh số các phần từ;
+ Tránh tốn ô nhớ giúp chương
trình chạy nhanh hơn.
Câu 3. Các phần tử của mảng
có thể có những kiểu gì?
Các kiểu dữ liệu: Real,
Boolean, Integer, Longint.
Câu 4. Tham chiếu đến phần
tử của mảng bằng cách nào?
- Cần xác định tên mảng, chỉ
số, phải để trong dấu ngoặc
vuông [chỉ số].
Câu 5. Viết chương trình nhập
từ bàn phím số nguyên dương
Trang 45
(?) Theo toán học để kiểm tra
dãy số phải cấp số cộng
không, ta cần tính giá trị nào?
- Như vậy ta phải cần công
sai, khi đó chúng ta lấy phần tử
thứ 2 trừ phần tử thứ nhất ta sẽ
được công sai. Tiếp tục lấy
phần tử i+1 trừ phần từ i nếu
các phép trừ cho kết quả bằng
công sai thì ta được cấp số
cộng.
(?) Các em đã biết khái niệm
thế nàosố chẵn thế nào là số
lẻ số nguyên tố số như
thế nào? Hôm nay chúng ta sẽ
lập trình bài toán kiểm tra số
đó phải số nguyên tố
không?
(?) Yêu cầu học sinh nhắc lại
- Trả lời: ta nh công
sai.
- Nghe giảng ghi
bài.
- Nghe giảng.
- Trả lời: số chia
N (N<=100) dãy A gồm N
số nguyên A
1
, A
2
, …A
N
giá
trị tuyệt đối không lớn hơn
1000. Hãy cho biết dãy số A
phải cấp số cộng hay
không thông báo kết quả ra
màn hình.
Program capsocong;
Uses crt;
Var A: Array[1..100] of
integer;
cs, n, i, dem: integer;
Begin
Clrscr;
Writeln('nhap vao n va n
phai lon hon khong');
Readln(n);
For i:=1 to n do
Begin
Writeln('nhap phan tu
thu ', i);
Readln(A[i]);
End;
dem:=0;
cs:=A[2]-A[1];
For i:=2 to n-1 do
If (A[i+1]-A[i]=cs)
then
dem:=dem+1;
If (dem=n-2) then
writeln('La cap
so cong')
Else
Writeln('Khong
la cap so cong');
Readln ;
End.
Câu 6. Viết chương trình nhập
từ bàn phím số nguyên dương
N (N<=100) dãy A gồm N
số nguyên A
1
, A
2
, …A
N
giá
trị tuyệt đối không lớn hơn
1000. Hãy đưa ra thông báo
Trang 46
thế nào là số chẵn, số lẻ?
- Nhận xét, còn số nguyên tố
số chia hết cho 1 chính nó,
nhưng số 1 không là số nguyên
tố, hướng dẫn học sinh cách
viết chương trình.
hết không chia hết
cho 2.
- Xem cách viết
chương trình ghi
vào tập.
sau:
a. Số lượng số chẵn số lẻ
trong dãy;
b. Số lượng số nguyên tố trong
dãy.
Program Thuoctinhcuaday;
Uses crt;
Var A:array[1..100] of integer;
n, demle, demchan,
demngto, i , j: integer;
tam: boolean;
Begin
clrscr;
Writeln('nhap vao n');
Readln(n);
If (abs(n)>1000) then
writeln(' Nhap lai N')
Else
Begin
For i:=1 to n do
Begin
Writeln('nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
demle:=0;
demchan:=0;
For i:=1 to n do
If (A[i] mod 2=0) then
demchan:=demchan+1
Else
demle:=demle+1;
demngto:=0;
tam:=true;
For i:=1 to n do
If (A[i] >1) then
Begin
j:=2;
While (j<=sqrt(A[i]) ) and
(A[i] mod j<>0) do
j:=j+1;
If (j>sqrt(A[i])) then
demngto:=demngto+1;
Trang 47
(?) Các em y cho biết thế
nào là dãy Phi- bô- na xi?
- Nhận xét: Dãy
Fibonaxi y hạn các số
tự nhiên bắt đầu bằng hai phần
tử 0 1, các phần t sau đó
được thiết lập theo quy tắc mỗi
phần tử luôn bằng tổng hai
phần tử trước nó.
- ớng dẫn học sinh cách viết
chương trình.
- Theo các em thì chương trình
chúng ta chạy tới với giá trị
nào của N?
- Với từng kiểu số nguyên
khác nhau sẽ cho giá trị N,
- Suy nghĩ trả lời.
- Nghe giảng.
- Chú ý quan sát.
- Trả lời phụ thuộc
vào khai báo N.
- Nghe giảng.
End;
writeln('Cac so chan la ',
demchan);
writeln('Cac so le la ',
demle);
writeln('So nguyen to la',
demngto);
End;
Readln;
End.
Câu 7. Dãy F Phi-bô-na- xi
nếu:
F
0
=0; F
1
=1; F
N
=F
N-1
+F
N-2
với
N>=2.
Viết chương trình nhập từ bàn
phím số nguyên dương N
đưa ra màn hình số hạng thứ
N của dãy Phi- bô- na-xi.
Chương trình của bạn thực
hiện được với giá trị lớn nhất
của N là bao nhiêu?
Program Dayfibonaxi;
Uses crt;
Var n, i, f0, f2, f1, f: integer;
Begin
Clrscr;
Writeln('nhap vao n');
Readln(n);
f0:=0;
f1:=1;
f2:=1;
If (n=2) then
writeln('Phan tu thu ', n,
'la ', f0 + f1)
Else
Begin
For i:=3 to n do
Begin
f:=f1+f2;
f1:=f2;
f2:=f;
End;
Writeln('Phan tu thu ', n,
'la ', f);
End;
Readln;
Trang 48
mỗi kiểu phạm vi giá trị
khác nhau.
- Yêu cầu học sinh đọc thảo
luận bài tập 10 trang 80 SGK.
(?) Khi đó ta phải kiểm tra từ
phần tử đầu đến phần tử cuối.
Để tìm phần tử cuối tchúng
ta phải dùng hàm gì?
- Khi đó ta cho vòng lặp chạy
từ phần tử 1 đến phần tử giá
trị bằng length(S), nếu nằm
trong khoảng từ 0 đến 9 thì ta
đếm lên một giá trị.
- Nhận xét cách viết chương
trình của học sinh, chỉnh sửa
nếu có sai sót.
- Trả lời: Hàm length.
- Nghe giảng, tự viết
chương trình.
- Viết chương trình
vào tập.
End.
Câu 10. Viết chương trình
nhập từ bàn phím xâu tự S
độ dài không quá 100. Hãy
cho biết bao nhiêu chữ số
xuất hiện trong xâu S.
Program demso;
Var s: string[100];
i, dem: integer;
Begin
Writeln('Nhap 1 xau ki tu
do dai khong qua 100');
Readln(s);
dem:=0;
For i:=1 to length(s) do
If ('0'<=s[i]) and (s[i]<='9')
then dem:=dem+1;
Writeln('Trong xau s co ',
dem, ' chu so xuat hien’);
Readln;
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh giải thêm các bài tập về xâu, mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Trang 49
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập vào một dãy số nguyên có n phần tử.
- Sắp xếp dãy theo thứ tự tăng dần và in kết quả ra màn hình.
- Nhập vào một số x bất kì, đếm số lần xuất hiện của nó
trong dãy trên.
- In ra màn hình số phần tử nhỏ hơn hoặc bằng x.
- In ra màn hình số phần tử lớn hơn x
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập một đoạn văn. Đếm có bao nhiêu câu trong đoạn vừa nhập.
- HS: làm bài tập GV yêu cầu.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Lê Thị Lịnh
Trang 50
Tuần: 28 Ngày soạn: 25/02/2018
Tiết: 34 Ngày dạy:05/03/2018 đến 10/03/2018
ÔN TẬP
I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type.
2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần
cơ sở.
3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh ôn nắm lại kiến thức kiểu mảng một chiều và
kiểu xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được làm các bài tập về kiểu mảng một chiều và
kiểu xâu.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Để ôn lại về khái niệm thế nào kiểu mảng
một chiều, kiểu xâu. Sử dụng kiểu mảng một
chiều, kiểu xâu để giải các bài toán đơn giản,
hôm nay chúng ta sẽ làm một số bài tập
- Nghe giảng.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh ôn lại kiến thức về kiêu xâu và kiểu mảng một chiều, giải
các bài toán đơn giản.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, nhóm.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
Trang 51
(5) Kết quả: Học sinh nắm được kiến thức đã học, sử dụng kiểu xâu và mảng giải
được một số bài toán đơn giản
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Xác định input và output
- Thế nào là số chẵn?
- Hàm để tính điều kiện chia
hết?
- Nếu chia hết thì biến tong
tăng bao nhiêu?
- Gọi học sinh lên bảng làm?
- Quan sát
- Gọi học sinh nhận xét
- Nhận xét
- Xác định input và output
- Hàm đổi một tự thường
thành hoa?
- Ta dùng vòng lặp nào và đi từ
giá trị bao nhiêu?
- Với mõi lần lặp ta thực hiện
câu lệnh gì
- Gọi học sinh lên bảng làm?
- Trả lời: Dãy số,
output là tổng chẳn
- Trả lời:số chia hết
cho 2
- Trả lời:a[i] mod 2=0
-Trả lời
tong:=tong+a[i]
- Một học sinh lên
bảng làm
-Nhận xét
-Nghe giảng ghi
bài
- Trả lời:Xâu s, output
là xâu kí tự hoa
- Trả lời: upcase
- Trả lời:vong lặp for,
1->length(s)
- Trả lời
s[i]:=upcase(s[i])
- Một học sinh lên
Bài 1. Viết chương trình nhập
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình tổng
của số chẵn.
Program Tong_chan;
Uses crt;
Var A: array[1..100] of Integer;
N, tongch, i: Integer;
Begin
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do
Begin
Writeln('Nhap vao phan tu
thu ', i);
Readln(A[i]);
End;
Tongch:=0;
For i:=1 to N do
If (A[i] mod 2=0) then
tongch:=tongch+a[i];
Writeln(‘Tong chan la ',
tongch);
Readln;
End.
Bài 2: Viết chương trình nhập
xâu bất kỳ. In xâu vừa nhập
sau khi đổi tất cả các
thường thành kí tự hoa?
Program xau_hoa;
Uses crt;
Var s:string;
I:integer;
Begin
Clrscr;
Write(‘nhap xau s:’);
Readln(s);
For i:=1 to length(s) do
S[i]:=upcase(s[i]);
Trang 52
- Quan sát
- Gọi học sinh nhận xét
- Nhận xét
bảng làm
-Nhận xét
-Nghe giảng ghi
bài
Write(‘xau hoa:’,s);
Readln
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập 1 xâu bất kỳ gồm các kí tự từ a đến Z. In ra
màn hình kí tự xuất hiện nhiều nhất trong câu.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Viết chương trình nhập y số nguyên bất kì và một số nguyên k bất kì. Tìm và đếm
số lần xuất hiện số k đó trong dãy số vừa nhập.
- HS: làm bài tập GV yêu cầu.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Lê Thị Lịnh
Trang 53
Trang 54
Tuần: 28 Ngày soạn: 25/02/2018
Tiết: 35 Ngày dạy:05/03/2018 đến 10/03/2018
KIỂM TRA 1 TIẾT THỰC HÀNH.
I. MỤC TIÊU
1. Kiến thức:
- Nắm vững các kiến thức đã học.
- Thực hiện đúng các thao tác mảng, xâu.
- Biết phân tích chương trình.
2. Kĩ năng
- Giải những bài toán từ đơn giản tới phức tạp.
3. Thái độ
- Có thái độ nghiêm túc giờ kiểm tra.
II. CHUẨN BỊ ĐỒ DÙNG DẠY HỌC
- Chuẩn bị của giáo viên: Giáo án, SGK, SGV, máy tính, máy chiếu, bút lông,
bảng,…
- Chuẩn bị của học sinh: SGK, tập, viết,…
III. PHƯƠNG PHÁP DẠY HỌC
- Vấn đáp, thuyết trình.
IV. 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 đề kiểm tra
Câu 1. Viết chương trình nhập mảng 1 chiều n phần tử. Tính và in ra màn hình
tổng các số lẻ.
Câu 2. Viết chương nhập vào xâu A, sau đó in kí tự đầu tiên và kí tự cuối cùng
của xâu
4. Củng cố - dặn dò
a. Củng cố.
- Nắm các thao tác với từng loại kiểu dữ liệu.
b. Dặn dò
- Về xem trước bài kiểu dữ liệu tệp.
5. Rút kinh nghiệm
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………………………………………
Trang 55
Tuần: 29 Ngày soạn: 26/02/2018
Tiết: 36 Ngày dạy:12/03/2018 đến 17/03/2018
BÀI 14. KIỂU DỮ LIỆU TỆP
I. MỤC TIÊU
1. Về kiến thức
- Biết được đặc điểm của kiểu dữ liệu tệp.
- Biết hai cách phân loại tệp, khái niệm tệp có cấu trúc và tệp văn bản.
2. Về kĩ năng
- Làm quen với kiểu dữ liệu mới.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, y tính, y
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được kiểu dữ liệu là gì
(2) Phương pháp/kĩ thuật dạy học: Cá nhân
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học kiểu dữ liệu tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Sau khi chạy chương trình các bài trước ta
thấy kết quả in trên màn hình nhưng muốn sử
dụng kết quả đó về sau thì không được. Do đó,
ta có kiểu dữ liệu mới là kiểu dữ liệu tệp.
- Nghe giảng.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được về vai t kiểu dữ liệu tệp, phân loại và biết
được các thao tác với tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được vai trò kiểu dữ liệu tệp, phân loại và biết được các
thao tác với tệp.
Trang 56
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Các kiểu dữ liệu trước
được lưu trữ ở bộ nhớ nào?
(?) Vậy dữ liệu lưu trên Ram
thì khi tắt y hoặc mất điện
thì dữ liệu lưu trữ trong bộ nhớ
này sẽ như thế nào?
- Hôm nay ta sẽ tìm hiểu tệp
gì? Có đặc điểm gì?
- Em y tìm hiểu trong SGK
cho thầy biết vai trò của kiểu
dữ liệu tệp?
- Trả lời: lưu trên bộ
nhớ Ram.
- Trả lời: dữ liệu sẽ
mất.
- Nghe giảng ghi
bài.
- Tham khảo SGK trả
lời
(?) Yêu cầu học sinh đọc SGK
cho biết đặc điểm của kiểu
dữ liệu tệp?
- Nhận xét giảng thêm khái
niệm 2 loại tệp.
- Hướng dẫn học sinh hai cách
truy cập tệp.
- Giới thiệu cho học sinh biết
hai thao tác cơ bản khi làm việc
với tệp là ghi dữ liệu vào tệp
đọc dữ liệu từ tệp.
- Tham khảo SGK
trả lời.
- Nghe giảng ghi
bài.
- Ghi bài.
- Nghe giảng ghi
bài.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh biết được vai trò kiểu tệp, phân loại tệp và biết các thao tác
với tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
Trang 57
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu trắc nghiệm sau:
Câu 1: Cữ liệu kiểu tệp
A_ được lưu trữ trên ROM.
B_ được lưu trữ trên RAM.
C_ chỉ được lưu trữ trên đĩa cứng.
D_ được lưu trữ trên bộ nhớ ngoài.
Câu 2: Dữ liệu kiểu tệp
A. sẽ bị mất hết khi tắt máy.
B. sẽ bị mất hết khi tắt điện đột ngột.
C. không bị mất khi tắt máy hoặc mất điện.
D. cả A, B, C đều sai.
Câu 3: Phát biểu nào dưới đây là đúng ?
A. Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM).
B. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong.
C. Dữ liệu kiểu tệp được lưu trữ bộ nhờ ngoài (đĩa mềm, đĩa cứng, CD, thiết bị
nhớ Flash).
D. Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện.
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Câu 1: Phát biểu nào sau đây là sai ?
A. Tệp cấu trúc tệp các thành phần của được tổ chức theo một cấu trúc
nhất định.
B. Tệp chứa dữ liệu được tổ chức theo một cách thức nhất định gọi là tệp cấu
trúc.
C. Tệp văn bản không thuộc loại tệp có cấu trúc.
D. Tệp văn bản gồm các tự theo ASCII được phân chia thành một hay nhiều
dòng.
Câu 2: Phát biểu nào sau đây là sai ?
A. Có thể truy cập trực tiếp tệp văn bản.
B. Tệp có cấu trúc có thể truy cập trực tiếp.
C. Tệp có cấu trúc có thể truy cập tuần tự.
D. Truy cập trực tiếp cách truy cập cho phép tham chiếu đến dữ liệu cần truy
cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó.
Trang 58
Câu 3: Phát biểu nào sau đây là đúng ?
A. Số lượng phần tử của tệp là cố định.
B. Kích thước tệp có thể rất lớn.
C. Dữ liệu một tệp được lưu trữ trên đĩa thành một vùng dữ liệu liên tục.
D. Tệp lưu trữ lâu dài trên đĩa, không thể xóa tệp trên đĩa.
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 15
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 59
Tuần: 29 Ngày soạn: 26/02/2018
Tiết: 37 Ngày dạy:12/03/2018 đến 17/03/2018
BÀI 15. THAO TÁC VỚI TỆP
I. MỤC TIÊU
1. Về kiến thức
- Biết khai báo biến tệp và gắn tên tệp.
2. Về kĩ năng
- Khai báo đúng biến kiểu tệp.
- Thao tác đúng gắn tên tệp
3. Về thái độ
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới
- Khai báo biến dữ liệu hợp lý.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến
tệp.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Giới thiệu cấu trúc chung của khai báo biến
tệp giải thích, cũng giống như các kiểu dữ
liệu khác để thể hiểu được thì chúng ta cần
khai báo.
Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách gắn
tên tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, gắn tên tệp
Trang 60
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Vậy em nào thể cho
thầy biết dạng của khai báo
biến tệp văn bản?
- Nhận xét, vậy bạn o thể
cho một ví dụ về khai báo kiểu
biến tệp?
- Cho một số dụ giúp học
sinh hiểu thêm kiểu dữ liệu
mới.
- Nghe giảng quan
sát.
- Trả lời: var <tên
biến tệp>: text;
- Trả lời: Var a: text;
- Ghi bài.
1. Khai báo
Khai báo biến tệp n bản
dạng:
Var <tên biến tệp>: text;
Ví dụ: Var f: text;
- Các thao tác với tệp chia
thành bốn nhóm:
+ Gắn tên tệp;
+ Mở tệp;
+ Đọc/ghi tệp;
+ Đóng tệp;
- Để thao tác với tệp, trước hết
phải gắn tên tệp cho biến tệp
bằng câu lệnh:
Assign (<tên biến tệp>, <tên
tệp>);
- Trong đó tên tệp biến xâu
hoặc hằng xâu.
(?) VD1: Giả thiết biến xâu
myfile và cần gắn biến tệp f với
tệp tên DULIEU.DAT. Việc
gắn tên tệp được thực hiện
bằng các câu lệnh?
- Nhận xét và giải thích thêm ví
dụ, đặc biệt dụ 2 đọc trên
thư mục gốc của đĩa D.
(?) VD2: Để chuẩn bị thao tác
với tệp tên KQ.DAT đĩa
C ta dùng các câu lệnh nào để
gắn nó với tệp tep2?.
- Nghe giảng.
- Nghe giảng ghi
bài.
- Suy nghĩ và trả lời:
myfie:='DULIEU.DA
T';
assign (f, myfile);
hoặc assign (f,
'DULIEU.DAT');
- Ghi ví dụ.
- Suy nghĩ trả lời
câu hỏi của giáo viên.
2. Thao tác với tệp
a/ Gắn tên tệp
- Để thao tác với tệp, trước hết
phải gắn tên tệp cho biến tệp bằng
câu lệnh:
assign (<tên biến tệp>, <tên
tệp>);
- Trong đó tên tệp là biến xâu
hoặc hằng xâu.
Ví dụ 1:
myfie:='DULIEU.DAT';
assign (f, myfile);
hoặc assign (f, 'DULIEU.DAT');
Ví dụ 2:
assign(tep2, 'C:\KQ.DAT');
Trang 61
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác khai báo biến tệp và gắn tên tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu hỏi trắc nghiệm
Câu 1. Để thao tác với tệp?
A. Ta có thể gắn tên tệp cho biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
C. Ta nhất thiết phải gắn tên tệp cho biến tệp.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
Câu 2. Trong Pascal, để khai báo hai biến tệp văn bản f1, f2 ta viết?
A. Var f1; f2: text
B. Var f1, f2: text
C. Var f1 f2: text
D. Var f1: f2: text
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: y khai báo một biến tệp tep1 và gắn với tên tệp là ‘C:\dulieu.dat’
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước phần 2.b, 2.c, 2.d
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Trang 62
Lê Thị Lịnh Lê Minh Tâm
Trang 63
Tuần: 30 Ngày soạn: 05/03/2018
Tiết: 38 Ngày dạy:19/03/2018 đến 24/03/2018
BÀI 15. THAO TÁC VỚI TỆP (tiết 2)
I. MỤC TIÊU
1. Về kiến thức
- Biết các thao tác cơ bản với tệp văn bản.
- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp.
2. Về kĩ năng
- Sử dụng một số hàm và thủ tục chuẩn làm việc với tệp.
3. Về thái độ
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới:
- Năng lực tự học, năng lực giải quyết vấn đề.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được các thao tác với kiểu dữ liệu tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Ta đã tìm hiểu vai trò kiểu dữ liệu cách
khai báo một biến biến tệp. m nay chúng ta
sẽ tìm hiểu để mở một tệp ta phải dùng thủ tục
như thế nào cách ghi đọc dữ kiệu đối với
một tệp mà ta muốn thao tác như thế nào ?
Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng
một chiều.
Trang 64
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Tệp thể ng để chứa kết
quả ra hoặc dữ liệu vào. Trước
khi mở tệp, biến tệp phải được
gắn tên tệp bằng thủ tục assign.
- Câu lệnh dùng thủ tục mở tệp
để ghi dữ liệu có dạng:
Rewrite(<biến tệp>);
- Khi thực hiện lệnh rewrite(f),
Nếu như trên D:\TP chưa
tệp BAITAP.INP, thì tệp sẽ
được tạo rỗng. Nếu đã có, thì
nội dung bị xoá để chuẩn bị
ghi dữ liệu mới.
- Tương tự như vậy để đọc
được nội dung của tệp ta cần có
thủ tục mở tệp.
(?) Vậy các em y đọc sách
giáo khoa cho biết thủ tục
gì?
- Nhận xét.
- Nếu tệp được mở bằng thủ tục
reset thì thể đọc thông tin
của tệp, ta sẽ m hiểu việc
đọc/ghi tệp văn bản như thế
nào?
(?) Việc đọc tệp văn bản được
thực hiện giống như nhập từ
bàn phím. Các em hãy cho biết
để nhập từ bàn phím lúc trước
ta dùng thủ tục gì?
- Đối với tệp ta cũng dùng thủ
tục read hoặc readln nhưng
nhưng ở đây có thêm biến tệp.
- Nghe giảng ghi
bài.
- Trả lời: ta có thủ tục
reset.
- Nghe giảng ghi
bài.
- Trả lời: ta viết
read(<danh sách các
biến>);
- Nghe giảng ghi
bài.
2. Thao tác với tệp
b/ Mở tệp
- Câu lệnh dùng thủ tục mở tệp
để ghi dữ liệu có dạng:
Rewrite(<biến tệp>);
Ví dụ 1:
myfile:='D:\TP\BAITAP.INP';
assign (f, myfile);
rewrite(f);
- Mở tệp để đọc bằng thủ tục:
Reset(<biến tệp>);
Ví dụ: assign(tep1, ’DL.INP’);
Reset(tep1);
c/ Đọc/ghi tệp văn bản
Câu lệnh dùng thủ tục đọc
dạng:
+ Read(<biến tệp>, <danh sách
biến>);
Hoặc
+ Readln(<biến tệp>, <danh
Trang 65
- Để hiểu rỏ cách đọc như thế
nào chúng ta xét ví dụ sau:
Lệnh đọc giá trị từ tệp gắn với
biến tệp f gán cho biến x1,
y1.
Myfile(‘D:\DL.INP’);
Assign(f, myfile);
Reset(f);
Readln(f, x1, y1);
- Các em chú ý trước tiên đọc
tệp ta cần mở tệp các biến
được ngăn cách dấu phẩy.
- Cũng tương tự như vậy để ghi
dữ liệu ra tệp ta sẽ dùng thủ
tục write hoặc writeln, khi thực
thi chương trình sẽ thì kết quả
sẽ được ghi vào tệp.
- Đối với ngôn ngữ lập trình
Pascal để đọc/ghi tệp văn bản
ta một số m chuẩn thường
dùng như: eof eoln.
- Sau khi làm việc xong với tệp
cần phải đóng tệp. Việc đóng
tệp đặc biệt quan trọng sau
khi ghi thông tin vào tệp, vậy
đóng tệp như thế nào chúng ta
sẽ tìm hiểu mục d.
- Câu lệnh dùng thủ tục đóng
tệp có dạng: close(<biến tệp>);,
sau khi đóng tệp chúng ta
- Nghe giảng.
- Nghe giảng ghi
ví dụ.
- Ghi bài.
- Ghi ý nghĩa của 2
hàm.
- Nghe giảng ghi
bài.
sách biến>);
Trong đó: danh sách biến
một hoặc nhiều tên biến đơn,
các biến phải ngăn cách nhau
dấu phẩy.
Ví dụ:
Myfile(‘D:\DL.INP’);
Assign(f, myfile);
Reset(f);
Readln(f, x1, y1);
Câu lệnh dùng thủ tục ghi
dạng:
+ Write(<biến tệp>, <danh
sách kết quả>);
Hoặc
+ Writeln(<biến tệp>, <danh
sách kết quả>);
Trong đó: danh sách kết quả
thể một hoặc nhiều phần tử,
các phần tử thể biến đơn
hoặc biểu thức (số học, quan hệ
hoặc logic) hoặc hằng xâu, các
phần tử được ngăn cách nhau
bởi dấu phẩy.
Ví dụ:
Myfile(‘D:\DULIEU.DAT’);
Assign(f, myfile);
Rewrite(f);
Writeln(f, a, b);
+ Hàm eof(<biến tệp>) trả về
true nếu con trỏ tệp đang chỉ tới
cuối tệp.
+ Hàm eoln(<biến tệp>) trả về
true nếu con trỏ tệp đang chỉ tới
cuối dòng.
d/ Đóng tệp
Trang 66
thể được mở lại, u ý lúc y
chúng ta không dùng assign
nữa.
- Các em y xem hình 16 xem
các thao tác với tệp được thực
hiện theo trình tự nhất định.
- Nghe giảng ghi
bài.
Câu lệnh ng thủ tục đóng tệp
có dạng: Close(<biến tệp>);
Ví dụ: Close(tep1);
Close(tep2);
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu trắc nghiệm
Câu 1. Thủ tục rewrite(<tên biến tệp>) là thủ tục?
A. Mở tệp để ghi dữ liệu
B. Đóng tệp
C. Đọc dữ liệu từ tệp
D. Ghi dữ liệu vào tệp
Câu 2. Thủ tục reset(<tên biến tệp>) là thủ tục?
A. Mở tệp để đọc dữ liệu
B. Đóng tệp
C. Đọc dữ liệu từ tệp
D. Ghi dữ liệu vào tệp
Câu 3 Hãy chọn thứ tự hợp lý nhất khi thực hiện các thao tác đọc dữ liệu từ tệp?
A. Mở tệp => Đọc dữ liệu từ tệp => Gắn tên tệp với biến tệp => Đóng tệp.
B. Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp
C. Mở tệp => Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp
D. Gắn tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp
Câu 4. Thao tác ghi trên tệp văn bản chứa dữ liệu là?
A. Thông báo mở tệp để đọc Đọc dữ liệu trong tệp Đóng tệp Gắn biến
tệp với tên tệp.
B. Gắn biến tệp với tên tệp Thông báo mở tệp để ghi dữ liệu mới Ghi dữ
liệu mới Đóng tệp.
C. Thông báo mở tệp để đọc Đọc dữ liệu trong tệp Đóng tệp Gắn biến
tệp với tên tệp.
D. Gắn biến tệp với tên tệp Thông báo mở tệp để ghi dữ liệu mới Đọc dữ
liệu trong tệp Đóng tệp.
GV hướng dẫn và cho các em thảo luận.
Trang 67
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: Với một biến tệp tep1 đã được gắn ten tệp. Em hãy viết cú pháp mở
tệp để ghi cho tep1 và ghi vào tep1 một với nội dung là ‘Bai ve kieu tep’
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 16 ví dụ làm việc với tệp.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 68
Tuần: 30+31 Ngày soạn: 05/03/2018
Tiết: 39+40 Ngày dạy:19/03/2018 đến 31/03/2018
BÀI 16. VÍ DỤ LÀM VIỆC VỚI TỆP
I. MỤC TIÊU
1. Về kiến thức
- Biết các bước làm việc với tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp,
đóng tệp.
- Biết một số hàm và thủ tục chuẩn làm việc với tệp.
2. Về kĩ năng
- Hình thành k năng về các thao tác cơ bản khi làm việc với tệp như: mở tệp,
gán tên tệp cho biến tệp, đọc/ghi dữ liệu cho biến tệp, đóng tệp.
3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới
- Giải quyết vấn đề, thảo luận nhóm, suy luận.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
Câu 1: Nêu đặc điểm của kiểu tệp?
Câu 2:
- Viết khai báo biến tệp với tên biến tệp là f.
- Gắn tên tệp ‘D:\ViDu.txt’ cho biến tệp f.
- Mở tệp để đọc dữ liệu.
- Đọc dữ liệu từ tệp ‘D:\ViDu.txt’ vào 2 biến x, y.
- Đóng tệp.
Câu 3:
- Viết khai báo biến tệp với tên biến tệp là f.
- Gắn tên tệp ‘D:\Ketqua.txt’ cho biến tệp f.
- Mở tệp để ghi dữ liệu.
- Ghi dữ liệu là s1, s2 vào tệp ‘D:\Ketqua.txt’.
- Đóng tệp.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn tìm hiểu một số ví dụ làm việc với tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn tìm hiểu một số ví dụ làm việc với tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Trang 69
- Trong tiết học trước các em đã được làm quen
với kiểu dữ liệu tệp cũng như các thao tác với
tệp như là: Khai báo tệp, gán tên tệp, mở tệp,
đọc/ghi dữ liệu vào tệp, đóng tệp. Để hiểu
hơn các thao tác m việc với tệp văn bản
chúng ta sẽ đi xét một vài ví dụ cụ thể trong bài
16.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được một số ví dụ bài tập về kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được một số ví dụ bài tập về kiểu tệp
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Yêu cầu học sinh đọc dụ 1
trong sách giáo khoa yêu
cầu học sinh xác định Input
Output của ví dụ.
- Nhận xét kết quả trả lời của
học sinh, nhận định lại Input:
Tọa độ trại hiệu trưởng (0, 0);
Tệp TRAI.TXT với c cặp số
nguyên (x, y) liên tiếp. Output:
Khoảng cách giữa trại mỗi lớp
với trại của hiệu trưởng.
- c em y cho biết công
thức tính khoảng cách của 2
điểm với tọa độ biết trước?
(?) Theo yêu cầu của đbài thì
chúng ta thực hiện đọc tệp hay
ghi tệp?
- Sao khi đọc nội dung tệp
chúng ta tiến hành tính khoảng
cách rồi in ra màn hình khoảng
cách của từng trại đối với trại
hiệu trưởng.
- Từng bước hướng dẫn học
sinh cách viết chương trình.
- Đọc dụ xác định
Input và Output.
- Trả lời:
,
với
- Trả lời: đọc nội dụng
của tệp TRAI.TXT.
- Quan sát viết
chương trình vào tập.
1. Ví dụ 1
Program Khoang_cach;
Var d: real;
f: text;
x, y: integer;
Begin
Assign (f,
’D:\TRAI.TXT’);
Trang 70
Reset (f);
While not eof (f) do
Begin
Read (f, x, y);
D:= Sqrt (x*x+y*y);
Writeln (‘Khoang
cach:’ , d: 10: 2);
End;
Close (f);
Readln;
End.
- Hôm nay chúng ta sẽ tìm hiểu
lại cách tính điện trở của một
số mạch điện. Yêu cầu học sinh
đọc ví dụ.
- Hướng dẫn cách tính điện trở
cho từng trường hợp cụ thể.
(?) Đối với dụ y thì chúng
ta sẽ thực hiện các thao tác
nào?
- Nhận xét, để thực hiện ghi tệp
chúng ta cần tính được điện trở
tương đương rồi mới ghi vào
RESIST.EQU. Hướng dẫn cách
đọc dữ liệu từ tệp
RESIST.DAT cách ghi ra
tệp như thế nào.
- ớng dẫn cách viết chương
trình.
- Đọc dụ sách giáo
khoa.
- Nghe giảng.
- Trả lời: thực hiện
mở tệp để đọc mở
tệp để ghi.
- Nghe giảng.
- Viết chương trình
vào tập.
2. Ví dụ 2
Program Dien_tro;
Var a: array[1..5] of real;
R1, R2, R3: real;
f1, f2: text;
i: integer;
Begin
Assign (f1,‘RESIST.DAT’);
Reset(f1);
Assign(f2,‘RESIST.EQU’);
Rewrite(f2);
While not eof(f1) do
Begin
Readln(f1, R1, R2, R3);
a[1] := R1*R2*R3 /
(R1*R2+R1*R3+R2*R3);
a[2]:=R1*R2/(R1+R2)+R3;
a[3]:=R1*R3/(R1+R3)+R2;
a[4]:=R2*R3/(R2+R3)+R1;
a[5]:=R1+R2+R3;
Trang 71
For i:=1 to 5 do write(f2, a[i]:
9: 3, ‘ ‘);
Writeln(f2);
End;
Close (f1);
Close (f2);
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một
chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: y cho biết kết quả của đoạn chương trình sau:
Program VD_bt1_txt ;
Uses crt ;
Var f : text ;
Begin
Clrscr;
Assign(f, ‘BT1.TXT ’) ;
Rewrite(f) ;
Write(f, 123 + 456) ;
Close(f) ;
End .
GV gọi một học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:y cho biết nội dung của đoạn chương trình sau viết với mục đích
gì?
Program Vi_Du ;
Uses crt ;
Var f : text ; ch : char ; tenfile : string[30] ;
Begin
Trang 72
Write(‘ Nhap ten file : ’) ; readln(tenfile) ;
Assign(f, tenfile) ; Reset(f) ;
While not eof(f) do
Begin
Read(f, ch) ;
Write(ch) ;
End ;
Close(f) ;
End.
- HS: làm bài tập GV yêu cầu.
- GV: Về xem lại cách viết chương trình và xem trước phần câu hỏi và bài tập cuối
chương V.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 73
Tuần: 31 Ngày soạn: 12/03/2018
Tiết: 41 Ngày dạy:26/03/2018 đến 31/03/2018
CÂU HỎI VÀ BÀI TẬP CHƯƠNG V (trang 89)
I. MỤC TIÊU
1. Về kiến thức
- Biết được lợi ích của việc sử dụng tệp trong ngôn ngữ lập trình pascal.
- Cần ghi nhớ và thực hiện các thao tác với tệp cho phù hợp và chính xác.
2. Về kĩ năng
Hình khả năng phân tích một số ví dụ về tệp, để thực hiện thao tác chính xác.
3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
4. Năng lực hướng tới
- Giải quyết vấn đề, hoạt động nhóm.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Tiến trình bày học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác kiểu dữ liệu tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để
giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Các tiết rồi chúng ta vừa tìm hiểu các thao tác
và thực hành với tệp, hôm nay chúng ta sẽ nhắc
lại vì sao tệp có những ưu điểm như vậy.
- Nghe giảng
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết rõ hơn về vai trò của kiểu tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được rõ hơn về vai trò kiểu dữ liệu tệp.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
Trang 74
- Các tiết rồi chúng ta vừa m
hiểu các thao tác thực hành
với tệp, m nay chúng ta sẽ
nhắc lại sao tệp những ưu
điểm như vậy.
(?) Các em y đọc sách giáo
khoa trả lời câu 1 trang 89
sách giáo khoa?
- Để khắc phục sự cố hạn
chế khả năng lưu trữ dữ liệu
của các dữ liệu trước, thì đối
với tệp thì chúng ta thể u
trữ dữ liệu lớn, được u trữ
lâu dài, không phải sợ tắt máy
hay mất điện đột ngột.
(?) Các em hãy quan sát đồ
trang 86 kể các thao tác cần
ghi dữ liệu ra tệp?
- Nhận xét, nhắc lại các thao
tác.
(?) sao chúng ta cần phải
mở tệp trước khi đọc/ghi tệp?
- Nhận xét, đó 2 thao tác
quan trọng khi lập trình Pascal.
(?) Công việc cuối cùng khi
thao tác với tệp là gì?
- Vậy tác dụng của việc đóng
tệp là gì?
- Nghe giảng.
- Đọc sách giáo khoa
và suy nghĩ trả lời.
- Nghe giảng ghi
bài.
- Quan sát và trả lời.
- Ghi bài.
- Trả lời: để xác định
thao tác đó mở để
đọc hay mở để ghi
vào tệp.
- Ghi bài.
- Trả lời: ta thực hiện
đóng tệp.
Câu 1. Nêu một số trường
hợp cần phải dùng tệp?
Một số trường hợp cần thiết khi
dùng tệp:
+ Lưu trữ thông tin lớn;
+ Được lưu trữ sử dụng lâu
dài.
Câu 2. Các thao tác khi ghi
dữ liệu ra tệp
+ Gắn tên tệp;
+ Dùng thủ tục mở tệp
(rewrite);
+ Ghi tệp;
+ Đóng tệp.
Câu 3. Cần phải mở tệp trước
khi đọc/ghi vì
- Ta phải sử dụng câu lệnh mở
tệp để trình dịch biết thực hiện
mục đích mở tệp để đọc hay
ghi, đồng thời đặt con trỏ vị
trí thích hợp.
Câu 4. Dùng câu lệnh đóng
tệp sau khi kết thúc ghi dữ
liệu: dùng để hoàn tất việc ghi
dữ liệu ra tệp.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo biến tệp, các thao tác kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến tệp, các thao tác kiểu dữ liệu tệp.
Nội dung hoạt động
GV cho bài tập : Trả lời các câu trắc nghiệm sau
Câu 1 : Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp
A. Var <tên tệp> : Text;
Trang 75
B. Var <tên biến tệp> : Text;
C. Var <tên tệp> : String;
D. Var <tên biến tệp> : String;
Câu 2: Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết
A. Var f1 f2 : Text;
B. Var f1 ; f2 : Text;
C. Var f1 , f2 : Text;
D. Var f1 : f2 : Text;
Câu 3: Để thao tác với tệp
A. Ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nhất thiết phải gán tên tệp cho tên biến tệp.
C. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
GV hướng dẫn gọi học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:
Trong Pascal, cho trước tệp văn bản BT2.TXT chỉ có một dòng, chứa dòng chữ :
CHAO MUNG BAN DEN VOI LAP TRINH ngay ở đầu dòng. Thực hiện chương trình đ
được kết quả đưa ra màn hình dòng chữ CHAO MUNG BAN DEN VOI LAP TRINH?
- HS: làm bài tập GV yêu cầu.
- GV: xem trước bài tập và thực hành 6.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 76
Tuần: 32 Ngày soạn: 19/03/2018
Tiết: 42+43 Ngày dạy:02/04/2018 đến 07/04/2018
BÀI TẬP VÀ THỰC HÀNH 6
I. MỤC TIÊU
1. Về kiến thức
- Biết các vận dụng cấu trúc chương trình con để giải các bài toán từ đơn
giản tới phức tạp.
- Biết các thao tác xử lý trên xâu.
2. Về kĩ năng
Hình khả năng phân tích để sử dụng hàm và thủ tục cho đúng.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề, sử dụng y tính giải các bài
toán.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Tiến trình bày học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn sử dụng máy tính giải các bài toán trong
đó có sử dụng kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn muốn sử dụng máy tính giải các bài toán trong
đó có sử dụng kiểu xâu
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Lúc trước chúng ta đã m hiểu các thao tác x
tệp, m nay chúng ta sử dụng kiểu tệp để
thực hành một số bài đơn giản.
- Nghe giảng.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng tệp giải các bài tập.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách sử dụng tệp giải các bài toán.
Nội dung hoạt động
Trang 77
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Sau đây chúng ta tìm hiểu bài
tập về xâu dùng kiểu tệp để
lưu giá trị
- Cho bài tập học sinh thực
hành
- bài y chúng ta dùng bao
nhiêu biến xâu, biến tệp?
- Nhận xét
- Tệp được thao tác có tên gì?
- Thao tác đọc tệp hay ghi tệp?
- Nhận xét
- Thao tác cuối cùng khi ghi
tẹp là gì?
- Nhận xét
- Quan xác hướng dẫn học sinh
thực hành.
- Nhận xét
- Cho bài tập 2 học sinh thực
hành
- bài y chúng ta dùng bao
nhiêu biến xâu, biến tệp?
- Nhận xét
- Tệp được thao tác có tên gì?
- Thao tác đọc tệp hay ghi tệp?
- Nhận xét
- Thao tác cuối cùng khi ghi
tẹp là gì?
- Nhận xét
- Quan xác hướng dẫn học sinh
thực hành.
- Nhận xét
- Lắng nghe
- Ghi bài
- Trả lời
- Lắng nghe
- Trả lời
- Trả lời
- Lắng nghe
- Trả lời
-Lắng nghe
- Thực hành trên máy
- Lắng nghe, ghi bài
- Ghi bài
- Trả lời
- Lắng nghe
- Trả lời
- Trả lời
- Lắng nghe
- Trả lời
-Lắng nghe
- Thực hành trên máy
- Lắng nghe, ghi bài
Bài 1: Viết chương trình nhập
xâu học tên. Ghi xâu vừa
nhập vào tệp C:\TP7\BT1.txt
Var tep:text;
S:string;
Begin
Write(‘Nhap xau’);
Readln(s);
Assign(tep,’C:\tp7\bt1.txt’);
Rewrite(tep);
Write(tep,s);
Close(tep);
Readln
End.
Bài 2: Viết chương trình nhập
xâu bất kỳ. Đếm ghi số
lượng tự chữ số vào tệp
c:\tp7\bt2.txt
Var tep:text;
S:string;
Dem:integer;
Begin
Write(‘Nhap xau’);
Readln(s); dem:=0;
For i:=1 to length(s) do
If (s[i]>=’0’) and (s[i]<=’9’)
then
Dem:=dem+1;
Assign(tep,’C:\tp7\bt2.txt’);
Rewrite(tep);
Write(tep,dem);
Close(tep);
Readln
End.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việcnhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
Trang 78
(5) Kết quả: Học sinh nắm được cách sử dụng kiểu tệp
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập xâu bất kỳ. Đếm ghi số lượng tự
không là chữ số vào tệp c:\tp7\bt3.txt
HS : Ghi bài và thực hành theo hướng dẫn giáo viên
GV : Quan sát hướng dẫn học sinh thực hành, nhận xét và đưa ra kết luận
Var tep:text;
S:string;
Dem:integer;
Begin
Write(‘Nhap xau’);
Readln(s); dem:=0;
For i:=1 to length(s) do
If (s[i]<=’0’) and (s[i]>=’9’) then
Dem:=dem+1;
Assign(tep,’C:\tp7\bt3.txt’);
Rewrite(tep);
Write(tep,dem);
Close(tep);
Readln
End.
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập xâu bất kỳ. Đếm và ghi số lượng tự
khoảng cách vào tệp c:\tp7\bt4.txt
HS : Ghi bài và thực hành theo hướng dẫn giáo viên
GV : Quan sát hướng dẫn học sinh thực hành, nhận xét và đưa ra kết luận
Var tep:text;
S:string;
Dem:integer;
Begin
Write(‘Nhap xau’);
Readln(s); dem:=0;
For i:=1 to length(s) do
If (s[i]=’ ‘) then
Dem:=dem+1;
Assign(tep,’C:\tp7\bt4.txt’);
Rewrite(tep);
Write(tep,dem);
Trang 79
Close(tep);
Readln
End.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước bài tập 17 chương trình con và phân loại.
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 80
Tuần: 32
Tiết: 44 +45
BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I. MỤC TIÊU
1. Về kiến thức
- Biết được khái niệm về chương trình con.
- Biết được lợi ích khi sử dụng chương trình con
- Biết được cấu trúc của chương trình con phân biệt được hai loại chương
trình con hàmthủ tục.
2. Về kĩ năng
- Cách thực hiện một chương trình con.
- Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ.
- Nhận biết được hai loại tham số hình thức và tham số thực sự.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Sử dụng chương trình con giải quyết các bài toán
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp
2. Kiểm tra bài cũ (không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến
mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến mảng
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi viết chương trình giải các bài toán phức
tạp, chương trình thường rất dài, người đọc rất
khó nhận biết chương trình thực hiện công việc
gì, người lập trình rất khó xem sửa chữa khi
chương trình sai một vài lỗi nhỏ ở dòng nào đó.
Vấn đề đặt ra phải cấu trúc chương trình thế
nào cho dễ đọc dễ hiểu và dễ sửa lỗi khi bị lỗi.
- Chiếu dụ đoạn lệnh tính tổng bốn lũy thừa
bằng cách truyền thống bằng chương trình
con cho học sinh theo dõi và phân biệt.
(?) Trong Pascal ch nào để giải quyết vấn
đề nêu trên?
- Nghe giảng.
- Quan sát ví dụ.
Trang 81
- m nay chúng ta sẽ tìm hiểu khái niệm
chương trình con.
- Yêu cầu học sinh ghi tựa bài
- Trả lời: ta dùng chương trình con.
- Nghe giảng.
- Ghi tựa bài.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm chương trình con, các loại chương
trình con, cấu trúc và cách thực hiện chương trình con.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm chương trình con, các loại chương trình
con, cấu trúc và cách thực hiện chương trình con
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Giới thiệu cho học sinh biết
chương trình con cũng gồm các
lệnh để tả các thao tác, đặt
biệt được gọi từ nhiều vị trí
trong chương trình.
(?) Như vậy theo các em việc
sử dụng chương trình con
những ưu điểm gì?
- Nhận xét giải thích từng
trường hợp cụ thể.
- Ghi bài.
- Tham khảo sách
giáo khoa và trả lời.
- Nghe giảng ghi
bài.
1. Khái niệm chương trình
con
Chương trình con là một y
lệnh tả một số thao tác nhất
định thể được thực hiện
(được gọi) từ nhiều vtrí trong
chương trình.
* Lợi ích của việc sử dụng
chương trình con:
+ Tránh được việc phải
lặp đi lặp lại cùng một dãy lệnh.
+ Hỗ trợ việc thực hiện
các chương trình lớn.
+ Phục vụ cho quá trình
trừu tượng hóa.
- Đối với chương trình con thì
ngôn ngữ lập trình Pascal cung
cấp cho chúng ta 2 loại chương
- Nghe giảng, ghi
mục bài.
2. Phân loại cấu trúc của
chương trình con
Trang 82
trình con. Để hiểu hơn thầy
cả lớp cùng tìm hiểu phân
loại cấu trúc của chương
trình con.
- Trước tiên thầy sẽ ớng dẫn
việc phân loại chương trình
con. Đối với chương trình
chúng ta có 2 loại cơ bản.
(?) Các em hãy tham khảo sách
giáo khoa cho biết chương
trình con có 2 loại nào?
- Nhận xét giải thích chức
năng của từng loại. Hàm
Function phải trả giá trị qua tên
của nó.
VD: Hàm Sin(x) nhận giá trị
của số thực x sau đó thực hiện
tính toán, nhưng sau khi tính
toán xong thì m Sin(x) cũng
phải mang giá trị Sin(x).
Thực hiện trên Pascal với
VD: Thực hiện lệnh gọi hàm
Sin(x) và Thủ tục Writeln:
Nếu gọi Sin(x): thì chương
trình báo lỗi.
Sửa lỗi a:=Sin(x);
Nếu gọi Writeln: thì chương
trình hoạt động bình thường.
- Đối với thủ tục thì không trả
về giá trị nào thông qua tên của
nó.
-(?) Các em y nhắc lại cấu
trúc của một chương trình?
- Cấu trúc của chương trình con
cũng ơng tự chương trình
chính. Vậy chương trình con
gồm những phần nào?
- Nhận t: Cấu trúc chương
trình con tương tự chương trình
chính. Nhưng nhất thiết phải
tên phần đầu dùng để khai
- Tham khảo sách
giáo khoa trả lời:
hàm thủ tục.
- Nghe giảng ghi
bài.
- Trả lời:
[<Phần Khai Báo>]
<Phần Thân>
- Trả lời:
<Phần đầu>
[<Phần Khai Báo>]
<Phần Thân>
- Nghe giảng, ghi
bài.
a/ Phân loại
- Hàm (Function) chương
trình con thực hiện một số thao
tác nào đó trả về một giá trị
qua tên của nó.
VD:
Sin(x), Cos(x), Sqrt(x)…
Length(x).
- Thủ tục (Procedure)
chương trình con thực hiện một
số thao tác nào đó nhưng không
trả về một giá trị nào qua tên
của nó.
VD:
Writeln, Readln, Delete, …
b. Cấu trúc chương trình con
Phần đầu:
Nhất thiết phải dùng để khai
báo tên. Nếu hàm phải khai
báo kiểu dữ liệu cho giá trị trả
Trang 83
báo tên. Nếu m phải khai
báo kiểu dữ liệu cho giá trị trả
về của hàm.
<Phần đầu>
[<Phần Khai Báo>]
<Phần Thân>
- Tham số hình thức là các biến
được khai báo cho dữ liệu vào
ra. Các biến được khai báo để
dùng riêng trong chương trình
con được gọi các biến cục
bộ. Các biến của chương trình
chính được gọi biến toàn
cục.
- Chiếu dụ giải bài toán tính
tổng y thừa: a
n
+ b
m
+ c
p
+ d
q
bằng cách viết bình thường
cách viết sử dụng chương
trình con. Yêu cầu học sinh
quan sát.
(?) Hãy xác định đâu tham
số hình thức, biến cục bộ
biến toàn cục?
- Để sử dụng được chương
trình con thì phải gọi lên để
sử dụng. Vậy ta phải dùng lời
gọi như thế nào? Để tìm hiểu
chúng ta sẽ đi vào phần c thực
hiện chương trình con.
VD: sqr(225)
(?) Yêu cầu học sinh xác định
- Chú ý nghe giảng.
- Quan sát.
- Trả lời: trong
chương trình con
Luythua(x, k) thì x, k
tham số hình thức
còn j biến cục bộ.
Biến Tluythua khai
báo trong chương
trình chính biến
toàn cục.
- Chú ý nghe giảng,
ghi bài.
- Trả lời: sqr tên
về của hàm.
Phần khai báo:
thể khai báo cho dữ liệu vào
ra, các hằng được sử dụng
trong chương trình con.
Phần thân:
các dãy lệnh được thực hiện
trong chương trình con từ dữ
liệu vào được kết quả như
mong muốn.
Tham số hình thức:
các biến được khai báo cho
dữ liệu vào ra.
Biến cục bộ: các biến được
khai báo để dùng riêng trong
chương trình con.
Biến toàn cục: Các biến của
chương trình chính được gọi
biến toàn cục.
Lưu ý: Một chương trình con
thể hoặc không tham
số hình thức, thể hoặc
không có biến cục bộ.
c/ Thực hiện chương trình con
Trang 84
đâu tham số thực sự đâu
tên chương trình con?
- Nhận xét, giải thích cho học
sinh hiểu rõ hơn.
chương trình con. 225
là tham số thực sự.
- Nghe giảng, ghi bài.
- Để thực hiện gọi một chương
trình con, ta cần phải lệnh
gọi, bao gồm tên chương trình
con với các tham số (nếu có)
các hằng số hoặc biến chứa dữ
liệu tương ứng với các tham số
hình thức đặt trong cặp ngoặc (
). Các hằng biến này được
gọi là các tham số thực sự.
VD:
Sqr(225);
Luythua(a, n);
HCN(Chieudai, Chieurong);
HCN(5, 4).
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, thực hiện chương trình
con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu hỏi trắc nghiệm:
Câu 1: y chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi
A. Kiểu của các tham s
B. Kiểu giá trị trả về
C. Tên hàm
D. Địa chỉ mà hàm trả về
Câu 2:Khẳng định nào sau đây là đúng?
A. Biến cục bộ biến được dùng trong chương trình con chứa trong
chương trình chính.
B. Biến cục bộ là biến chỉ được dùng trong chương trình chính.
C. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.
D. Biến toàn bộ chỉ được sử dụng trong chương trình chính không được sử
dụng trong các chương trình con.
Câu 3: Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
A. Program.
B. Procedure.
C. Function.
D. Var.
Câu 4: Khẳng định nào sau đây là đúng?
Trang 85
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B. Chỉ có thủ tục mới có thể có tham số hình thức.
C. Chỉ có hàm mới có thể có tham số hình thức.
D. Thủ tục và hàm nào cũng phải có tham số hình thức.
HOT ĐỘNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: Cho chương trình sau:
Program Vi_du ;
Var x, y : integer ;
Procedure godoit( x, y : integer ) ;
Begin
x := y ;
y := 0 ;
Write( x, y ) ;
End ;
Begin
x := 1 ;
y := 2 ;
godoit( x, y ) ;
writeln( x, y ) ;
End.
- GV: Chương trình trên in ra dãy số nào?
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 18
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 86
Tuần: 34
Tiết: 46 + 47
BÀI 18. VÍ DỤ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON
I. MỤC TIÊU
1. Về kiến thức
- Biết được cấu trúc và vị trí của thủ tục trong chương trình chính.
- Biết cách viết và cách gọi một thủ tục trong chương trình.
- Biết cấu trúc của hàm, cách sử dụng hàm.
- Phân biệt được giữa hai loại chương trình con (thủ tụchàm).
- Xác định được biến toàn cụcbiến cục bộ.
- Biết cách truyền tham số vào hàm và thủ tục.
2. Về kĩ năng
- Nhận biết từng thành phần của thủ tục, hàm.
- Biết chức năng của hàm và thủ tục để viết chương trình con cho phù
hợp.
- Truyền tham số cho phù hợp.
3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Giải quyết vấn đề, thảo luận nhóm, suy luận.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, y tính, y
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
Câu 1: Nêu khái niệm chương trình con?
Câu 2:
- Nêu lợi ích chương trình con?
Câu 3:
Viết cấu trúc chương trình con
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn tìm hiểu một số ví dụ làm việc với
chương trình con
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn tìm hiểu một số ví dụ làm việc với chương trình
con
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong tiết học trước các em đã được làm quen
với chương trình con. Để hiểu hơn cách sử
- Nghe giảng
Trang 87
dụng chương trình con chúng ta sẽ đi xét một
vài ví dụ cụ thể trong bài 18.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được một số ví dụ bài tập về chương trình con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được một số ví dụ bài tập về chương trình con
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
(?) Chiếu hình chữ nhật, yêu
cầu các em để vẽ được hình
chữ nhật chúng ta phải m
sao?
- Nhận xét.
(?) Vậy theo các em để v
nhiều hình chữ nhật thì chúng
ta phải làm sao?
- Nhận xét, nhưng nếu viết
nhiều dòng lệnh thì mất nhiều
thời gian để gõ, trong quá trình
dễ bị sai sót. Để khắc phục
tình trạng đó chúng ta sẽ viết
một thủ tục vẽ hình chữ nhật,
khi nào cần vẽ thì chỉ việc gọi
thủ tục đó thôi.
Program vd1;
Procedure ve_HCN;
Begin
writeln(‘* * * * * * *’);
writeln(‘* *’);
writeln(‘* * * * * * *’);
End;
Begin
Ve_HCN; writeln; writeln;
Ve_HCN; writeln; writeln;
Ve_HCN;
Readln;
End.
- Với cách gọi như vậy thì khi
thực thi chương trình sẽ 3
hình chữ nhật sẽ được tạo ra.
Nhìn vào chương trình các em
có câu hỏi gì không?
- Để hiểu được chương trình
- Trả lời: ta phải dùng
3 câu lệnh.
- Nghe giảng.
- Ta sẽ dùng nhiều
dòng lệnh để vẽ.
- Nghe giảng quan
sát thủ tục.
- Trả lời: cách viết
chương trình hơi khó
hiểu, khác với từ
trước tới giờ.
Trang 88
chúng ta cần t cấu trúc viết
một thủ tục.
(?) Các em hãy tham khảo sách
giáo khoa cho biết thủ tục
có cấu trúc như thế nào?
- Bổ sung nếu sai sót, yêu
cầu các em ghi chính xác vào
tập.
- Các em cần chú ý: Sau tên
dành riêng End kết thúc
chương trình chính dấu
chấm (.) còn sau End kết thúc
thủ tục dấu chấm phẩy (;).
Các thủ thục, nếu phải được
khai báo tả trong phần
khai báo của chương trình
chính, ngay sau phần khai báo
biến. Khi cần thực hiện, ta
phải viết lệnh gọi thủ tục tương
tự như các thủ tục chuẩn.
- Để hiểu sâu hơn cách viết
cũng như nguyên tắc hoạt động
của thủ tục ta sẽ đi tìm hiểu các
ví dụ.
- Cũng với dụ vẽ hình chữ
nhật nhưng với ví dụ đó là hình
chữ nhật chiều dài chiều
rộng cố định, nhưng trên thực
tế thì hình chữ nhật chiều
dài rộng khác nhau nên khi
- Đọc SGK và trả lời.
- Ghi bài.
- Ghi chú ý vào tập.
- Quan sát, nghe
giảng.
Trang 89
biết chương trình chúng ta
thể gọi các thủ tục khác nhau.
Chiếu chương trình lên máy
chiếu, hướng dẫn ý nghĩa từng
câu lệnh cho học sinh.
- Yêu cầu học sinh viết chương
trình vào tập.
- Các em thấy thủ tục lúc đầu
chúng ta viết (chdai, chrong)
sau đó thay bằng (5, 3) khi đó
ta gọi chdai, chrong tham số
- Ghi ví dụ.
- Nghe giảng.
Trang 90
hình thức, còn 5 3 tham
số giá trị hay còn gọi tham
trị. Còn Ve_Hcn(a, b) trong đó
a, b là giá trị hiện thời.
- Các em y quan sát 2 dụ
dùng thủ tục hoán đổi 2 số a
b trong sách giáo khoa trang 99
và 100.
(?) Khi xem 2 dụ các em
thấy có điểm gì khác?
Program VDthamso1;
Uses crt;
Var a, b: integer;
Procedure
Hoandoi_1(var x, y:
integer);
Var TG: integer;
Begin
TG:=x; x:=y;
y:=TG;
End;
Begin
Clrscr;
a:=5; b:=10;
Writeln(a:6, b:6);
Hoandoi_1(a, b);
Writeln(a: 6, b: 6);
Readln;
End.
Program VDthamso2;
Uses crt;
Var a, b: integer;
Procedure
Hoandoi_2( x: integer ;
var y: integer);
Var TG: integer;
Begin
TG:=x; x:=y;
y:=TG;
End;
Begin
Clrscr;
a:=5; b:=10;
Writeln(a: 6, b: 6);
Hoandoi_2(a, b);
Writeln(a: 6, b: 6);
Readln;
End.
- Trả lời: chương trình
đầu cả 2 biến a, b đều
khai báo var, còn
Trang 91
- Nhận xét, đúng rồi khi đó
chạy chương trình cho học sinh
quan sát, giải thích cho các em
khi sử dụng var thì gọi tham
biến nên giá trị của thể
thay đổi, còn không tham
trị.
- Yêu cầu học sinh viết chương
trình vào tập.
chương trình sau
chỉ dùng var cho biến
b.
- Nghe giảng.
- Ghi ví dụ vào tập.
- Chương trình con gồm 2 loại:
thủ tục hàm, chúng ta sẽ
tìm hiểu hàm được viết sử
dụng như thế nào. Thầy với cả
lớp cùng m hiểu cách viết
sử dụng hàm.
- Điểm khác nhau bản giữa
hàm thủ tục hàm luôn trả
về giá trị thuộc một kiểu xác
định.
(?) Các em y kể tên các kiểu
dữ liệu đã học?
- Đó các kiểu hàm trả giá
trị về, ta sẽ tìm hiểu cấu trúc
viết hàm trong chương trình
- Ghi mục bài.
- Trả lời: integer, real,
char, boolean, string.
- Ghi bài.
Trang 92
con.
- Cũng giống như thủ tục nếu
hàm không tham số hình
thức thì không cần danh sách
tham số. Trong thân hàm phải
ít nhất một lệnh gán giá trị
cho tên hàm.
- Chúng ta sẽ đi xét dụ 1
viết chương trình tìm số nhỏ
nhất trong ba số nhập từ bàn
phím, trong đó sử dụng m
tìm số nhỏ nhất trong hai số.
- Hướng dẫn học sinh viết m
tìm số nhỏ nhất trong 2 số, hàm
tên min, hàm y bao
nhiêu tham số?
- Hướng dẫn học sinh cách viết
hàm min.
- Bài 17 chúng ta xét dụ
về tính lũy thừa của một số nào
đó. Hôm nay chúng ta sẽ m
hiểu cách viết m đó như thế
nào?
- Yêu cầu học sinh c định x,
n là gì?
- dụ 2 ta cần viết hàm
- Nghe giảng.
- Ghi ví dụ.
- Trả lời: 2 tham
số là a và b.
- Quan sát và ghi bài.
- Trả lời: biến toàn
cục.
Trang 93
tên lt(y, m) hai tham số
hình thức là y và m.
y
m
=y*y*…*y
- Vậy để được phép nhân m lần
ta cần thực hiện thông qua lệnh
nào? Giá trị ban đầu của tích
này là bao nhiêu?
- Nhận t hướng dẫn học
sinh cách viết chương trình.
- Các em về xem thêm các
dụ sách giáo khoa.
- Trả lời: dùng vòng
lặp for, với giá trị ban
đầu bằng 1.
- Ghi ví dụ.
- Xem sách giáo
khoa.
HOT ĐNG 3: Hot đng luyn tp, vn dng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác chương trình con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so
sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS:Viết chương trình m số lớn nhất trong ba số nhập từ bàn phím,
trong đó sử dụng hàm tìm số lớn nhất trong hai số.
Program vd1;
Var a, b, c : real;
Function Max(a, b : real): real;
Begin
if a>b then max:=a
else max:=b;
End;
Begin
Write(‘Nhap vao a, b, c=’);
Trang 94
readln(a, b, c);
Write(‘Max=’, Max(Max(a, b), c));
Readln;
End.
GV gọi một học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOT ĐNG 4: Hot đng tìm tòi m rng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:Sử dụng chương trình con viết chương trình tính tổng các số từ 1 đến N
(N>1).
- HS: làm bài tập GV yêu cầu.
- GV: Về xem lại cách viết chương trình con
IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Giáo viên soạn
Lê Thị Lịnh Lê Minh Tâm
Trang 95
Tuần: 35
Tiết: 48
BÀI TẬP VỀ CHƯƠNG TRÌNH CON
I. MỤC TIÊU
1. Về kiến thức
Nắm lại các kiến thức của chương chương trình con.
2. Về kĩ năng
Sử dụng chương trình con để giải bài toán trên máy tính.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề.
II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ: không.
3. Tiến trình bày học
HOẠT ĐỘNG 1: Hoạt động khởi động:
Hoạt động giáo viên
Hoạt động học sinh
Nội dung trình bày
- Cần viết chương trình con để
thực hiện công việc gì?
- Ta nên viết thủ tục haym?
- Nhắc lại từ khóa của hàm?
- Gọi học sinh lên bảng làm.
- Quan sát các học sinh khác
làm bài.
- Gọi học sinh nhận xét.
- Nhận xét
- Trả lời:Tính giai
thừa của một số?
-Trả lời: dùng hàm
- Trả lời: Function
- Một học sinh lên
bảng làm
- Nhận xét
- Nghe giảng ghi
bài.
- bài 1: Viết chương trình tính
!
1
...
!2
1
!1
1
n
y
với n là số
nguyên dương nhập từ bàn
phím
- Khởi động chương trình
Pascal
Program Tong;
Uses crt;
Var y:real;
N,i:Integer;
Function gthua(var
a:integer):integer;
Var i,gt:integer;
Begin
Gt:=1;
For i:=1 to a do gt:=gt*i;
Gthua:=gt;
Trang 96
Begin
Clrscr;
Writeln(‘Nhap gia tri N=:’);
readln(N);
y:=0;
for i:=1 to N do
y:=y+1/gthua(i);
Writeln(‘Gia tri cua y=:’,y);
Readln;
END.
4. Củng cố
- Nắm kỹ cấu trúc chương trình con (hàm, thủ tục), biết cách dùng
tham số khi cần thiết.
- Nắm cách gọi chương trình con vào chương trình chính.
5. Dặn dò
Về xem lại bài, học bài chuẩn bị thi học k II.
V. RÚT KINH NGHIỆM
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................
| 1/96

Preview text:

Tuần: 20 Tiết: 20
Ngày dạy:01/01/2018 đến 07/01/2018 BÀI 11. KIỂU MẢNG I. MỤC TIÊU
1. Về kiến thức
- Hiểu khái niệm mảng một chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Về kĩ năng
- Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữa liệu mảng một chiều.
- Thực hiện khai báo mảng, truy cập, tính toán, đếm các phần tử trong mảng.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
- Chủ động tìm hiểu kiến thức mới.
4. Năng lực hướng tới:
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến mảng
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong thực tế, các kiểu dữ liệu chuẩn không - Nghe giảng.
thể đáp ứng đủ biểu diễn của các bài toán lớn.
Vì thế, dựa trên các kiểu dữ liệu đó người lập
trình có thể tạo ra các kiểu dữ liệu phức tạp hơn
để giải quyết các bài toán trong thực tế.
(?) Các em hãy tham khảo bài toán sách giáo - Tham khảo sách giáo khoa và trả lời:
khoa trang 53 và cho biết cần nhập thông tin Input: Nhập vào nhiệt độ trung bình của
gì? Và dữ liệu đưa ra là gì?
7 ngày t1, t2, t3, t4, t5, t6, t7;
Output: Nhiệt độ trung bình của tuần tb,
và số ngày vượt mức trung bình dem; Trang 1
- Nhận xét, như vậy nếu muốn tính nhiệt độ - Trả lời: phải khai báo từ t1...t365.
trung bình của n ngày (365 ngày) thì sẽ gặp
phải những khó khăn gì?
Để giải quyết vấn đề đó, ta sử dụng kiểu mảng
một chiều để mô tả dữ liệu đó
- Hôm nay chúng ta sẽ tìm hiểu khái niệm mảng 1 chiều.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Các em hãy tham khảo sách - Tham khảo sách 1. Kiểu mảng một chiều
giáo và cho biết khi làm việc giáo khoa và trả lời.
Mảng một chiều là một dãy
với mảng 1 chiều cần xác định
hữu hạn các phần tử có cùng những gì? kiểu dữ liệu. - Nhận xét.
- Nghe giảng và ghi * Khi làm việc với mảng một bài.
chiều ta cần xác định được: + Tên mảng; + Số lượng phần tử; + Kiểu dữ liệu; + Cách khai báo;
+ Cách tham chiếu đến một
phần tử nào đó trong mảng.
- Cho ví dụ để học sinh hiểu - Ghi ví dụ. Ví du: A
rõ hơn về mảng 1 chiều. 5 8 7 1 Chỉ số 1 2 3 4
(?) Với mảng một chiều vừa - Suy nghĩ trả lời. + Tên mảng: A
cho ta xác định được gì?
+ Số lượng phần tử: 4 - Nhận xét. - Ghi bài.
+ Kiểu dữ liệu: Số nguyên
+ Tham chiếu đến PT thứ 3, ta viết A[3].
- Đối với các biến trong NNLT - Ghi mục bài. 2. Khai báo Trang 2
khi sử dụng thì bắt buộc chúng
ta phải khai báo, và đối với
biến mảng 1 chiều chúng ta
cũng phải khai báo. Cách khai
báo thế nào thầy và cả lớp cùng
tìm hiều phần 2. Khai báo mảng 1 chiều.
- Đối với mảng một chiều ta có - Nghe giảng và ghi Cách 1. Khai báo trực tiếp 2 cách khai báo. bài. VAR : array[
cuối>] of ; Ví dụ: VAR A: array[1..10] of real;
- Bên cạnh đó ta có cách khai - Nghe giảng và ghi Cách 2. Khai báo gián tiếp báo thứ hai. bài.
TYPE <tên kiểu mảng> =
array[<chỉ số đầu>..
cuối>] of ; VAR : kiểu mảng>; Ví dụ: TYPE nhietdo = array[1..365] of real; VAR a : nhietdo;
- Giải thích ví dụ rõ để học sinh - Nghe giảng.
phân biệt tên kiểu mảng, tên biến mảng.
- Yêu cầu học sinh cho ví dụ về - Thực hiện theo yêu 2 cách khai báo trên. cầu giáo viên.
- Nhận xét, chỉnh sửa nếu có sai sót.
(?) Khi ta đã khai báo được - Suy nghĩ trả lời: xác 3. Các thao tác trên mảng
mảng một chiều, lúc đó ta đã định được tên mảng, một chiều
xác định được những gì của số lượng phần tử tối mảng đó?
đa của mảng, kiểu dữ liệu của mảng. - Nhận xét.
(?) Giá trị của từng phần tử - Suy nghĩ trả lời.
mảng đã xác định được chưa,
làm thế nào để có các giá trị đó?
- Nhận xét, để có được giá trị - Nghe giảng và ghi a/ Nhập mảng một chiều
của các phần tử chúng ta phải mục bài.
nhập và thủ tục nhập như thế
nào thầy và cả lớp cùng tìm
hiểu phần a. Nhập mảng 1 chiều. Trang 3
- Để làm được điều đó ta cần - Ghi bài.
Trước tiên, cần xác định có bao
xác định các thao tác sau:
nhiêu phần tử cần dùng:
+ Trước tiên, cần xác định có
Write(‘nhap so phan tu: ‘);
bao nhiêu phần tử cần dùng; Readln(n);
+ Dùng vòng lặp For - do để
Dùng vòng lặp For - do để
nhập giá trị cho từng phần tử
nhập giá trị cho từng phần tử A[i]. A[i]: For i:=1 to n do Begin
Write(‘Nhap phan tu thu: ’, i); Readln(A[i]); End;
- Hướng dẫn học sinh cách in - Nghe giảng và ghi b/ In mảng một chiều
các phần tử của mảng 1 chiều. bài.
Dùng vòng lặp For - do để in
các phần tử trong mảng: For i:= 1 to n do Write(A[i]:4);
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Với cách khai báo biến mảng sau đây:
Var A:array[1..100] of integer; Em hãy cho biết?
- Mảng tên gì? Được nhập tối đa bao nhiêu phần tử cho mảng? Các giá trị phần tử có
kiểu dữ liệu gì? Cách khai báo trên là trực tiếp hay gián tiếp?
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động Trang 4 - GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). In giá trị của phần tử cuối và đầu của dãy số.
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước phần b IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 5 Tuần: 20 Tiết: 21
Ngày dạy:01/01/2018 đến 07/01/2018
BÀI 11. KIỂU MẢNG (Tiếp theo) I. MỤC TIÊU
1. Về kiến thức
- Hiểu khái niệm mảng một chiều.
- Hiểu cách khai báo và truy cập đến các phần tử của mảng.
2. Về kĩ năng
- Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữa liệu mảng một chiều.
- Thực hiện khai báo mảng, truy cập, tính toán, đếm các phần tử trong mảng.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
- Chủ động tìm hiểu kiến thức mới.
4. Năng lực hướng tới:
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được tìm hiểu cách dùng mảng trong việc giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Tiết trước chúng ta đã tìm hiểu về cách khai - Nghe giảng
báo mảng một chiều. Nhưng khi giải các bài
toán bằng mảng ta cần hiểu sâu hơn nữa về
cách thức sử dụng mảng trong giải các bài toán đơn giản.
- Hôm nay chúng ta sẽ hiểu sâu hơn qua các ví dụ.
HOẠT ĐỘNG 2: Hình thành kiến thức Trang 6
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày 4. Một số ví dụ
- Yêu cầu học sinh đọc ví dụ - Dựa vào SGK suy Ví dụ 1: Tìm phẩn tử lớn nhất
trong SGK và xác định input, nghỉ trả lời. của dãy số nguyên. output. - Nhận xét.
- Chú ý lắng nghe và - Input: Số nguyên dương N và ghi lại bài.
dãy gồm N sô nguyên dương a1, a2, …, an.
- Output: Max(a1, a2, …, an), chỉ số Max.
- Các em chú ý thuật toán trong - Chú ý quan sát. Thuật toán: sách giáo khoa.
B1: Nhập N, và dãy a1, a2, …, an. B2: Max  a1; i  2;
B3: Nếu i > N thì đưa ra Max, rồi kết thúc; B4:
- Nếu ai > Max thì Max  ai;
- i  i + 1 rồi quay lại B3.
- Sau khi hiểu thuật toán có thể - Chú ý quan sát cách Program Tim_max;
giải thích các bước viết chương viết chương trình và Const Nmax = 250; trình hoàn chỉnh.
viết chương trình vào Type ArrInt = Array[1..Nmax] tập. of integer; Var N, i, Max, csmax: integer; A: ArrInt; Begin Write(‘Nhap so phan tu cua day so, N=’); Readln(N); For i:=1 to N do Begin
Write(‘Phan tu thu ‘, i, ‘ =’); Readln(A[i]); End; Trang 7 Max:=A[1]; csmax:=1; For i:=2 to N do If A[i] > Max then Begin Max := A[i]; csMax := i; End; writeln(‘Gia tri cua p.tu max la:’, max); writeln(‘Chi so cua p.tu max la:’, csmax); Readln; End.
- Yêu cầu học sinh về đọc các ví dụ sách giáo khoa.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập dãy N số nguyên (N<=100). In dãy số nguyên vừa nhập.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng dãy số nguyên vừa nhập.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập mảng một chiều IV. RÚT KINH NGHIỆM
..................................................................................................................................................... Trang 8
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 9 Tuần: 21 Tiết: 22
Ngày dạy:08/01/2018 đến 14/01/2018 BÀI TẬP VỀ MẢNG I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type. 2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần cơ sở. 3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Tiến trình bày học

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác với mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Với những bài toán yêu cầu nhập dãy số xác - Trả lời : Kiểu mảng một chiều
định ta dùng khai báo kiểu gì để lưu các giá trị đó?
Ta có thể tham chiếu đến các phần tử và lấy giá - Trả lời : Được
trị các phần tử của dãy số đó để tính toán được không?
Để hiểu được sự lợi ích nhiều hơn của việc sử - Nghe giảng
dụng kiểu mảng một chiều hôm nay chúng ta sẽ
làm một số bài tập vận dụng cấu trúc rẽ nhánh,
cấu trúc lặp với kiểu mảng
HOẠT ĐỘNG 2: Hình thành kiến thức Trang 10
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
Câu 1. Viết chương trình nhập
từ bàn phím số nguyên dương
N (N<=100) và dãy A gồm N
số nguyên A1, A2, …AN. Tìm
và in ra màn hình giá trị nhỏ
- Xác định input và output
- Trả lời: Giá trị n và nhất của dãy số vừa nhập?
dãy số a1,a2,..an, và output là số nhỏ nhất
- Cần khai báo phạm vi của - Trả lời: [1..100] Program tim_min; mảng là bao nhiêu? Uses crt; Var A: Array[1..100] of
- Tương tự như tìm giá trị lớn - Nghe giảng. integer;
nhất của dãy số, ta gán một giá min, n, i: integer;
trị min là phần tử đầu sau Begin
đólần lượt so sánh với các Clrscr;
phần tử còn lại nếu nhỏ hơn Writeln('nhap vao n va n
min thì gán lại giá trị này. phai lon hon khong');
- Khai báo những biến nào?
- Trả lời: Biến mảng, Readln(n); biến min, n, i. For i:=1 to n do
- Gọi học sinh lên bảng làm. - Một học sinh lên Begin bảng làm Writeln('nhap phan tu
- Quan sát các học sinh khác thu ', i); làm bài. Readln(A[i]);
- Gọi học sinh nhận xét. - Nhận xét End; Min:=a[1]; - Nhận xét
- Nghe giảng và ghi For i:=2 to n-1 do bài. If a[i] min:=a[i]; Writeln(‘Gia tri nho nhat la',min); Readln ; End.
Câu 2. Viết chương trình nhập
- Xác định input và output
- Trả lời: Giá trị n và từ bàn phím số nguyên dương
dãy số a1,a2,..an, và N (N<=100) và dãy A gồm N
output là các số chia số nguyên A1, A2, …AN. Tìm Trang 11 hết cho 3
và in ra màn hình các số chia hết cho 3?
- Ta cần sử dụng hàm gì để - Trả lời: hàm mod tính chia hết?
Program Chia_het_cho_3; Uses crt;
- Vậy đều kiện như thế nào là - Trả lời: a[i] mod Var A:array[1..100] of integer; chia hêt? 3=0 n, i: integer;
- Cần dùng vòng lặp nào để - Trả lời: Vòng lặp for Begin
duyệt hết các phần tử mảng? clrscr; Writeln('nhap vao n');
- Sau khi ta nhập mảng sao đó - Nghe giảng Readln(n);
duyệt lần lượt các phần tử của For i:=1 to n do
mảng, số nào chia hết cho 3 thi Begin in số đó ra màn hình. Writeln('nhap vao phan tu
- Gọi học sinh lên bảng làm. - Một học sinh lên thu ', i); bảng làm Readln(A[i]);
- Quan sát các học sinh khác End; làm bài.
Writeln(‘Cac so chia het cho 3
- Gọi học sinh nhận xét. - Nhận xét la:’) For i:=1 to n do - Nhận xét
- Nghe giảng và ghi If (A[i] mod 3=0) then bài. Write(a[i]:4); Readln;
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập dãy N số nguyên (N<=250). Tìm và in ra
màn hình các số chẵn và lẻ riêng biệt.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động Trang 12 - GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng các số chẵn.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập và thực hành 3 IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 13 Tuần: 21 + 22
Ngày soạn: 25/12/2017 Tiết: 23 + 24
Ngày dạy: 08/01/2018 đến 21/01/2018
BÀI TẬP VÀ THỰC HÀNH 3 I. MỤC TIÊU
1. Về kiến thức
- Biết các thao tác nhập xuất mảng một chiều, chạy thử một số chương trình có sẵn.
- Giải được một số bài toán tính toán đơn giản. 2. Về kĩ năng
- Thực hiện đúng các thao tác từ khai báo đến nhập xuất mảng một chiều. 3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới:
- Giải quyết vấn đề, sử dụng công nghệ thông tin giải các bài toán đơn giản. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số 2. Kiểm tra bài cũ:
- Câu 1. Thế nào là mảng một chiều?
- Câu 2. Có mấy cách khai báo mảng một chiều? Cho ví dụ từng cách khai báo mảng một chiều?
- Câu 3. Viết một phần chương trình nhập vào mảng n phần tử và giá trị từng
phần tử trong mảng?
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với mảng một chiều trước tiên - Nghe giảng
chúng ta cần thành thạo các thao tác khai báo,
nhập, xuất mảng. Để làm được điều đó thầy và
cả lớp cùng tìm hiểu và thực hành một số bài
tập ở Bài tập và thực hành số 3 trong SGK.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính. Trang 14
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- Đọc nội dung yêu cầu của bài - Ghi bài tập.
Bài 1. Viết chương trình nhập 1.
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình sao khi
đảo ngược mảng đó.
(?) Các em hãy xác định số - Suy nghĩ trả lời: đối
lượng phần tử và yêu cầu của với bài này chúng ta bài là gì?
có n phần tử, sao khi
giá trị các phần tử của
mảng được nhập thì ta
in các phần tử trong mảng ngược lại.
- Nhận xét, cho ví dụ cho học - Chú ý quan sát ví sinh quan sát. dụ.
- Hướng dẫn cho học sinh cách - Ghi bài.
Program Dao_nguoc_mang; viết chương trình. Uses crt; Var A: Array[1..100] of Integer; N, i: Integer; Begin Clrscr; Writeln('Nhap vao N'); Readln(N); For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Writeln('Mang vua duoc dao nguoc lai la'); For i:=N downto 1 do Write(A[i]); Readln; End.
- Với bài tập vừa làm các em - Ghi nội dung bài Bài 2. Viết chương trình nhập
có thể vận dụng giải quyết bài học.
vào mảng 1 chiều với N phần
toán tìm phần tử lớn nhất trong
tử, với N nhập từ bàn phím, mảng 1 chiều.
sao đó in ra màn hình phần Trang 15
tử lớn nhất của mảng.
- Yêu cầu học sinh nêu thuật - Suy nghĩ trả lời.
toán để giải bài toán trên.
- Nhận xét, hướng dẫn các em - Ghi bài. Program Phan_tu_max; cách viết chương trình. Uses crt; Var A: Array[1..100] of Integer; N, Max, i: Integer; Begin Clrscr; Writeln('Nhap vao N'); Readln(N); For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Max:=A[1]; For i:=2 to n do If (Max :=A[i];
Write(‘Phan tu lon nhat ’, Max); Readln; End.
- Trong học kì I thầy đã giới - Nghe giảng.
thiệu cho các em một số bài
toán như kiểm tra tính chẵn lẻ
của một số, tổng các số chẵn lẻ
trong dãy số. Hôm này chúng
ta sẽ áp dụng những thuật toán
đó vào bài toán đối với mảng một chiều.
- Đọc yêu cầu bài toán cho học - Ghi bài.
Bài 3. Viết chương trình nhập sinh ghi bài.
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
sao đó in ra màn hình số lần
xuất hiện của số chẵn và số lẻ.
(?) Các em hãy xác định Input - Suy nghĩ trả lời. và Output của bài toán.
- Nhận xét, hướng dẫn cho học - Chú ý quan sát và Program Demch_Deml; sinh cách ghi bài. ghi bài. Uses crt;
Var A: array[1..100] of Integer; N, dle, dchan, i: Integer; Begin Trang 16 Clrscr; Writeln('Nhap vao N'); Readln(N); For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; dle:=0; dchan:=0; For i:=1 to N do If (A[i] mod 2=0) then dchan:=dchan+1 else dle:=dle+1;
Writeln(‘So lan xuat hien so chan la ', dchan); Writeln('So lan xuat hien so le la ', dle); Readln; End.
- Tương tự như vậy các em hãy - Ghi bài.
Bài 4. Viết chương trình
viết chương trình tính tổng các
nhập vào mảng 1 chiều với N
giá của mảng N phần tử.
phần tử, với N nhập từ bàn
phím, sao đó in ra màn hình
tổng các phần tử của mảng.
- Yêu cầu một học sinh lên - Suy nghĩ và thực
bảng viết chương trình.
hiện theo yêu cầu của giáo viên.
- Nhận xét, bổ sung nếu có sai - Chú ý quan sát và Program Tong_mang; sót. ghi bài. Uses crt; Var A: Array[1..100] of Integer; N, Tong, i: Integer; Begin Clrscr; Writeln('Nhap vao N'); Readln(N); For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Tong:=0; Trang 17 For i:=1 to N do Tong:=Tong+A[i]; Write(‘Tong mang la’, Tong); Readln; End.
- Yêu cầu học sinh tham khảo
các bài tập SGK trang 63, 64.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu mảng
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập dãy N số nguyên (N<=250). Đếm và in ra
màn hình các số chẵn và lẻ.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Tính và in ra tổng các số dương.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập thực hành 4 IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 18 Tuần: 22 + 23
Ngày soạn: 02/01/2018 Tiết: 25 + 26
Ngày dạy:15/01/2018 đến 28/01/2018
BÀI TẬP VÀ THỰC HÀNH 4 I. MỤC TIÊU
1. Về 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 trên máy tính.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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. Về thái độ
- Thái độ nghiêm túc trong học tập, tự giác, chủ động trong khi thực hành.
4. Năng lực hướng tới:
- Giải quyết vấn đề, sử dụng máy tính giải một số bài toán về kiểu xâu. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với kiểu mảng trước tiên chúng - Nghe giảng
ta cần thành thạo các thao tác khai báo, nhập,
xuất xâu. Để làm được điều đó thầy và cả lớp
cùng tìm hiểu và thực hành một số bài tập ở Bài
tập và thực hành số 4 trong SGK.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Nội dung hoạt động Trang 19
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Các em hãy cho thầy một - Suy nghĩ cho ví dụ.
số ví dụ về một mảng một
chiều có dãy số tăng dần hoặc giảm.
- Nhận xét, như vậy với một - Nghe giảng và ghi Bài 1. Hãy tìm hiểu và chạy
dãy số bất kỳ trong mảng 1 bài.
thử chương trình thực hiện
chiều làm sao chúng ta có thể
thuật toán sắp xếp dãy số
sắp xếp như vậy. Để hiểu rõ
nguyên bằng thuật toán tráo
hơn thầy và cả lớp cùng xét bài
đổi với các giá trị khác nhau tập thứ nhất. của n dưới đây
- Hướng dẫn và giải thích - Nghe giảng và viết Program Sap_xep; chương trình.
chương trình vào tập. Uses crt; Const nmax=250; Type arrint=array[1..nmax] of integer;
Var n, i, j, t: 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:=n 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 sau khi sap xep'); For i:=1 to n do write(A[i]: 7); Writeln; Readln; End.
- Đối với bài toán như vậy các - Chú ý nghe giảng và Bài 2. Viết chương trình nhập Trang 20
em sẽ khó hiểu, để dể hiểu hơn ghi bài.
vào mảng n phần tử, sau đó
thầy và cả lớp cùng viết
sắp xếp mảng vừa nhập theo
chương trình nhập vào mảng n chiều tăng dần.
phần tử và nhập vào giá trị
từng phần tử chứ không cho giá trị ngẫu nhiên.
- Yêu cầu học sinh viết chương - Chú ý quan sát. Program MaxElement;
trình, nhận xét, chiếu chương Uses crt;
trình hoàn chỉnh lên máy Const nmax=200;
chiếu, khi thực thi chương
Type MyArray=array[1..nmax]
trình nhập từ bước cho học of integer; sinh quan sát. Var A: MyArray; n, t, i, j: integer; Begin Clrscr; Write('Nhap n='); Readln(n); For i:=1 to n do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Writeln; Writeln('Mang vua nhap la'); For i:=2 to n do Write(A[i],' '); For j:=n 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; Write(' Day so duoc sap xep la '); For i:=1 to n do Write(A[i]:4); Readln; End.
(?) Theo các em số lần tráo đổi - Suy nghĩ trả lời: có.
của từng dãy số có khác nhau không?
- Như thế ta có thể xác định số - Suy nghĩ trả lời. Trang 21
lần tráo đổi được không, để
biết được đều đó thì chúng ta
phải đếm số lần tráo đổi. Như
vậy thì chúng ta cần phải bổ
xung vào chương trình cái gì?
- Nhận xét, ta cần khai báo - Nghe giảng.
biến dem và sao mỗi vòng lặp
tráo đổi ta tăng biến dem lên 1 đơn vị.
- Hướng dẫn học sinh cách viết - Chú ý quan sát và Program Sap_xep; chương trình. ghi bài. Uses crt; Const nmax=250;
Type arrint=array[1..nmax] of integer;
Var n, i, j, t, dem: 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:=n 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; dem:=dem+1; End; Writeln('day so sau khi sap xep'); For i:=1 to n do write(A[i]: 7); Writeln('So lan trao doi ', dem); Readln; End.
- Cho bài tập yêu cầu học sinh - Ghi bài.
Bài 3. Viết chương trình nhập
hãy viết chương trình tính tổng
vào mảng 1 chiều với N phần Trang 22
các phần tử của mảng với điều
tử, tính tổng các phần tử chia
kiện các phần tử đó phải chia
hết cho 5, sau đó in tổng ra hết cho 5. màn hình.
- Giải thích yêu cầu của bài - Chú ý nghe giảng. toán.
- Yêu cầu học sinh lên viết - Viết chương trình. chương trình.
- Nhận xét, bổ sung nếu có sai - Nghe nhận xét và Program Tong_chia5; sót. ghi bài. Uses crt;
Var A: array[1..100] of integer; N, i, Tong: integer; Begin Clrscr; Write('Nhap N='); Readln(N); For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Tong:=0; For i:=1 to N do If (A[i] mod 5=0) then Tong:=Tong+A[i]; Write('Tong cac so chia het cho 5 la ', Tong); Readln; End.
(?) Giả sử bây giờ thầy muốn - Suy nghĩ trả lời: Program Dem_chia5;
đếm xem trong mảng chúng ta chúng ta phải kiểm tra Uses crt;
vừa nhập có bao nhiêu phần tử từng phần tử sau đó Var A: array[1..100] of integer;
chia hết cho 5 thì như thế nào? coi có chia hết cho 5 N, i, Dem: integer;
không, nếu chia hết Begin
thì chúng ta đếm lên Clrscr; một giá trị. Write('Nhap N=');
- Hướng dẫn các em cách viết - Nghe giảng và ghi Readln(N); chương trình. bài. For i:=1 to N do Begin Writeln('Nhap vao phan tu thu ', i); Readln(A[i]); End; Dem:=0; For i:=1 to N do Trang 23 If (A[i] mod 5=0) then Dem:=Dem+1; Write('Mang 1 chieu co ', Dem, ‘ chia het cho 5’); Readln; End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu mảng
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu mảng
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập dãy N số nguyên (N<=250). In ra màn hình
tổng các số chẵn và lẻ.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập dãy N số nguyên (N<=200). Đếm và in ra số lần xuất hiện các số dương và âm.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài kiểu xâu IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 24 Tuần: 23
Ngày soạn: 08/01/2018 Tiết: 27
Ngày dạy:22/01/2018 đến 04/02/2018
CHỦ ĐỀ 4: KIỂU XÂU BÀI 12. KIỂU XÂU I. MỤC TIÊU 1. Về 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.
- Biết 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 quan đến xâu.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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 các bài toán đơn giản.
3. Về thái độ
- Nghiêm túc trong giờ học, chủ động tìm hiều kiến thức mới.
4. Năng lực hướng tới
- Nhận biết, giải quyết vấn đề, thảo luận. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến xâu
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong thực tế, các kiểu dữ liệu chuẩn không - Nghe giảng.
thể đáp ứng đủ biểu diễn của các bài toán lớn.
Vì thế, dựa trên các kiểu dữ liệu đó người lập
trình có thể tạo ra các kiểu dữ liệu phức tạp hơn
để giải quyết các bài toán trong thực tế.
(?) Để nhập vào một ký tự nào đó ta khai báo - Kiểu char kiểu dữ liệu gi? - Nhận xet
- Vậy để nhập vào một chuỗi hay một xâu các - Nghe giảng
kí tự thì chúng ta dùng kiểu char được không?
- Để giải quyết vấn đề này hôm nay chúng ta sẽ Trang 25 tìm hiểu về kiểu xâu.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về xâu, cách khai báo mảng một
chiều, hiểu cách nhập và in một xâu kí tự.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về xâu, cách khai báo biến xâu một chiều,
hiểu cách nhập và in xâu, hiểu được một số ví dụ giải bài toán về xâu kí tự
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Các em hãy cho thầy một - Suy nghĩ trả lời: 1. Định nghĩa xâu
vài ví dụ về dãy kí tự nào đó? Ví dụ: ‘Ha Noi’ ‘Ho Chi Minh’
(?) Các em hãy tham khảo sách - Trả lời: Là dãy kí tự
giáo khoa và cho thầy biết khái trong bảng mã ASCII, niệm xâu?
mỗi kí tự là một phần
tử, được đặt trong hai dấu nháy đơn ‘’.
- Nhận xét và nhắc lại khái - Ghi bài.
Xâu là dãy các kí tự trong bộ niệm.
mã ASCII, mỗi kí tự là một phần tử của xâu.
(?) Các em hãy cho thầy biết - Trả lời:
độ dài của 2 ví dụ vừa nêu? + Xâu 1: Độ dài: 6. + Xâu 2: Độ dài: 11.
- Qua đó giải thích cho học - Nghe giảng và ghi - Số lượng kí tự trong một xâu
sinh biết thế nào là độ dài của bài.
gọi là độ dài của xâu. xâu.
(?) Có tồn tại xâu nào không - Trả lời: có, gọi là - Xâu rỗng là xâu không chứa
chứa bất kì kí tự nào không? xâu rỗng.
kí tự nào (xâu có độ dài bằng
- Nhận xét, hướng dẫn cách - Nghe giảng.
0), được biểu diễn bằng hai dấu biểu diễn xâu rỗng.
nháy đơn liên tiếp ‘’.
- Có thể xem xâu là mảng 1
chiều mà mỗi phần tử là một kí tự.
- Tương tự mảng 1 chiều - Ghi các quy tắc xác - Cách thức cho phép xác
chúng ta có các quy tắc xác định một xâu. định:
định thì kiểu xâu cũng vậy. + Tên kiểu xâu. Ví dụ: s:=‘Lop 11A’;
+ Cách khai báo biến kiểu xâu. Ví dụ: Var s: string[20];
+ Số lượng các kí tự của xâu. Trang 26
Ví dụ: ‘Lop 11A’ gồm 7 kí tự.
+ Các phép toán thao tác với
xâu như: Ghép, so sánh, chèn…
+ Cách tham chiếu đến phần
tử của xâu (Tên xâu[chỉ số]).
Ví dụ: s[1] là kí tự ‘L’.
- Giới thiệu về cách khai báo - Nghe giảng và ghi 2. Khai báo
biến xâu trong ngôn ngữ lập bài.
Var <tên biến>: String[Độ dài
trình Pascal, giải thích ý nghĩa
lớn nhất của xâu];
của từ String, [n] cho học sinh
hiểu String là tên kiểu xâu [n]
là giá trị qui định số lượng kí tự
tối đa mà biến xâu có thể chứa.
(?) Các em hãy cho biết khi - Trả lời: Số lượng kí
khai báo không có [n] thì số tự tối đa là 255.
lượng kí tự tối đa cho phép là bao nhiêu?
- Khi độ dài lớn nhất của xâu sẽ
- Cho ví dụ giúp học sinh hiểu - Chú ý quan sát, ghi nhận giá trị ngầm là 255.
rõ cách khai báo kiểu xâu. bài. Ví dụ: Var hoten: string[26]; Var chugiai: string;
(?) Đối với dữ liệu chuẩn, sử - Trả lời:
3. Các thao tác xử lý xâu
dụng thủ tục nào để nhập giá + Nhập: Read, readln. trị? + Xuất: Write, writeln.
- Nhận xét, đối với kiểu xâu - Ghi bài.
Nhập giá trị, in ra giá trị biến
cũng thực hiện các thao tác kiểu xâu: tương tự.
* Nhập giá trị cho xâu: Read (); Readln ();
* Viết ra giá trị của xâu: Write (); Writeln ();
(?) Làm thế nào để ghép hai - Trả lời: dấu cộng a. Phép ghép xâu
hay nhiều xâu lại với nhau? (+).
Để ghép hai hay nhiều xâu
thành một, ta dùng dấu “+” để
ghép. Có thể thực hiện ghép
xâu đối với các hằng và biến xâu.
- Yêu cầu học sinh cho ví dụ - Cho ví dụ.
VD: ghép ‘Ha’ + ‘ Noi’ cách ghép xâu. KQ: ‘Ha Noi’
(?) Các em hãy cho biết để so - Trả lời: Các phép so b. Các phép so sánh xâu Trang 27
sánh, có các phép toán so sánh sánh: =, <>, <, >, <=, Các phép so sánh: =, <>, <, >, nào? >=. <=, >=.
(?) Cho 2 xâu A và B, khi nào - Tham khảo sách
thì xâu A được coi là lớn hơn giáo khoa trả lời: xâu B? (A>B) Nếu xâu B là đoạn đầu của xâu A.
+ (A>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; + (A=B) Nếu chúng
giống nhau hoàn toàn giống nhau.
- Nhận xét và phân tích, cho ví - Ghi bài. Quy tắc so sánh: dụ.
+ A < B nếu độ dài của B lớn
hơn và A là đoạn đầu của B;
+ A > 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;
+ A = B nếu chúng hoàn toàn giống nhau. Ví dụ: ‘Ha’ = ‘Ha’ ‘Ha’ < ‘Ha Noi’ ‘HaNoi’ > ‘HaNam’
c. Thủ tục Delete
- Để xóa kí tự trong xâu ta - Nghe giảng và ghi Delete(st, vt, n)
dùng thủ tục Delete, trình bày bài.
Thực hiện việc xóa n kí tự của cú pháp, khái niệm.
biến xâu st bắt đầu từ vị trí vt chỉ định.
- Yêu cầu học sinh nêu ví dụ về Ví dụ: A:= ‘Tin hoc’ Ví dụ: A:= ‘Tin hoc’ thủ tục Delete? Delete( A, 4, 1) Delete( A, 4, 1) KQ: ‘Tinhoc’ KQ: ‘Tinhoc’
d. Thủ tục Insert
- Giới thiệu: thủ tục Insert dùng - Nghe giảng, ghi bài. Insert( s1, s2, vt)
để chèn xâu, trình bày cú pháp,
Thực hiện chèn xâu s1 vào xâu khái niệm.
s2 bắt đầu ở vị trí vt.
- Hãy nêu ví dụ về thủ tục Ví dụ: A:= ‘Tin’ ; Insert? B:= ‘Hoc ’ Insert(A, B, 4) KQ: ‘Học Tin’ e. Hàm copy
- Hàm copy dùng để tạo một - Ghi bài. Copy( S, vt, n) Trang 28
xâu mới bằng cách sao chép
Thực hiện việc copy n kí tự liên
các kí tự trong xâu cũ, trình
tiếp bắt đầu từ vị trí vt của xâu
bày cú pháp và khái niệm.
S để tạo thành một xâu mới.
Hãy nêu ví dụ về hàm copy? Ví dụ: A:= ‘Mua xuan’ Copy(A, 5, 4) KQ: ‘xuan’
- Hàm length dùng để trả về giá - Nghe giảng. f. Hàm length trị độ dài của xâu. Length(x)
Trình bày cú pháp và khái Ví dụ niệm. A := ‘Truong Van Hoa II’
Xác định độ dài của xâu sau: - Trả lời: 17 Độ dài: 17 A := ‘Truong Van Hoa II’
Hàm pos xác định vị trí xuất - Ghi bài. g. Hàm pos
hiện đầu tiên của xâu này trong Pos(s1, s2)
một xâu khác hay vị trí xuất
Cho vị trí xuất hiện đầu tiên của
hiện đầu tiên của một dãy kí tự xâu s1 trong xâu s2. trong một xâu. Pos(kí tự, x)
Trình bày cú pháp và khái
Cho vị trí xuất hiện đầu tiên của niệm.
kí tự hoặc dãy kí tự trong xâu x.
Xác định kết quả của VD: - Trả lời: 4. Ví dụ: A := ‘Ho Guom’ A := ‘Ho Guom’ B := ‘Guom’ B := ‘Guom’ Pos(B, A) Pos(B, A) Kq: 4
Hàm Upcase trả về chữ cái in h. Hàm upcase
hoa tương ứng với các chữ cái Upcase(ch) trong xâu.
Cho chữ cái in hoa ứng với các
Trình bày cú pháp và khái niệm - Quan sát và ghi bài. chữ cái trong xâu ch.
(?) Cho ví dụ về hàm Upcase? - Suy nghĩ cho ví dụ. Ví dụ: A := ‘d’ Upcase(A)  ‘D’
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động Trang 29
GV yêu cầu HS: Viết khai báo xâu a có độ dài lớn là 200 kí tự và xâu b có độ dài lớn nhất.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Cho xâu s:= ‘Thien Ho Dương’
- Viết hàm xác định độ dài của xâu s
- Viết thủ tục xóa xâu s thành ‘Thien Ho’
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về phần 3 một số ví dụ IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 30 Tuần: 24
Ngày soạn: 08/01/2018 Tiết: 28
Ngày dạy:22/01/2018 đến 04/02/2018
BÀI 12. KIỂU XÂU (Tiếp theo) I. MỤC TIÊU 1. Về 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.
- Biết 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 quan đến xâu.
2. Về kĩ năng
- Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc.
- 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 các bài toán đơn giản.
3. Về thái độ
- Nghiêm túc trong giờ học, chủ động tìm hiều kiến thức mới.
4. Năng lực hướng tới
- Nhận biết, giải quyết vấn đề, thảo luận. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
4. Ổn định lớp, kiểm tra sĩ số
5. Kiểm tra bài cũ:
không.
6. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng kiểu xâu để giải cách bài toán đơn giản
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải cách bài toán đơn giản
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Tiết trước chúng ta đã tìm hiểu về cách khai - Nghe giảng
xâu, một số thao tác với xâu. Nhưng khi giải
các bài toán bằng mảng ta cần hiểu sâu hơn nữa
về cách thức sử dụng xâu trong giải các bài toán đơn giản.
- Hôm nay chúng ta sẽ hiểu sâu hơn qua các ví dụ.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng kiểu xâu để giải cách bài toán đơn giản
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích. Trang 31
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách sử dụng kiểu xâu để giải cách bài toán đơn giản thông qua các ví dụ
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày 4. Một số ví dụ
Ví dụ 1. Viết chương trình
Ví dụ 1. Viết chương trình
nhập vào họ đệm và tên của
nhập vào họ đệm và tên của học
học sinh. In ra màn hình họ và
sinh. In ra màn hình họ và tên tên của học sinh đó. của học sinh đó.
(?) Theo các em làm sao ta có - Suy nghĩ trả lời: ta Program In_hoten;
thể in học tên học sinh? ghép 2 xâu đó lại. Var a, b, x : string;
- Hướng dẫn học sinh cách viết - Nghe giảng và ghi Begin chương trình. bài.
Write(‘Nhap vao ho hoc sinh: ’); Readln(a);
Write(‘Nhap vao ten hoc sinh: ’); Readln(b); x:= a + b;
Write(‘Ho va ten hoc sinh la: ’, x); Readln; End.
Ví dụ 2. Nhập vào hai xâu,
Ví dụ 2. Nhập vào hai xâu,
kiểm tra kí tự đầu tiên của xâu
kiểm tra kí tự đầu tiên của xâu
thứ nhất có trùng với kí tự cuối - Trả lời: Hàm length. thứ nhất có trùng với kí tự cuối
cùng của xâu thứ hai không?
cùng của xâu thứ hai không?
- Hướng dẫn các em cách truy Program Ktkitutrung;
cập phần tử cuối của xâu.
- Chú ý nghe giảng, Var x: integer; ghi bài. A, b: string; Begin Write(‘ Nhap vao xau thu nhat: ’); readln(a); Write(‘ Nhap vao xau thu hai: ’); readln(b); x := length(b); If a[1] = b[x] then write(‘Trung nhau’) else write(‘Khac nhau’); Readln; End.
Ví dụ 3. Nhập vào một xâu, in
Ví dụ 3. Nhập vào một xâu, in
ra màn hình xâu đó viết theo
ra màn hình xâu đó viết theo thứ tự ngược lại. thứ tự ngược lại.
(?) Để làm được đó ta phải sử Nghe giảng và ghi dụng vòng lặp gì? bài. Trang 32
- Nhận xét trước tiên ta phải Program Daonguocxau;
dùng hàm length sao đó ta lặp Uses Crt;
từ chỉ số cuối về chỉ số đầu. Var i, k: integer; a: string; Begin Write(‘ Nhap xau: ’); Readln(a); k:= length(a); For i:= k downto 1 do write(a[i]); Readln; End.
Ví dụ 4. Nhập vào một xâu,
Ví dụ 4. Nhập vào một xâu,
đưa ra màn hình xâu thu được
đưa ra màn hình xâu thu được
từ nó nhưng đã loại bỏ dấu
từ nó nhưng đã loại bỏ dấu cách.
- Trả lời: vòng lặp lùi. cách.
- Hướng dẫn học sinh cách viết Program Xoakhoangcach; chương trình.
- Nghe giảng và viết Var i, k: byte; chương trình. a: string; Begin Write(‘ Nhap xau: ’); readln(a); k:= length(a); b:= ‘’; For i:= 1 to k do
If a[i] <> ‘ ’ then b:=b+a[i]; Writeln(‘Ket qua: ’, b); Readln; End.
Ví dụ 5. Nhập vào xâu x1, tạo
Ví dụ 5. Nhập vào xâu x1, tạo
một xâu x2 gồm tất cả các chữ
một xâu x2 gồm tất cả các chữ
số có trong x1, giữ nguyên thứ
số có trong x1, giữ nguyên thứ
tự xuất hiện giữa chúng, rồi in - Ghi bài.
tự xuất hiện giữa chúng, rồi in ra màn hình. ra màn hình. - Giáo viên nhận xét. Program Xauchuso; Uses crt; Var x1, x2: string; i: byte; Begin
Write(‘ Nhập vào xâu x1: ’); Readln(x1); x2 := ‘’;
For i := 1 to length(x1) do If (‘0’ =< x1[i]) and (x1[i] <= ‘9’) then Trang 33 x2 := x2 + x1[i];
- Tự viết chương Writeln(‘Ket qua la: ’, x2); trình. Readln; End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được sử dụng kiểu xâu để giải cách bài toán đơn giản
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập vào hai xâu, in ra màn hình xâu dài hơn.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập hai xâu kí tự a, b bất kì. Kiểm tra kí tự cuối của xâu a có trùng
với kí tự thứ hai trong xâu b hay không.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập kiểu xâu IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 34 Tuần: 24
Ngày soạn: 15/01/2018 Tiết: 29
Ngày dạy:29/01/2018 đến 04/02/2018 BÀI TẬP I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type. 2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần cơ sở. 3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới
- Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác với kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Với những bài toán yêu cầu nhập xâu kí tự bất - Trả lời : Kiểu xâu
kỳ ta dùng khai báo kiểu gì để lưu các giá trị đó?
Ta có thể tham chiếu đến các phần tử và lấy giá - Trả lời : Được
trị các phần tử của xâu kí tự được không?
Để hiểu được sự lợi ích nhiều hơn của việc sử
dụng kiểu xâu hôm nay chúng ta sẽ làm một số - Nghe giảng
bài tập vận dụng cấu trúc rẽ nhánh, cấu trúc lặp với kiểu xâu
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách nhập và in mảng một chiều. Trang 35
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, hiểu cách nhập
và in mảng một chiều, giải được các bài toán về mảng một chiều.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
Bai 1: Viết chương trình nhập
một xâu s bất kỳ vào từ bàn
phím. Đếm và in ra màn hình
- Xác định input và output
- Trả lời: Xâu s, xâu có bao nhiêu dấu cách?
output là số lượng dấu Program dem_trang; cách Uses crt;
- Cần khai báo những biến - Trả lời:Biến xâu s, Var s:string; nào? dem, i Dem, I:integer; Begin
- Sử dụng vòng lặp gì để duyệt - Trả lời:vòng lặp for Write(‘Nhap xau:’); các phần tử? Readln(s);
- Vòng lặp đi từ giá trị nào? - Trả lời:1->length(s) Dem:=0;
- Để so sánh một kí tự với - Trả lời:a[i]=’ ‘ For i:=1 to length(s) do
khoảng trắng ta viết như thế If a[i]=’ ‘ then nào? Dem:=dem+1; Write(‘so luong dau cach
- Gọi học sinh lên bảng làm?
- Một học sinh lên la:’,dem); bảng làm Readln - Quan sát End
- Gọi học sinh nhận xét -Nhận xét - Nhận xét -Nghe giảng và ghi bài
Bai 2: Viết chương trình nhập
một xâu s1 bất kỳ vào từ bàn
phím, tạo xâu s2 gồm tất cả
các ký tự không phải là chữ
- Xác định input và output - Trả lời: Xâu s1,
số có trong xâu s1 và in kết output xâu s2 quả ra màn hình.
- Cần khai báo những biến - Trả lời:Biến xâu s1, nào? s2, i Program tao_xau;
- Khởi tạo s2 bang bao nhiêu? -Trả lời:s2=’’ Var s1,s1:string;
- Sử dụng vòng lặp gì để duyệt - Trả lời:vòng lặp for I:integer; các phần tử? Begin
- Vòng lặp đi từ giá trị nào? - Trả lời : Write(‘Nhap s1:’); 1->length(s1) Readln(s1);
- Đều kiện để lấy giá trị cho
-Trả lời: s1[i]<’0’ or S2:=’’; s2? s1[i]>’9’ For i:=1 to length(s1) do Trang 36
- Gọi học sinh lên bảng làm?
- Một học sinh lên If s1[i]<’0’ or s1[i]>’9’ then bảng làm S2:=s2+s1[i]; - Quan sát Writeln(‘xau s2 la:’,s2); Readln
- Gọi học sinh nhận xét -Nhận xét End. - Nhận xét -Nghe giảng và ghi bài
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo biến xâu, hiểu cách nhập và in xâu.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến xâu, hiểu cách nhập và in xâu,
giải được các bài toán về kiểu xâu.
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập một xâu kí tự bất kì. Đếm và in ra số lần
xuất hiện chữ số trong xâu.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập một xâu kí tự bất kì và một kí tự bất ki. Cho biết số lần xuất hiện kí tự vừa nhập.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước về bài tập thực hành 5 IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 37 Tuần: 25
Ngày soạn: 15/01/2018 Tiết: 30+31
Ngày dạy:05/02/2018 đến 24/02/2018
BÀI TẬP VÀ THỰC HÀNH 5 I. MỤC TIÊU 1. Về kiến thức
- Củng cố cho học sinh những hiểu biết về kiểu xâu.
- Cung cấp cho học sinh một vài thuật toán cơ bản và đơn giản thường gặp trong xử lý xâu.
2. Về kĩ năng
- Làm việc với xâu trong lập trình.
- Bước đầu viết được một số thuật toán kiêu xâu quen thuộc bằng Pascal.
- Góp phần 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. 3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh sử dụng máy tính giải các bài toán.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu xâu để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi làm việc với kiểu xâu trước tiên chúng ta - Nghe giảng
cần thành thạo các thao tác khai báo, nhập, xuất
xâu. Để làm được điều đó thầy và cả lớp cùng
tìm hiểu và thực hành một số bài tập ở Bài tập
và thực hành số 5 trong SGK.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh sử dụng máy tính chạy được một số bài tập về kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Thực hành trên máy tính.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh sử dụng máy tính chạy được một số bài toán về kiểu mảng.
Nội dung hoạt động Trang 38
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
Bài 1. Nhập từ bàn phím một
Bài 1. Nhập từ bàn phím một
xâu. Kiểm tra xâu đó có phải là
xâu. Kiểm tra xâu đó có phải là
xâu đối xứng không. Xâu đối
xâu đối xứng không. Xâu đối
xứng có tính chất: đọc từ bên
xứng có tính chất: đọc từ bên
phải sang trái cũng thu được
phải sang trái cũng thu được
kết quả giống như từ trái sang
kết quả giống như từ trái sang phải (còn gọi là xâu phải (còn gọi xâu palindrome). palindrome).
(?) Khi đó chúng làm như thế - Trả lời: sao khi đảo nào? ngược xâu thì xâu mới giống xâu cũ.
- Nhận xét, bên cạnh đó ta còn - Nghe giảng và ghi a/ Program xaudoixung;
kiểm tra phần tử đầu trùng với bài. Var i, x: byte;
phần tử cuối và tương tự cho a, p: string;
đến phần tử ở giữa xâu. Begin Writeln('Nhap vao xau: '); Readln(a); x:=length(a); p:=''; For i:=x downto 1 do p:=p+a[i]; If a=p then Writeln('Xau la palindrome') Else Writeln('Xau khong la palindrome'); Readln; End. b/ Program xaudoixung; Uses crt; Var A: string; i, dem, n: integer; Begin Clrscr; Writeln('nhap vao xau'); Readln(A); n:=length(A); dem:=0; For i:=1 to n div 2 do If (A[i]=A[n+1-i]) then dem:=dem+1; If (dem=n div 2 ) then Trang 39 Writeln('Xau la palindrome') Else Writeln('Xau khong la palindrome'); Readln; End.
- Giới thiệu các dòng lệnh giúp - Lắng nghe để hiểu
học sinh hiểu rõ cấu trúc rõ hơn. chương trình.
Bài 2. Viết chương trình nhập - Nghe giảng và viết Bài 2. Viết chương trình nhập
từ bàn phím một xâu kí tự S và chương trình.
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
thông báo ra màn hình số lần
xuất lần của mỗi chữ cái tiếng
xuất lần của mỗi chữ cái tiếng
Anh trong S (không phân biệt
Anh trong S (không phân biệt
chữ hoa hay chữ thường).
chữ hoa hay chữ thường).
- Hướng dẫn học sinh cách viết - Chú ý quan sát, ghi Program xuathienchu; chương trình. bài. Uses crt; Var i, n: integer; j: char; dem, demso: integer; A:string; Begin Clrscr; Writeln('Nhap xau ki tu A'); Readln(A); For i:=1 to length(A) do If (A[i]=' ') then delete(A, i, 1); For i:=1 to length(A) do A[i]:=upcase(A[i]) ; For n:=0 to 9 do begin For i:=1 to length(A) do If (A[i]=n) then demso:=demso+1; end; For j:='A' to 'Z' do begin dem:=0; For i:=1 to length(A) do If (A[i]=j) then dem:=dem+1;
If (dem>0) then writeln ('ki
tu ', j, ' xuat hien ', dem, ' lan'); end; Readln; Trang 40 End.
Bài 3. Nhập tự bàn phím một
Bài 3. Nhập tự bàn phím một
xâu. Thay thế tất cả các cụm tự
xâu. Thay thế tất cả các cụm tự
anh’ bằng kí tự ‘em’.
anh’ bằng kí tự ‘em’.
(?) Khi đó ta dùng thủ tục gì? - Trả lời: ta dùng thủ tục Delete và Insert.
- Nhận xét, khi đó ta gặp chữ - Viết chương trình Program thaytheanhem;
anh’ ta xóa 3 kí tự sao đó ta vào tập. Uses crt;
chèn vào vị trí đó chữ ‘em’. Var A: string; vt, i: integer; Begin Clrscr; Writeln('nhap vao xau A'); Readln(A);
While pos('anh', A)<>0 do Begin vt:=pos('anh', A); delete(A, vt, 3); insert('em', A, vt); End; Writeln(A); Readln; End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh giải được các bài toán về kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh giải được các bài toán về kiểu xâu
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập từ bàn phím một xâu bất kỳ. Đếm xem trong
xâu vừa nhập có bao nhiêu chữ số.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập: Trang 41
Viết chương trình nhập từ bàn phím một xâu bất kỳ. In xâu vừa nhập sau khi đã chuyển
tất cả kí thường thành kí tự hoa.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước câu hỏi và bài tập chương IV IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 42 Tuần: 27
Ngày soạn: 29/01/2018 Tiết: 32+33
Ngày dạy:26/02/2018 đến 03/03/2018
CÂU HỎI VÀ BÀI TẬP I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type. 2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần cơ sở. 3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh ôn nắm lại kiến thức kiểu mảng một chiều và kiểu xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được trả lời các câu hỏi và các bài tập về kiểu
mảng một chiều và kiểu xâu.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Để ôn lại về khái niệm thế nào là kiểu mảng - Nghe giảng.
một chiều, kiểu xâu. Sử dụng kiểu mảng một
chiều, kiểu xâu để giải các bài toán đơn giản,
hôm nay chúng ta sẽ làm câu hỏi và bài tập trang 79
- Yêu cầu học sinh mở sách giáo khoa trang 79
sau đó trả lời từng câu hỏi.
HOẠT ĐỘNG 2: Hình thành kiến thức Trang 43
(1) Mục tiêu: Giúp học sinh ôn lại kiến thức về kiêu xâu và kiểu mảng một chiều, giải các bài toán đơn giản.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, nhóm.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được kiến thức đã học, sử dụng kiểu xâu và mảng giải
được một số bài toán đơn giản
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Gọi học sinh lên trả lời câu - Trả lời: vì nó có Câu 1. Tại sao mảng là kiểu
hỏi vì sao gọi dữ liệu có cấu khuôn dạng do ngôn dữ liệu có cấu trúc? trúc?
ngữ lập trình cung cấp.
- Nhận xét, kết luận mảng là - Nghe giảng, ghi bài.
kiểu dữ liệu có cấu trúc.
Mảng là kiểu dữ liệu có cấu
trúc bởi vì nó là kiểu có cấu
(?) Tại sao phải khai báo kích - Suy nghĩ trả lời.
trúc được đề cập tới sớm nhất thước mảng?
trong các ngôn ngữ lập trình.
- Nhắc lại, sự cần thiết khai - Nghe giảng và ghi Nó được xây dựng từ những báo kích thước. bài.
kiểu dữ liệu đã có theo quy tắc
khuôn dạng do ngôn ngữ lập
(?) Các em hãy kể tên các kiểu -
Trả lời: Real, trình cung cấp. liệu đã được học? Integer,
Longint, Câu 2. Tại sao phải khai báo Boolean.
kích thước của mảng?
- Tương tự như vậy mảng cũng - Ghi bài.
+ Để đánh số các phần từ;
có các kiểu dữ liệu như vậy.
+ Tránh tốn ô nhớ giúp chương
(?) Để tham chiếu đến phần tử - Trả lời: chỉ số của trình chạy nhanh hơn.
của mảng, phần quan trọng mảng, cách ghi đúng. Câu 3. Các phần tử của mảng nhất là gì?
có thể có những kiểu gì?
- Nhận xét: cần xác định tên - Nghe giảng.
mảng, chỉ số, phải để trong dấu
Các kiểu dữ liệu: Real, []. Boolean, Integer, Longint.
(?) Các em đã học toán hãy - Trả lời: dãy số là 1 Câu 4. Tham chiếu đến phần
cho một ví dụ về cấp số cộng? 3 5 7
tử của mảng bằng cách nào?
- Tương tự trong Pascal vẫn - Nghe giảng.
giống như vậy, hôm nay chúng
- Cần xác định tên mảng, chỉ
ta sẽ lập trình bài toán kiểm tra
số, phải để trong dấu ngoặc
dãy số có phải là cấp số cộng vuông [chỉ số]. không.
Câu 5. Viết chương trình nhập
từ bàn phím số nguyên dương Trang 44
N (N<=100) và dãy A gồm N
(?) Theo toán học để kiểm tra - Trả lời: ta tính công số nguyên A1, A2, …AN có giá
dãy số có phải là cấp số cộng sai.
trị tuyệt đối không lớn hơn
không, ta cần tính giá trị nào?
1000. Hãy cho biết dãy số A
- Như vậy ta phải cần có công - Nghe giảng và ghi có phải là cấp số cộng hay
sai, khi đó chúng ta lấy phần tử bài.
không và thông báo kết quả ra
thứ 2 trừ phần tử thứ nhất ta sẽ màn hình.
được công sai. Tiếp tục lấy
phần tử i+1 trừ phần từ i nếu
các phép trừ cho kết quả bằng
công sai thì ta được cấp số Program capsocong; cộng. Uses crt; Var A: Array[1..100] of integer; cs, n, i, dem: integer; Begin Clrscr; Writeln('nhap vao n va n phai lon hon khong'); Readln(n); For i:=1 to n do Begin Writeln('nhap phan tu thu ', i); Readln(A[i]); End; dem:=0; cs:=A[2]-A[1]; For i:=2 to n-1 do If (A[i+1]-A[i]=cs) then dem:=dem+1; If (dem=n-2) then writeln('La cap
(?) Các em đã biết khái niệm - Nghe giảng. so cong')
thế nào là số chẵn thế nào là số Else
lẻ và số nguyên tố là số như Writeln('Khong
thế nào? Hôm nay chúng ta sẽ la cap so cong');
lập trình bài toán kiểm tra số Readln ;
đó có phải là số nguyên tố End. không?
Câu 6. Viết chương trình nhập
từ bàn phím số nguyên dương
N (N<=100) và dãy A gồm N
số nguyên A1, A2, …AN có giá
trị tuyệt đối không lớn hơn
(?) Yêu cầu học sinh nhắc lại - Trả lời: là số chia 1000. Hãy đưa ra thông báo Trang 45
thế nào là số chẵn, số lẻ?
hết và không chia hết sau: cho 2.
a. Số lượng số chẵn và số lẻ
- Nhận xét, còn số nguyên tố là - Xem cách viết trong dãy;
số chia hết cho 1 và chính nó, chương trình và ghi b. Số lượng số nguyên tố trong
nhưng số 1 không là số nguyên vào tập. dãy.
tố, hướng dẫn học sinh cách viết chương trình.
Program Thuoctinhcuaday; Uses crt;
Var A:array[1..100] of integer; n, demle, demchan, demngto, i , j: integer; tam: boolean; Begin clrscr; Writeln('nhap vao n'); Readln(n); If (abs(n)>1000) then writeln(' Nhap lai N') Else Begin For i:=1 to n do Begin Writeln('nhap vao phan tu thu ', i); Readln(A[i]); End; demle:=0; demchan:=0; For i:=1 to n do If (A[i] mod 2=0) then demchan:=demchan+1 Else demle:=demle+1; demngto:=0; tam:=true; For i:=1 to n do If (A[i] >1) then Begin j:=2;
While (j<=sqrt(A[i]) ) and (A[i] mod j<>0) do j:=j+1; If (j>sqrt(A[i])) then demngto:=demngto+1; Trang 46 End; writeln('Cac so chan la ', demchan); writeln('Cac so le la ',
(?) Các em hãy cho biết thế - Suy nghĩ trả lời. demle);
nào là dãy Phi- bô- na –xi? writeln('So nguyen to la', - Nhận xét: Dãy - Nghe giảng. demngto);
Fibonaxi là dãy vô hạn các số End;
tự nhiên bắt đầu bằng hai phần Readln;
tử 0 và 1, các phần tử sau đó End.
được thiết lập theo quy tắc mỗi
Câu 7. Dãy F là Phi-bô-na- xi
phần tử luôn bằng tổng hai nếu:
phần tử trước nó.
F0=0; F1=1; FN=FN-1+FN-2 với N>=2.
Viết chương trình nhập từ bàn
- Hướng dẫn học sinh cách viết - Chú ý quan sát.
phím số nguyên dương N và chương trình.
đưa ra màn hình số hạng thứ
N của dãy Phi- bô- na-xi.
Chương trình của bạn thực
hiện được với giá trị lớn nhất
của N là bao nhiêu? Program Dayfibonaxi; Uses crt;
Var n, i, f0, f2, f1, f: integer; Begin Clrscr; Writeln('nhap vao n'); Readln(n); f0:=0; f1:=1; f2:=1; If (n=2) then writeln('Phan tu thu ', n, 'la ', f0 + f1) Else Begin For i:=3 to n do Begin f:=f1+f2; f1:=f2; f2:=f;
- Theo các em thì chương trình - Trả lời phụ thuộc End;
chúng ta chạy tới với giá trị vào khai báo N. Writeln('Phan tu thu ', n, nào của N? 'la ', f);
- Với từng kiểu số nguyên - Nghe giảng. End;
khác nhau sẽ cho giá trị N, vì Readln; Trang 47
mỗi kiểu có phạm vi giá trị End. khác nhau.
- Yêu cầu học sinh đọc và thảo
luận bài tập 10 trang 80 SGK.
(?) Khi đó ta phải kiểm tra từ - Trả lời: Hàm length.
phần tử đầu đến phần tử cuối.
Câu 10. Viết chương trình
Để tìm phần tử cuối thì chúng
nhập từ bàn phím xâu kí tự S ta phải dùng hàm gì?
có độ dài không quá 100. Hãy
- Khi đó ta cho vòng lặp chạy - Nghe giảng, tự viết cho biết có bao nhiêu chữ số
từ phần tử 1 đến phần tử có giá chương trình.
xuất hiện trong xâu S.
trị bằng length(S), nếu nằm
trong khoảng từ 0 đến 9 thì ta đếm lên một giá trị.
- Nhận xét cách viết chương - Viết chương trình
trình của học sinh, chỉnh sửa vào tập. nếu có sai sót. Program demso; Var s: string[100]; i, dem: integer; Begin
Writeln('Nhap 1 xau ki tu do dai khong qua 100'); Readln(s); dem:=0; For i:=1 to length(s) do
If ('0'<=s[i]) and (s[i]<='9') then dem:=dem+1; Writeln('Trong xau s co ', dem, ' chu so xuat hien’); Readln; End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh giải thêm các bài tập về xâu, mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể. Trang 48
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập vào một dãy số nguyên có n phần tử.
- Sắp xếp dãy theo thứ tự tăng dần và in kết quả ra màn hình.
- Nhập vào một số x bất kì, đếm số lần xuất hiện của nó trong dãy trên.
- In ra màn hình số phần tử nhỏ hơn hoặc bằng x.
- In ra màn hình số phần tử lớn hơn x
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập một đoạn văn. Đếm có bao nhiêu câu trong đoạn vừa nhập.
- HS: làm bài tập GV yêu cầu. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Lê Thị Lịnh Trang 49 Tuần: 28
Ngày soạn: 25/02/2018 Tiết: 34
Ngày dạy:05/03/2018 đến 10/03/2018 ÔN TẬP I. MỤC TIÊU
1. Về kiến thức
- Các quy tắc kiểu dữ liệu có cấu trúc để thực hiện dữ liệu thực tế.
- Kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở
theo một số cách thức tạo kiểu do ngôn ngữ lập trình Pascal quy định.
- Trong ngôn ngữ Pascal dùng mô tả kiểu dữ liệu mới với từ khoá Type. 2. Về kĩ năng
- Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc.
- Sử dụng thành thạo các thao tác vào/ra và các phép toán trên các thành phần cơ sở. 3. Về thái độ
- Thái độ nghiêm túc trong học tập, chủ động giải bài tập.
4. Năng lực hướng tới II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Nội dung bài mới:

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh ôn nắm lại kiến thức kiểu mảng một chiều và kiểu xâu.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được làm các bài tập về kiểu mảng một chiều và kiểu xâu.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Để ôn lại về khái niệm thế nào là kiểu mảng - Nghe giảng.
một chiều, kiểu xâu. Sử dụng kiểu mảng một
chiều, kiểu xâu để giải các bài toán đơn giản,
hôm nay chúng ta sẽ làm một số bài tập
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh ôn lại kiến thức về kiêu xâu và kiểu mảng một chiều, giải các bài toán đơn giản.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân, nhóm.
(4) Phương tiện dạy học: SGK, Projector, máy tính. Trang 50
(5) Kết quả: Học sinh nắm được kiến thức đã học, sử dụng kiểu xâu và mảng giải
được một số bài toán đơn giản
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
Bài 1. Viết chương trình nhập
vào mảng 1 chiều với N phần
tử, với N nhập từ bàn phím,
- Xác định input và output
- Trả lời: Dãy số, sao đó in ra màn hình tổng output là tổng chẳn của số chẵn. - Thế nào là số chẵn?
- Trả lời:số chia hết Program Tong_chan; cho 2 Uses crt;
- Hàm gì để tính điều kiện chia - Trả lời:a[i] mod 2=0 Var A: array[1..100] of Integer; hết? N, tongch, i: Integer; Begin
- Nếu chia hết thì biến tong -Trả lời Clrscr; tăng bao nhiêu? tong:=tong+a[i] Writeln('Nhap vao N'); Readln(N);
- Gọi học sinh lên bảng làm?
- Một học sinh lên For i:=1 to N do bảng làm Begin - Quan sát Writeln('Nhap vao phan tu thu ', i);
- Gọi học sinh nhận xét -Nhận xét Readln(A[i]); - Nhận xét -Nghe giảng và ghi End; bài Tongch:=0; For i:=1 to N do If (A[i] mod 2=0) then tongch:=tongch+a[i]; Writeln(‘Tong chan la ', tongch); Readln; End.
Bài 2: Viết chương trình nhập
xâu bất kỳ. In xâu vừa nhập
- Xác định input và output
- Trả lời:Xâu s, output sau khi đổi tất cả các kí là xâu kí tự hoa
thường thành kí tự hoa?
- Hàm gì đổi một kí tự thường - Trả lời: upcase Program xau_hoa; thành hoa? Uses crt; Var s:string;
- Ta dùng vòng lặp nào và đi từ - Trả lời:vong lặp for, I:integer; giá trị bao nhiêu? 1->length(s) Begin Clrscr;
- Với mõi lần lặp ta thực hiện - Trả lời Write(‘nhap xau s:’); câu lệnh gì s[i]:=upcase(s[i]) Readln(s); For i:=1 to length(s) do
- Gọi học sinh lên bảng làm?
- Một học sinh lên S[i]:=upcase(s[i]); Trang 51 bảng làm Write(‘xau hoa:’,s); - Quan sát Readln End.
- Gọi học sinh nhận xét -Nhận xét - Nhận xét -Nghe giảng và ghi bài 
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Viết chương trình nhập 1 xâu bất kỳ gồm các kí tự từ a đến Z. In ra
màn hình kí tự xuất hiện nhiều nhất trong câu.
GV hướng dẫn và kêu một học sinh lên bảng làm bài.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Viết chương trình nhập dãy số nguyên bất kì và một số nguyên k bất kì. Tìm và đếm
số lần xuất hiện số k đó trong dãy số vừa nhập.
- HS: làm bài tập GV yêu cầu. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn Lê Thị Lịnh Trang 52 Trang 53 Tuần: 28
Ngày soạn: 25/02/2018 Tiết: 35
Ngày dạy:05/03/2018 đến 10/03/2018
KIỂM TRA 1 TIẾT THỰC HÀNH. I. MỤC TIÊU 1. Kiến thức:
- Nắm vững các kiến thức đã học.
- Thực hiện đúng các thao tác mảng, xâu.
- Biết phân tích chương trình. 2. Kĩ năng
- Giải những bài toán từ đơn giản tới phức tạp. 3. Thái độ
- Có thái độ nghiêm túc giờ kiểm tra.
II. CHUẨN BỊ ĐỒ DÙNG DẠY HỌC
- Chuẩn bị của giáo viên: Giáo án, SGK, SGV, máy tính, máy chiếu, bút lông, bảng,…
- Chuẩn bị của học sinh: SGK, tập, viết,…
III. PHƯƠNG PHÁP DẠY HỌC
- Vấn đáp, thuyết trình.
IV. 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 đề kiểm tra
Câu 1. Viết chương trình nhập mảng 1 chiều n phần tử. Tính và in ra màn hình tổng các số lẻ.
Câu 2. Viết chương nhập vào xâu A, sau đó in kí tự đầu tiên và kí tự cuối cùng của xâu
4. Củng cố - dặn dò a. Củng cố.
- Nắm các thao tác với từng loại kiểu dữ liệu. b. Dặn dò
- Về xem trước bài kiểu dữ liệu tệp. 5. Rút kinh nghiệm
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………………………………………
Trang 54 Tuần: 29
Ngày soạn: 26/02/2018 Tiết: 36
Ngày dạy:12/03/2018 đến 17/03/2018
BÀI 14. KIỂU DỮ LIỆU TỆP I. MỤC TIÊU
1. Về kiến thức
- Biết được đặc điểm của kiểu dữ liệu tệp.
- Biết hai cách phân loại tệp, khái niệm tệp có cấu trúc và tệp văn bản. 2. Về kĩ năng
- Làm quen với kiểu dữ liệu mới.
3. Về thái độ
- Thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được kiểu dữ liệu là gì
(2) Phương pháp/kĩ thuật dạy học: Cá nhân
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học kiểu dữ liệu tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Sau khi chạy chương trình ở các bài trước ta - Nghe giảng.
thấy kết quả in trên màn hình nhưng muốn sử
dụng kết quả đó về sau thì không được. Do đó,
ta có kiểu dữ liệu mới là kiểu dữ liệu tệp.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được về vai trò kiểu dữ liệu tệp, phân loại và biết
được các thao tác với tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được vai trò kiểu dữ liệu tệp, phân loại và biết được các thao tác với tệp. Trang 55
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Các kiểu dữ liệu trước - Trả lời: lưu trên bộ 1. Vai trò của kiểu tệp
được lưu trữ ở bộ nhớ nào? nhớ Ram.
(?) Vậy dữ liệu lưu trên Ram - Trả lời: dữ liệu sẽ
thì khi tắt máy hoặc mất điện mất.
thì dữ liệu lưu trữ trong bộ nhớ này sẽ như thế nào?
- Dữ liệu kiểu tệp có những đặc
- Hôm nay ta sẽ tìm hiểu tệp là - Nghe giảng và ghi điểm sau: gì? Có đặc điểm gì? bài.
+ Được lưu trữ lâu dài ở bộ nhớ
- Em hãy tìm hiểu trong SGK - Tham khảo SGK trả ngoài (đĩa từ, CD, ...) và không
cho thầy biết vai trò của kiểu lời
bị mất khi tắt nguồn điện; dữ liệu tệp?
+ Lượng dữ liệu lưu trữ trên tệp
có thể rất lớn và chỉ phụ thuộc
vào dung lượng đĩa.
(?) Yêu cầu học sinh đọc SGK - Tham khảo SGK và 2. Phân loại tệp và thao tác
và cho biết đặc điểm của kiểu trả lời. với tệp dữ liệu tệp?
- Nhận xét và giảng thêm khái - Nghe giảng và ghi Tệp được phân loại theo hai niệm 2 loại tệp. bài. cách:
- Theo cách tổ chức dữ liệu: + Tệp văn bản; + Tệp cấu trúc.
- Hướng dẫn học sinh hai cách - Ghi bài.
- Theo cách thức truy cập: truy cập tệp.
+ Tệp truy cập tuần tự;
+ Tệp truy cập trực tiếp.
- Giới thiệu cho học sinh biết - Nghe giảng và ghi - Không cần biết số lượng phần
hai thao tác cơ bản khi làm việc bài. tử trước.
với tệp là ghi dữ liệu vào tệp và
- Hai thao tác cơ bản đối với
đọc dữ liệu từ tệp.
tệp là ghi dữ liệu vào tệp và đọc
dữ liệu từ tệp. Nhưng người lập
trình biết cách thức mà ngôn
ngữ lập trình cung cấp: + Khai báo biến tệp; + Mở tệp; + Đọc/ghi dữ liệu; + Đóng tệp.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh biết được vai trò kiểu tệp, phân loại tệp và biết các thao tác với tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng. Trang 56
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu trắc nghiệm sau:
Câu 1: Cữ liệu kiểu tệp
A_ được lưu trữ trên ROM.
B_
được lưu trữ trên RAM.
C_
chỉ được lưu trữ trên đĩa cứng.
D_ được lưu trữ trên bộ nhớ ngoài.
Câu 2: Dữ liệu kiểu tệp
A. sẽ bị mất hết khi tắt máy.
B. sẽ bị mất hết khi tắt điện đột ngột.
C. không bị mất khi tắt máy hoặc mất điện. D. cả A, B, C đều sai.
Câu 3: Phát biểu nào dưới đây là đúng ?
A. Các kiểu dữ liệu đều được lưu trữ ở bộ nhớ trong (RAM).
B. Dữ liệu kiểu tệp được lưu trữ ở bộ nhớ trong.
C. Dữ liệu kiểu tệp được lưu trữ ở bộ nhờ ngoài (đĩa mềm, đĩa cứng, CD, thiết bị nhớ Flash).
D. Các dữ liệu trong máy tính đều bị mất đi khi tắt nguồn điện.
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Câu 1: Phát biểu nào sau đây là sai ?
A. Tệp có cấu trúc là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định.
B. Tệp chứa dữ liệu được tổ chức theo một cách thức nhất định gọi là tệp có cấu trúc.
C. Tệp văn bản không thuộc loại tệp có cấu trúc.
D. Tệp văn bản gồm các kí tự theo mã ASCII được phân chia thành một hay nhiều dòng.
Câu 2: Phát biểu nào sau đây là sai ?
A. Có thể truy cập trực tiếp tệp văn bản.
B. Tệp có cấu trúc có thể truy cập trực tiếp.
C. Tệp có cấu trúc có thể truy cập tuần tự.
D. Truy cập trực tiếp là cách truy cập cho phép tham chiếu đến dữ liệu cần truy
cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó. Trang 57
Câu 3: Phát biểu nào sau đây là đúng ?
A. Số lượng phần tử của tệp là cố định.
B. Kích thước tệp có thể rất lớn.
C. Dữ liệu một tệp được lưu trữ trên đĩa thành một vùng dữ liệu liên tục.
D. Tệp lưu trữ lâu dài trên đĩa, không thể xóa tệp trên đĩa.
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 15 IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 58 Tuần: 29
Ngày soạn: 26/02/2018 Tiết: 37
Ngày dạy:12/03/2018 đến 17/03/2018
BÀI 15. THAO TÁC VỚI TỆP I. MỤC TIÊU
1. Về kiến thức
- Biết khai báo biến tệp và gắn tên tệp.
2. Về kĩ năng
- Khai báo đúng biến kiểu tệp.
- Thao tác đúng gắn tên tệp 3. Về thái độ
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới
- Khai báo biến dữ liệu hợp lý.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến tệp.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Giới thiệu cấu trúc chung của khai báo biến Nghe giảng
tệp và giải thích, cũng giống như các kiểu dữ
liệu khác để có thể hiểu được thì chúng ta cần khai báo.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách khai báo mảng một chiều, hiểu cách gắn tên tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến mảng một chiều, gắn tên tệp Trang 59
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Vậy em nào có thể cho - Nghe giảng và quan 1. Khai báo
thầy biết dạng của khai báo sát. biến tệp văn bản? - Trả lời: var
- Nhận xét, vậy bạn nào có thể biến tệp>: text;
cho một ví dụ về khai báo kiểu biến tệp?
- Cho một số ví dụ giúp học
sinh hiểu thêm kiểu dữ liệu mới. - Trả lời: Var a: text; - Ghi bài.
Khai báo biến tệp văn bản có dạng:
Var <tên biến tệp>: text; Ví dụ: Var f: text;
- Các thao tác với tệp chia - Nghe giảng. 2. Thao tác với tệp thành bốn nhóm: + Gắn tên tệp; + Mở tệp; + Đọc/ghi tệp; + Đóng tệp;
- Để thao tác với tệp, trước hết - Nghe giảng và ghi a/ Gắn tên tệp
phải gắn tên tệp cho biến tệp bài.
- Để thao tác với tệp, trước hết bằng câu lệnh:
phải gắn tên tệp cho biến tệp bằng
Assign (<tên biến tệp>, <tên câu lệnh: tệp>);
assign (<tên biến tệp>, <tên
- Trong đó tên tệp là biến xâu tệp>); hoặc hằng xâu.
- Trong đó tên tệpbiến xâu hoặc hằng xâu.
(?) VD1: Giả thiết có biến xâu
myfile và cần gắn biến tệp f với - Suy nghĩ và trả lời:
tệp có tên DULIEU.DAT. Việc myfie:='DULIEU.DA
gắn tên tệp được thực hiện T'; bằng các câu lệnh? assign (f, myfile);
- Nhận xét và giải thích thêm ví hoặc assign (f,
dụ, đặc biệt là ví dụ 2 đọc trên 'DULIEU.DAT'); Ví dụ 1:
thư mục gốc của đĩa D. myfie:='DULIEU.DAT'; - Ghi ví dụ. assign (f, myfile);
hoặc assign (f, 'DULIEU.DAT');
(?) VD2: Để chuẩn bị thao tác Ví dụ 2:
với tệp có tên KQ.DAT ở ổ đĩa assign(tep2, 'C:\KQ.DAT');
C ta dùng các câu lệnh nào để gắn nó với tệp tep2?. - Suy nghĩ và trả lời câu hỏi của giáo viên. Trang 60
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác khai báo biến tệp và gắn tên tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu hỏi trắc nghiệm
Câu 1. Để thao tác với tệp?
A. Ta có thể gắn tên tệp cho biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
C. Ta nhất thiết phải gắn tên tệp cho biến tệp.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
Câu 2. Trong Pascal, để khai báo hai biến tệp văn bản f1, f2 ta viết? A. Var f1; f2: text B. Var f1, f2: text C. Var f1 f2: text D. Var f1: f2: text
GV hướng dẫn và cho các em thảo luận.
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: Hãy khai báo một biến tệp tep1 và gắn với tên tệp là ‘C:\dulieu.dat’
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước phần 2.b, 2.c, 2.d IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Trang 61 Lê Thị Lịnh Lê Minh Tâm Trang 62 Tuần: 30
Ngày soạn: 05/03/2018 Tiết: 38
Ngày dạy:19/03/2018 đến 24/03/2018
BÀI 15. THAO TÁC VỚI TỆP (tiết 2) I. MỤC TIÊU
1. Về kiến thức
- Biết các thao tác cơ bản với tệp văn bản.
- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp.
2. Về kĩ năng
- Sử dụng một số hàm và thủ tục chuẩn làm việc với tệp. 3. Về thái độ
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới:
- Năng lực tự học, năng lực giải quyết vấn đề.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được các thao tác với kiểu dữ liệu tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
Ta đã tìm hiểu vai trò kiểu dữ liệu và cách Nghe giảng
khai báo một biến biến tệp. Hôm nay chúng ta
sẽ tìm hiểu để mở một tệp ta phải dùng thủ tục
như thế nào và cách ghi và đọc dữ kiệu đối với
một tệp mà ta muốn thao tác như thế nào ?
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm về mảng một chiều, cách khai báo
mảng một chiều, hiểu cách nhập và in mảng một chiều.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm về bảng, cách khai báo biến mảng một
chiều, hiểu cách nhập và in mảng một chiều, hiểu được một số ví dụ giải bài toán về mảng một chiều. Trang 63
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- Tệp có thể dùng để chứa kết - Nghe giảng và ghi 2. Thao tác với tệp
quả ra hoặc dữ liệu vào. Trước bài. b/ Mở tệp
khi mở tệp, biến tệp phải được
- Câu lệnh dùng thủ tục mở tệp
gắn tên tệp bằng thủ tục assign.
để ghi dữ liệu có dạng:
- Câu lệnh dùng thủ tục mở tệp
Rewrite(<biến tệp>);
để ghi dữ liệu có dạng: Ví dụ 1:
Rewrite(<biến tệp>); myfile:='D:\TP\BAITAP.INP';
- Khi thực hiện lệnh rewrite(f), assign (f, myfile);
Nếu như trên ổ D:\TP chưa có rewrite(f);
tệp BAITAP.INP, thì tệp sẽ
được tạo rỗng. Nếu đã có, thì
nội dung cũ bị xoá để chuẩn bị ghi dữ liệu mới.
- Tương tự như vậy để đọc
được nội dung của tệp ta cần có thủ tục mở tệp.
(?) Vậy các em hãy đọc sách - Trả lời: ta có thủ tục
giáo khoa và cho biết thủ tục là reset. gì? - Nhận xét. - Nghe giảng và ghi bài.
- Mở tệp để đọc bằng thủ tục:
- Nếu tệp được mở bằng thủ tục
Reset(<biến tệp>);
reset thì có thể đọc thông tin
Ví dụ: assign(tep1, ’DL.INP’);
của tệp, ta sẽ tìm hiểu việc Reset(tep1);
đọc/ghi tệp văn bản như thế nào?
(?) Việc đọc tệp văn bản được
thực hiện giống như nhập từ - Trả lời: ta viết
bàn phím. Các em hãy cho biết read(
để nhập từ bàn phím lúc trước biến>);
c/ Đọc/ghi tệp văn bản ta dùng thủ tục gì?
- Đối với tệp ta cũng dùng thủ
tục read hoặc readln nhưng
nhưng ở đây có thêm biến tệp.
- Nghe giảng và ghi bài.
Câu lệnh dùng thủ tục đọc có dạng:
+ Read(<biến tệp>, <danh sách biến>); Hoặc
+ Readln(<biến tệp>, <danh Trang 64
- Để hiểu rỏ cách đọc như thế sách biến>);
nào chúng ta xét ví dụ sau:
Trong đó: danh sách biến
Lệnh đọc giá trị từ tệp gắn với
một hoặc nhiều tên biến đơn,
biến tệp f và gán cho biến x1,
các biến phải ngăn cách nhau y1. - Nghe giảng. dấu phẩy. Myfile(‘D:\DL.INP’); Assign(f, myfile); Reset(f); Readln(f, x1, y1);
- Các em chú ý trước tiên đọc
tệp ta cần mở tệp và các biến
được ngăn cách dấu phẩy. - Nghe giảng và ghi
- Cũng tương tự như vậy để ghi ví dụ. Ví dụ:
dữ liệu ra tệp ta sẽ dùng thủ Myfile(‘D:\DL.INP’);
tục write hoặc writeln, khi thực Assign(f, myfile);
thi chương trình sẽ thì kết quả Reset(f); sẽ được ghi vào tệp. - Ghi bài. Readln(f, x1, y1);
Câu lệnh dùng thủ tục ghi có dạng:
+ Write(<biến tệp>, <danh
sách kết quả>); Hoặc
+ Writeln(<biến tệp>, <danh
sách kết quả>);
Trong đó: danh sách kết quả
thể là một hoặc nhiều phần tử,
các phần tử có thể là biến đơn
hoặc biểu thức (số học, quan hệ
hoặc logic) hoặc hằng xâu, các
phần tử được ngăn cách nhau
- Đối với ngôn ngữ lập trình bởi dấu phẩy.
Pascal để đọc/ghi tệp văn bản Ví dụ:
ta có một số hàm chuẩn thường Myfile(‘D:\DULIEU.DAT’);
dùng như: eof eoln. Assign(f, myfile); Rewrite(f);
- Sau khi làm việc xong với tệp - Ghi ý nghĩa của 2 Writeln(f, a, b);
cần phải đóng tệp. Việc đóng hàm.
+ Hàm eof(<biến tệp>) trả về
tệp là đặc biệt quan trọng sau
true nếu con trỏ tệp đang chỉ tới
khi ghi thông tin vào tệp, vậy cuối tệp.
đóng tệp như thế nào chúng ta
+ Hàm eoln(<biến tệp>) trả về sẽ tìm hiểu mục d.
true nếu con trỏ tệp đang chỉ tới
- Câu lệnh dùng thủ tục đóng - Nghe giảng và ghi cuối dòng.
tệp có dạng: close(<biến tệp>);, bài. d/ Đóng tệp
sau khi đóng tệp chúng ta có Trang 65
thể được mở lại, lưu ý lúc này chúng ta không dùng assign nữa.
- Các em hãy xem hình 16 xem
các thao tác với tệp được thực
hiện theo trình tự nhất định.
- Nghe giảng và ghi Câu lệnh dùng thủ tục đóng tệp bài.
có dạng: Close(<biến tệp>); Ví dụ: Close(tep1); Close(tep2);
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu trắc nghiệm
Câu 1. Thủ tục rewrite() là thủ tục?
A. Mở tệp để ghi dữ liệu B. Đóng tệp
C. Đọc dữ liệu từ tệp D. Ghi dữ liệu vào tệp
Câu 2. Thủ tục reset() là thủ tục?
A. Mở tệp để đọc dữ liệu B. Đóng tệp
C. Đọc dữ liệu từ tệp D. Ghi dữ liệu vào tệp
Câu 3 Hãy chọn thứ tự hợp lý nhất khi thực hiện các thao tác đọc dữ liệu từ tệp?
A. Mở tệp => Đọc dữ liệu từ tệp => Gắn tên tệp với biến tệp => Đóng tệp.
B. Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp
C. Mở tệp => Gắn tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp
D. Gắn tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp
Câu 4. Thao tác ghi trên tệp văn bản chứa dữ liệu là?
A. Thông báo mở tệp để đọc  Đọc dữ liệu trong tệp  Đóng tệp  Gắn biến tệp với tên tệp.
B. Gắn biến tệp với tên tệp  Thông báo mở tệp để ghi dữ liệu mới  Ghi dữ
liệu mới  Đóng tệp.
C. Thông báo mở tệp để đọc  Đọc dữ liệu trong tệp  Đóng tệp  Gắn biến tệp với tên tệp.
D. Gắn biến tệp với tên tệp  Thông báo mở tệp để ghi dữ liệu mới  Đọc dữ
liệu trong tệp  Đóng tệp.
GV hướng dẫn và cho các em thảo luận. Trang 66
GV gọi các nhóm trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: Với một biến tệp tep1 đã được gắn ten tệp. Em hãy viết cú pháp mở
tệp để ghi cho tep1 và ghi vào tep1 một với nội dung là ‘Bai ve kieu tep’
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 16 ví dụ làm việc với tệp. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 67 Tuần: 30+31
Ngày soạn: 05/03/2018 Tiết: 39+40
Ngày dạy:19/03/2018 đến 31/03/2018
BÀI 16. VÍ DỤ LÀM VIỆC VỚI TỆP I. MỤC TIÊU 1. Về kiến thức
- Biết các bước làm việc với tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.
- Biết một số hàm và thủ tục chuẩn làm việc với tệp.
2. Về kĩ năng
- Hình thành kỹ năng về các thao tác cơ bản khi làm việc với tệp như: mở tệp,
gán tên tệp cho biến tệp, đọc/ghi dữ liệu cho biến tệp, đóng tệp. 3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
- Có ý thức lưu trữ dữ liệu một cách khoa học.
4. Năng lực hướng tới
- Giải quyết vấn đề, thảo luận nhóm, suy luận.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:

Câu 1: Nêu đặc điểm của kiểu tệp? Câu 2:
- Viết khai báo biến tệp với tên biến tệp là f.
- Gắn tên tệp ‘D:\ViDu.txt’ cho biến tệp f.
- Mở tệp để đọc dữ liệu.
- Đọc dữ liệu từ tệp ‘D:\ViDu.txt’ vào 2 biến x, y. - Đóng tệp. Câu 3:
- Viết khai báo biến tệp với tên biến tệp là f.
- Gắn tên tệp ‘D:\Ketqua.txt’ cho biến tệp f.
- Mở tệp để ghi dữ liệu.
- Ghi dữ liệu là s1, s2 vào tệp ‘D:\Ketqua.txt’. - Đóng tệp.
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn tìm hiểu một số ví dụ làm việc với tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn tìm hiểu một số ví dụ làm việc với tệp
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh Trang 68
- Trong tiết học trước các em đã được làm quen - Nghe giảng
với kiểu dữ liệu tệp cũng như các thao tác với
tệp như là: Khai báo tệp, gán tên tệp, mở tệp,
đọc/ghi dữ liệu vào tệp, đóng tệp. Để hiểu rõ
hơn các thao tác làm việc với tệp văn bản
chúng ta sẽ đi xét một vài ví dụ cụ thể trong bài 16.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được một số ví dụ bài tập về kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được một số ví dụ bài tập về kiểu tệp
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- Yêu cầu học sinh đọc ví dụ 1 - Đọc ví dụ và xác định 1. Ví dụ 1
trong sách giáo khoa và yêu Input và Output.
cầu học sinh xác định Input và Output của ví dụ.
- Nhận xét kết quả trả lời của
học sinh, nhận định lại Input:
Tọa độ trại hiệu trưởng (0, 0);
Tệp TRAI.TXT với các cặp số
nguyên (x, y) liên tiếp. Output:
Khoảng cách giữa trại mỗi lớp
với trại của hiệu trưởng.
- Các em hãy cho biết công - Trả lời:
thức tính khoảng cách của 2 ,
điểm với tọa độ biết trước? với
(?) Theo yêu cầu của để bài thì - Trả lời: đọc nội dụng
chúng ta thực hiện đọc tệp hay của tệp TRAI.TXT. ghi tệp?
- Sao khi đọc nội dung tệp
chúng ta tiến hành tính khoảng
cách rồi in ra màn hình khoảng
cách của từng trại đối với trại hiệu trưởng.
- Quan sát và viết
- Từng bước hướng dẫn học chương trình vào tập. Program Khoang_cach;
sinh cách viết chương trình. Var d: real; f: text; x, y: integer; Begin Assign (f, ’D:\TRAI.TXT’); Trang 69 Reset (f); While not eof (f) do Begin Read (f, x, y); D:= Sqrt (x*x+y*y); Writeln (‘Khoang cach:’ , d: 10: 2); End; Close (f); Readln; End.
- Hôm nay chúng ta sẽ tìm hiểu - Đọc ví dụ sách giáo 2. Ví dụ 2
lại cách tính điện trở của một khoa.
số mạch điện. Yêu cầu học sinh đọc ví dụ.
- Hướng dẫn cách tính điện trở - Nghe giảng.
cho từng trường hợp cụ thể.
(?) Đối với ví dụ này thì chúng - Trả lời: thực hiện
ta sẽ thực hiện các thao tác mở tệp để đọc và mở nào? tệp để ghi.
- Nhận xét, để thực hiện ghi tệp - Nghe giảng.
chúng ta cần tính được điện trở
tương đương rồi mới ghi vào
RESIST.EQU. Hướng dẫn cách đọc dữ liệu từ tệp RESIST.DAT và cách ghi ra tệp như thế nào.
- Hướng dẫn cách viết chương - Viết chương trình Program Dien_tro; trình. vào tập.
Var a: array[1..5] of real; R1, R2, R3: real; f1, f2: text; i: integer; Begin
Assign (f1,‘RESIST.DAT’); Reset(f1); Assign(f2,‘RESIST.EQU’); Rewrite(f2); While not eof(f1) do Begin Readln(f1, R1, R2, R3); a[1] := R1*R2*R3 / (R1*R2+R1*R3+R2*R3); a[2]:=R1*R2/(R1+R2)+R3; a[3]:=R1*R3/(R1+R3)+R2; a[4]:=R2*R3/(R2+R3)+R1; a[5]:=R1+R2+R3; Trang 70
For i:=1 to 5 do write(f2, a[i]: 9: 3, ‘ ‘); Writeln(f2); End; Close (f1); Close (f2); End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, nhập và in mảng một chiều
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Hãy cho biết kết quả của đoạn chương trình sau: Program VD_bt1_txt ; Uses crt ; Var f : text ; Begin Clrscr; Assign(f, ‘BT1.TXT ’) ; Rewrite(f) ; Write(f, 123 + 456) ; Close(f) ; End .
GV gọi một học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:Hãy cho biết nội dung của đoạn chương trình sau viết với mục đích gì? Program Vi_Du ; Uses crt ; Var f : text ; ch : char ; tenfile : string[30] ; Begin Trang 71
Write(‘ Nhap ten file : ’) ; readln(tenfile) ;
Assign(f, tenfile) ; Reset(f) ;
While not eof(f) do Begin Read(f, ch) ; Write(ch) ; End ; Close(f) ; End.
- HS: làm bài tập GV yêu cầu.
- GV: Về xem lại cách viết chương trình và xem trước phần câu hỏi và bài tập cuối chương V. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 72 Tuần: 31
Ngày soạn: 12/03/2018 Tiết: 41
Ngày dạy:26/03/2018 đến 31/03/2018
CÂU HỎI VÀ BÀI TẬP CHƯƠNG V (trang 89) I. MỤC TIÊU
1. Về kiến thức
- Biết được lợi ích của việc sử dụng tệp trong ngôn ngữ lập trình pascal.
- Cần ghi nhớ và thực hiện các thao tác với tệp cho phù hợp và chính xác.
2. Về kĩ năng
Hình khả năng phân tích một số ví dụ về tệp, để thực hiện thao tác chính xác.
3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
- Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp.
4. Năng lực hướng tới
- Giải quyết vấn đề, hoạt động nhóm. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Tiến trình bày học

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách thao tác kiểu dữ liệu tệp
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách sử dụng kiểu mảng một chiều để giải các bài toán.
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Các tiết rồi chúng ta vừa tìm hiểu các thao tác - Nghe giảng
và thực hành với tệp, hôm nay chúng ta sẽ nhắc
lại vì sao tệp có những ưu điểm như vậy.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết rõ hơn về vai trò của kiểu tệp.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được rõ hơn về vai trò kiểu dữ liệu tệp.
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày Trang 73
- Các tiết rồi chúng ta vừa tìm - Nghe giảng.
hiểu các thao tác và thực hành
với tệp, hôm nay chúng ta sẽ
nhắc lại vì sao tệp có những ưu điểm như vậy.
(?) Các em hãy đọc sách giáo - Đọc sách giáo khoa Câu 1. Nêu một số trường
khoa và trả lời câu 1 trang 89 và suy nghĩ trả lời.
hợp cần phải dùng tệp? sách giáo khoa?
- Để khắc phục sự cố và hạn - Nghe giảng và ghi Một số trường hợp cần thiết khi
chế khả năng lưu trữ dữ liệu bài. dùng tệp:
của các dữ liệu trước, thì đối
+ Lưu trữ thông tin lớn;
với tệp thì chúng ta có thể lưu
+ Được lưu trữ và sử dụng lâu
trữ dữ liệu lớn, và được lưu trữ dài.
lâu dài, không phải sợ tắt máy
hay mất điện đột ngột.
(?) Các em hãy quan sát sơ đồ - Quan sát và trả lời.
Câu 2. Các thao tác khi ghi
trang 86 kể các thao tác cần dữ liệu ra tệp ghi dữ liệu ra tệp?
- Nhận xét, nhắc lại các thao - Ghi bài. + Gắn tên tệp; tác.
+ Dùng thủ tục mở tệp (rewrite); + Ghi tệp; + Đóng tệp.
(?) Vì sao chúng ta cần phải - Trả lời: để xác định Câu 3. Cần phải mở tệp trước
mở tệp trước khi đọc/ghi tệp?
thao tác đó là mở để khi đọc/ghi vì
đọc hay mở để ghi vào tệp.
- Nhận xét, đó là 2 thao tác - Ghi bài.
- Ta phải sử dụng câu lệnh mở
quan trọng khi lập trình Pascal.
tệp để trình dịch biết thực hiện
mục đích mở tệp để đọc hay
ghi, đồng thời đặt con trỏ ở vị trí thích hợp.
(?) Công việc cuối cùng khi - Trả lời: ta thực hiện Câu 4. Dùng câu lệnh đóng
thao tác với tệp là gì? đóng tệp.
tệp sau khi kết thúc ghi dữ
- Vậy tác dụng của việc đóng
liệu: dùng để hoàn tất việc ghi tệp là gì? dữ liệu ra tệp. 
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh biết được cách khai báo biến tệp, các thao tác kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách khai báo biến tệp, các thao tác kiểu dữ liệu tệp.
Nội dung hoạt động
GV cho bài tập : Trả lời các câu trắc nghiệm sau
Câu 1 : Trong PASCAL để khai báo biến tệp văn bản ta phải sử dụng cú pháp A. Var : Text; Trang 74 B. Var : Text; C. Var : String; D. Var : String;
Câu 2: Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết A. Var f1 f2 : Text; B. Var f1 ; f2 : Text; C. Var f1 , f2 : Text; D. Var f1 : f2 : Text;
Câu 3: Để thao tác với tệp
A. Ta có thể gán tên tệp cho tên biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nhất thiết phải gán tên tệp cho tên biến tệp.
C. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
GV hướng dẫn gọi học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động - GV: cho bài tập:
Trong Pascal, cho trước tệp văn bản BT2.TXT chỉ có một dòng, chứa dòng chữ :
CHAO MUNG BAN DEN VOI LAP TRINH ngay ở đầu dòng. Thực hiện chương trình để
được kết quả đưa ra màn hình dòng chữ CHAO MUNG BAN DEN VOI LAP TRINH?
- HS: làm bài tập GV yêu cầu.
- GV: xem trước bài tập và thực hành 6. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 75 Tuần: 32
Ngày soạn: 19/03/2018 Tiết: 42+43
Ngày dạy:02/04/2018 đến 07/04/2018
BÀI TẬP VÀ THỰC HÀNH 6 I. MỤC TIÊU
1. Về kiến thức
- Biết các vận dụng cấu trúc chương trình con để giải các bài toán từ đơn giản tới phức tạp.
- Biết các thao tác xử lý trên xâu.
2. Về kĩ năng
Hình khả năng phân tích để sử dụng hàm và thủ tục cho đúng.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề, sử dụng máy tính giải các bài toán. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Tiến trình bày học

HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn sử dụng máy tính giải các bài toán trong
đó có sử dụng kiểu xâu
(2) Phương pháp/kĩ thuật dạy học: Cá nhân.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn muốn sử dụng máy tính giải các bài toán trong
đó có sử dụng kiểu xâu
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Lúc trước chúng ta đã tìm hiểu các thao tác xử - Nghe giảng.
lý tệp, hôm nay chúng ta sử dụng kiểu tệp để
thực hành một số bài đơn giản.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng tệp giải các bài tập.
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được cách sử dụng tệp giải các bài toán.
Nội dung hoạt động Trang 76
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- Sau đây chúng ta tìm hiểu bài - Lắng nghe
Bài 1: Viết chương trình nhập
tập về xâu có dùng kiểu tệp để
xâu học tên. Ghi xâu vừa lưu giá trị
nhập vào tệp C:\TP7\BT1.txt
- Cho bài tập học sinh thực - Ghi bài hành
- Ở bài này chúng ta dùng bao - Trả lời
nhiêu biến xâu, biến tệp? Var tep:text; - Nhận xét - Lắng nghe S:string;
- Tệp được thao tác có tên gì? - Trả lời Begin
- Thao tác đọc tệp hay ghi tệp? - Trả lời Write(‘Nhap xau’); - Nhận xét - Lắng nghe Readln(s);
- Thao tác cuối cùng khi ghi - Trả lời
Assign(tep,’C:\tp7\bt1.txt’); tẹp là gì? Rewrite(tep); - Nhận xét -Lắng nghe Write(tep,s);
- Quan xác hướng dẫn học sinh - Thực hành trên máy Close(tep); thực hành. Readln - Nhận xét - Lắng nghe, ghi bài End.
Bài 2: Viết chương trình nhập
- Cho bài tập 2 học sinh thực - Ghi bài
xâu bất kỳ. Đếm và ghi số hành
lượng ký tự là chữ số vào tệp
- Ở bài này chúng ta dùng bao - Trả lời c:\tp7\bt2.txt
nhiêu biến xâu, biến tệp? Var tep:text; - Nhận xét - Lắng nghe S:string;
- Tệp được thao tác có tên gì? - Trả lời Dem:integer;
- Thao tác đọc tệp hay ghi tệp? - Trả lời Begin - Nhận xét - Lắng nghe Write(‘Nhap xau’);
- Thao tác cuối cùng khi ghi - Trả lời Readln(s); dem:=0; tẹp là gì? For i:=1 to length(s) do - Nhận xét -Lắng nghe
If (s[i]>=’0’) and (s[i]<=’9’)
- Quan xác hướng dẫn học sinh - Thực hành trên máy then thực hành. Dem:=dem+1; - Nhận xét - Lắng nghe, ghi bài
Assign(tep,’C:\tp7\bt2.txt’); Rewrite(tep); Write(tep,dem); Close(tep); Readln End.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh biết được cách sử dụng kiểu tệp
(2) Phương pháp/kĩ thuật dạy học: Đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính. Trang 77
(5) Kết quả: Học sinh nắm được cách sử dụng kiểu tệp
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập xâu bất kỳ. Đếm và ghi số lượng ký tự
không là chữ số vào tệp c:\tp7\bt3.txt
HS : Ghi bài và thực hành theo hướng dẫn giáo viên
GV : Quan sát hướng dẫn học sinh thực hành, nhận xét và đưa ra kết luận Var tep:text; S:string; Dem:integer; Begin Write(‘Nhap xau’); Readln(s); dem:=0; For i:=1 to length(s) do
If (s[i]<=’0’) and (s[i]>=’9’) then Dem:=dem+1;
Assign(tep,’C:\tp7\bt3.txt’); Rewrite(tep); Write(tep,dem); Close(tep); Readln End.
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
GV cho bài tập : Viết chương trình nhập xâu bất kỳ. Đếm và ghi số lượng ký tự là
khoảng cách vào tệp c:\tp7\bt4.txt

HS : Ghi bài và thực hành theo hướng dẫn giáo viên
GV : Quan sát hướng dẫn học sinh thực hành, nhận xét và đưa ra kết luận Var tep:text; S:string; Dem:integer; Begin Write(‘Nhap xau’); Readln(s); dem:=0; For i:=1 to length(s) do If (s[i]=’ ‘) then Dem:=dem+1;
Assign(tep,’C:\tp7\bt4.txt’); Rewrite(tep); Write(tep,dem); Trang 78 Close(tep); Readln End.
- HS: làm bài tập GV yêu cầu.
- GV: xem trước bài tập 17 chương trình con và phân loại. IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 79 Tuần: 32 Tiết: 44 +45
BÀI 17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI I. MỤC TIÊU
1. Về kiến thức
- Biết được khái niệm về chương trình con.
- Biết được lợi ích khi sử dụng chương trình con
- Biết được cấu trúc của chương trình con và phân biệt được hai loại chương
trình con hàmthủ tục.
2. Về kĩ năng
- Cách thực hiện một chương trình con.
- Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ.
- Nhận biết được hai loại tham số hình thức và tham số thực sự.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Sử dụng chương trình con giải quyết các bài toán
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp
2. Kiểm tra bài cũ
(không)
3. Tiến trình bài học
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến mảng.
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn được học cách khai báo biến mảng
Hoạt động của giáo viên
Hoạt động của học sinh
- Khi viết chương trình giải các bài toán phức - Nghe giảng.
tạp, chương trình thường rất dài, người đọc rất
khó nhận biết chương trình thực hiện công việc
gì, người lập trình rất khó xem và sửa chữa khi
chương trình sai một vài lỗi nhỏ ở dòng nào đó.
Vấn đề đặt ra là phải cấu trúc chương trình thế
nào cho dễ đọc dễ hiểu và dễ sửa lỗi khi bị lỗi.
- Chiếu ví dụ đoạn lệnh tính tổng bốn lũy thừa - Quan sát ví dụ.
bằng cách truyền thống và bằng chương trình
con cho học sinh theo dõi và phân biệt.
(?) Trong Pascal có cách nào để giải quyết vấn đề nêu trên? Trang 80
- Hôm nay chúng ta sẽ tìm hiểu khái niệm - Trả lời: ta dùng chương trình con. chương trình con. - Nghe giảng.
- Yêu cầu học sinh ghi tựa bài - Ghi tựa bài.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được khái niệm chương trình con, các loại chương
trình con, cấu trúc và cách thực hiện chương trình con.
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được khái niệm chương trình con, các loại chương trình
con, cấu trúc và cách thực hiện chương trình con
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- Giới thiệu cho học sinh biết - Ghi bài.
1. Khái niệm chương trình
chương trình con cũng gồm các con
lệnh để mô tả các thao tác, đặt
Chương trình con là một dãy
biệt nó được gọi từ nhiều vị trí
lệnh mô tả một số thao tác nhất trong chương trình.
định và có thể được thực hiện
(được gọi) từ nhiều vị trí trong chương trình.
(?) Như vậy theo các em việc - Tham khảo sách
sử dụng chương trình con có giáo khoa và trả lời. những ưu điểm gì?
- Nhận xét và giải thích từng - Nghe giảng và ghi * Lợi ích của việc sử dụng
trường hợp cụ thể. bài.
chương trình con:
+ Tránh được việc phải
lặp đi lặp lại cùng một dãy lệnh.
+ Hỗ trợ việc thực hiện các chương trình lớn. + Phục vụ cho quá trình trừu tượng hóa.
- Đối với chương trình con thì - Nghe giảng, ghi 2. Phân loại và cấu trúc của
ngôn ngữ lập trình Pascal cung mục bài. chương trình con
cấp cho chúng ta 2 loại chương Trang 81
trình con. Để hiểu rõ hơn thầy
và cả lớp cùng tìm hiểu phân
loại và cấu trúc của chương trình con.
- Trước tiên thầy sẽ hướng dẫn - Tham khảo sách a/ Phân loại
việc phân loại chương trình giáo khoa và trả lời:
con. Đối với chương trình hàm thủ tục.
chúng ta có 2 loại cơ bản.
(?) Các em hãy tham khảo sách - Nghe giảng và ghi - Hàm (Function) là chương
giáo khoa và cho biết chương bài.
trình con thực hiện một số thao trình con có 2 loại nào?
tác nào đó và trả về một giá trị
- Nhận xét và giải thích chức qua tên của nó.
năng của từng loại. Hàm VD:
Function phải trả giá trị qua tên Sin(x), Cos(x), Sqrt(x)… của nó. Length(x).
VD: Hàm Sin(x) nhận giá trị
của số thực x sau đó thực hiện
tính toán, nhưng sau khi tính
toán xong thì hàm Sin(x) cũng
phải mang giá trị Sin(x).
Thực hiện trên Pascal với
VD: Thực hiện lệnh gọi hàm
Sin(x) và Thủ tục Writeln:
Nếu gọi Sin(x): thì chương trình báo lỗi. Sửa lỗi a:=Sin(x);
Nếu gọi Writeln: thì chương
trình hoạt động bình thường.
- Đối với thủ tục thì không trả
- Thủ tục (Procedure) là
về giá trị nào thông qua tên của
chương trình con thực hiện một nó.
số thao tác nào đó nhưng không
trả về một giá trị nào qua tên của nó. VD: Writeln, Readln, Delete, …
-(?) Các em hãy nhắc lại cấu - Trả lời:
b. Cấu trúc chương trình con
trúc của một chương trình? []
- Cấu trúc của chương trình con - Trả lời:
cũng tương tự chương trình
chính. Vậy chương trình con [] gồm những phần nào?
- Nhận xét: Cấu trúc chương
- Nghe giảng, ghi Phần đầu:
trình con tương tự chương trình bài.
Nhất thiết phải dùng để khai
chính. Nhưng nhất thiết phải có
báo tên. Nếu là hàm phải khai
tên và phần đầu dùng để khai
báo kiểu dữ liệu cho giá trị trả Trang 82
báo tên. Nếu là hàm phải khai về của hàm.
báo kiểu dữ liệu cho giá trị trả
Phần khai báo: về của hàm.
Có thể khai báo cho dữ liệu vào
và ra, các hằng được sử dụng [] trong chương trình con. Phần thân:
Là các dãy lệnh được thực hiện
trong chương trình con từ dữ
liệu vào và được kết quả như mong muốn.
- Tham số hình thức là các biến - Chú ý nghe giảng.
Tham số hình thức:
được khai báo cho dữ liệu vào
Là các biến được khai báo cho
ra. Các biến được khai báo để dữ liệu vào ra.
dùng riêng trong chương trình
Biến cục bộ: Là các biến được
con được gọi là các biến cục
khai báo để dùng riêng trong
bộ. Các biến của chương trình chương trình con.
chính được gọi là biến toàn
Biến toàn cục: Các biến của cục.
chương trình chính được gọi là biến toàn cục.
Lưu ý: Một chương trình con
có thể có hoặc không có tham
số hình thức, có thể có hoặc
không có biến cục bộ.
- Chiếu ví dụ giải bài toán tính - Quan sát.
tổng lũy thừa: an + bm + cp + dq
bằng cách viết bình thường và
cách viết có sử dụng chương
trình con. Yêu cầu học sinh quan sát.
(?) Hãy xác định đâu là tham - Trả lời: trong
số hình thức, biến cục bộ và chương trình con biến toàn cục? Luythua(x, k) thì x, k là tham số hình thức còn j là biến cục bộ. Biến Tluythua khai báo trong chương trình chính là biến toàn cục.
- Để sử dụng được chương - Chú ý nghe giảng, c/ Thực hiện chương trình con
trình con thì phải gọi nó lên để ghi bài.
sử dụng. Vậy ta phải dùng lời
gọi như thế nào? Để tìm hiểu
chúng ta sẽ đi vào phần c thực hiện chương trình con. VD: sqr(225)
(?) Yêu cầu học sinh xác định - Trả lời: sqr là tên Trang 83
đâu là tham số thực sự đâu là chương trình con. 225 tên chương trình con? là tham số thực sự.
- Nhận xét, giải thích cho học - Nghe giảng, ghi bài. - Để thực hiện gọi một chương sinh hiểu rõ hơn.
trình con, ta cần phải có lệnh
gọi, bao gồm tên chương trình
con với các tham số (nếu có) là
các hằng số hoặc biến chứa dữ
liệu tương ứng với các tham số
hình thức đặt trong cặp ngoặc (
). Các hằng và biến này được
gọi là các tham số thực sự. VD: Sqr(225); Luythua(a, n); HCN(Chieudai, Chieurong); HCN(5, 4).
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác tạo khai báo, thực hiện chương trình con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS: Trả lời các câu hỏi trắc nghiệm:
Câu 1: Hãy chọn phương án ghép đúng . Kiểu của một hàm được xác định bởi
A. Kiểu của các tham số
B. Kiểu giá trị trả về C. Tên hàm
D. Địa chỉ mà hàm trả về
Câu 2:Khẳng định nào sau đây là đúng?
A. Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.
B. Biến cục bộ là biến chỉ được dùng trong chương trình chính.
C. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.
D. Biến toàn bộ chỉ được sử dụng trong chương trình chính và không được sử
dụng trong các chương trình con.
Câu 3: Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa A. Program. B. Procedure. C. Function. D. Var.
Câu 4: Khẳng định nào sau đây là đúng? Trang 84
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B. Chỉ có thủ tục mới có thể có tham số hình thức.
C. Chỉ có hàm mới có thể có tham số hình thức.
D. Thủ tục và hàm nào cũng phải có tham số hình thức.
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập: Cho chương trình sau: Program Vi_du ; Var x, y : integer ;
Procedure godoit( x, y : integer ) ; Begin x := y ; y := 0 ; Write( x, y ) ; End ; Begin x := 1 ; y := 2 ; godoit( x, y ) ; writeln( x, y ) ; End.
- GV: Chương trình trên in ra dãy số nào?
- HS: làm bài tập GV yêu cầu.
- Gv: học bài và xem trước bài 18 IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 85 Tuần: 34 Tiết: 46 + 47
BÀI 18. VÍ DỤ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I. MỤC TIÊU
1. Về kiến thức
- Biết được cấu trúc và vị trí của thủ tục trong chương trình chính.
- Biết cách viết và cách gọi một thủ tục trong chương trình.
- Biết cấu trúc của hàm, cách sử dụng hàm.
- Phân biệt được giữa hai loại chương trình con (thủ tụchàm).
- Xác định được biến toàn cụcbiến cục bộ.
- Biết cách truyền tham số vào hàm và thủ tục.
2. Về kĩ năng
- Nhận biết từng thành phần của thủ tục, hàm.
- Biết chức năng của hàm và thủ tục để viết chương trình con cho phù hợp.
- Truyền tham số cho phù hợp.
3. Về thái độ
- Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Giải quyết vấn đề, thảo luận nhóm, suy luận.
II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy
chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:

Câu 1: Nêu khái niệm chương trình con? Câu 2:
- Nêu lợi ích chương trình con? Câu 3:
Viết cấu trúc chương trình con
3. Nội dung bài mới:
HOẠT ĐỘNG 1: Hoạt động khởi động:
(1) Mục tiêu: Tạo động cơ để học sinh muốn tìm hiểu một số ví dụ làm việc với chương trình con
(2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm.
(3) Phương tiện dạy học: SGK, Projector, máy tính.
(4) Học sinh có nhu cầu mong muốn tìm hiểu một số ví dụ làm việc với chương trình con
Nội dung hoạt động
Hoạt động của giáo viên
Hoạt động của học sinh
- Trong tiết học trước các em đã được làm quen - Nghe giảng
với chương trình con. Để hiểu rõ hơn cách sử Trang 86
dụng chương trình con chúng ta sẽ đi xét một
vài ví dụ cụ thể trong bài 18.
HOẠT ĐỘNG 2: Hình thành kiến thức
(1) Mục tiêu: Giúp học sinh biết được một số ví dụ bài tập về chương trình con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích.
(3) Hình thức tổ chức hoạt động: Làm việc cá nhân.
(4) Phương tiện dạy học: SGK, Projector, máy tính.
(5) Kết quả: Học sinh nắm được một số ví dụ bài tập về chương trình con
Nội dung hoạt động
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
(?) Chiếu hình chữ nhật, yêu - Trả lời: ta phải dùng 1. Cách viết và sử dụng thủ
cầu các em để vẽ được hình 3 câu lệnh. tục
chữ nhật chúng ta phải làm sao? - Nhận xét. - Nghe giảng.
(?) Vậy theo các em để vẽ - Ta sẽ dùng nhiều
nhiều hình chữ nhật thì chúng dòng lệnh để vẽ. ta phải làm sao?
- Nhận xét, nhưng nếu viết - Nghe giảng và quan
nhiều dòng lệnh thì mất nhiều sát thủ tục.
thời gian để gõ, trong quá trình
gõ dễ bị sai sót. Để khắc phục
tình trạng đó chúng ta sẽ viết
một thủ tục vẽ hình chữ nhật,
khi nào cần vẽ thì chỉ việc gọi thủ tục đó thôi. Program vd1; Procedure ve_HCN; Begin
writeln(‘* * * * * * *’); writeln(‘* *’); writeln(‘* * * * * * *’); End; Begin Ve_HCN; writeln; writeln; Ve_HCN; writeln; writeln; Ve_HCN; Readln; End.
- Với cách gọi như vậy thì khi - Trả lời: cách viết
thực thi chương trình sẽ có 3 chương trình hơi khó
hình chữ nhật sẽ được tạo ra. hiểu, khác với từ
Nhìn vào chương trình các em trước tới giờ. có câu hỏi gì không?
- Để hiểu được chương trình Trang 87
chúng ta cần xét cấu trúc viết một thủ tục.
(?) Các em hãy tham khảo sách - Đọc SGK và trả lời.
giáo khoa và cho biết thủ tục
có cấu trúc như thế nào?
- Bổ sung nếu có sai sót, yêu - Ghi bài.
a/ Cấu trúc của thủ tục
cầu các em ghi chính xác vào tập. Procedure [()]; [< phần khai báo>] Begin [] End;
- Phần đầu thủ tục gồm tên
dành riêng Procedure, tiếp
theo là tên thủ tục. DS tham số
có thể có hoặc không có.
- Phần khai báo: Dùng để xác
định các hằng, kiểu, biến và
cũng có thể xác định các
chương trình con khác được sử dụng trong thủ tục.
- Các em cần chú ý: Sau tên - Ghi chú ý vào tập.
- Dãy câu lệnh: Được viết giữa
dành riêng End kết thúc
cặp tên dành riêng Begin
chương trình chính là dấu
End tạo thành thân của thủ tục.
chấm (.) còn sau End kết thúc - Chú ý:
thủ tục là dấu chấm phẩy (;).
+ Sau tên dành riêng End kết
Các thủ thục, nếu có phải được
thúc chương trình chính là dấu
khai báo và mô tả trong phần
chấm (.) còn sau End kết thúc
khai báo của chương trình
thủ tục là dấu chấm phẩy (;)
chính, ngay sau phần khai báo
+ Các thủ thục, nếu có phải
biến. Khi cần thực hiện, ta
được khai báo và mô tả trong
phải viết lệnh gọi thủ tục tương
phần khai báo của chương trình
tự như các thủ tục chuẩn.
chính, ngay sau phần khai báo
- Để hiểu sâu hơn và cách viết biến.
cũng như nguyên tắc hoạt động
+ Khi cần thực hiện, ta phải
của thủ tục ta sẽ đi tìm hiểu các
viết lệnh gọi thủ tục tương tự ví dụ.
như các thủ tục chuẩn.
- Cũng với ví dụ vẽ hình chữ - Quan sát, nghe b/ Ví dụ về thủ tục
nhật nhưng với ví dụ đó là hình giảng.
chữ nhật có chiều dài và chiều
rộng cố định, nhưng trên thực
tế thì hình chữ nhật có chiều
dài và rộng khác nhau nên khi Trang 88
biết chương trình chúng ta có
thể gọi các thủ tục khác nhau.
Chiếu chương trình lên máy
chiếu, hướng dẫn ý nghĩa từng câu lệnh cho học sinh.
- Yêu cầu học sinh viết chương - Ghi ví dụ. Program vd2; trình vào tập. Uses Crt; Var a, b, i: integer; Procedure ve_HCN(chdai, chrong: integer); Var i, j: integer; Begin For i:=1 to chdai do write(‘*’); Writeln; For j:=1 to chrong2 do Begin Write(‘*’); For i:=1 to chdai2 do write(‘ ‘); Writeln(‘*’); End; For i:=1 to chdai do write(‘*’); Writeln; End; Begin Clrscr; Ve_Hcn(25, 10); Writeln; writeln; Ve_Hcn(5, 10); Readln; Clrscr; a:=4; b:=2; For i:=1 to 4 do begin ve_HCN(a, b); Readln; a:=a*2; b:=b*2; End; Readln; End.
- Các em thấy thủ tục lúc đầu - Nghe giảng.
chúng ta viết là (chdai, chrong)
sau đó thay bằng (5, 3) khi đó
ta gọi chdai, chrong là tham số Trang 89
hình thức, còn 5 và 3 là tham
số giá trị hay còn gọi là tham
trị. Còn Ve_Hcn(a, b) trong đó
a, b là giá trị hiện thời.
- Các em hãy quan sát 2 ví dụ Program VDthamso1;
dùng thủ tục hoán đổi 2 số a và Uses crt;
b trong sách giáo khoa trang 99 Var a, b: integer; và 100. Procedure Hoandoi_1(var x, y: integer); Var TG: integer; Begin TG:=x; x:=y; y:=TG; End; Begin Clrscr; a:=5; b:=10; Writeln(a:6, b:6); Hoandoi_1(a, b); Writeln(a: 6, b: 6); Readln; End. Program VDthamso2; Uses crt; Var a, b: integer; Procedure Hoandoi_2( x: integer ; var y: integer); Var TG: integer; Begin TG:=x; x:=y; y:=TG; End; Begin Clrscr; a:=5; b:=10; Writeln(a: 6, b: 6); Hoandoi_2(a, b); Writeln(a: 6, b: 6); Readln; End.
(?) Khi xem 2 ví dụ các em - Trả lời: chương trình thấy có điểm gì khác?
đầu cả 2 biến a, b đều khai báo var, còn Trang 90 chương trình sau có chỉ dùng var cho biến b.
- Nhận xét, đúng rồi khi đó - Nghe giảng.
chạy chương trình cho học sinh
quan sát, giải thích cho các em
khi sử dụng var thì gọi là tham
biến nên giá trị của nó có thể
thay đổi, còn không có là tham trị.
- Yêu cầu học sinh viết chương - Ghi ví dụ vào tập. trình vào tập.
- Trong lời gọi thủ tục các tham
số hình thức được thay bằng
tham số thực sự tương ứng là
các giá trị cụ thể đgl tham số giá trị (tham trị).
- Trong lệnh gọi thủ tục các
tham số hình thức được thay
bằng các tham số thực sự tương
ứng là tên các biến chứa dữ liệu
ra đgl tham số biến (tham biến).
* Sự khác nhau trong khai
báo tham số hình thức:
- Các tham số có từ khoá Var
đứng trước là tham số biến, còn
không có là tham số giá trị. Chú ý:
- Nếu có nhiều tham biến cùng
một kiểu dữ liệu thì có thể dùng
1 từ khoá Var cho phần khai
báo, ngăn cách bằng dấu phẩy.
- Chương trình con gồm 2 loại: - Ghi mục bài.
2. Cách viết và sử dụng hàm
là thủ tục và hàm, chúng ta sẽ
tìm hiểu hàm được viết và sử
dụng như thế nào. Thầy với cả
lớp cùng tìm hiểu cách viết và sử dụng hàm.
- Điểm khác nhau cơ bản giữa
hàm và thủ tục là hàm luôn trả
về giá trị thuộc một kiểu xác định.
(?) Các em hãy kể tên các kiểu - Trả lời: integer, real, dữ liệu đã học? char, boolean, string.
- Đó là các kiểu mà hàm trả giá - Ghi bài.
Function [trị về, ta sẽ tìm hiểu cấu trúc sách tham số>]: ;
viết hàm trong chương trình [khai báo các biến]; Trang 91 con. Begin [] End;
- <Kiểu dữ liệu>: Kiểu dữ liệu
trả lại của hàm như các kiểu integer, real, char, boolean, string. Vd: Function tong(x, y: integer): integer;
- Cũng giống như thủ tục nếu - Nghe giảng.
Chú ý: Trong thân hàm phải có
hàm không có tham số hình
ít nhất một lệnh gán giá trị cho
thức thì không cần danh sách tên hàm.
tham số. Trong thân hàm phải := ;
có ít nhất một lệnh gán giá trị cho tên hàm.
- Chúng ta sẽ đi xét ví dụ 1 - Ghi ví dụ.
Ví dụ 1: Viết chương trình tìm
viết chương trình tìm số nhỏ
số nhỏ nhất trong ba số nhập từ
nhất trong ba số nhập từ bàn
bàn phím, trong đó sử dụng
phím, trong đó sử dụng hàm
hàm tìm số nhỏ nhất trong hai
tìm số nhỏ nhất trong hai số. số.
- Hướng dẫn học sinh viết hàm - Trả lời: có 2 tham
tìm số nhỏ nhất trong 2 số, hàm số là a và b.
có tên là min, hàm này có bao nhiêu tham số?
- Hướng dẫn học sinh cách viết - Quan sát và ghi bài. Program vd1; hàm min. Var a, b, c : real;
Function Min(a, b : real): real; Begin if a else min:=b; End; Begin
Write(‘Nhap vao a, b, c=’); readln(a, b, c);
Write(‘Min=’, Min(Min(a, b), c)); Readln; End.
- Bài 17 chúng ta có xét ví dụ
Ví dụ 2. Viết chương trình tính
về tính lũy thừa của một số nào
xn, trong đó sử dụng hàm lt(x,
đó. Hôm nay chúng ta sẽ tìm
n). Với x, n nhập từ bàn phím.
hiểu cách viết hàm đó như thế nào?
- Yêu cầu học sinh xác định x, - Trả lời: là biến toàn n là gì? cục.
- Ở ví dụ 2 ta cần viết hàm có Trang 92
tên là lt(y, m) có hai tham số hình thức là y và m. ym=y*y*…*y
- Vậy để được phép nhân m lần - Trả lời: dùng vòng
ta cần thực hiện thông qua lệnh lặp for, với giá trị ban
nào? Giá trị ban đầu của tích đầu bằng 1. này là bao nhiêu?
- Nhận xét và hướng dẫn học - Ghi ví dụ. Program vd2;
sinh cách viết chương trình. Var x, n : integer;
Function Lt(y, m: integer): real; Var tg, i : integer; Begin Tg:=1; For i:=1 to m do tg:=tg*y; Lt:=tg; End; Begin Write(‘Nhap vao x, n=’); readln(x, n);
Write(‘Ket qua=’, Lt(x, n)); Readln; End.
- Các em về xem thêm các ví - Xem sách giáo dụ sách giáo khoa. khoa.
HOẠT ĐỘNG 3: Hoạt động luyện tập, vận dụng:
(1) Mục tiêu: Giúp học sinh thực hiện được thao tác chương trình con
(2) Phương pháp/kĩ thuật dạy học: Vấn đáp, thuyết trình, đặt vấn đề, phân tích, so sánh,...
(3) Hình thức tổ chức hoạt động: giải bài tập trên bảng
(4) Phương tiện dạy học:SGK, bảng.
(5) Học sinh biết vận dụng kiến thức đã học vào giải quyết tình huống thực tiễn cụ thể.
Nội dung hoạt động
GV yêu cầu HS:Viết chương trình tìm số lớn nhất trong ba số nhập từ bàn phím,
trong đó sử dụng hàm tìm số lớn nhất trong hai số. Program vd1; Var a, b, c : real;
Function Max(a, b : real): real; Begin if a>b then max:=a else max:=b; End; Begin
Write(‘Nhap vao a, b, c=’); Trang 93 readln(a, b, c);
Write(‘Max=’, Max(Max(a, b), c)); Readln; End.
GV gọi một học sinh trả lời.
GV nhận xét, giải đáp thắc mắc của học sinh, đưa ra các nhận xét cuối cùng
HOẠT ĐỘNG 4: Hoạt động tìm tòi mở rộng:
(1) Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình.
(2) Phương pháp/kĩ thuật dạy học: làm việc cá nhân, nhóm.
(3) Hình thức tổ chức hoạt động: Ngoài lớp học
(4) Phương tiện dạy học:SGK, Projector, máy tính.
(5) Học sinh biết cách mở rộng các kiến thức của mình thông qua bài tập cụ thể.
Nội dung hoạt động
- GV: cho bài tập:Sử dụng chương trình con viết chương trình tính tổng các số từ 1 đến N (N>1).
- HS: làm bài tập GV yêu cầu.
- GV: Về xem lại cách viết chương trình con IV. RÚT KINH NGHIỆM
.....................................................................................................................................................
.....................................................................................................................................................
.....................................................................................................................................................
.................................................................................................................................
Duyệt của tổ trưởng chuyên môn
Giáo viên soạn Lê Thị Lịnh Lê Minh Tâm Trang 94 Tuần: 35 Tiết: 48
BÀI TẬP VỀ CHƯƠNG TRÌNH CON I. MỤC TIÊU
1. Về kiến thức
Nắm lại các kiến thức của chương chương trình con.
2. Về kĩ năng
Sử dụng chương trình con để giải bài toán trên máy tính.
3. Về thái độ
Có thái độ nghiêm túc trong học tập.
4. Năng lực hướng tới
- Năng lực tự học, năng lực giải quyết vấn đề. II. CHUẨN BỊ
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính,
máy chiếu, phông chiếu, bút lông, bảng,…
2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết,…
III. HOẠT ĐỘNG DẠY VÀ HỌC
1. Ổn định lớp, kiểm tra sĩ số
2. Kiểm tra bài cũ:
không.
3. Tiến trình bày học

HOẠT ĐỘNG 1: Hoạt động khởi động:
Hoạt động giáo viên
Hoạt động học sinh Nội dung trình bày
- bài 1: Viết chương trình tính 1 1 1 y
  ... với n là số ! 1 ! 2 ! n
nguyên dương nhập từ bàn
- Cần viết chương trình con để - Trả lời:Tính giai
thực hiện công việc gì? phím thừa của một số?
- Khởi động chương trình
- Ta nên viết thủ tục hay hàm? -Trả lời: dùng hàm Pascal Program Tong;
- Nhắc lại từ khóa của hàm? - Trả lời: Function Uses crt;
- Gọi học sinh lên bảng làm. - Một học sinh lên Var y:real; bảng làm
- Quan sát các học sinh khác N,i:Integer; làm bài. Function gthua(var
- Gọi học sinh nhận xét. - Nhận xét a:integer):integer; - Nhận xét
- Nghe giảng và ghi Var i,gt:integer; bài. Begin Gt:=1; For i:=1 to a do gt:=gt*i; Gthua:=gt; Trang 95 Begin Clrscr;
Writeln(‘Nhap gia tri N=:’); readln(N); y:=0; for i:=1 to N do y:=y+1/gthua(i);
Writeln(‘Gia tri cua y=:’,y); Readln; END. 4. Củng cố
- Nắm kỹ cấu trúc chương trình con (hàm, thủ tục), biết cách dùng tham số khi cần thiết.
- Nắm cách gọi chương trình con vào chương trình chính. 5. Dặn dò
Về xem lại bài, học bài chuẩn bị thi học kỳ II. V. RÚT KINH NGHIỆM
.......................................................................................................................................................
.......................................................................................................................................................
.......................................................................................................................................................
....................................................................................................................................... Trang 96