LÀM VIỆC VỚI DÃY SỐ (tiếp)

Một phần của tài liệu Giáo án phát triển năng lực môn Tin Học lớp 8 (Trang 222 - 225)

ÔN TẬP HỌC KỲ 2

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

I.Mục đích 1.Kiến thức

 Biết được khái niệm mảng một chiều

 Biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng.

2.Kĩ năng

 Hiểu thuật toán tìm số lớn nhất, nhỏ nhất của một dãy số.

3.Thái độ

 HS có thái độ ham hiểu biết, học hỏi.

3. Định hướng phát triển năng lực: năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm.

PHƯƠNG PHÁP:

 Giảng giải, vấn đáp, trực quan.

II. CHUẨN BỊ BÀI HỌC:

1. Giáo viên :

- SGK, SGV, tài liệu, Giáo án - Đồ dùng dạy học

2. Học sinh :

- Đọc trước ô Làm việc với dóy số ằ III. TIẾN TRÌNH BÀI HỌC:

1.Ổn định tổ chức lớp

222

2.Kiểm tra bài cũ

?Viết cú pháp khai báo biến mảng ? Khi nào ta dùng biến mảng ? 3.2. Hoạt động 2: Hình thành kiến thức (30 phút)

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG, YÊU CẦU CẦN ĐẠT

Hoạt đông 1: Ví dụ GV: Đưa ví dụ 2

GV: Hướng dẫn học sinh cách sử dụng biến mảng

GV: Cách khai báo biến có ích lợi gì?

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;

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

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

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

để nhập điểm của các học sinh.

Để 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

For i:=1 to 50 do

if Diem[i]>8.0 then writeln('Gioi');

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

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;

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

cụ thể

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.

223

GIÁO ÁN PTNL 5 HOẠT ĐỘNG MÔN TIN 8

GV: Nhập giá trị cho mảng từ bàn phím như thế nào

Ta có thể gán giá trị cho các phần tử của mảng bằng câu lệnh gán:

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

Hoạt động 2: Tìm giá trị lớn nhất và nhỏ nhất của dãy số GV: Em hãy nêu cách tìm bạn cao nhất

lớp?

G: yêu cầu hs xác định bài toán

G: Gợi ý và gọi 1 em lên khai báo biến cho chương trình.

GV: Gọi 1 em lên viết câu lệnh nhập n từ bàn phím

GV: Gọi 1 em lên viết câu lệnh nhập dãy số từ bàn phím.

GV: Nhắc lại thuật toán tìm giá trị lớn nhất, gợi ý cho học sinh và gọi 1 em lên viết đoạn tìm giá trị lớn nhất.

GV: sau khi tìm gt lớn nhất gọi 1 em lên viết đoạn chương trình tìm giá trị nhỏ

HS: Cho bạn đầu tiên cao nhất sau đó so sánh tiếp với các bạn khác.

Input: n, dãy số nhập từ bàn phím.

Output: tìm giá trị lớn nhất, nhỏ nhất.

Ví dụ 3. (SGK) Phần khai báo của chương trình có thể như sau:

program MaxMin;

uses crt;

Var

i, n, Max, Min: integer;

A: array[1..100] of integer;

Phần thân chương trình sẽ tương tự dưới đây:

Begin clrscr;

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

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

For i:=1 to n do Begin

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

End;

Max:=a[1];

for i:=2 to n do

begin if Max<a[i] then Max:=a[i];

end;

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

readln End.

224

Một phần của tài liệu Giáo án phát triển năng lực môn Tin Học lớp 8 (Trang 222 - 225)

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

(225 trang)
w