1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Giáo án Tin học 11 - Tiết 20 đến tiết 27

20 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

- Khai báo biến mảng một chiều: VAR tên biến: tên kiểu mảng; - Tham chiếu đến từng phần tử: Tên biến[chir số] c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Yêu c[r]

(1)Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 20,21 §11- Kiểu Mảng (t1,t2) I.MỤC TIÊU: 1.Kiến thức: - Biết kiểu liệu là kiểu mảng chiều biíet loại biến có số - Biết cấu trúc tạo kiểu mảng chiều và cách khai báo biến kiểu mảng chiều 2.Kỹ năng: - Tạo kiểu mảng chiều và sử dụng biến mảng chiều ngôn ngữ lập trình Pascal để giải số bài toán cụ thể II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên: - Máy chiếu Projector, máy vi tính để giới thiệu ví dụ và minh hoạ 2.Chuẩn bị học sinh: - Sách giáo khoa III.HOẠT ĐỘNG DẠY-HỌC: 1.Hoạt động 1: Tìm hiểu ý nghĩa mảng chiều a.Mục tiêu: Biết ý nghĩa và cần thiết kiểu mảng chiều việc giải số bài toán Biết kiểu mảng chiều b.Nội dung: - Ví dụ: Nhập vào nhiệt độ (trung bình) ngày tuần Tính và in màn hình nhiệt độ trung bình tuần và số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính - Mảng chiều là dãy hữu hạn các phần tử có cùng kiểu liệu Các phần tử mảng có cùng chung tên và phân biệt số Để mô tả mảng chiều cần xác định kiểu các phần tử và cách đánh số các phần tử nó - Hầu hết các ngôn ngữ lập trình cho phép xác định: tên kiểu mảng, số lượng phần tử, kiểu liệu phần tử, cách khai báo biến mảng và cách tham chiếu đến phần tử mảng c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Chiếu đề bài và chương trình ví dụ lên 1.Quan sát trên màn hình, suy nghĩ và trả bảng lời - Hỏi: Khi N lớn thì chương trình trên có - Phải khai báo quá nhiều biến Chương hạn chế nào? trình phải viết dài - Dẫn dắt: Để khắc phục hạn chế trên, 2.Nghiên cứu sách giáo khoa để trả lời người ta thường ghép chung biến trên - Mảng chiều là dãy hữu hạn các phần thành dãy và đặt cho nó chung tên tử có cùng kiểu liệu các phần tử và đánh cho phần tử số mảng có cùng chung tên và phân biệt 2.Yêu cầu học sinh tham khảo sách giáo số khoa và hỏi: Em hiểu nào mảng - Để mô tả mảng chiều cần xác định TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (2) chiều? kiểu các phần tử và cách đánh số - Hỏi: Để mô tả mảng chiều, ta cần xác các phần tử nó định yếu tố nào? 2.Hoạt động 2: Tạo kiểu mảng chiều và khai báo biến mảng a.Mục tiêu: - Học sinh biết cách tạo liệu mảng chiều ngôn ngữ lập trình Pascal, biết cách khai báo biến và tham chiếu đến phần tử mảng b.Nội dung: - Tạo kiểu liệu mảng chiều: TYPE tên kiểu mảng = Array[kiểu số] Of kiểu thành phần; + Kiểu số: thường là đoạn số nguyên (hoặc đoạn ký tự) xác định số đầu và số cuối cùng mảng + Kiểu thành phần: là kiểu liệu chung phần tử mảng - Khai báo biến mảng chiều: VAR tên biến: tên kiểu mảng; - Tham chiếu đến phần tử: Tên biến[chir số] c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Yêu cầu học sinh nghiên cứu sách giáo 1.Tham khảo sách giáo khoa và trả lời khoa và cho biết cách tạo liệu mảng - TYPE tên km= Array[kieeur cs]Of kiểu chiều ngôn ngữ lập trình Pascal thành phần; - Tìm ví dụ để minh hoạ - Ví dụ: Type mmc=array[1 100] of integer; - Gọi học sinh khác, hỏi: Ý nghĩa lệnh - Tạo kiểu dự liệu có tên mmc, bạn vừa viết? gồm 100 phần tử, có kiểu nguyên - Chiếu lên bảng số khai báo kiểu mảng - Quan sát bảng và chọn khai báo đúng Arrayr=array[1 200] of real; chiều Type Arrayb=array[-100 0] of Boolean; Arrayr=array[1 200] of real; 2.Tham khảo sách giáo khoa và trả lời Arrayr=array[byte] of real; -VAR tên biến: tên km; Arrayb=[-100 0] of Boolean; - Khai báo biến mảng chiều - Hỏi: Những khai báo nào đúng? - a đã chiếm 200 byte nhớ 2.Yêu cầu học sinh cho biết cách khai báo 3.Theo dõi hướng dẫn giáo viên và độc biến và ví dụ khai báo biến mảng lập suy nghĩ để trả lời a[1] là phần tử vị trí mảng a ứng với kiểu liệu vừa tạo - Gọi học sinh khác, hỏi: Ý nghĩa lệnh a[i] là phần tử vị trí I mảng a bạn vừa viết? - Dung lượng nhớ biến a đã chiếm là bao nhiêu? - Chú ý cho học sinh cách đặt tên kiểu liệu và tên biến, tránh nhầm lẫn 3.Giới thiệu cách tham chiếu đến phần tử mảng chiều Yêu cầu học sinh lấy ví dụ 3.Hoạt động 3: Rèn luyện kỹ sử dụng kiểu mảng chiều a.Mục tiêu: - Học sinh sử dụng biến kiểu mảng chiều để giải bài toán đơn giản b.Nội dung: Bài toán: Giải bài toán phần đặt vấn đề hoạt động 1, đó có sử dụng biến mảng chiều c.Các bước tiến hành: TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (3) HOẠT ĐỘNG CỦA GIÁO VIÊN 1.Giới thiệu đề bài - Chiều đề bài lên bảng - Yêu cầu học sinh xác định dự liệu vào, dự liệu - Hỏi: Nếu không sử dụng biến mảng chiều, ta có thể giải bài toán không? Khó khăn gì không? Định hướng: Sử dụng kiểu mảng chiều để giải bài toán - Yêu cầu học sinh khai báo kiểu mảng - Yêu cầu học sinh tìm các nhiệm vụ chính cần giải 3.Chia lớp thành nhóm Yêu cầu viết chương trình lên giáy bìa - Thu phiếu trả lời, chiếu lên bảng Gọi học sinh nhóm khác nhận xét đánh giá 4.Chuẩn hoá chương trình cho học sinh HOẠT ĐỘNG CỦA HỌC SINH 1.Quan sát đề bài, theo dõi yêu cầu cần giải đề bài - Vào: số là giá trị nhiệt độ ngày tuần - Ra: Số ntb là nhiệt độ trung bình tuần và số nch là số ngày có nhiệt độ cao nhiệt độ trung bình - Được - Chương trình dài dòng, khó sửa đổi… 2.Theo dõi hướng dẫn giáo viên Type tuan=array[1 7] of real; Var ndtuan: tuan; - Nhập giá trị cho mảng a - Tính trung bình cộng giá trị mảng - Đếm số phần tử có giá trị lớn trung bình cộng tính 3.Thảo luận theo nhóm để viết chương trình - Báo cáo kết viết - Nhận xét, đánh giá và bổ sung thiếu sót nhóm khác 4.Quan sát và ghi nhớ IV ĐÁNH GIÁ CUỐI BÀI: 1.Những nội dung đã học: - Cách tạo kiểu mảng chiều và cách khai báo biến TYPE tên kiểu mảng=Array[kieeur số] of kiểu thành phần; VAR tên biến: tên kiểu mảng; - Thamchiếu đến phần tử: Tên biến[chỉ số] 2.Câu hỏi và bài tập nhà: - Viết chương trình nhập vào mảng gồm n số nguyên (1<=n<=100), số có giá trị tuyệt đối không quá 300 Tính tổng giá trị các phần tử có giá trị chia hết cho k - Trả lời các câu hỏi 1-4, làm bài tập 5,6,7, sách giáo khoa trang 79 - Đọc trước nội dung kiểu mảng hai chiều, sách giáo khoa trang 59 TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (4) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 24,25 §11- Kiểu Mảng (t3,t4) I.MỤC TIÊU: 1.Kiến thức: - Biết kiểu dự liệu là kiểu mảng hai chiều - Biết cách tạo mảng hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng 2.Kỹ năng: - Tạo kiểu mảng hai chiều và khai báo biến mảng hai chiều ngôn ngữ lập trình Pascal Sử dụng đúng biến mảng để giải số bài toán cụ thể II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên : - Máy tính, máy chiếu Projector, sách giáo khoa, máy chiếu Overhead, phiếu học tập 2.Chuẩn bị học sinh: - Sách giáo khoa III.HOẠT ĐỘNG DẠY - HỌC: 1.Hoạt động 1: Tìm hiểu ý nghĩa mảng hai chiều a.Mục tiêu: - Học sinh biết ý nghĩa và cần thiết mảng hai chiều việc giải số bài toán b.Nội dung: Bài toán: Viết chương trình để in màn hình bảng cửu chương có dạng sau: 10 12 14 16 18 12 15 18 21 24 27 12 16 20 24 28 32 36 10 15 20 25 30 35 40 45 12 18 24 30 36 42 48 54 14 21 28 35 42 49 56 63 16 24 32 40 48 56 64 72 18 27 36 45 54 63 72 81 - Khái niệm: Mảng hai chiều là bảng các phần tử có cùng kiểu liệu - Hầu hết các ngôn ngữ lập trình có quy tắc cho phép xác định: tên kiểu mảng hai chiều, số lượng phần tử chiều, kiểu liệu phần tử, cách khai báo biến mảng và cách tham chiếu đến phần tử mảng b.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Giới thiệu ví dụ sách giáo khoa 1.Chú ý theo dõi yêu cầu và dẫn dắt Tính và đưa màn hình bảng cửu chương; giáo viên - Hỏi: Sử dụng kiến thức mảng mộtchiều, TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (5) hãy đưa cách sử dụng kiểu mảng đó để lưu trữ bảng cửu chương - Với cách lưu trữ ta phải khai báo bao nhiêu biến mảng? - Có khó khăn gì? - Để khắc phục các khó khăn này, ta xem mảng chiều thành mảng hai chiều - Yêu cầu học sinh nhận xét mảng hai chiều -Sử dụng chín mảng chiều mổi mảng lưu trữ hàng bảng -Khai báo biến mảng chiều -Khai báo nhiều biến, nhập và xuất liệu dài - Nếu xem hang mảng hai chiều là phần tử thì ta có thể nói mảng hai chiều là mảng chiều mà phần tử là mảng chiều 2.Các yếu tố xác định mảng hai chiều 2.Các yếu tố để xây dựng mảng hai chiều: - Hỏi: Để mô tả kiểu mảng hai chiều ta cần - Tên kiểu mảng - Số phần tử trên dòng, số phần tử trên xác định yếu tố chính nào? cột - Kiểu liệu chung phần tử 2.Hoạt động 2: Tìm hiểu kiểu mảng hai chiều a.Mục tiêu: - Học sinh biết cách tạo kiểu liệu mảng hai chiều, biết khai báo biến mảng ngôn ngữ lập trình Pascal, biết tham chiếu đến phần tử mảng b.Nội dung: - Tạo kiểu liệu mảng hai chiều: TYPE tên kiểu mảng=Array[chỉ số dòng, số cột] of kiểu thành phần; - Khai báo biến mảng hai chiều: VAR tên biến:tên kiểu mảng; - Tham chiếu đến phần tử: Tên biến[chỉ số dòng, số cột] c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Yêu cầu học sinh nghiên cứu sách giáo 1.Tham khảo sách giáo khoa và trả lời khoa và cho biết cách tạo liệu mảng hai - TYPE tên kmhc=Array[csd,csc] of kiểu chiều thành phần; - Yêu cầu học sinh tìm ví dụ minh hoạ - Ví dụ: Type mhc=aray[1 10,1 5] of - Gọi học sinh khác, hỏi: Ý nghĩa integer; lệnh mà bạn vừa viết? - Lệnh trên dung để tạo kiểu mảng hai 2.Yêu cầu học sinh cho biết cách khai báo chiều có tên là mhc gồm 10 dòng và cột, biến mảng hai chiều ứng với kiểu các phần tử có kiểu liệu integer liệu vừa tạo 2.Tham khảo sách giáo khoa và trả lời 3.Giới thiệu cách tham chiếu đến phần - VAR tên biến:tên kmhc; tử mảng chiều Yêu cầu học sinh - Ví dụ: Var a:mhc; 3.Quan sát cấu trúc chung và suy nghĩ tìm ví lấy ví dụ dụ a[1,2] là phần tử dòng số 1, cột số mảng a a[I,j] là phần tử dòng số I, cột số j mảng a 3.Hoạt động 3: Rèn luyện kỹ sử dụng kiểu mảng hai chiều a.Mục tiêu: - Học sinh sử dụng biến kiểu mảng hai chiều để giải bài toán đơn giản TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (6) b.Nội dung: - Giải bài toán đặt vấn đề hoạt động c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Giới thiệu đề bài 1.Quan sát đề bài, theo dõi yêu cầu - Chiếu đề bài lên bảng cần giải đề bài - Yêu cầu học sinh xác định cách thức tổ - Dùng mảng hai chiều - Điền giá trị cho a[I,j]=i*j chức liệu - Yêu cầu học sinh các nhiệm vụ - Xuất giá trị a[I,j] theo dòng chính bài toán cần giải 2.Thảo luận theo nhóm để viết chương trình 2.Chia lớp thành nhóm Yêu cầu viết - Báo cáo kết hoàn thành - Nhận xét đánh, giá và bổ sung thiếu chương trình lên giấy bìa - Thu phiếu trả lời, chiếu lên bảng Gọi học sót các nhóm khác 3.Ghi nhớ nội dung đã chỉnh sửa sinh nhóm khác nhận xét đánh giá 3.Chuẩn hoá chương trình cho học sinh 4.Quan sát chương trình và chú ý giải thích cách chiếu chương trình mẫu để học sinh giáo viên quan sát và thực chương trình để học - Đặt số câu hỏi thắc mắc sinh thấy kết 4.Chiếu chương trình ví dụ 2, sách giáo khoa trang 62 để học sinh quan sát - Thực chương trình để học sinh thấy kết nó - Giáo viên cần giải thích số chỗ có thể học sinh chưa hiểu và yêu cầu học sinh nhà tìm hiểu them IV ĐÁNH GIÁ CUỐI BÀI: 1.Những nội dung đã học: - Tạo kiểu liệu mảng hai chiều: TYPE tên kiểu mảng =Array[kiểu số dòng, kiểu số cột] of kiểu thành phần; - Khai báo biến mảng chiều: VAR tên biến:tên kiểu mảng; - Tham chiếu đến phần tử: Tên biến[chỉ số dòng, số cột] 2.Câu hỏi và bài tập nhà: - Làm các bài tập số 8, 9, sách giáo khoa, trang 79, 80 - Xem trước nội dung bài thực hành số 3, sách giáo khoa trang 63 TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (7) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 22,23 BÀI THỰC HÀNH SỐ I.MỤC TIÊU: 1.Kiến thức: - Củng cố lại các kiến thức kiểu liệu mảng 2.Kỹ năng: - Nâng cao kỹ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thể: +Khai báo kiểu liệu mảng chiều; +Nhập/ xuất liệu cho mảng; +Duyệt qua tất các phần tử mảng để xử lý phần tử - Biết giải số bài toán thường gặp; +Tính tổng các phần tử thoả mãn điều kiện nào đó; +Đếm số các phần tử thoả mãn điều kiện nào đó; +Tìm phần tử lớn nhất, nhỏ 3.Thái độ: - Góp phần rèn luyệntác phong, tư lập trình: Tự giác, tích cực, chủ động và sáng tạo tìm kiếm kiến thức II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên: - Phòng máy vi tính, máy chiếu Projector để minh hoạ 2.Chuẩn bị học sinh: - Sách giáo khoa III.HOẠT ĐỘNG DẠY - HỌC: 1.Hoạt động 1: Tìm hiểu cách sử dụng lệnh và kiểu liệu mảng chiều qua chương trình có sẵn a.Mục tiêu: - Học sinh hiểu chương trình có sẵn câu a, biết kết chạy chương trình, từ đó tìm cách giải câu b b.Nội dung: a-Tìm hiểu, gõ chương trình vào máy và chạy thử: Program Sum1; Uses Crt; Cosnt nmax:=100; Type Myarray=Array[1 nmax] of integer; Var A:myarray; S, n, I, k:integer; Begin Clrscr; Randomize; Write(‘Nhap n=’); Readln(n); For i:= to n a[i]:=random(300)-random(300); For i:= to n Write(A[i]:5); Writeln; TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (8) Write(‘Nhap k=’); Readln(k); For i:= to n If a[i] mod k=0 then s:=s+a[i]; Write(‘Tong can tinh la’,s); Readln; S:=0; End b-Thêm các lệnh vào chương trình nhằm sửa đổi chương trình câu a để chương trình thực đếm số lượng số dương và số lượng số âm mảng Posi, neg: integer; Posi:=0;neg:=0; If a[i]>0 then Posi:=posi+1 Else if a[i]<0 then neg:=neg+1; Write(posi:4,neg:4); c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 2.Hoạt động 2: Rèn luyện kỹ lập trình a.Mục tiêu: - Viết chương trình hoàn thiện cách sử dụng lệnh và kiểu liệu mảng chiều b.Nội dung: - Viết chương trình tìm phần tử có giá trị lớn mảng và in màn hình số và giá trị phần tử tìm Nếu có nhiều phần tử có cùng giá trị lớn thì đưa phần tử có số nhỏ c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Lấy ví dụ thực tiễn: Người mù tìm 1.Theo dõi ví dụ giáo viên viên sỏi có kích thước lớn dãy các viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn - Yêu cầu: nêu thuật toán tìm phần tử có giá -So sánh từ trái sang phải, giữ lại trị lớn số phần tử lớn 2.Tìm hiểu chương trình tìm số và giá trị 2.Quan sát chương trình, suy nghĩ và trả lời lớn - Chiếu chương trình ví dụ, sách giáo khoa, trang 64 - Hỏi: Vai trò biến J chương trình? - Giữ lại số phần tử có giá trị lớn - Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần - Phép so sánh a[i]<a[j] sửa chỗ nào? - Hỏi: Nếu muốn tìm phần tử lớn với - Chuyển thứ tự duyệt từ n-1 số lớn ta sửa chỗ nào? Đặt yêu cầu mới: Viết chương trình đưa 3.Theo dõi yêu cầu, suy nghĩ các câu hỏi các số các phần tử có giá trị lớn định hướng để viết chương trình - Hỏi: Cần giữ lại đoạn chương trình tìm giá - Có trị lớn không? - Hỏi: Cần thêm lệnh nào nữa? - Lệnh để in các số có giá trị giá trị lớn tìm - Hỏi: Vị trí thêm các lệnh đó? - Sau tìm giá trị lớn - Yêu cầu: Viết chương trình hoàn thiện - Soạn chương trình vào máy Thực TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (9) chương trình và thông báo kết - Yêu cầu học sinh nhập liệu vào - Nhập liệu và thong báo cho giáo viên giáo viên và báo cáo kết liệu - Đánh giá kết học sinh IV ĐÁNH GIÁ CUỐI BÀI: 1.Những nội dung đã học: Một số thuật toán bản: +Tính tổng các phần tử thoả mãn điều kiện nào đó +Đếm các số phần tử thoả mãn điều kiện nào đó +Tìm phần tử lớn nhất, nhỏ 2.Câu hỏi và bài tập nhà: - Viết chương trình nhập mảng chiều A[1 20] và nhập số x Đếm số lượng số A có giá trị x - Xem nội dung bài thực hành số 4, sách giáo khoa, trang 65 TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (10) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 26,27 BÀI THỰC HÀNH SỐ I.MỤC TIÊU: 1.Kiến thức: - Củng cố lại các kiến thức lập trình với kiểu liệu mảng - Làm quen với thuật toán xếp đơn giản 2.Kỹ năng: - Rèn luyện kỹ sử dụng kiểu liệu có cấu trúc, kỹ diễn đạt thuật toán chương trình sử dụng liệu kiểu mảng - Rèn luyện kỹ nhận xét, phân tích và đề xuất cách giải bài toán cho chương trình chạy nhanh 3.Thái độ: - Tự giác, chủ động thực hành II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên: - Phòng máy vi tính, máy chiếu Projector để hướng dẫn 2.Chuẩn bị học sinh: - Sách giáo khoa, chương trình đã viết sẵn III.HOẠT ĐỘNG DÃY-HỌC: 1.Hoạt động 1: Tìm hiểu chương trình diễn đạt thuật toán xếp a.Mục tiêu: - Học sinh hiểu chương trình và thuật toán xếp đơn giản b.Nội dung: Bài 1: Viết chương trình xếp các phần tử mảng theo thứ tự không giảm - Chương trình minh hoạ: Const nmax=250; Type arrint=array[1 nmax] of integer; Var n, I, j, y:integer; A: arrant; Begin Randomize; Write(‘Nhap n=’); Readln(n); For i:=1 to n a[i]:=random(300)-random(300); For i:=1 to n write(a[i]:5); Writeln; For J:=n downto For i:=1 to j-1 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 sap xep’); For i:=1 to n write(a[i]:7); Writeln; Readln; End - Yêu cầu: Soạn chương trình vào máy, chạy thử với các giá trị khác n Rút nhận xét thời gian thực chương trình TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (11) c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN 1.Gợi ý cho học sinh thuật toán xếp tăng dần - Lấy ví dụ thực tiễn: Người mù xếp dãy các viên bi theo kích thước không giảm - Yêu cầu: Vạch các bước để xếp các phần tử mảng không giảm HOẠT ĐỘNG CỦA HỌC SINH 1.Chú ý theo dõi dẫn dắt giáo viên để trả lời câu hỏi - Lần lượt lấy phần tử từ trái qua phải - Cứ phần tử ta đem so sánh với các phần tử đứng bên phải nó - Nếu nhỏ thì đổi chỗ 2.Tìm hiểu chương trình ví dụ, sách giáo 2.Quan sát chương trình, suy nghĩ và trả lời khoa, trang 65 TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (12) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết:28 Bài Tập Kiểu Mảng I-Mục Đích Yêu Cầu Giúp học sinh nắm rõ liệu kiểu mảng, cách khai báo sử dụng mảng, đưa số bài tập liên quan đến sử dụng kiểu mảng để học sinh nhận rỏ đặc trưng kiểu mảng, nào thì cần dùng kiểu mảng II-Ổn Định Lớp III-Hỏi Bài Củ 1-Trình bày cách khai báo mảng chiều, mảng hai chiều và giải thích 2-Hãy khai báo mảng chiều có tên là A chứa tối đa 50 số nguyên mảng chiều, mảng có tên là B chứa tối đa 80 số thực (phân bố trên dòng 10 cột) IV-Nội Dung Bài Mới Nội Dung Ghi Bảng Bài toán Viết chương trình nhập n*m số nguyên cho mảng chiều A có n dòng và m cột, sau đó đưa màn hình giá trị lớn mổi dòng Họat Động Thầy -Cho biết Input bài toán -Theo em cần biến nào, và loại liệu mổi biến -Một em lên viết phần khai báo và nhập giá trị cho mảng n dòng m cột, em lên viết đoạn chương trình tìm Chương trình: Var n,m,I,j,max:integer; giá trị lớn A: array[1 30,1 50] of dòng I bất kì Integer; Begin Write (‘nhap n va m:=’); Readln(n,m); - để tìm giá trị lớn cho n For i:=1 to n dòng thì ta lặp lặp lại n lần For j:= to m công việc tìm giá trị lớn Begin dòng đó ta dùng Write(‘Nhap phan tu dong thêm vòng lặp For ‘, i, ’cot’,j); Readln(A[i,j]); End; For i:= to n Begin Max:=0; For j:=1 to m If a[i,j]>max then max:=a[I,j]; Writeln( ‘gia tri lon nhat TrÇn ThÞ Thu HiÒn Lop11.com Hoạt Động Trò -Trả lời -Biến n, m thuộc kiểu Integer, biến A thuộc kiểu mảng chiều mà kiểu phần tử nó là -HS1: Var n,m:integer; A: array[1 30,1 50] of Integer; Begin Write (‘nhap n va m:=’);Readln(n,m); For i:=1 to n For j:= to m Begin Write(‘Nhap phan tu dong ‘,I,’cot’,j); Readln(A[I,j]); End; HS2: Max:=0; For j:=1 to m If a[i,j]>max then max:=a[I,j]; GVTin trường THPT Đặng Huy Trứ (13) cua dong ‘,I,’la’,max); End; Readln;END Bài Nhập n số nguyên từ bàn phím hãy xếp dãy số giảm dần -Phân tích thuật toán - -Viết chương trình V-Nhắc lại cách khai báo mảng, cách sử dụng mảng, nào thì sử dụng liệu kiểu mảng TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (14) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 29,30 §12.DỮ LIỆU KIỂU XÂU I.MỤC TIÊU: 1.Kiến thức: - Biết kiểu liệu mới, biết khái niệm kiểu xâu - Phân biệt giống và khác kiểu mảng ký tự với xâu ký tự - Biết cách khai báo biến, nhập xuất liệu, tham chiếu đến ký tự xâu - Biết các phép toán lien quan đến xâu 2.Kỹ năng: - Khai báo biến kiểu xâu 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 bài toán đơn giản II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên: - Máy vi tính, máy chiếu Projector để giới thiệu ví dụ 2.Chuẩn bị học sinh: - Sách giáo khoa III.HOẠT ĐỘNG DẠY-HỌC: 1.Hoạt động 1: Tìm hiểu xâu và cách sử dụng a.Mục tiêu: - Học sinh biết ý nghĩa xâu và số khái niệm xâu Biết cách khai báo biến xâu, nhập xuất liệu cho biến xâu và tham chiếu đến ký tự xâu b.Nội dung: - Xâu ký tự là dãy các ký tự bảng mã ASCII, ký tự gọi là phần tử xâu Số lượng các ký tự xâu gọi là độ dài xâu Xâu có độ dài không là xâu rỗng - Khai báo biến: VAR tên biến: STRING[độ dài lớn xâu]; - Tham chiếu đến ký tự xâu: tên biến[chỉ số] c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Tìm hiểu ý nghĩa xâu ký tự: 1.Quan sát, suy nghĩ và trả lời - Chiếu đề bài bài toán đặt vấn đề: Viết chương trình nhập họ tên 30 học sinh lớp - Hỏi: Ta chọn kiểu liệu nào? - Kiểu mảng chiều gồm 30 ký tự Khai báo biến nào? - Khai báo biến mảng A để lưu họ tên học sinh - Yêu cầu học sinh: Viết đoạn lệnh để nhập Readln(A[1]);Readln(A[2]); và xuất liệu cho phần tử Readln(A[3]);Readln(A[4]); … TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (15) - Hỏi: Có khó khăn gì gặp phải? - Dẫn dắt: Cần có kiểu liệu cho phép ta nhập/xuất liệu cho xâu lệnh 2.Tìm hiểu kiểu xâu: - Chiếu lên bảng cách khai báo biến xâu ngôn ngữ lập trình Pascal - Hỏi: Ý nghĩa từ String, [n] - Hỏi: Khi khai báo không có [n] thì số lượng ký tự tối đa là bao nhiêu? - Yêu cầu học sinh cho ví dụ xâu ký tự - Hỏi: Xâu có bao nhiêu ký tự? - Diễn giải: Mỗi ký tự gọi là phần tử xâu Số lượng ký tự xâu gọi là độ dài xâu - Hỏi: Xâu gồm ký tự trống viết nào? Số lượng ký tự bao nhiêu? - Hỏi: Xâu rỗng viết nào? Số lượng ký tự bao nhiêu? 3.Nhập/ xuất liệu cho biến xâu ngôn ngữ Pascal - Giới thiệu cấu trúc chung thủ tục nhập/xuất liệu - Yêu cầu học sinh tìm ví dụ cụ thể - Chương trình viết dài dòng Khi nhập liệu, phải thực gỗ nhiều phím 2.Quan sát cấu trúc khai báo và tham khảo sách giáo khoa - String là kiểu xâu - [n] là giá trị quy định số lượng ký tự tối đa mà biến xâu có thể chứa - Số ký tự tối đa là 255 - Ví dụ: ‘HA NOI’ - Xâu có ký tự, dấu cách là ký tự - Ký hiệu xâu gồm ký tự trống là ‘’ Xâu này có độ dài là - Ký hiệu xâu rỗng là ‘ ‘ Xâu này có độ dài là 3.Quan sát bảng để trả lời - Ví dụ: Readln(hoten); - Ví dụ: Write(‘Ho ten’,hoten); - Hỏi: Khi viết lệnh nhập/xuất liệu cho - Viết lệnh nhập nguyên cho xâu biến xâu, có gì khác so với biến mảng các Viết lệnh gọn hơn, chương trình gọn ký tự - Dẫn dắt: Ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu Cấu trúc chung: tên biến xâu:=hằng xâu; - Yêu cầu học sinh tìm ví dụ cụ thể - Ví dụ: St:=’HA NOI’; 4.Tham chiếu đến ký tự xâu 4.Quan sát và suy nghĩ để trả lời - Giới thiệu cấu trúc chung - Hỏi: Có gì giống và khác so với cách - Giống cấu trúc chung tham chiếu tên tham chiếu đến phần tử mảng biến[chỉ số] - Yêu cầu học sinh tìm ví dụ - Ví dụ: st[2] 5.Kiểm tra kiến thức 5.Quan sát chương trình trên bảng và độc - Chiếu nội dung bài tập kiểm tra kiến thức: lập suy nghĩ Var st:string[1]; c:char; Begin - Lệnh {1} đúng c:=st[1]; {1} - Lệnh {2} sai Không thể gán xâu cho ký tự c:=st; {2} End - Hỏi: Trong hai lệnh {1} và {2}, lệnh nào đúng? - Thực chương trình để học sinh tự kiểm nghiệm suy luận TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (16) 2.Hoạt động 2: Tìm hiểu các phép toán liên quan đến xâu a.Mục tiêu: - Học sinh biết các phép toán lien quan đến xâu Diễn đạt các phép toán đó ngôn ngữ lập trình Pascal b.Nội dung: - Phép ghép xâu: ký hiệu là +, sử dụng ghép nhiều xâu thành xâu - Các phép so sánh: =,< >, >, <, <+, >=: Thực việc so sánhhai xâu Xâu A xem là lớn xâu B ký tự khác đầu tiên chúng kể từ trái sang xâu A có số bảng mã ASCII là lớn Nếu A và B là các xâu có độ dài khác và A là đoạn đầu B thì A nhỏ B c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Gợi nhớ các phép toán đã học 1.Chú ý theo dõi, suy nghĩ và trả lời - Hỏi: Hãy nhắc lại các phép toán đã học - Phép toán số học - Phép toán so sánh trên kiểu liệu chuẩn - Phép toán logic 2.Tìm hiểu chức số phép 2.Quan sát ví dụ, suy nghĩ và trả lời toán kiểu xâu qua số ví dụ - Chiếu chương trình ví dụ: - Quan sát chương trình Var st:string; Begin St:=’Ha’+’Noi’; Write(st); Readln; End - Hỏi: Kết chương trình in màn - Kết cho ta: st=’HA NOI’ hình? - Thực chương trình để học sinh thấy - Quan sát kết chương trình kết - Yêu cầu học sinh tìm số ví dụ khác - Ví dụ: st:=’HA NOI’+’Co ho GUOM’ Kết quả: st=’HA NOIco ho GUOM’ - Hỏi: Chức phép cộng? - Là phép toán nối xâu thứ hai vào cuối xâu - Giới thiệu thêm số ví dụ khác và yêu thứ cầu học sinh cho biết kết St:=’Ha’ +’Noi’; St:=’HaNoi’; St:=’Ha ‘+’Noi’; St:=’Ha Noi’; Tiết 1.Quan sát cấu trúc chung 1.Giới thiệu cấu trúc chung hàm length(st) lên bảng - Length: là tên hàm, có nghĩa là độ dài, st: - Hỏi: Ý nghĩa Length và st? là biểu thức xâu ký tự - Chiếu chương trình ví dụ: - Quan sát chương trình để dự tính kết Var st:string; Begin St:=’Ha Noi’; Write(length(st)); Readln; End - Hỏi: Kết chương trình in màn hình? - Kết là: - Thực chương trình để học sinh thấy kết - Quan sát kết chương trình - Hỏi: Chức hàm Length( ) là gì? - Chiếu đề bài tập ứng dụng: Viết chương - hàm cho số lượng ký tự xâu st trình nhập xâu, in màn hình số ký tự TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (17) ‘a’ có xâu 2.Giới thiệu cấu trúc chung hàm Upcase(ch) - Chiếu chương trình ví dụ: Var ch:char; Begin Ch:=’h’; Write(upcase(ch)); Readln; End - Hỏi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy kết - Hỏi: Chức hàm upcase( )? - Chiếu bài tập ứng dụng: Viết chương trình nhập xâu, in màn hình xâu đó dạng in hoa 3.Giới thiệu cấu trúc chung hàm pos(s1,s2) - Chiếu chương trình ví dụ: Var vt:byte; Begin Vt:=pos(‘cd’,”abcdefcd’);Write(vt); Readln;End - Hỏi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy kết - Chức hàm pos? - Thay tham số hàm pos chương trình pos(‘k’,’abc’) Hỏi kết hàm bao nhiêu? - Chiếu bài tập ứng dụng: Viết chương trình nhập vào xâu st Xét xem xâu có dấu cách hay không? - Hỏi: Có cách giải nào khác? 4.Giới thiệu cấu trúc chung hàm copy(st,vt,n) - Chiếu chương trình ví dụ: Var st:string; Begin St:=copy(‘bai tap’,3,4); Write(st); Readln; End - Hỏi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy TrÇn ThÞ Thu HiÒn Lop11.com 2.Quan sát cấu trúc chung hàm Upcase - Quan sát chương trình để dự tính kết - Kết là: H - Quan sát kết chương trình - Cho giá trị là chữ cái in hoa ch Var st:string; Begin Readln(st); For i:=1 to length(st) Write(upcase(st[i])); End 3.Quan sát cấu chung hàm pos và các ví dụ để biết chức - Quan sát chương trình để dự tính kết - Kết là : - Quan sát kết chương trình - Hàm cho giá trị là số nguyên là vị trí xâu st2 xâu st2 - Bằng không Var st:string; Begin Readln(st); If pos(‘ ‘,st)< >0 then write(‘Co’) Else write(‘Khong’); End - Có thể sử dụng For để tìm dấu cách xâu 4.Quan sát cấu trúc chung hàm copy và ví dụ để biết chức - Quan sát chương trình để dự tính kết GVTin trường THPT Đặng Huy Trứ (18) kết - Hỏi: Chức hàm copy? - Thay các tham số hàm copy chương trình ví dụ trên sau và hỏi kết in màn hình: Copy(‘abc’,1,5) Copy(‘abc’,5,2) Copy(‘abc’,1,0) - Thực chương trình để học sinh thấy kết 5.Giới thiệu cấu trúc chung thủ tục delete(st,vt,n); - Chiếu chương trình ví dụ: Var st:string; Begin St:=’HaNoi’;Delete(st,3,2);Write(st); Readln;End - Hỏi: Kết chương trình in màn hình? - Thực chương trình để học sinh thấy kết - Hỏi chức thủ tục delete( ); - Thay lệnh gán st:=’HaNoi’; và thủ tục xoá các lệnh sau và hỏi kết in màn hình St:=’abc’; Delete(st,1,5); St:=’abc’; Delete(st,5,2); St:=’abc’; Delete(st,1,0); - Chiếu bài tập ứng dụng: Viết chương trình nhập xâu và xoá các dấu cách thừa đầu xâu 6.Giới thiệu cấu trúc chung thủ tục Insert(st1,st2,vt) - Chiếu chương trình ví dụ: Var st1,st2:string; Begin St2:=’HaNoi’; St1:=’ ‘; Insert(st1,st2,3); Write(st); Readln; End - Hỏi: Kết chương trình in màn hình? TrÇn ThÞ Thu HiÒn Lop11.com - Kết là: ‘i ta’ - Quan sát kết chương trình - Hàm cho giá trị là xâu ký tự lấy xâu st, gồm n ký tự vị trí vt Cho gía trị là: ‘abc’ Cho giá trị là xâu rỗng Cho giá trị là xâu rỗng - Quan sát kết chương trình để kiểm nghiệm suy luận 5.Quan sát cấu trúc chung thủ tục delete và các ví dụ - Quan sát chương trình để dự tính để dự tính kết St=’Hai’ - Quan sát kết chương trình - Thủ tục thực việc xoá biến xâu st gồm n ký tự, vị trí vt St:=’ ‘; xâu rỗng St:=’abc’; St:=’abc’; Var st:string; Begin Readln(st); While st[1]=’ ‘ delete(st,1,1); Writeln(st); Readln; End 6.Quan sát cấu trúc chung thủ tục Insert - Quan sát chương trình để dự tính kết - Kết st2=’Ha Noi’ - Quan sát kết chương trình GVTin trường THPT Đặng Huy Trứ (19) - Thực chương trình để học sinh thấy - Thủ tục thực việc chèn xâu st1 vào kết biến xâu st2 bắt đầu vị trí vt - Hỏi: Chức thủ tục Insert( ); - Thay lệnh gán st2:=’HaNoi’; và thủ tục St2=’ efabc’; chèn các lệnh sau và hỏi kết quả: St2=’abc ef’; St2:=’ ef’; Insert(‘abc’,st2,5); St2:=’ ef’; Insert(‘abc’,st2,0); 2.Hoạt động 2: Rèn luyện kỹ vận dụng hàm và thủ tục a.Mục tiêu: - Học sinh biết sử dụng hàm và thủ tục để giải số bài toán đơn giản Linh hoạt việc lựa chọn hàm thủ tục b.Nội dung: - Viết chương trình nhập vào xâu và xoá các dấu cách thừa có xâu, để lại dấu cách hai từ c.Các bước tiến hành: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1.Xác định bài toán 1.Quan sát , suy nghĩ để trả lời - Chiếu nội dung đề bài lên bảng - Xác định liệu vào, liệu - Vào xâu ký tự - Ra: Một xâu có ký trắng hai từ - Hỏi: Các nhiệm vụ chính giải bài - Xoá dấu cách thừa đầu xâu và cuối toán này? xâu - Xoá các dấu cách thừa hai từ - Hỏi: Trong bài này, ta cần sử dụng - Hàm pos( ), thủ tục delete( ); hàm và thủ tục nào? 2.Chia lớp làm nhóm Yêu cầu viết 2.Thảo luận theo nhóm để viết chương trình - Thông báo kết chương trình lên bìa - Thu phiếu trả lời Chiếu kết lên bảng - Nhận xét và bổ sung thiếu sót Gọi học sinh nhóm khác nhận xét, đánh giá nhóm khác 3.Quan sát và ghi nhớ và bổ sung 3.Chiếu chương trình mẫu giáo viên đã viết để chính xác hoá lại cho học sinh IV ĐÁNH GIÁ CUỐI BÀI: 1.Những hàm và thủ tục liên quan đến xâu - Thủ tục Delete(st,vt,n);- Thủ tục Insert(st1,st2,vt); - Hàm Copy(st,vt,n) - Hàm Length(st) - Hàm pos(st1,st2) - Hàm UpCase(ch) 2.Câu hỏi và bài tập nhà: - Giải bài tập số 10 trang 80 - Viết chương trình nhập xâu In màn hình số từ có xâu - Xem phần nội dung bài thực hành số 5, sách giáo khoa, trang 73 - Chuẩn bị số bài tập để thực hành TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (20) Chương IV:Kiểu Dữ Liệu Có Cấu Trúc Tiết 31,32 BÀI THỰC HÀNH SỐ I.MỤC TIÊU: 1.Kiến thức: - Khắc sâu them phần kiến thức lý thuyết kiểu xâu ký tự, đặc biệt là các hàm và thủ tục liên quan - Nắm số thuật toán bản: tạo xâu mới, đếm số lần xuất ký tự… 2.Kỹ năng: - Khai báo biến kiểu xâu - Nhập, xuất giá trị cho biến xâu - Duyệt qua tất các kỹ tự xâu - Sử dụng các hàm và thủ tục chuẩn 3.Thái độ: - Tích cực, chủ động thực hành II ĐỒ DÙNG DẠY HỌC: 1.Chuẩn bị giáo viên: - Máy chiếu Projector để hướng dẫn Tổ chức phòng máy để học sinh có kỹ làm việc với kiểu xâu 2.Chuẩn bị học sinh: - Sách giáo khoa, bài tập nhà III.HOẠT ĐỘNG DẠY-HỌC: 1.Hoạt động 1: Tìm hiểu chương trình, đề xuất phương án cải tiến a.Mục tiêu: - Hiểu chương trình, tính kết chương trình Biết đề xuất phương án cải tiến b.Nội dung: - Nhập vào xâu, kiểm tra xem nó có phải là Palidrom hay không? - Chương trình: Var I,x: Byte; a,p: string; Begin Write(‘Nhap vao mot xau’); Readln(a);X:=length(a);P:=’’; For i:=x downto p:=p+a[i]; If a=p then write(‘Xau la Palidrom’) Else write(‘Xau khong la Palidrom’); Readln; End c.Các bước tiến hành: TrÇn ThÞ Thu HiÒn Lop11.com GVTin trường THPT Đặng Huy Trứ (21)

Ngày đăng: 01/04/2021, 04:26

TỪ KHÓA LIÊN QUAN

w