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

Giao an tin hoc 11 ky II

128 217 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 128
Dung lượng 0,95 MB

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

Nội dung

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ả

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)

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

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

Trang 2

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

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ỉnhchương trình

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

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

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

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ổ

KQ: a,b,c: 3 4 5

Ba so da nhap la bo so Pi_ta_go

Trang 4

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

d) Vào bảng Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2;

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

- 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 (;)

- 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 đã đượchọ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

Trang 6

- 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

(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ử

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

Bài thực hành Program Pi_ta_go;

Uses crt;

Var a, b, c: integer;

Trang 7

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

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

a2,b2,c2: longint;

Begin Clrscr;

Trang 8

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

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

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

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 9

+ 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ểmmảng giờ sau học lý thuyết

Trang 10

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ột CT;

- 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ểu nguyê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

Trang 11

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án bằngmá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

- 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

- 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ó

Trang 12

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

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

- 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.

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ố];

VD: Cho phần tử mảng sau.

Trang 13

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ề

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:

Typemang=array[1 100] of integer;Var

a: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>;

Trang 14

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

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ấy ví dụ đúng và khai báo mảng một chiều ở hai dạng

- Đọc trước mục 1b một số ví dụ giờ sau tiếp tục học về kiểu mảng

Trang 15

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ột CT;

- 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ểu nguyê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

Trang 16

- 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án bằngmá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

- 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

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)

Trang 17

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

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

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;

For i:=1 to N do Begin

Write(‘Phan tu thu ‘,i, ‘ =’); Readln(A[i]);

Trang 18

csMax:= i;

End;

writeln(‘Gia tri cua p.tu max la:,’max);writeln(‘Chi so cua p.tu max la:’,max);readln

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

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 SGK- T57

Trang 19

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ột CT;

- 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ểu nguyê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

Trang 20

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án bằngmá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

- 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ừa nhậ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?

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

Trang 21

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)

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ử dụng

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

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

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];

Trang 22

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

Trang 23

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)

Trang 24

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

(25 phút)

GV: Yêu cầu học sinh đọc nội dung

đề bài số 6

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

trong chương trình

Bài 6 SGK- T79

PROGRAM BT6_T79;

VAR A: ARRAY[1 100] OF INTEGER;

N, I, U: INTEGER;

SO_NT, SO_CHAN: INTEGER;

BEGIN SO_CHAN:=0;

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

READLN(N);

END;

FOR I:=1 TO N DO BEGIN

U:=2;

Trang 25

HS: Quan sát, nghe giảng, ghi bài WHILE (U<= SQRT(A[I]))

AND ((A[I] MOD U) <>0) DO U:=U+ 1;

IF U> SQRT(A[I]) THEN SO_NT:= SO_NT+1;

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

Trang 26

- 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 27

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ệu kiểumả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ó trongmả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) trong lậptrình, cụ thể là: Khai báo kiểu dữ liệu mảng; nhập dữ liệu cho mảng, đưa ra màn hìnhchỉ 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 để xử lý từngphần tử;

- Biết chạy chương trình với một số chương trình có sẵn và biết giải một số bàitoán tính toán, tìm kiếm đơn giản

Trang 28

1 Giáo viên

- Giáo án, SGK, SGV, phần mềm quản lý phòng máy Netop school, nghiên cứutrước tài liệu tham khảo, nội dung 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 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

Trang 29

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ừ

0 đến (n-1)

GV: Đưa ra các câu hỏi và gợi ý

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

mỗi số có giá trị tuyệt đối không lớn hơn

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:

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);

Trang 30

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

- 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ênh ramdom(n)

để lấy số ngẫu nhiên trong phạm vi từ 0 đến (n-1)

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 31

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ệu kiểumả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ó trongmả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) trong lậptrình, cụ thể là: Khai báo kiểu dữ liệu mảng; nhập dữ liệu cho mảng, đưa ra màn hìnhchỉ 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 để xử lý từngphần tử;

- Biết chạy chương trình với một số chương trình có sẵn và biết giải một số bàitoán tính toán, tìm kiếm đơn giản

Trang 32

- Giáo án, SGK, SGV, phần mềm quản lý phòng máy Netop school, nghiên cứutrước tài liệu tham khảo, nội dung 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 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,

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, '= '); READLN(A[i]);

Trang 33

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

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

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á

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.

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ến mả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 34

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ương trìnhchạy nhanh hơn

Trang 35

- Giáo án, SGK, SGV, Phần mềm quản lý phòng máy netop school, nghiên cứutrước tài liệu tham khảo, nội dung 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 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

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ên máytí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

Trang 36

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

- 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?

HS: Trả lời

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ử

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

Trang 37

GV: Cho phép HS chạy thử CT để

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

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

Begin T:=A[i];

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

ở đâ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

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.

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.;

Trang 38

- 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ội dungbài 2 trong bài bài tập và thực hành 4 giờ sau thực hành

Trang 39

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ương trìnhchạy nhanh hơn

Trang 40

- Giáo án, SGK, SGV, Phần mềm quản lý phòng máy netop school, nghiên cứutrước tài liệu tham khảo, nội dung 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 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];

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.

Ngày đăng: 15/11/2019, 00:51

TỪ KHÓA LIÊN QUAN

w