1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo án tin học lớp 11

119 26 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

Thông tin cơ bản

Định dạng
Số trang 119
Dung lượng 350,35 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiết 19 BÀI TẬP VÀ THỰC HÀNH 2 I. MỤC TIÊU BÀI HỌC 1. Về kiến thức Củng cố các kiến thức về cấu trúc rẽ nhánh. Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) một cách hợp lí Biết xây dựng chương trình có sử dụng cấu trúc rẽ nhánh 2. Về kĩ năng Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh Làm quen với việc hiệu chỉnh chương trình 3. Về thái độ Có thái độ học tập tích cực, nghiêm túc. Tự giác trong thực hành, tận dụng thời gian thực hành. II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1. Giáo viên Giáo án, SGK, SGV, nghiên cứu trước tài liệu tham khảo, bài tập thực hành, phòng máy, máy chiếu Projector (nếu có). 2. Học sinh Vở ghi, SGK, đồ dùng học tập. Học bài cũ và chuẩn bị bài mới III. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ (Kết hợp trong khi thực hành) 2. Nội dung bài mới Hoạt động của Thầy và Trò Nội dung cần đạt Hoạt động 1: Tìm hiểu mục đích, yêu cầu của bài thực hành (5 phút) GV: Giới thiệu cho học sinh biết mục đích, yêu cầu cũng như thời lượng của nội dung bài thực hành. HS: Quan sát, nghe giảng, ghi bài 1. Mục đích, yêu cầu Củng cố các kiến thức về cấu trúc rẽ nhánh. Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) một cách hợp lí Biết xây dựng chương trình có sử dụng cấu trúc rẽ nhánh Làm quen với việc hiệu chỉnh chương trình Hoạt động 2: Nội dung bài thực hành (35 phút) GV: Yêu cầu HS đọc thông tin SGK – Tr 49 để tìm hiểu về bộ số Pitago. HS: Đọc thông tin SGK. GV: Hãy cho ví dụ về bộ số Pitago? HS: Ví dụ 3 số: 3, 4, 5 lập thành bộ số Pitago vì: 32 + 42 = 52. GV: Để kiểm tra bộ ba số a, b, c bất kì có phải là bộ Pytago hay không, ta phải kiểm tra các đẳng thức nào? HS: Kiểm tra xem có đẳng thức nào trong 3 đẳng thức sau đây thoả mãn không? a2 = b2 + c2 b2 = a2 + c2 c2 = a2 + b2 GV: Đưa ra bài toán: Viết chương trình nhập từ bàn phím 3 số nguyên dương a, b, c và kiểm tra xem chúng có là bộ số Pitago hay không? Yêu cầu HS xác định InputOutput và xây dựng thuật giải cho bài toán. HS: Xác định InputOutput – xây dựng thuật giải của bài toán. GV: Giới thiệu chương trình giải bài toán (SGK – Tr 49, 50). Chia nhóm thực hành và tổ chức cho HS gõ chương trình vào máy. Gv: Thực hành làm mẫu 1 số thao tác trên máy chiếu cho học sinh quan sát, hướng dẫn, giải thích cho học sinh hiểu cách hoạt động và các chú ý trong khi soạn thảo chương trình. HS: Quan sát, nghe giảng HS: Thực hiện theo yêu cầu của GV. GV: Chú ý: trước else không có dấu chấm phẩy (;). GV: Yêu cầu HS lưu chương trình lên đĩa rồi nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a=3, b=4, c=5. Yêu cầu nhập thêm các giá trị khác ngoài ba giá trị yêu cầu. HS: thực hiện theo yêu cầu của GV. Gv: Quan sát, hướng dẫn cho học sinh trong khi thực hành, kịp thời sửa chữa những lỗi nếu có trong quá trình học sinh thực hành GV: Hướng dẫn, làm mẫu cách thực hiện việc theo đúng giá trị của các biến a2, b2, c2 của CT bằng cách nhấn phím F7 và theo đúng các giá trị của biến trên cửa sổ Watches, Trước hết cần dùng tổ hợp phím Ctrl+F7 để hiện cửa sổ Add Watches (Hoặc vào bảng chọn Debug chọn Add watch) sau đó nhập tên biến (ví dụ a2 là biến đang cần theo đúng giá trị) và nhấn phím Enter sẽ có tên biến a2 cựng giá trị của nó. Tương tự với các biến khác cần theo dõi b2, c2. HS: Quan sát và thực hành theo hướng dẫn trên. Gv: Quan sát, hướng dẫn học sinh cách thực hiện. HS: Thực hành theo yêu cầu 2. Nội dung a) Gõ chương trình sau: Bài toán. Bộ số Pitago Xác định bài toán + Input: Ba số a, b, c + Output: Ba số là bộ số Pitago hoặc ba số không phải là bộ số Pitago. Ý tưởng Kiểm tra xem có đẳng thức nào trong 3 đẳng thức sau đây thoả mãn không? a2 = b2 + c2 b2 = a2 + c2 c2 = a2 + b2 Nội dung chương trình: program Pi_ta_go; uses crt; var a,b,c:integer; a2, b2,c2: longint; begin clrscr; write(a, b, c: ); readln(a,b,c); a2:=a; b2:=b; c2:=c; a2:=a2a; b2:=b2b; c2:=c2c; if (a2=b2+c2) or (b2=a2+c2) or (c2=a2+b2) then writeln(Ba so da nhap la bo so Pi_ta_go ) else writeln(Ba so da nhap khong la bo so Pi_ta_go ); readln end. b) Lưu chương trình với tên PITAGO lên đĩa c) Nhấn phím F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a=3, b=4, c=5. KQ: a,b,c: 3 4 5 Ba so da nhap la bo so Pi_ta_go d) Vào bảng Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2;

Trang 1

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) một cách hợp lí

- Biết xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

2 Về kĩ năng

- Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh chương trình

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Hoạt động của Thầy và Trò Nội dung cần đạt

Hoạt động 1: Tìm hiểu mục đích,

yêu cầu của bài thực hành (5 phút)

GV: Giới thiệu cho học sinh biết mục

đích, yêu cầu cũng như thời lượng của

nội dung bài thực hành

HS: Quan sát, nghe giảng, ghi bài

1 Mục đích, yêu cầu

- Củng cố các kiến thức về cấu trúc rẽnhánh

- Biết sử dụng cấu trúc rẽ nhánh(dạng thiếu – dạng đủ) một cách hợp lí

- Biết xây dựng chương trình có sửdụng cấu trúc rẽ nhánh

- Làm quen với việc hiệu chỉnh

Trang 2

kì có phải là bộ Pytago hay không, ta

phải kiểm tra các đẳng thức nào?

HS: Kiểm tra xem có đẳng thức nào

trong 3 đẳng thức sau đây thoả mãn

dương a, b, c và kiểm tra xem chúng có

là bộ số Pi-ta-go hay không?

Yêu cầu HS xác định Input/Output và

xây dựng thuật giải cho bài toán

HS: Xác định Input/Output – xây

dựng thuật giải của bài toán

GV: Giới thiệu chương trình giải bài

toán (SGK – Tr 49, 50) Chia nhóm thực

hành và tổ chức cho HS gõ chương trình

vào máy

Gv: Thực hành làm mẫu 1 số thao tác

trên máy chiếu cho học sinh quan sát,

hướng dẫn, giải thích cho học sinh hiểu

cách hoạt động và các chú ý trong khi

soạn thảo chương trình

2 Nội dung a) Gõ chương trình sau:

Bài toán Bộ số Pi-ta-go

- Xác định bài toán

+ Input: Ba số a, b, c + Output: Ba số là bộ số Pitago hoặc

ba số không phải là bộ số Pitago.

- Ý tưởng

Kiểm tra xem có đẳng thức nào trong

3 đẳng thức sau đây thoả mãn không?

Trang 3

HS: Quan sát, nghe giảng

HS: Thực hiện theo yêu cầu của GV

GV: Chú ý: trước else không có dấu

chấm phẩy (;)

GV: Yêu cầu HS lưu chương trình lên

đĩa rồi nhấn phím F7 để thực hiện từng

câu lệnh chương trình, nhập các giá trị

a=3, b=4, c=5 Yêu cầu nhập thêm các

giá trị khác ngoài ba giá trị yêu cầu

HS: thực hiện theo yêu cầu của GV

Gv: Quan sát, hướng dẫn cho học

sinh trong khi thực hành, kịp thời sửa

chữa những lỗi nếu có trong quá trình

học sinh thực hành

GV: Hướng dẫn, làm mẫu cách thực

hiện việc theo đúng giá trị của các biến

a2, b2, c2 của CT bằng cách nhấn phím

F7 và theo đúng các giá trị của biến trên

cửa sổ Watches, Trước hết cần dùng tổ

hợp phím Ctrl+F7 để hiện cửa sổ Add

Watches (Hoặc vào bảng chọn Debug

chọn Add watch) sau đó nhập tên biến

(ví dụ a2 là biến đang cần theo đúng giá

trị) và nhấn phím Enter sẽ có tên biến a2

cựng giá trị của nó Tương tự với các

biến khác cần theo dõi b2, c2

- Nhấn mạnh cách theo dõi giá trị của các biến khi chạy chương trình

- Trước else không có dấu chấm phẩy (;)

Trang 4

- Khi nhập bộ giá trị cho các biến thì các giá trị cách nhau bằng dấu cách.

- Lưu lại chương trình vừa chỉnh sửa

- Thoát khỏi Pascal, tắt máy tính đúng qui trình

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học và ôn lại các nội dung bài học

- Tiết sau kiểm tra một tiết lý thuyết, yêu cầu về nhà ôn lại các kiến thức đãđược học

- Trả lời các câu hỏi và làm các bài tập SGK (trang 50 + 51)

Trang 5

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết sử dụng cấu trúc rẽ nhánh (dạng thiếu – dạng đủ) một cách hợp lí

- Biết xây dựng chương trình có sử dụng cấu trúc rẽ nhánh

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Hoạt động của giáo viên và học sinh Nội dung bài giảng

Hoạt động 1: Tìm hiểu lại về câu

lệnh rẽ nhánh và bài toán Pi_ta_go

Câu lệnh rẽ nhánh

- Dạng thiếu:

Trang 6

(10 phút).

Gv: Giới thiệu lại cho học sinh về câu

lệnh rẽ nhánh If Then dạng thiếu và

Gv: Giới thiệu lại bài toán Pi-ta-go,

các yêu cầu, cách xác định bài toán, ý

tưởng để xây dựng bài toán và cách sử

dụng câu lệnh rẽ nhánh áp dụng để thực

hiện bài toán Pi-ta-go trong TP

If <điều kiện> then <câu lệnh>;

- Dạng đủ:

If <điều kiện> then <câu lệnh 1>

else <câu lệnh 2>;

Bài toán Bộ số Pi-ta-go

- Xác định bài toán

+ Input: Ba số a, b, c + Output: Ba số là bộ số Pitago hoặc

ba số không phải là bộ số Pitago.

GV: Hướng dẫn hs mở tệp lưu bài

tập chương trình PITAGO (chọn FILE

chọn OPEN, hoặc nhấn phím F3, chọn

tệp cần mở) sau đó thực hiện các yêu

cầu của bài toán

HS: Thực hành theo hướng dẫn của

giáo viên, mở chương trình

Gv: Quan sát, hướng dẫn học sinh

thực hành mở chương trình đã gõ trong

tiết thực hành trước

Gv: Yêu cầu học sinh sau khi đã mở

được chương trình trên, sau đó tắc hết

màn hình và quan sát thầy giáo hướng

dẫn thực hành nội dung của các phần

Uses crt;

Var a, b, c: integer;

a2,b2,c2: longint;

Begin Clrscr;

Trang 7

HS: Thực hành, báo cáo kết quả.

GV: Yêu cầu học sinh tiếp tục nhấn

GV: Yêu cầu HS thực hiện lặp lại các

bước như trên với a=700, b=1000,

c=800 và tự làm các thao tác như trên

trong thời gian này hướng dẫn một số

học sinh thực hiện các thao tác trong bài

thực hành

HS: Quan sát và thực hiện theo nội

dung yêu cầu

Gv: Yêu cầu học sinh tự nhập với các

dữ liệu khác và tự so sánh kết quả (Nếu

còn thời gian)

Gv: Yêu cầu học sinh sau khi đã mở

được chương trình trên, sau đó tắc hết

màn hình, gọi học sinh đọc yêu cầu thực

hành của câu h trong bài thực hành 2.

HS: Đọc bài

Gv: Thực hành làm mẫu, hướng dẫn

cho học sinh hiểu cách thực hiện của bài

thực hành, tiếp tục sử dụng bảng chọn

Debug và dùng phím F7 để theo dõi

từng câu lệnh, sau đó so sánh với kết

quả của câu g

HS: Quan sát, thực hiện theo yêu cầu

của bài tập

Gv: Gọi một số học sinh yêu cầu cho

biết kết quả của việc thay đổi trên có gì

thay đổi so với kết quả của câu g

HS: Trả lời

Gv: Cho học sinh quan sát kết quả

của việc thay đổi Kết quả không thay

f) Quan sát quá trình rẽ nhánh;

g) Lặp lại các bước nói trên với a=700, b=1000, c=800;

h) Nếu thay dãy lệnh

Trang 8

đổi so với dữ liệu ở câu g.

HS: Quan sát, Thực hành

3 Củng cố và luyện tập (3 phút)

- Giáo viên nhắc lại cách sử dụng một số công cụ trong TP hỗ trợ cho việcthực hiện, theo dõi, thay đổi giá trị biến trong chương trình

+ Nhấn phím F7 để thực hiện từng câu lệnh chương trình;

+ Chọn Debug để mở cửa sổ hiệu chỉnh hoặc nhấn tổ hợp phím Cltr + F7

- Thoát khỏi Pascal, tắt máy tính đúng qui trình

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học và ôn lại các nội dung bài học

- Về nhà xem trước nội dung chương IV Kiểu dữ liệu có cấu trúc bài 10:Kiểm mảng giờ sau học lý thuyết

Trang 9

Ngày giảng Lớp Sĩ số Tên HS vắng

- Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu;

- Các NNLT thông dụng cho phép người lập trình xây dựng kiểu dữ liệu mảngmột chiều;

- Để mô tả mảng một chiều cần khai báo kiểu của các phần tử và cách đánh sốcác phần tử của nó;

- Có thể tham chiếu phần tử của mảng bằng tên của mảng và chỉ số tương ứngcủa phần tử này

- Có hai cách đẻ khai báo kiểu dữ liệu mảng một chiều trong TP

2 Về kỹ năng

- Nhận biết được các thành phần trong khai báo kiểu mảng một chiều;

- Nhận biết các định danh của phần tử kiểu mảng một chiều xuất hiện trong mộtCT;

- Biết cách khai bào kiểu mảng đơn giản với chỉ số kiểu miền con của kiểunguyên

- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngônngữ lập trình Pascal để giải quyết một số bài toán cụ thể đơn giản

3 Về thái độ

- Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toánbằng máy tính

- Có ý thức tự giác học tập và có tinh thần tập thể tham gia hoạt động nhóm

II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

1 Giáo viên

Trang 10

- Giáo án, SGK, SGV, nghiên cứu trước tài liệu tham khảo, phòng máy, máychiếu hoặc màn hình lớn.

2 Học sinh

- Vở ghi, SGK, đồ dùng học tập

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Không)

2 Nội dung bài mới

Hoạt động của giáo viên và học sinh Nội dung bài giảng

Hoạt động 1 Tìm hiểu Kiểu mạng 1

chiều (25 phút)

GV: Yêu cầu HS tự đọc phần đầu của

mục 1 SGK –T53

HS: Đọc SGK

Gv: Cùng học sinh đi phân tích ví dụ

xét nhiệt độ trung bình của tuần và của N

ngày Từ đó cho các em thấy được tầm

quan trọng của mảng

GV: Trình bày và giải thích câu lệnh

cho chương trình Nhietdo_tuan

SGK-T53 và CT Nhietdo_Nngay SGK- T54

(Trình chiếu).

GV: Qua hai ví dụ trên ta thấy được

rằng, khi cần giải bài toán lên đến N ngày

thì cách làm như CT Nhietdo_tuan không

những đòi hỏi một khối lượng khai báo

khá lớn mà CT tính toán cũng khá dài Vì

vậy cần sử dụng đến mảng để giải quyết

những bài toán như vậy Vậy mảng là gì?

GV: Hãy cho biết khái niệm về mảng

một chiều? Tại sao cần dùng đến mảng

một chiều?

HS: Trả lời

GV: Các ngôn ngữ lập trình có qui tắc

và cách thức cho phép xác định

HS: Quan sát, nghe giảng, ghi bài

GV: Các em hãy quan sát hai ví dụ

trên; đó là các cách khai báo mảng một

chiều Qua các ví dụ trên, em hãy chỉ ra

1 Kiểu mảng một chiều

Ví dụ Nhiệt độ trung bình của tuần.Nhiệt độ trung bình của ngày (SGK -T53+54)

- Mảng một chiều là dãy hữu hạn cácphần tử cùng kiểu Mảng được đặt tên vàmỗi phần tử của nó có một chỉ số Để mô

tả mảng một chiều cần xác định kiểu củacác phần tử và cách đánh số các phần tửcủa nó

- Khi xây dựng và sử dụng kiểu mảngmột chiều, các NNLT có quy tắc, cáchthức cho phép xác định:

+ Tên kiểu mảng một chiều;

+ Số lượng phần tử;

+ Kiểu dữ liệu của phần tử;

+ Cách khai báo biến mảng;

+ Cách tham chiếu đến phần tử

a) Khai báo

* Tổng quát, khai báo mảng một

chiều có hai dạng

- Cách 1: khai báo trực tiếp.

Var <tên biến mảng>:array[kiểu chỉ số] of <kiểu phần tử>;

- Cách 2: Khai báo gián tiếp.

Trang 11

cách khai báo mảng một chiều tổng quát.

HS: Trả lời câu hỏi

GV: Lấy ví dụ phân tích cho học sinh

hiểu các thành phần trong khai báo và

các cách khai báo mảng

Ví dụ 1

Var LOP: array[40 100] of integer;

TO: array[1 7] of integer;

HS: Quan sát, nghe giảng, ghi bài

GV: Vậy để có thể tham chiếu đến

phần tử của mảng người ta sử dụng cấu

trúc như thế nào?

HS: Suy nghĩ, trả lời câu hỏi

GV: Nhận xét, đưa ra ví dụ, phân tích

cho học sinh hiểu cách tham chiếu đến

phần tử của mảng và một vài thông tin về

mảng

HS: Quan sát, nghe giảng, ghi bài

Type <tên kiểu mảng>=array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu

mảng>;

Trong đó:

+ Kiểu chỉ số thường là một đoạn sốnguyên liên tục có dạng n1 n2 với n1,n2 là các hằng hoặc biểu thức nguyênxác định chỉ số đầu và chỉ số cuối (n1 ≤n2);

+ Kiểu phần tử là kiểu của phần tửmảng

* Cách tham chiếu đến phần tử của mảng:

Tham chiếu đến phần tử của mảng đượcxác định theo cú pháp sau:

Tên biến mảng [Giá trị chỉ số];

cầu các nhóm thảo luận với nội dung sau

(Trình chiếu yêu cầu cho các nhóm thảo

- Nhóm 1, 3: Hãy viết khai báo mảng

một chiều theo cách 1 (trực tiếp)?

- Nhóm 2: Hãy viết khai báo mảng

một chiều theo cách 2 (gián tiếp)?

Đáp án:

Cách 1:

Vara:array[1 100] of integer;

Cách 2:

Trang 12

GV: Nhận xét, đánh giá, kết luận.

Typemang=array[1 100] of integer;

Vara:mang;

3 Củng cố và luyện tập (3 phút)

- Hệ thống kiến thức cần nhớ

- Cách tạo kiểu mảng một chiều và cách khai báo biến:

Type <tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng>;

- Tham chiếu đến từng phần tử của mảng một chiều được xác định bởi tênmảng cùng với chỉ số, được viết trong cặp dấu ngoặc [ ]

Trang 13

Ngày giảng Lớp Sĩ số Tên HS vắng

- Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu;

- Các NNLT thông dụng cho phép người lập trình xây dựng kiểu dữ liệu mảngmột chiều;

- Để mô tả mảng một chiều cần khai báo kiểu của các phần tử và cách đánh sốcác phần tử của nó;

- Có hai cách để khai báo kiểu dữ liệu mảng một chiều trong TP

2 Về kỹ năng

- Nhận biết được các thành phần trong khai báo kiểu mảng một chiều;

- Nhận biết các định danh của phần tử kiểu mảng một chiều xuất hiện trong mộtCT;

- Biết cách khai bào kiểu mảng đơn giản với chỉ số kiểu miền con của kiểunguyên

- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngônngữ lập trình Pascal để giải quyết một số bài toán cụ thể đơn giản

- Hình thành kỹ năng cơ bản về sử dụng kiểu mảng trong cài đặt chương trình

- Các công việc liên quan trong kiểu mảng có liên quan đến câu lệnh For To Do

3 Về thái độ

- Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toánbằng máy tính

- Có ý thức tự giác học tập và có tinh thần tập thể tham gia hoạt động nhóm

II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

Trang 14

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (5 phút)

Câu hỏi

Viết có pháp cách khai báo mảng một chiều theo hai cách? Áp dụng khai báomạng một chiều gồm 50 phần tử thuộc kiểu số thực

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Tìm hiểu ví dụ 1 tìm

Max (20 phút)

GV: Cùng học sinh đi phân tích các

yêu cầu của ví dụ 1 trong SGK tìm

phần tử lớn nhất của dãy số nguyên

GV: Yêu cầu HS hãy cho biết Input

và Output của bài toán?

HS: trả lời

Gv: Nhận xét, kết luận

GV: Giới thiệu cho học sinh nhớ lại

thuật toán tìm phần tử lớn nhất trong

dãy số nguyên đã được học trong

chương trình Tin học lớp 10 Phân

tích, giải thích thuật toán cho học sinh

hiểu

GV: Trình bày và giải thích chương

trình Tìm giá trị Max (Dùng màn hình

lớn trình chiếu)

HS: Quan sát, nghe giảng, ghi bài

GV: Gọi HS đứng tại chỗ giải thích

ý nghĩa từng câu lệnh

HS: Trả lời

1 Kiểu mảng một chiều b) Một số ví dụ

- Ví dụ 1: tìm phần tử lớn nhất của dãy

số nguyên.

Xác định bài toán

+ Input: Số nguyên dương N và dãy gồm

N sô nguyên dương a1, a2, …, an + Output: Max(a1, a2, …, an)

Thuật toán:

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ếtthúc;

Trang 15

Gv: Giới thiệu, phân tích cho học

sinh hiểu cách sử dụng kiểu mảng

trong chương trình, cách khai báo

biến mảng, cách nhập mảng, in mảng

và thao tác tìm max trong dãy số cho

học sinh hiểu rõ hơn về việc sử dụng

kiểu mảng (Trình chiếu)

HS: Quan sát, nghe giảng, ghi bài

N, i, Max csmax: integer;

A: arrInt;

BeginWrite(‘Nhap so phan tu cua day so, N=’);Readln(N);

For i:=1 to N do Begin

Write(‘Phan tu thu ‘,i, ‘ =’);

GV: Yêu cầu các em tự soạn thảo,

hiệu chỉnh chương trình trên và lưu

với tên TKnhinphan

HS: Bật máy thực hành

GV: Quan sát, hướng dẫn, sữa chữa

cho học sinh trong quá trình thực

hành

Thực hành

- Soạn thảo chương trình trên, tự hiệuchỉnh chương trình và nhập dữ liệu để kiểmtra quá trình thực hiện của chương trình

3 Củng cố và luyện tập (3 phút)

- Củng cố cho HS nắm chắc hai cách khai báo biến mảng một chiều:

Var <tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;

Hoặc

Trang 16

Type <tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng>;

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học bài theo câu hỏi SGK, làm bài tập trong SBT, đọc trước ví dụ 2 T57

Trang 17

SGK-Ngày giảng Lớp Sĩ số Tên HS vắng

- Nhận biết được các thành phần trong khai báo kiểu mảng một chiều;

- Nhận biết các định danh của phần tử kiểu mảng một chiều xuất hiện trong mộtCT;

- Biết cách khai bào kiểu mảng đơn giản với chỉ số kiểu miền con của kiểunguyên

- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngônngữ lập trình Pascal để giải quyết một số bài toán cụ thể đơn giản

- Hình thành kỹ năng cơ bản về sử dụng kiểu mảng trong cài đặt chương trình

- Các công việc liên quan trong kiểu mảng có liên quan đến câu lệnh For To Do

3 Về thái độ

- Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toánbằng máy tính

- Có ý thức tự giác học tập và có tinh thần tập thể tham gia hoạt động nhóm

II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

Trang 18

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (5 phút)

Câu hỏi

- Viết chương trình nhập vào mảng 1 chiều gồm 10 phần tử, đưa mảng vừanhập ra màn hình

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1: Tìm hiểu ví dụ 2

sắp xếp dãy số bằng tráo đổi (15

phút)

GV: Cùng học sinh đi phân tích các

yêu cầu của ví dụ 2 trong SGK Sắp

xếp dãy số bằng thuật toán tráo đổi

GV: Yêu cầu HS hãy cho biết Input

và Output của bài toán?

HS: trả lời

Gv: Nhận xét, kết luận

GV: Giới thiệu cho học sinh nhớ lại

thuật toán sắp xếp dãy số bằng tráo

đổi đã được học trong chương trình

Tin học lớp 10 Phân tích, giải thích

thuật toán cho học sinh hiểu

GV: Trình bày và giải thích chương

trình sắp xếp dãy số bằng tráo đổi

(Dùng màn hình lớn trình chiếu)

1 Kiểu mảng một chiều b) Một số ví dụ

Ví dụ 2: sắp xếp dãy số nguyên bằng

thuật toán tráo đổi.

+ Input: Số nguyên dương N và dãy Agồm N số nguyên dương a1, a2, …, an

+ Output: dãy A đựơc sắp xếp thành dãykhông giảm

Thuật toán:

B1: Nhập N và dãy a1, a2, …, an.B2: M ← N;

B3: Nếu M < 2 thì đưa ra dãy A đã được

SX rồi kết thúc;

B4: M ← M – 1; i ← 0;

B5 i ← i + 1;

B6: Nếu i > M thì quay lại B3;

B7: Nếu ai > ai+ 1thì tráo đổi ai và ai+ 1 chonhau;

Trang 19

HS: Quan sát, nghe giảng, ghi bài

GV: Gọi HS đứng tại chỗ giải thích

ý nghĩa từng câu lệnh

HS: Trả lời

Gv: Giới thiệu, phân tích cho học

sinh hiểu cách sử dụng kiểu mảng

trong chương trình, cách khai báo

biến mảng, cách nhập mảng, in mảng

và thao tác sắp xếp dãy số bằng tráo

đổi (Sắp xếp tăng dần) trong dãy số

cho học sinh hiểu rõ hơn về việc sử

For i:=1 to N do Begin

Write(‘Phan tu thu ‘,i, ‘ =’);

Readln(A[i]);

End;

For j:=N downto 2 do For i:=1 to j – 2 do

If A[i] > A[i+1] then Begin

TG:=A[i];

A[i]:=A[i+1];

A[i+1]:=TG;

End;

Writeln(‘Day so duoc sap xep la:’);

For i:=1 to N do writeln(A[i]):4);

ReadlnEnd

Hoạt động 2: Thực hành (15

phút)

GV: Tổ chức cho học sinh bật máy

tính thực hành chương trình trên

GV: Yêu cầu các em tự soạn thảo,

hiệu chỉnh chương trình trên và lưu

với tên TKnhinphan

HS: Bật máy thực hành

GV: Quan sát, hướng dẫn, sữa chữa

cho học sinh trong quá trình thực

hành

Thực hành

- Soạn thảo chương trình trên, tự hiệuchỉnh chương trình và nhập dữ liệu để kiểmtra quá trình thực hiện của chương trình

3 Củng cố và luyện tập (3 phút)

Trang 21

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết có pháp khai báo kiểu dữ liệu có cấu trúc: Kiểu mảng một chiều

- Biết vận dụng kiến thức để xây dựng chương trình

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Kết hợp trong khi chữa bài tập)

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Chữa Bài 6 SGK- T79

Trang 22

GV: Cùng học sinh đi phân tích các

yêu cầu của bài toán Yêu cầu học sinh

xác định bài toán? các yêu cầu của bài

HS: Quan sát, nghe giảng, ghi bài

GV: Để thực hiện được các yêu cầu

của bài toán ta sử dụng kiểu mảng một

chiều và áp dụng các câu lệnh của vòng

lặp thực hiện yêu cầu trên

GV: Hướng dẫn học sinh cách khai

báo, nhập n và nhập dãy số Đưa ra cách

tính số lượng số chẵn và số lẻ; Số lượng

số nguyên tố trong dãy

(Trình chiếu chương trình cho học

sinh quan sát), giải thích cho học sinh

hiểu cách thực hiện của các câu lệnh

WRITE('NHAP LAI, SO PHAN TUCUA DAY A (N<=100), N= ');

READLN(N);

END;

FOR I:=1 TO N DO BEGIN

Trang 23

READLNEND.

Hoạt động 2: Thực hành (15 phút)

GV: Tổ chức cho học sinh thực hành

luôn chương trình vừa thực hiện được

HS: Bật máy thực hành, tự soạn thảo,

dịch và chạy chương trình để hiểu rõ

hơn cách hoạt động của các câu lệnh

trong chương trình

GV: Quan sát, hướng dẫn, sửa chữa

cho học sinh trong khi các em thực

hành Trình chiếu kết quả thực hành cho

học sinh quan sát và đối chiếu với bài

làm của mình

HS: Thực hành theo yêu cầu, đối

chiếu kết quả

Thực hành Soạn thảo chương trình của bài tập 6 Cho biết ý nghĩa của các câu lệnh trong chương trình

3 Củng cố và luyện tập (3 phút)

- Cách khai báo mảng một chiều

- Nhập, in mảng một chiều

- Một vài thao tác với mảng 1 chiều

- Soạn thảo, cách dịch, chạy CT

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Yêu cầu về nhà trả lời và làm các bài tập liên quan đến mảng 1 chiều trong

SGK trang 79, 80 Tự thực hành lại (Nếu có điều kiện)

- Đọc và tìm hiểu trước Bài tập và thực hành 3 giờ sau học thực hành bài 3

Trang 24

Ngày giảng Lớp Sĩ số Tên HS vắng

- Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng;

- Cung cấp cho HS ba thuật toán cơ bản và đơn giản thường gặp với dữ liệukiểu mảng: 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 hay nhỏ nhất cùng vị trí của nótrong mảng; Giới thiệu hàm ramdom;

- Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính

2 Về kĩ năng

- HS có được các kỹ năng cơ bản làm việc với kiểu mảng (một chiều) tronglập trình, cụ thể là: Khai báo kiểu dữ liệu mảng; nhập dữ liệu cho mảng, đưa ramàn hình chỉ số và giá trị các phần tử của mảng; Duyệt qua các phần tử của mảng

2 Học sinh

- Vở ghi, SGK, đồ dùng học tập

Trang 25

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Tìm hiểu mục đích,

yêu cầu của bài thực hành (5 phút)

Gv: Giới thiệu cho học sinh biết

mục đích và yêu cầu của bài thực

GV: Nhắc lại cho học sinh nhớ lại

một số thao tác với mảng 1 chiều

Nhập mảng, khai báo mảng, đưa

mảng ra và một vài thao tác với mảng

sẽ áp dụng trong bài thực hành hôm

có sẵn.

- Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính.

* Cách khai báo mảng

- Cách 1: khai báo trực tiếp.

Var <tên biến mảng>:array[kiểu chỉ số]

of <kiểu phần tử>;

- Cách 2: Khai báo gián tiếp.

Type <tên kiểu mảng>=array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng>;

Hoạt động 2: Nội dung thực

hành (35 phút)

GV: Yêu cầu HS đọc đề bài và

chương trình (ý a) bài 1 SGK- T63

HS: Đọc SGK

GV: Cùng học sinh đi phân tích

các yêu cầu của bài tập thực hành

GV: Giới thiệu, hướng dẫn cho học

sinh cách khai báo sử dụng mảng

trong bài thực hành

HS: Quan sát, nghe giảng, ghi bài

GV: Giới thiệu cho học sinh về thủ

tục ramdomize khởi tạo lấy số ngẫu

nhiên trước khi dùng lênh ramdom(n)

để lấy số ngẫu nhiên trong phạm vi từ

300 Tính tổng các phần tử của mảnglà bội

số của một số nguyên dương k cho trước

a) Hãy tìm hiểu và chạy thử CT sau:

Trang 26

cho học sinh trả lời và thực hiện theo

yêu cầu (trình chiếu)

+ MyArray là tên biến hay tên một

GV: Thực hành, chiếu bài mẫu cho

học sinh quan sát cách thực hiện

chương trình

GV: Yêu cầu HS soạn thảo chương

trình, tự sửa lỗi, hiệu chỉnh, chạy thử

HS: Bật máy tính thực hành theo

nhóm đã được quy định

HS: Thực hành theo yêu cầu

GV: Quan sát, hướng dẫn học sinh

thực hành Chiếu kết quả bài làm cho

học sinh đối chiếu và so sánh với bài

của HS

HS: Thực hành theo yêu cầu

GV: Yâu cầu HS thực hành theo

yêu cầu của ý b

HS: Thực hành theo yêu cầu

GV: Chi biết biến Posi và biến neg

có ý nghĩa như thế nào?

GV: Quan sát, hướng dẫn học sinh

thực hành Chiếu kết quả cho học

sinh so sánh

GV: Lưu chương trình với tên

mình_ bài 1_ lớp mình

Begin Randomize;

Write(‘Nhap n=’);

Readln(n);

For i:=1 to n do A[i]:=ramdom(300) – ramdom(300); For i:=1 to n do write(a[i]:5);

Writeln;

Write(‘Nhap k =’); readln(k);

S:=0;

For i:=1 to n do

If a[i] mod k = 0 then s:=s+A[i];

Writeln(‘Tong can tinh la:’,s:8:4);

ReadlnEnd

b) Đưa các câu lệnh sau đây vào các

vị trí cần thiết nhằm sửa đổi CT trong câu a) để có được CT đưa ra số các số dương và số các số âm trong mảng:

posi, neg: integer;

- Nhắc lại cách xây dựng và sử dụng biến mảng một chiều

- Thủ tục ramdomize khởi tạo lấy số ngẫu nhiên trước khi dùng lênhramdom(n) để lấy số ngẫu nhiên trong phạm vi từ 0 đến (n-1)

Trang 27

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học bài cũ và làm các bài tập 4.1 đến 4.8 SBT – 31+32

- Đọc trước bài 2 SGK- T 64 (bài thực hành 3)

Trang 28

Ngày giảng Lớp Sĩ số Tên HS vắng

- Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng;

- Cung cấp cho HS ba thuật toán cơ bản và đơn giản thường gặp với dữ liệukiểu mảng: 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 hay nhỏ nhất cùng vị trí của nótrong mảng; Giới thiệu hàm ramdom;

- Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính

2 Về kĩ năng

- HS có được các kỹ năng cơ bản làm việc với kiểu mảng (một chiều) tronglập trình, cụ thể là: Khai báo kiểu dữ liệu mảng; nhập dữ liệu cho mảng, đưa ramàn hình chỉ số và giá trị các phần tử của mảng; Duyệt qua các phần tử của mảng

2 Học sinh

- Vở ghi, SGK, đồ dùng học tập

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

Trang 29

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Thực hành Bài 2 ý

a SGK- 64 (25 phút)

GV: Yêu cầu HS thực hành theo

nội dung hướng dẫn:

+ Hãy soạn thảo chương trình (ý

GV: Thực hành, chiếu bài mẫu

cho học sinh quan sát cách thực hiện

chương trình

GV: Yêu cầu HS soạn thảo

chương trình, tự sửa lỗi, hiệu chỉnh,

chạy thử

HS: Bật máy tính thực hành theo

nhóm đã được quy định

HS: Thực hành soạn thảo nội

dung chương trình (ý a) Bài 2

SGK-64, Lưu tệp, hiệu chỉnh, chạy

chương trình với nhiều bộ Input

khác nhau

GV: Quan sát, hướng dẫn học

sinh thực hành Chiếu kết quả bài

làm cho học sinh đối chiếu và so

sánh với bài của HS

Bài 2 SGK- 64

Viết chương trình tìm phần tử có giá trị lớnnhất của mảng và đưa ra màn hình chỉ số vàgiá trị của phần tử tìm được Nếu có nhiềuphần tử có cùng giá trị lớn nhất thì đưa ra phần

n, i, j: Integer;

BEGIN WRITELN('Nhap so luong phan tu cua day so, N =');

READLN(N);

FOR i:= 1 TO N DO BEGIN

WRITELN ('Phan tu thu ', i, '= ');

Hoạt động 2: Thực hành Bài 2 ý

b SGK- 64 (15 phút)

GV: Hãy soạn lại chương trình

trên để đưa ra các chỉ số của các

b) Viết lại chương trình trên để đáp ứng yêu cầu sau: Đưa ra các chỉ số của các phần

tử có cùng giá trị lớn nhất.

Trang 30

phần tử có cùng giá trị lớn nhất

GV: chia lớp thành các nhóm và

yêu cầu thực hiện theo yêu cầu

HS: Thực hành theo nhóm và

thực hiện các yêu cầu của GV

GV: Kiểm tra kết quả, đánh giá

3 Củng cố và luyện tập (3 phút)

- Nhận xét tiết thực hành

- Nhắc lại cách xây dựng và sử dụng biến mảng một chiều

- Hướng dẫn HS sử dụng cấu trúc rẽ nhánh, cấu trúc lặp và khai báo biếnmảng để viết chương trình cho bài tập 7 SGK- T79

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học bài cũ và làm bài tập 7 SGK - T79

- Đọc trước nội dung bài tập và thực hành 4 Giờ sau học thực hành

Trang 31

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chươngtrình chạy nhanh hơn

2 Học sinh

- Vở ghi, SGK, đồ dùng học tập

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

Trang 32

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Tìm hiểu mục đích,

yêu cầu của bài thực hành (5 phút)

Gv: Giới thiệu cho học sinh biết

mục đích và yêu cầu của bài thực

toán sắp xếp các phần tử của một dãy

(bằng tráo đổi) và biết vận dụng để

diễn đạt thuật toán này bằng CT sử

dụng dữ liệu kiểu mảng trên máy

tính

GV: Nhắc lại cho học sinh nhớ lại

một số thao tác với mảng 1 chiều và

mảng 2 chiều sẽ được áp dụng trong

bài khi thực hành về bài tập hôm nay

Nhập mảng, khai báo mảng, đưa

mảng ra và một vài thao tác với mảng

sẽ áp dụng trong bài thực hành hôm

nay

HS: Quan sát, nghe giảng, ghi bài

1 Mục đích, yêu cầu

- Củng cố cho HS những kiến thức và kỹ

năng khi lập trình với kiểu dữ liệu mảng;

- Củng cố cho HS một số thuật toán sắpxếp các phần tử của một dãy (bằng tráo đổi)

và biết vận dụng để diễn đạt thuật toán nàybằng CT sử dụng dữ liệu kiểu mảng trênmáy tính

- Biết nhận xét, phân tích, đề xuất thuậttoán giải bài toán sao cho chương trình chạynhanh hơn

* Cách khai báo mảng một chiều

- Cách 1: khai báo trực tiếp.

Var <tên biến mảng>:array[kiểu chỉ số]

of <kiểu phần tử>;

- Cách 2: Khai báo gián tiếp.

Type <tên kiểu mảng>=array[kiểu chỉ số] of <kiểu phần tử>;

Var <tên biến mảng>: <tên kiểu mảng>;

* Cách khai báo mảng hai chiều

- Cách 1: khai báo trực tiếp biến mảnghai chiều:

Var <tên biến mảng> = Array[kiểu chỉ

trình bài 1 (25 phút)

GV: Yêu cầu đọc đề đầu bài, nhắc

lại thuật toán sắp xếp bằng tráo đổi?

Const Nmax = 250;

Trang 33

học sinh quan sát cách thực hiện

chương trình

GV: Yêu cầu HS soạn thảo chương

trình, tự sửa lỗi, hiệu chỉnh, chạy thử

kiểm tra kết quả

HS: Thực hành theo các yêu cầu

GV: Lưu chương trình với tên

Randomize;

Readln(‘Nhap n=’);

Readln(n);

For i:=1 to n do A[i]:=random(300)-ramdom(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

WritelnEnd

Hoạt động 3 Sửa đổi chương

trình (10 phút)

GV: Đưa ra một số câu hỏi, yêu

cầu học sinh suy nghĩ, trả lời và thực

hành

GV: Đoạn nào (gồm những câu

lệnh nào) thể hiện một lần tráo đổi

giá trị của hai phần tử liện kề của

mảng?

+ Phải đặt câu lệnh tăng biến Dem

b) Khai báo thêm biến nguyên Dem và

bổ sung vào CT những câu lệnh cần thiết để biến Dem tính số lần thực hiện tráo đổi trong thuật toán Đưa kết quả tìm được ra màn hình.

Trang 34

ở đâu?

+ Khai báo biến đếm như thế nào?

+Khởi tạo biến Dem như thế nào?

HS: Suy nghĩ trả lời các câu hỏi

Thực hành theo yêu cầu

GV: Lưu chương trình với tên

mình_ bài 1_Yb_T65

3 Củng cố và luyện tập (3 phút)

- Nhận xét, đánh giá tiết thực hành

- Nhắc lại thuật toán sắp xếp đơn giản.;

- Mỗi bài toán có thể có nhiều cách viết thành một chương trình vì vậy cầnchọn cách có số phép tính ít nhất

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Xem lại Bài 1 đã học, đọc trước Bài 2 SGK- T66 Yêu cầu xem trước nộidung bài 2 trong bài bài tập và thực hành 4 giờ sau thực hành

Trang 35

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chươngtrình chạy nhanh hơn

2 Học sinh

- Vở ghi, SGK, đồ dùng học tập

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Kết hợp trong khi thực hành)

2 Nội dung bài mới

Trang 36

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Tìm hiểu và soạn

thảo chương trình Bài 2 SGK- 66

(25 phút)

GV: Cùng học sinh đi phân tích

yêu cầu của bài toán

GV: Hãy đọc và tìm hiểu những

phân tích để viết CT giải bài toán

+ Yêu cầu HS đọc đề bài;

+ Yêu cầu HS soạn thảo CT (có

sẵn)

HS: Gõ và chạy thử CT;

GV: Yêu cầu HS sửa đổi CT bằng

cách: chọn Save As rồi mới sửa

GV: hướng dẫn, chỉ rõ cho HS tại

sao lại có được B[i] = B[i-1] + A[i];

GV: Tuy tốc độ tính toán của máy

tính nhanh nhưng có giới hạn Do

đó, trong khi viết chương trình, ta

nên tìm cách viết sao cho chương

trình thực hiện càng ít phép toán

càng tốt

Bài 2 SGK- T66.

Cho mảng A gồm n phần tử Hãy viết

CT tạo mảng B[1 n] trong đó B[i] là tổng của i phần tử đầu tiên của A.

B[i]:=0;

For j:=1 to i do B[i]:=B[i]+A[j];

End;

{Ket thuc tao B}

For i:=1 to n do write(B[i]:5);

ReadlnEnd

Hoạt động 2 Kiểm tra đánh giá

cuối bài - chia lớp thành nhóm

ngồi theo máy tính (15 phút)

GV: Hãy thực hiện chương trình

trên bằng F7 (nhập vào n = 20),

quan sát sự rẽ nhánh và lặp

- Yêu cầu nhập giá trị n = 20 và quan sát

quá trình rẽ nhánh

Trang 37

4 Hướng dẫn học sinh tự học ở nhà (2 phút)

- Học và ôn lại bài cũ

- Đọc trước bài 12 SGK-T68 , giờ sau học lý thuyết

Trang 38

Ngày giảng Lớp Sĩ số Tên HS vắng

- Biết một xâu là một dãy các kí tự, có thể coi xâu như một mảng một chiều;

- Biết kiểu xâu với một số hàm thủ tục chuẩn;

- Hiểu cách khai báo kiểu dữ liệu xâu

2 Về kỹ năng

- Biết khai báo kiểu dữ liệu xâu;

- Biết so sánh hai xâu;

- Nhận biết và bước đầu sử dụng được các hàm, các thủ tục chuẩn

3 Về thái độ

- Có ý thức tự giác học tập và có tinh thần tập thể tham gia hoạt động nhóm

- Tiếp tục xây dựng lòng ham thích giải bài toán bằng lập trình trên MTĐT

II CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH

- Học bài cũ và chuẩn bị bài mới

III TIẾN TRÌNH DẠY HỌC

1 Kiểm tra bài cũ (Không)

2 Nội dung bài mới

Hoạt động của thầy và trò Nội dung bài giảng

Hoạt động 1 Tìm hiểu kiến thức cơ

bản về kiểu xâu (7 phút)

GV: Giới thiệu về kiểu xâu cho học

sinh nắm được Dữ liệu trong các bài

toán không chỉ thuộc kiểu số mà cả kiểu

phi số - dạng ký tự Dữ liệu kiểu xâu là

* Khái niệm

- VD: Xâu đơn giản

- Xâu là một dãy kí tự trong bảng mãASCII Mỗi kí tự được gọi là một phần tửcủa xâu Số lượng kí tự trong xâu được gọi

là độ dài của xâu Xâu có độ dài bằng 0 gọi

Trang 39

dãy các ký tự.

GV: Đưa ra VD về xâu đơn giản (trình

chiếu) Hãy cho biết khái niệm Xâu?

HS: Trả lời

GV: Tương tự như mảng một chiều,

để xây dựng và sử dụng kiểu xâu, các

NNLT có quy tắc và cách thức cho phép

xác định (Yêu cầu HS học SGK- T68)

HS: Nghe giảng, ghi bài

GV: Có thể hình dung xâu như mảng

một chiều Tham chiếu tới phần tử của

xâu được xác định bởi tên biến xâu và

chỉ số đặt trong cặp ngoặc [chỉ số]

+ Khi viết một xâu kí tự, ta phải viết

xâu kí tự đó giữa hai dấu nháy đơn

- HS: Quan sát, nghe giảng, ghi bài

là xâu rỗng

* Các NNLT có quy tắc và cách thứccho phép xác định:

+ Tên kiểu xâu+ Cách khai báo biến kiểu xâu+ Số lượng ký tự của xâu+ các phép toán thao tác với xâu+ Cách tham chiếu tới phần tử của xâu

* Có thể xem xâu là mảng 1 chiều màmỗi phần tử là một kí tự Các xâu đượcđánh số thứ tự thường bắt đầu là 1

- Cách tham chiếu tới phần tử của xâu:tên xâu[chỉ số];

- VD: Biến A lu trữ giá trị hằng xâu

'XUAN HUY'

A[3] cho ta kí tự ‘A’

Hoạt động 2 Tìm khai báo kiểu dữ

liệu xâu (10 phút)

GV: Để khai báo kiểu dữ liệu xâu ta

sử dụng tên dành riêng STRING, tiếp

theo là độ dài không quá 255 được ghi

trong cặp ngoặc [255]

HS: Nghe giảng, ghi nhớ

GV: Trình bày có pháp khai báo kiểu

dữ liệu xâu (viết bảng)

GV: Khi trong khai báo không có

phần khai báo độ dài thì biến đó có giá

trị ngầm định là 255

GV: Lấy ví dụ khai báo xâu?

HS: lên bảng viết ví dụ

1 Khai báo

VAR <Tên biến>: STRING [Độ dài

lớn nhất của xâu];

- VD:

VAR Ten: String [20];

- Trong mô tả xâu có thể bỏ qua phầnkhai báo độ dài

VAR Ghichu: String;

Hoạt động 3 Tìm hiểu các thao tác

tự ưu tiên thấp hơn phép ghép xâu

+ Xâu A là lớn hơn xâu B nếu như kí

2 Các thao tác xử lí xâu

a) Phép ghép xâu được sử dụng ghép nhiều xâu thành một xâu kí hiệu là dấu (+).

- VD: ‘abc’ + ‘ks’, Cho kết quả là

‘abcks’

Trang 40

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

thủ tục và hàm chuẩn (trình bày giải

thích chi tiết từng thủ tục và hàm

chuẩn-dùng bảng phụ hoặc máy chiếu)

xâu S1 vào xâu S2, bắt đầu từ vị trí vt

e) Hàm COPY(S., vt, N) Tạo xâu gồm N

kí tự liên tiếp bắt đầu từ vị trí vt của sâu S

f) Hàm LENGTH(S) Cho giá trị là độ

dài xâu S

g) Hàm POS(S1, S2) cho vị trí xuất hiện

đầu tiên của xâu S1, trong xâu S2

h) Hàm UPCASE (ch) cho chữ cái viết

hoa ứng với chữ cái trong ch

- Ví dụ chương trình đơn giản

‘TIN HOC’… ‘HINH HOC’

+ Hãy cho biết kết quả:

Giá trị st: ‘Mon Tin Hoc 10’;

Thao tác: DELETE(st, 4, 6 ); KQ?

- Nhóm 3:

+ Hãy cho biết kết quả:

a) Giá trị S1: ‘Lam Van’; S2: ‘thptxuan huy’

Thao tác: INSERT(S1, S2, 9); KQ?

Ngày đăng: 20/03/2021, 08:33

TỪ KHÓA LIÊN QUAN

w