Bài 9: LÀM VIỆC VỚI DÃY SỐ (T1)

Một phần của tài liệu giao an 8 ky 2 (Trang 52 - 56)

I. MỤC TIÊU BÀI HỌC :

Kiến thức: HS nêu được khái niệm mảng một chiều ;

Kĩ năng: Thực hiện được việc khai báo mảng, nhập, in, truy cập các phần tử của mảng.

Thái độ: Có thái độ học tập nghiêm túc và yêu thích môn tin học.

II. TÀI LIỆU VÀ PHƯƠNG TIỆN:

1. Chuẩn bị của GV : Tranh ảnh SGK, máy vi tính, máy chiếu, SGK, SGV, Giáo án 2. Chuẩn bị của HS : SGK, SBT, đồ dùng học tập.

3. Phương pháp: Nêu vấn đề, gợi mở vấn đề, hoạt động nhóm III. TIẾN TRÌNH DẠY HỌC:

Tổ chức: (1’)

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

8A 8B 1. Giới thiệu bài học: (1’)

Trong lập trình Pascal nếu biết bố trí dữ liệu theo dãy, việc khai báo và xử lí dữ liệu trở nên đơn giản rất nhiều. Thay vì phải viết rất nhiều câu lệnh giống nhau, ta có thể dùng vài câu lệnh lặp và nhường lại phần lớn công việc cho máy tính thực hiện. Chúng ta cùng tìm hiểu nội dung bài học hôm nay.

2. Dạy học bài mới: (37’)

Hoạt động của thầy và trò Nội dung kiến thức

Hoạt động 1: Dãy số và biến mảng (17’)

MT: HS nêu được khái niệm dữ liệu kiểu mảng, thực hiện được việc khai báo mảng, nhập, in, truy cập các phần tử của mảng.

GV: Em thường nhìn thấy việc xếp hàng để mua vé, xếp hàng trước khi vào lớp...

? Việc sắp xếp công việc có lợi ích gì ? HS trả lời...

GV đưa ra Ví dụ 1- SGK. Cho HS đọc và tìm hiểu câu lệnh khai báo, qua thảo luận nhóm để trả lời câu hỏi :

? Nếu làm theo cách viết chương trình trong Ví dụ 1, em thấy việc khai báo thế nào?

HS : Mất thời gian và dễ nhầm lẫn.

GV dẫn dắt như trong Ví dụ SGK và dẫn đến giới thiệu dữ liệu kiểu mảng.

? Dữ liệu kiểu mảng là gì?

HS tự nghiên cứu và trả lời.

GV nhận xét, chốt kiến thức.

GV đưa ra hình 40 SGK-75 và giải thích

Ví dụ 1 (SGK-75):

Var Diem_1,Diem_2,Diem_3,…: real;

Read(Diem_1); Read(Diem_2), Read(Diem_3);

- Để giúp cho việc sắp xếp được thuận tiện và đơn giản, mọi ngôn ngữ lập trình đều có một kiểu dữ liệu được gọi là kiểu mảng.

- 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ố :

HS chú ý nghe, quan sát

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

HS trả lời...

? Biến mảng có tác dụng gì?

HS trả lời...

? Giá trị của biến mảng là gì?

HS trả lời...

GV nhận xét, giới thiệu về biến mảng, giá trị của biến mảng, chốt kiến thức.

HS chú ý nghe, ghi nhớ và ghi bài.

GV: Trong bài này ta chỉ xét các phần tử kiểu số: số nguyên hoặc số thực.

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

Hoạt động 2: Ví dụ về biến mảng (20’)

MT: HS Thực hiện được việc khai báo mảng, nhập, in, truy cập các phần tử của mảng.

GV cho HS nghiên cứu kiến thức trong phần 2 SGK, thảo luận nhóm để trả lời câu hỏi:

+ Tương tự như khai báo biến đơn, câu lệnh khai báo mảng phải được thực hiện ở đâu?

+ Khi khai báo biến mảng trong mọi ngôn ngữ lập trình cần chỉ rõ ít nhất yếu tố nào?

GV đưa ra Ví dụ về cách khai báo như trong SGK.

? Ở câu lệnh thứ nhất ta khai báo biến có tên là gì? Gồm bao nhiêu phần tử? Kiểu dữ liệu mỗi phần tử của biến là gì?

HS trả lời...

Tương tự GV cho HS phân tích ý nghĩa câu lệnh thứ hai

GV nhận xét đưa ra cấu trúc câu lệnh khai báo mảng trong Pascal và giải thích ý nghĩa câu lệnh.

HS chú ý nghe và ghi bài.

GV đưa ra Ví dụ 2.

GV phân tích lợi ích của sử dụng biến mảng qua câu lệnh lặp để nhập và in dữ liệu ra màn

- Để làm việc với dãy số nguyên hay số thực, ta 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.

- Khi khai báo biến mảng cần chỉ rõ: tên biến mảng, số lượng phần tử, kiểu dữ liệu chung của phần tử.

Ví dụ:

var Chieucao:array[1..50]of real;

var Tuoi:array[21..80]of integer;

* Cách khai báo biến mảng trong Pascal:

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

Trong đó:

- Chỉ số đầu chỉ số cuối là hai số nguyên thoả mãn chỉ số đầu chỉ số cuối.

- Kiểu dữ liệu có thể là integer hoặc real.

Ví dụ 2 (SGK-76):

Để lưu điểm số của mỗi HS ta khai báo biến mảng điểm như sau:

Var Diem:array[1..50] of real;

Có thể thay 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:

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

hình (thay vì 50 câu lệnh khai báo và 50 câu lệnh đọc ta chỉ cần viết 2 câu lệnh).

GV đưa ra cách viết câu lệnh lặp để so sánh điểm Toán với một giá trị nào đó

? Cách khai báo và sử dụng biến mảng như Ví dụ 2 có lợi ích gì?

HS: Tiết kiệm rất nhiều thời gian và công sức viết chương trình.

GV đưa ra Ví dụ yêu cầu HS tập khai báo biến mảng.

HS trả lời...

GV gọi một HS phân tích ý nghĩa của câu lệnh khai báo trên.

? Mỗi HS có thể có nhiều loại điểm khác nhau, để xử lí đồng thời các loại điểm ta làm thế nào?

HS: ... Khai báo nhiều mảng

GV yêu cầu 2HS khai báo biến mảng có tên DiemLi, DiemVan?

2HS khai báo:

GV HD HS cách khai báo gộp các biến mảng GV lưu ý : 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ử đó.

Ví dụ : Diem[i] là phần tử thứ i của mảng điểm.

GV đưa Ví dụ việc gán giá trị của mảng như SGK

HS chú ý nghe và ghi bài

For i:=1 to 50 do

If Diem[i]>8.0 then writeln(‘Gioi’);

Ví dụ: Giả sử lớp em có 50 bạn, em thử khai báo một biến mảng có tên Diemtoan?

Var DiemToan: array[1..50] of real;

Var Diemvan:array[1..50] of real;

Var DiemLi:array[1..50] of real;

- Để xử lí đồng thời các loại điểm thì khai báo nhiều mảng chẳng hạn:

Var DiemToan,DiemVan,DiemLi: Array[1..50]

of real;

- Sau khi khai báo một mảng, ta có thể làm việc với các phần tử của nó như một biến thông thường như gán giá trị, đọc giá trị và thực hiện tính toán với các giá trị đó.

- Việc gán giá trị cho các phần tử của mảng có thể thực hiện trực tiếp qua câu lệnh:

A[1]:=5;

A[2]:=8;

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

3. Luyện tập củng cố: (5’)

- Nêu lợi ích của việc sử dụng biến mảng.

- GV HD và yêu cầu HS trả lời các câu hỏi 1,2,3 SGK tr 79.

Bài 1: Lợi ích chính của việc sử dụng biến mảng là rút gọn việc viết chương trình, có thể sử dụng câu lệnh lặp để thay nhiều câu lệnh. Ngoài ra chúng ta còn có thể lưu trữ và xử lí nhiều dữ liệu có nội dung liên quan đến nhau một cách hiệu quả.

Bài 2: a) Sai. Phải thay dấu phẩy bằng hai dấu chấm; b) và c) Sai, vì chỉ số mảng phải là số nguyên; d) Sai, vì giá trị đầu của chỉ số mảng phải nhỏ hơn hoặc bằng chỉ số cuối; e) Đúng.

Bài 3: đúng.

4. Hoạt động tiếp nối: (1’)

- GV nhận xét giờ học. HD HS về nhà học bài, đọc và tìm hiểu một số chương trình trong Pascal có khai báo và sử dụng biến mảng.

- Tập viết một số câu lệnh khai báo biến mảng, ôn luyện cách sử dụng các câu lệnh lặp.

- Làm các câu hỏi và bài tập 1,2,3 cuối bài trong SGK - Xem trước mục 3 trong bài, chuẩn bị giờ sau học tiếp.

5. Dự kiến kiểm tra đánh giá:

Nê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à số lần lặp chưa biết trước ? Viết cú pháp hai dạng câu lệnh lặp trong ngôn ngữ Pascal mà em đã học ?

Ngày soạn: 22/3/2015

Một phần của tài liệu giao an 8 ky 2 (Trang 52 - 56)

Tải bản đầy đủ (DOCX)

(89 trang)
w