1. Trang chủ
  2. » Luận Văn - Báo Cáo

GA tin hoc 8 HK II

11 14 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 11
Dung lượng 56,33 KB

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

Nội dung

+) Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước. +) Biết sửa lỗi và viết được chương trình một số bài toán cơ bản. Giáo viên: Soạn bài, đọc tài liệu tham khảoù, dung cu day[r]

Trang 1

Ngày soạn:

Ngày dạy:

Tiết 53

BÀI TẬP

I Mục tiêu:

+) Biết nhu cầu cần cĩ cấu trúc lặp với số lần chưa biết trước trong ngơn ngữ lập

trình;

+) Biết ngơn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn

máy tính thực hiện lặp đi lặp lại cơng việc đến khi một điều kiện nào đĩ được

thoả mãn;

+) Hiểu hoạt động của câu lệnh lặp với số lần chưa biết trước

+) Biết sửa lỗi và viết được chương trình một số bài tốn cơ bản

II

Chuẩn bị :

1 Giáo viên: Soạn bài, đọc tài liệu tham khảó, dung cu day học.

2 Học sinh: Đọc trước bài, làm các bài tập, dụng cụ học tập.

III Tiến trình tiết dạy:

1 Ổn định tổ chức lớp: - Kiển tra sĩ số:

2 Kiểm tra bài cũ: - Kiểm tra việc chuẩn bị bài ở nhà của học sinh trong

vở

3 Dạy bài mới:

Hoạt động 1: Nhắc lại kiến thức về lệnh lặp

Gv: Cho HS làm bài tập 2:

? Hãy phát biểu sự khác biệt giữa

câu lệnh lặp với số lần lặp cho trước

và câu lệnh lặp với số lần lặp chưa

biết trước.

HS: Trả lời yêu cầu của GV

Bài tập 2:

+) Như tên gọi của nĩ, câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhĩm lệnh với số lần đã được xác định từ trước, cịn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước

+) Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm cĩ giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, cịn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, cĩ thể là kiểm tra một giá trị của một số thực, cũng cĩ thể là một điều kiện tổng quát khác, ví dụ như một số cĩ chia hết cho 3 hay khơng,

+) Trong câu lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đĩ

kiểm tra điều kiện Trong câu lệnh lặp với số lần chưa xác định trước, trước hết điều kiện

Trang 2

được kiểm tra Nếu điều kiện được thỏa mãn,

câu lệnh mới được thực hiện Do đó có thể có trường hợp câu lệnh hoàn toàn không được

thực hiện

Hoạt động 2: HS làm bài tập trong SGK

GV: Hướng dẫn HS làm bài tập 3

+) Hãy tìm hiểu các thuật toán sau

đây và cho biết khi thực hiện thuật

toán, máy tính sẽ bao nhiêu vòng lặp?

Khi kết thúc, giá trị của S bằng bao

nhiêu? Viết chương trình Pascal thể

hiện các thuật toán đó!

a) Thuật toán 1

Bước 1 S  10, x  0.5.

Bước 2 Nếu S  5.2, chuyển tới

bước 4

Bước 3 S  S  x và quay lại bước 2.

Bước 4 Thông báo S và kết thúc

thuật toán

b) Thuật toán 2

Bước 1 S  10, n  0.

Bước 2 Nếu S ≥ 10, chuyển tới bước

4

Bước 3 n  n + 3, S  S  n quay lại

bước 2

Bước 4 Thông báo S và kết thúc

thuật toán

Cho nhận xét của em!

Bài 3:

a) Thuật toán 1: 10 vòng lặp được thực hiện Khi kết thúc thuật toán S = 5.0 Đoạn chương

trình Pascal tương ứng:

S:=10; x:=0.5;

while S>5.2 do S:=S-x; writeln(S);

b) Thuật toán 2: Không vòng lặp nào được

thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua

S = 10 khi kết thúc thuật toán Đoạn chương

trình Pascal tương ứng:

S:=10; n:=0;

while S<10 do begin n:=n+3; S:=S-n end;

writeln(S);

Nhận xét: Trong các thuật toán và chương trình

trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua Điều này đặc biệt đúng đối với câu lệnh lặp while do

4./ Hướng dẫn về nhà:

Xem lại các bài đã làm, làm tiếp các bài còn lại, tiết sau làm tiếp các dạng BT

Ngày soạn:5/03/2012

Ngày dạy: 7/03/2012

Tiết 54

KIỂM TRA 1 TIẾT

Trang 3

I./ Mục tiêu

- Hs vận dụng được các kiến thức đã được học vào làm bài tập

- Hs nghiêm túc làm bài kiểm tra

II./ Chuẩn bị

GV: Phiếu kiểm tra

HS: Học bài chuẩn bị cho tiết kiểm tra

III./ Nội dung kiểm tra

1 Kiểm tra sĩ số

2 Kiểm tra

Câu 1: (3điểm)

Nêu sự khác biệt giữa câu lệnh lặp với số lần biết trước và câu lệnh lặp với

số lần chưa biết trước?

Câu 2: (3 điểm)

Chương trình Pascal sau đây thực hiện hoạt động nào?Hãy giải thích hoạt động?

Program bài_2;

Var i:integer;

Begin

For i:=1 to 1000 do;

End

Câu 3: (4 điểm)

Em hãy viết chương trình tính tích của N số tự nhiên đầu tiên.( sử dụng câu lệnh lặp While do )

ĐÁP ÁN

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

……… Ngày soạn: /03/2012

Ngày giảng: /03/2012

Tiết 55

LÀM VIỆC VỚI DÃY SỐ I.Mục tiêu:

Trang 4

- Làm quen với việc khai báo và sử dụng các biến mảng.

- Ôn luyện cách sử dụng câu lệnh lặp for do

- Củng cố các kĩ năng đọc, hiểu và chỉnh sửa chương trình

II.Chuẩn bị của GV, HS

1 Chuẩn bị của GV:Giáo án máy chiếu

2 Chuẩn bị của HS:đò dùng học tập

III Trọng tâm:

Biết dãy số, mảng, cấu trúc khai báo mảng và vận dụng mảng

IV Tiến trình lên lớp:

1 Ổn định lớp : kiểm tra lớp

2.Kiểm tra bài cũ:

3 Bài mới:

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

HĐ 1: Tìm hiểu về dãy số và biến mảng

- GV: yêu cầu HS đọc ví dụ 1

- GV: Ví dụ như trong Pascal ta cần nhiều câu

lệnh khai báo và nhập dữ liệu dạng sau đây, mỗi

câu lệnh tương ứng với điểm của một học sinh

Read(Diem_3);

Giả sử chúng ta có thể lưu nhiều dữ liệu có liên

quan với nhau (như Diem_1, Diem_2, Diem_3, ở

trên) bằng một biến duy nhất và đánh "số thứ tự"

cho các giá trị đó, ta có thể sử dụng quy luật tăng

hay giảm của "số thứ tự" và một vài câu lệnh lặp để

xử lí dữ liệu một cách đơn giản hơn, chẳng hạn:

Với i = 1 đến 50: hãy nhập Diem_i;

Với i = 1 đến 50: hãy so sánh Max với Diem_i;

Từ hai ví dụ trên, có thể thấy

Hình 41 Sau khi một mảng đã được khai báo, chúng ta có

thể làm việc với các phần tử của nó như làm việc

với một biến thông thường như gán giá trị, đọc giá

trị và thực hiện các tính toán với các giá trị đó.

Ví dụ 2 cũng cho thấy rằng, chúng ta gán giá

trị, đọc giá trị và tính toán với các giá trị của một

phần tử trong biến mảng thông qua chỉ số tương

ứng của phần tử đó Chẳng hạn, trong câu lệnh trên

Diem[i] là phần tử thứ i của biến mảng Diem.

1,

Dãy số và biến mảng

Ví dụ 1 Giả sử chúng ta cần viết

chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in

ra màn hình điểm số cao nhất Vì mỗi biến chỉ có thể lưu một giá trị duy nhất,

để có thể nhập điểm và so sánh chúng,

ta cần sử dụng nhiều biến, mỗi biến cho một học sinh.

 Dữ liệu kiểu mảng là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có cùng một kiểu dữ liệu, gọi là kiểu của phần tử Việc sắp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số:

Khi khai báo một biến có kiểu dữ liệu là kiểu mảng, biến đó được gọi

là biến mảng

Giá trị của biến mảng là một mảng, tức một dãy số (số nguyên, hoặc số thực) có thứ tự, mỗi số là giá trị của biến thành phần tương ứng.

HĐ2: Ví dụ về biến mảng

- GV: Để làm việc với các dãy số nguyên hay

2.Ví dụ về biến mảng

Cách khai báo mảng trong Pascal

Trang 5

số thực, chúng ta phải khai báo biến mảng có

kiểu tương ứng trong phần khai báo của chương

trình

- GV: Cách khai báo đơn giản một biến mảng

trong ngôn ngữ Pascal như sau:

var Chieucao: array[1 50] of real;

var Tuoi: array[21 80] of integer;

Với câu lệnh thứ nhất, ta đã khai báo một

biến có tên Chieucao gồm 50 phần tử, mỗi phần

tử là biến có kiểu số thực Với câu lệnh khai

báo thứ hai, ta có biến Tuoi gồm 60 phần tử (từ

21 đến 80) có kiểu số nguyên

Cách khai báo và sử dụng biến mảng như trên

có lợi gì?

Trước hết, có thể thay rất nhiều câu lệnh nhập

và in dữ liệu ra màn hình bằng một câu lệnh

lặp Chẳng hạn, ta có thể viết

để nhập điểm của các học sinh Thay vì phải

viết 50 câu lệnh khai báo và 50 câu lệnh nhập,

ta chỉ cần viết hai câu lệnh là đủ và kết quả đạt

được là như nhau

Ta còn có thể sử dụng biến mảng một cách rất

hiệu quả trong xử lí dữ liệu Để so sánh

điểm của mỗi học sinh với một giá trị nào đó, ta

cũng chỉ cần một câu lệnh lặp, chẳng hạn

Điều này giúp tiết kiệm rất nhiều thời gian và

công sức viết chương trình

Hơn nữa, mỗi học sinh có thể có nhiều điểm

theo từng môn học: điểm Toán, điểm Văn,

điểm Lí, Để xử lí đồng thời các loại điểm

này, ta có thể khai báo nhiều biến mảng:

Khi đó, ta cũng có thể xử lí điểm thi của một

học sinh cụ thể (ví dụ như tính điểm trung bình

của Lan, tính điểm cao nhất của Châu, ) hoặc

tính điểm trung bình của cả lớp,

như sau:

Tên mảng : array[<chỉ số đầu> <chỉ

số cuối>] of <kiểu dữ liệu> ;

trong đó chỉ số đầu và chỉ số cuối là hai số nguyên hoặc biểu thức nguyên thoả mãn chỉ số đầu ≤ chỉ số cuối và kiểu dữ liệu có thể là integer hoặc real

Cách khai báo biến mảng trong các ngôn ngữ lập trình có thể khác nhau, nhưng luôn cần chỉ rõ: tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của các phần tử

Ví dụ 2 Tiếp tục với ví dụ 1, thay vì khai báo các biến Diem_1, Diem_2, Diem_3, để lưu điểm số của các học sinh, ta khai báo biến mảng Diem như sau:

var Diem: array[1 50] of real;

For i:=1 to 50 do readln(Diem[i]); For i:=1 to 50 do

if Diem[i]>8.0 then writeln('Gioi'); var DiemToan: array[1 50] of real; var DiemVan: array[1 50] of real; var DiemLi: array[1 50] of real; hay

var DiemToan, DiemVan, DiemLi: array[1 50] of real;

Nhập giỏ trị cho biến mảng:

-Gỏn trực tiếp bằng lệnh gỏn: vớ dụ:

A[1] := 8, A[2] := 9.5.

-hoặc nhập dữ liệu từ bàn phím bằng câu lệnh lặp:

for i := 1 to 5 do readln(a[i])

*viết ra màn hỡnh những điểm số lớn hơn hoặc bằng 9

For i:=1 to 50 do

if Diem[i] >= 9 then

writeln(Diem[i]);

Tiết 2

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

HĐ 3: Tìm giá trị lớn nhất và nhỏ nhất của dãy số

Trang 6

Gv đưa ra thuật toán tìm Max của dãy số

nguyên

được nhập vào từ bàn phím

Học sinh đọc và nghiên cứu tìm hiểu ý

nghĩa từng câu lệnh trong chương trình

Trong chương trình này, chúng ta hãy lưu

ý điểm sau: Số tối đa các phần tử của

mảng (còn gọi là kích thước của mảng)

phải được khai báo bằng một số cụ thể (ở

đây là 100, mặc dù số các số nhập vào

sau này có thể nhỏ hơn nhiều so với 100).

y/c hs đọc ghi nhớ (sgk)

3: Tìm giá trị lớn nhất và nhỏ nhất của dãy số

Ví dụ 3 Viết chương trình nhập N số nguyên từ bàn phím và in ra màn hình số nhỏ nhất và số lớn nhất N cũng được nhập

từ bàn phím (sgk) Thuật toỏn tỡm Max của dóy số nguyờn nhập từ bàn phớm như sau:

Bước 1 Nhập N và dóy A1 , , An

Bước 2 Max  A1

Bước 3 Lần lượt gán giá trị từ 2 đến

N cho i Với mỗi giỏ trị của i

thỡ thực hiện: Nếu Max <Ai thỡ MaxAi

Bước 4 Đưa ra màn hỡnh giỏ trị Max

rồi kết thỳc.

viết câu lệnh thực hiện các bước nhập N, nhập các phần tử của mảng, tỡm Max, in Max ra màn hỡnh.

program P_Max;

Var

i, N, Max : integer;

A: array[1 100] of integer;

Begin

{Nhap N}

write('Hay nhap do dai cua day so, N ='); readln(N);

{Nhap day so}

writeln('Nhap cac phan tu cua day so:');

For i:=1 to N do Begin

write('a[',i,']='); readln(a[i]);

End;

{Tim Max}

Max:=a[1];

for i:=2 to n do if Max<a[i] then

Max:=a[i];

{Hien thi Max ra man hinh}

write('So lon nhat la Max = ',Max);

readln;

End.

Ghi nhớ(sgk/79)

4 Củng cố:

Bài tập 2sgk Hãy tìm lỗi trong các câu lệnh sau:

a)Lỗi dấu , giữa chỉ số đầu và chỉ số cuối

Trang 7

b) lỗi chỉ số cuối là số thực

c)chỉ số đầu và chi số cuối phải là 2 số nguyên

Bài 4 sgk

5 Dặn dị, hướng dẫn học sinh học tập ở nhà:

Học bài và xem trước nội dung bài thự hành 7

ơn lại bài và làm các câu hỏi 1, 2, 3, 4 trang 79 Sgk

V Rỳt kinh nghiệm

Ngày soạn: /03/2012 Ngày dạy: /03/2012 Tiết 57 BÀI TẬP I Mục tiêu: +) Biết nhu cầu cần sử dụng biến mảng trong ngơn ngữ lập trình; +) Biết ngơn ngữ lập trình dùng biến mảng để thay thế cho nhiều câu lệnh nhập và in dữ liệu len màn hình, sử lí dữ liệu. II Chuẩn bị : 1 Giáo viên: Soạn bài, đọc tài liệu tham khảó, dung cụ day học 2 Học sinh: Đọc trước bài, làm các bài tập, dụng cụ học tập. III Trọng tâm :

Trang 8

Củng cố lại các kiến thức đã học : biến mảng và làm một vài bài tập để rèn luyện

kĩ năng.

IV Tiến trình tiết dạy:

1 Ổn định tổ chức lớp: - Kiểm tra sĩ số:

2 Kiểm tra bài cũ: -

1 Hãy nêu cấu trúc của khai bào biến mảng ?

Trả lời : Tên mảng : array[<chỉ số đầu> <chỉ số cuối>] of <kiểu dữ liệu> ;

3 Dạy bài mới:

Hoạt động 1: Nhắc lại kiến thức về biến mảng

Gv: Cho HS làm bài tập 1:

? Hãy nêu các lợi ích của việc sử dụng

biến mảng trong chương trình?

HS: Trả lời yêu cầu của GV.

Gv: Cho Hs làm bài tập 3

“Có thể xem biến mảng là một biến

được tạo từ nhiều biến có cùng kiểu,

nhưng chỉ dưới một tên duy nhất”.

? Phát biểu trên đúng hay sai?

Bài tập 1

+) Sử dụng biến mảng trong chương trình giúp cho việc viết chương trình được ngán gọn và dẽ dàng hơn

+) Sử dụng biến mảng và câu lệnh lặp có thể thay thế cho nhiều câu lệnh nhập và in dữ liệu lên màn hình, và trong việc sử lý dữ liệu

Bài tập 3

“Có thể xem biến mảng là một biến được tạo từ nhiều biến có cùng kiểu, nhưng chỉ dưới một tên duy nhất”.

Phát biểu đó là đúng.

Hoạt động 2: HS làm bài tập trong SGK (79)

? Em hãy nhắc lại khi khai báo biến

mảng ta cần chú ý những điểm gì?

HS: Khi khai báo biến mảng ta cần chú

ý:

- Phải khai báo rõ tên biến mảng

- Chỉ số đầu <= chỉ số cuối và phải

có giá trị nguyên, ta cần khai báo

rõ số lượng các phần tử của

mảng.

- Chỉ rõ kiểu dữ liệu chung của

mảng.

GV: Hướng dẫn HS làm bài tập 2.

GV: hướng dẫn học sinh làm bài 4

Câu lệnh sau MT có thực hiện được hay

không?

Var N: integer

A: array[1 N] of real;

Bài 2:

a) Var X: Array[10,13] of Integer;

Khai báo trên là sai vì chỉ số đầu và chỉ số cuối cách nhau bởi dấu “ ”

b) Var X: Array[5 10.5] of Integer;

Khai báo trên là sai vì chỉ số đầu và chỉ số cuối phải là chỉ số nguyên.

c) Var X: Array[3.4 4.8] of Integer;

Khai báo trên là sai vì chỉ số đầu và chỉ số cuối phải là chỉ số nguyên.

d) Var X: Array[10 1] of Integer;

Khai báo trên là sai vì chỉ số đầu phải nhỏ hơn hoặc bằng chỉ số cuối.

e) Var X: Array[4 10] of Integer;

Khai báo trên là đúng.

Bài 4:

Với câu lệnh trên máy tính sẽ không thực hiện được vì không chỉ rõ chỉ số cuối

Trang 9

4./ Củng cố và hướng dẫn về nhà:

- Học lại cú pháp khai báo biến mảng

- Xem lại các bài đã làm, làm tiếp các bài còn lại, tiết sau làm tiếp các dạng BT

V Rút kinh nghiệm:

Ngày soạn: Ngày dạy: Tiết: 58 Bài thực hành 6 Xử lý dãy số trong chương trình (T1) I Mục tiêu: - Biết lựa chọn biến mảng phù hợp với tình huống cụ thể - Rèn luyện kĩ năng về khai báo, sử dụng biến - Rèn luyện khả năng đọc chương trình - Biết vai trò của việc kết hợp các cấu trúc điều khiển II Chuẩn bị: GV: Soạn bài, đọc tài liệu tham khảo, phòng may HS: Xem lại bài học trước, xem bài trước ở nhà, dụng cụ học tập. III Trọng tâm :

Củng cố lại các kiến thức đã học : biến mảng và làm một vài bài tập để rèn luyện

kĩ năng.

IV Tiến trình tiết dạy:

1./ Ổn định lớp

2./ Kiểm tra bài cũ: Không kiểm tra

3./ Bài mới:

Trang 10

Hoạt động của GV Nội dung

Hoạt động 1: Học sinh làm bài tập 1

GV: yêu cầu HS làm bài 1:

Viết chương trình sử dụng biến mảng để

nhập điểm của các bạn trong lớp, sau đó in

ra nàm hình số bạn đã đạt loại giỏi, khá,

trung bình và kém.

HS: Chú ý theo giõi.

GV: hướng dẫn:

a) Mô tả thuật toán của chương trình, các

biến dự định sẽ sử dụng và kiểu của

chúng.

b) Gõ chương trình vào trong máy.

HS: Thực hiện làm trên máy:

GV: Yêu cầu:

c) Đọc và tìm hiểu ý nghĩa của từng câu

lệnh Dịch chương trình và sửa lỗi, nếu có.

Chạy chương trình với các bộ dữ liệu được

gõ từ bàn phím và kiểm tra kết quả nhận

được.

HS: Chú ý để thực hiện.

Bài 1:

Viết chương trình sử dụng biến mảng để nhập điểm của các bạn trong lớp, sau đó in

ra nàm hình số bạn đã đạt loại giỏi, khá, trung bình và kém.

Chương trình trong SGK-80

Hoạt động 2: Học sinh thực hành trên máy

GV: Nêu các lỗi cần chú ý nếu có của HS

trong lúc thực hành.

GV: Nhắc lại những điều cần chú ý khi sử

dụng bién mảng.

Tiết 2.

Hoạt động 1: Học sinh làm bài tập 1

GV yêu cầu HS làm bài tập 2:

Bổ sung và chỉnh sửa chương trình trong

bài 1 để nhập hai loại điểm Toán và ngữ

văn của các bạn sau đó in ra màn hình

điểm trung bình của mỗi bạn trong lớp.

GV: Hướng dẫn:

a) Đọc và tìm hiểu ý nghĩa của từng câu

lệnh trong chương trình

b) Gõ, dịch và chạy thử chương trình với

một vài độ chính xác khác nhau.

HS thực hiện trên máy tính:

Bài 2:

Bổ sung và chỉnh sửa chương trình trong bài 1 để nhập hai loại điểm Toán và ngữ văn của các bạn sau đó in ra màn hình điểm trung bình của mỗi bạn trong lớp

Chương trình trong SGK

Hoạt động 2: Học sinh thực hành trên máy

Ngày đăng: 18/05/2021, 05:31

w