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 - Trong thực tế, các kiểu dữ liệu chuẩn khôngthể đáp ứng đủ biểu diễn của các bài toán lớn.. 5 Kết quả
Trang 1- 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
- 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ấutrú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
- Trong thực tế, các kiểu dữ liệu chuẩn khôngthể đá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ậptrì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
khoa trang 53 và cho biết cần nhập thông tingì? Và dữ liệu đưa ra là gì?
- Nghe giảng
- Tham khảo sách giáo khoa và 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ặpphải những khó khăn gì?
Để giải quyết vấn đề đó, ta sử dụng kiểu mảngmột chiều để mô tả dữ liệu đó
- Hôm nay chúng ta sẽ tìm hiểu khái niệmmả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
(?) Các em hãy tham khảo sách
giáo và cho biết khi làm việcvới mảng 1 chiều cần xác địnhnhững gì?
- Nghe giảng và ghibài
* Khi làm việc với mảng một chiều ta cần xác định được:
Ví du: A
5 8 7 1Chỉ số 1 2 3 4
+ Tên mảng: A + Số lượng phần tử: 4 + 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 3khi sử dụng thì bắt buộc chúng
ta phải khai báo, và đối vớibiến mảng 1 chiều chúng tacũng phải khai báo Cách khaibá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ó
2 cách khai báo
- Bên cạnh đó ta có cách khaibáo thứ hai
- Giải thích ví dụ rõ để học sinhphân biệt tên kiểu mảng, tênbiế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 cósai sót
- Nghe giảng và ghibài
- Nghe giảng và ghibài
Ví dụ:
VAR A: array[1 10] of real;
Cách 2 Khai báo gián tiếp
TYPE <tên kiểu mảng> =
array[<chỉ số đầu> <Chỉ số cuối>] of <kiểu phần tử>;
VAR <tên biến mảng> : <tên
- 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ó được giá trịcủa các phần tử chúng ta phảinhậ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.
- Suy nghĩ trả lời: xácđịnh được tên mảng,
a/ Nhập mảng một chiều
Trang 4- Để làm được điều đó ta cầnxác định các thao tác sau:
+ Trước tiên, cần xác định có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]
- Hướng dẫn học sinh cách incác phần tử của mảng 1 chiều
For i:=1 to n do Begin
Write(‘Nhap phan tu thu:
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 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
Trang 6
- 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
- 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ấutrú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
- Tiết trước chúng ta đã tìm hiểu về cách khaibáo mảng một chiều Nhưng khi giải các bàitoá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ụ
- 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
- Yêu cầu học sinh đọc ví dụtrong SGK và xác định input,output
- Dựa vào SGK suynghỉ trả lời
- Chú ý lắng nghe vàghi lại bài
- Chú ý quan sát
- Chú ý quan sát cáchviết chương trình vàviết chương trình vàotập
4 Một số ví dụ
Ví dụ 1: Tìm phẩn tử lớn nhất
của dãy số nguyên
- Input: Số nguyên dương N vàdãy gồm N sô nguyên dương a1,
B3: Nếu i > N thì đưa ra Max,rồi kết thúc;
Readln(N);
For i:=1 to N doBegin
Write(‘Phan tu thu ‘, i, ‘
=’);
Readln(A[i]);
End;
Trang 8- Yêu cầu học sinh về đọc các
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ênvừ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
Trang 10
- 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
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 gì để lưu các giá trịđó?
Ta có thể tham chiếu đến các phần tử và lấy giátrị các phần tử của dãy số đó để tính toán đượckhô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 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
- 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
- Khai báo những biến nào?
- Gọi học sinh lên bảng làm
- Quan sát các học sinh kháclà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á trị n vàdãy số a1,a2, an, và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ênbảng làm
- Nhận xét
- Nghe giảng và ghibài
- Trả lời: Giá trị n vàdãy số a1,a2, an, vàoutput là 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) 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ỏ nhất của dãy số vừa nhập?
Readln(n);
For i:=1 to n do Begin
Writeln('nhap phan tuthu ', i);
Writeln(‘Gia tri nho nhatla',min);
Trang 12- Ta cần sử dụng hàm gì đểtính chia hết?
- Vậy đều kiện như thế nào làchia hêt?
- Cần dù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ủamả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 sát các học sinh kháclàm bài
- Nhận xét
- Nghe giảng và ghibài
và in ra màn hình các số chia hết cho 3?
Writeln('nhap vao phan tuthu ', 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 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 ramà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 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
Trang 14
Tuần: 21 + 22 Ngày soạn: 25/12/2017
- 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áomả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ừngphầ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
- Khi làm việc với mảng một chiều trước tiênchú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àitậ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
- Đọc nội dung yêu cầu của bài1
(?) Các em hãy xác định số
lượng phần tử và yêu cầu củabài là gì?
- Nhận xét, cho ví dụ cho họcsinh quan sát
- Hướng dẫn cho học sinh cáchviết chương trình
- Với bài tập vừa làm các em
có thể vận dụng giải quyết bàitoán tìm phần tử lớn nhất trongmảng 1 chiều
- Ghi bài tập
- Suy nghĩ trả lời: đốivới bài này chúng ta
có n phần tử, sao khigiá trị các phần tử củamảng được nhập thì ta
in các phần tử trongmảng ngược lại
- Chú ý quan sát vídụ
Program Dao_nguoc_mang;
Uses crt;
Var A: Array[1 100] ofInteger;
Writeln('Nhap vao phan tuthu ', i);
Trang 16- Yêu cầu học sinh nêu thuậttoán để giải bài toán trên.
- Nhận xét, hướng dẫn các emcách viết chương trình
- Trong học kì I thầy đã giớithiệu cho các em một số bàitoá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
tử lớn nhất của mảng.
Program Phan_tu_max;
Uses crt;
Var A: Array[1 100] ofInteger;
Writeln('Nhap vao phan tuthu ', i);
Write(‘Phan tu lon nhat ’,Max);
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ãyviết chương trình tính tổng cácgiá của mảng N phần tử.
- Yêu cầu một học sinh lênbảng viết chương trình
- Nhận xét, bổ sung nếu có saisót
- Ghi bài
- Suy nghĩ và thựchiện theo yêu cầu củagiáo viên
- Chú ý quan sát vàghi bài
Clrscr;
Writeln('Nhap vao N');
Readln(N);
For i:=1 to N do Begin
Writeln('Nhap vao phan tuthu ', i);
Writeln(‘So lan xuat hien sochan la ', dchan);
Writeln('So lan xuat hien so
Program Tong_mang;
Uses crt;
Var A: Array[1 100] ofInteger;
Writeln('Nhap vao phan tuthu ', i);
Readln(A[i]);
End;
Tong:=0;
Trang 18- Yêu cầu học sinh tham khảocá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.
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 ramà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
Trang 19
Tuần: 22 + 23 Ngày soạn: 02/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 saocho 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
- Khi là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 và cả lớpcùng tìm hiểu và thực hành một số bài tập ở Bàitậ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 20Hoạ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
số ví dụ về một mảng mộtchiều có dãy số tăng dần hoặcgiảm
- Nhận xét, như vậy với mộtdãy số bất kỳ trong mảng 1chiều làm sao chúng ta có thểsắp xếp như vậy Để hiểu rõhơn thầy và cả lớp cùng xét bàitập thứ nhất
- Hướng dẫn và giải thíchchương trình
- Đối với bài toán như vậy các
Program Sap_xep;
Uses crt;
Const nmax=250;
Type arrint=array[1 nmax] ofinteger;
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
Trang 21em sẽ khó hiểu, để dể hiểu hơnthầy và cả lớp cùng viếtchương trình nhập vào mảng nphần tử và nhập vào giá trịtừng phần tử chứ không chogiá trị ngẫu nhiên.
- Yêu cầu học sinh viết chươngtrình, nhận xét, chiếu chươngtrình hoàn chỉnh lên máychiếu, khi thực thi chươngtrình nhập từ bước cho họcsinh quan sát
(?) Theo các em số lần tráo đổi
của từng dãy số có khác nhaukhông?
Writeln('Nhap vao phan
For j:=n downto 2 do For i:=1 to j-1 do ifA[i]>A[i+1] then
Begin t:=A[i];
Readln;
End.
Trang 22lần tráo đổi được không, đểbiết được đều đó thì chúng taphả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áobiến dem và sao mỗi vòng lặptráo đổi ta tăng biến dem lên 1đơn vị
- Hướng dẫn học sinh cách viếtchương trình
- Cho bài tập yêu cầu học sinhhãy viết chương trình tính tổng
- Nghe giảng
- Chú ý quan sát vàghi bài
Randomize;
Write('nhap n=');
Readln(n);
For i:=1 to n doA[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
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 23các phần tử của mảng với điềukiện các phần tử đó phải chiahết cho 5.
- Giải thích yêu cầu của bàitoán
- Yêu cầu học sinh lên viếtchương trình
- Nhận xét, bổ sung nếu có saisót
(?) Giả sử bây giờ thầy muốn
đếm xem trong mảng chúng tavừ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ếtchương trình
- Chú ý nghe giảng
- Viết chương trình
- Nghe nhận xét vàghi bài
- Suy nghĩ trả lời:
chúng ta phải kiểm tratừng phần tử sau đócoi có chia hết cho 5không, nếu chia hếtthì chúng ta đếm lênmột giá trị
- Nghe giảng và ghibà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.
Writeln('Nhap vao phan
Writeln('Nhap vao phan
Trang 24If (A[i] mod 5=0) thenDem:=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ìnhtổ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
Trang 25
Tuần: 23 Ngày soạn: 08/01/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ôngthể đá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ậptrì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 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 đề này hôm nay chúng ta sẽ
- Nghe giảng
- Kiểu char
- Nghe giảng
Trang 26tì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
(?) Các em hã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 khoa và cho thầy biết kháiniệm xâu?
- Nhận xét và nhắc lại kháiniệ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ọcsinh biết thế nào là độ dài củaxâu
(?) Có 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, hướng dẫn cáchbiểu diễn xâu rỗng
- Tương tự mảng 1 chiềuchúng ta có 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: Là dãy kí tựtrong bảng mã ASCII,mỗi kí tự là một phần
tử, được đặt trong haidấu nháy đơn ‘’
- Nghe giảng
- Ghi các quy tắc xácđịnh một xâu
1 Định nghĩa xâu
Xâu là dãy các kí tự trong bộ
mã ASCII, mỗi kí tự là mộtphần tử của xâu
- Số lượng kí tự trong một xâugọi là độ dài của xâu
- Xâu rỗng là xâu không chứa
kí tự nào (xâu có độ dài bằng0), được biểu diễn bằng hai dấunháy đơn liên tiếp ‘’
- Có thể xem xâu là mảng 1chiều mà mỗi phần tử là một kítự
Trang 27Ví dụ: ‘Lop 11A’ gồm 7 kítự.
+ Các phép toán thao tác vớixâu như: Ghép, so sánh, chè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
khai báo không có [n] thì sốlượng kí tự tối đa cho phép làbao nhiêu?
- Cho ví dụ giúp học sinh hiểu
rõ cách khai báo kiểu xâu
- Nghe giảng và ghibài
- Trả lời: Số lượng kí
tự tối đa là 255
- Chú ý quan sát, ghibài
Var hoten: string[26];
Var chugiai: string;
(?) Đố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âucũng thực hiện các thao táctươ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 ví dụcách ghép xâu
(?) Các em hã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(+)
* Nhập giá trị cho xâu:
Read (<tên biến xâu>);
Readln (<tên biến xâu>);
* Viết ra giá trị của xâu:
Write (<tên biến xâu>);
Writeln (<tên biến xâu>);
a Phép ghép xâu
Để ghép hai hay nhiều xâuthành một, ta dùng dấu “+” đểghép Có thể thực hiện ghépxâu đối với các hằng và biếnxâu
VD: ghép ‘Ha’ + ‘ Noi’
KQ: ‘Ha Noi’
b Các phép so sánh xâu
Trang 28sánh, có các phép toán so sánhnào?
(?) Cho 2 xâu A và B, khi nào
thì xâu A được coi là lớn hơnxâu B?
- Nhận xét và phân tích, cho vídụ
- Để xóa kí tự trong xâu tadùng thủ tục Delete, trình bày
- Hãy nêu ví dụ về thủ tụcInsert?
- Hàm copy dùng để tạo một
sánh: =, <>, <, >, <=,
>=
- Tham khảo sáchgiáo khoa trả lời:
(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 nhaugiữa chúng kể từ tráisang trong xâu A có
mã ASCII lớn hơn;
+ (A=B) Nếu chúnggiống nhau hoàn toàngiống nhau
- Nghe giảng, ghi bài
Ví dụ: A:= ‘Tin’ ;B:= ‘Hoc ’
Insert(A, B, 4)KQ: ‘Học Tin’
+ A = B nếu chúng hoàn toàn giống nhau.
Ví dụ: A:= ‘Tin hoc’
Delete( A, 4, 1)KQ: ‘Tinhoc’
Trang 29xâu mới bằng cách sao chépcác kí tự trong xâu cũ, trìnhbà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 bày cú pháp và kháiniệ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ấthiện đầu tiên của xâu này trongmột xâu khác hay vị trí xuấthiện đầu tiên của một dãy kí tựtrong một xâu
Trình bày cú pháp và kháiniệm
Trình bày cú pháp và khái niệm(?) Cho ví dụ về hàm Upcase?
Ví dụ: A:= ‘Muaxuan’
Copy(A, 5, 4)KQ: ‘xuan’
kí tự hoặc dãy kí tự trong xâu x
Ví dụ:
A := ‘Ho Guom’
B := ‘Guom’
Pos(B, A) Kq: 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
Trang 30GV 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
Trang 31Tuần: 24 Ngày soạn: 08/01/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 khaixâu, một số thao tác với xâu Nhưng khi giảicá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àitoán đơn giản
- Hôm nay chúng ta sẽ hiểu sâu hơn qua các vídụ
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ảnthông qua các ví dụ
Nội dung hoạt động
Ví dụ 1 Viết chương trình
nhập vào họ đệm và tên củahọc sinh In ra màn hình họ vàtên của học sinh đó
(?) Theo các em làm sao ta có
thể in học tên học sinh?
- Hướng dẫn học sinh cách viết
chương trình
Ví dụ 2 Nhập vào hai xâu,
kiểm tra kí tự đầu tiên của xâuthứ nhất có trùng với kí tự cuốicùng của xâu thứ hai không?
- Hướng dẫn các em cách truycập phần tử cuối của xâu
- Nghe giảng và ghibài
- Trả lời: Hàm length
- Chú ý nghe giảng,ghi bài
Nghe giảng và ghibài
4 Một số ví dụ
Ví dụ 1 Viết chương trình
nhập vào họ đệm và tên của họcsinh In ra màn hình họ và têncủa học sinh đó
Ví dụ 2 Nhập vào hai xâu,
kiểm tra kí tự đầu tiên của xâuthứ nhất có trùng với kí tự cuốicùng của xâu thứ hai không?
else write(‘Khac nhau’);
Trang 33- Nhận xét trước tiên ta phảidùng hàm length sao đó ta lặp
từ chỉ số cuối về chỉ số đầu
Ví dụ 4 Nhập vào một xâu,
đưa ra màn hình xâu thu được
từ nó nhưng đã loại bỏ dấucách
- Hướng dẫn học sinh cách viếtchương trình
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ữ
số có trong x1, giữ nguyên thứ
tự xuất hiện giữa chúng, rồi in
đưa ra màn hình xâu thu được
từ nó nhưng đã loại bỏ dấucách
số có trong x1, giữ nguyên thứ
tự xuất hiện giữa chúng, rồi in
Trang 34- Tự viết chươngtrình.
x2 := x2 + x1[i];
Writeln(‘Ket qua la: ’, x2);
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ùngvớ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
Trang 35
Tuần: 24 Ngày soạn: 15/01/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
Với những bài toán yêu cầu nhập xâu kí tự bất
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ị 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ặpvới kiểu xâu
- Trả lời : Kiểu xâ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
- Xác định input và output
- Cần khai báo những biếnnào?
- Sử dụng vòng lặp gì để duyệtcác phần tử?
- Vòng lặp đi từ giá trị nào?
- Để so sánh một kí tự vớikhoảng trắng ta viết như thếnào?
- Gọi học sinh lên bảng làm?
- 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ấucá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ênbảng làm
-Nhận xét-Nghe giảng và ghibà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 và in ra màn hình xâu có bao nhiêu dấu cách?
Readln(s);
Dem:=0;
For i:=1 to length(s) do
If a[i]=’ ‘ thenDem:=dem+1;
Write(‘so luong dau cachla:’,dem);
ReadlnEnd
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ữ
số có trong xâu s1 và in kết quả ra màn hình.
Program tao_xau;
Var s1,s1:string;
I:integer;
BeginWrite(‘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ênbảng làm
-Nhận xét-Nghe giảng và ghibài
If s1[i]<’0’ or s1[i]>’9’ thenS2:=s2+s1[i];
Writeln(‘xau s2 la:’,s2);
ReadlnEnd
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ầnxuấ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
Trang 38
Tuần: 25 Ngày soạn: 15/01/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
- Khi làm việc với kiểu xâu trước tiên chúng tacần thành thạo các thao tác khai báo, nhập, xuấtxâu Để làm được điều đó thầy và cả lớp cùngtìm hiểu và thực hành một số bài tập ở Bài tập
(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 39Hoạ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ộtxâu Kiểm tra xâu đó có phải làxâu đối xứng không Xâu đốixứng có tính chất: đọc từ bênphải sang trái cũng thu đượckết quả giống như từ trái sangphải (còn gọi là xâupalindrome)
(?) Khi đó chúng làm như thế
nào?
- Nhận xét, bên cạnh đó ta cònkiểm tra phần tử đầu trùng vớiphần tử cuối và tương tự chođến phần tử ở giữa xâu
- Trả lời: sao khi đảongược xâu thì xâumới giống xâu cũ
- Nghe giảng và ghibài
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 đối xứng không Xâu đối xứng có 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 là xâu palindrome).
Else Writeln('Xau khong lapalindrome');
If (dem=n div 2 ) then
Trang 40- Giới thiệu các dòng lệnh giúphọc sinh hiểu rõ cấu trúcchương trình.
Bài 2 Viết chương trình nhập
từ bàn phím một xâu kí tự S vàthông báo ra màn hình số lầnxuất lần của mỗi chữ cái tiếngAnh trong S (không phân biệtchữ hoa hay chữ thường)
- Hướng dẫn học sinh cách viếtchương trình
Writeln('Xau la palindrome') Else
Writeln('Xau khong lapalindrome');
Readln;
End.
Bài 2 Viết chương trình nhập
từ bàn phím một xâu kí tự S và thông báo ra màn hình số lần xuất 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).
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) thendem:=dem+1;
If (dem>0) then writeln ('ki
tu ', j, ' xuat hien ', dem, ' lan');
end;
Readln;