1. Trang chủ
  2. » Cao đẳng - Đại học

Giáo án Tin học 8 - Tiết 61-62, Bài 9: Làm việc với dãy số - Năm học 2009-2010 - Phạm Tấn Phát

3 10 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 185,64 KB

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

Nội dung

-GV: Đặt vấn đề “Giả sử để lưu nhiều dữ liệu có liên quan với nhau bằng một tên biến duy nhất, đánh số thứ tự cho các giá trị đó, sử dụng qui luật tăng giảm của số thứ tự và vài câu lệnh[r]

Trang 1

Tuần 31 Ngày soạn:

Bài 9: Làm việc với dãy số

I./ Mục đích yêu cầu:

-Về kiến thức:

+ Hs biết được khái niệm mảng

+ Hs hiểu được thuật tốn tìm số lớn nhất của dãy

+ Hs hiểu được thuật tốn tìm nhỏ nhất của dãy

-Về kỹ năng:

+ Hs biết cách khai báo mảng, nhập, in, truy cập các phần tử của mảng

+ Hs viết được đoạn chương trình cĩ sử dụng biến mảng ở bài tốn đơn giản

-Về thái độ: tích cực tìm hiểu cách làm việc với dãy, cẩn thận khi viết chương trình

II./ Chuẩn bị:

- GV: Máy chiếu, máy tính

- HS: Sgk, chuẩn bị trước bài 9 “Làm việc với dãy số”

III./ Lưu ý sư phạm:

- GV chuẩn bị ví dụ thực tế về tổ chức thơng tin dạng dãy số, mơ hình và tính ứng dụng của dãy số

IV./ Kiểm tra bài cũ: (5 phút)

-GV yêu cầu 1 hs lên trả lời các câu hỏi

1./ Viết câu lệnh lặp với số lần xác định và số lần chưa biết trước?

2./ Chạy từng bước câu lệnh lặp và cho biết giá trị của biến A khi thực hiện xong đoạn chương trình sau ?

A:= 0; i:= 3;

While i<=7 do

Begin

A:=A+i*i+(i+1)*(i+1);

i:=i+2;

end;

-GV nhận xét và cho điểm, nhận xét quá trình chuẩn bị ở nhà bài 9 “Làm việc với dãy số”

V./ Dạy học bài mới:

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

HĐ1 : Dãy số và biến mảng (20 phút)

-GV: Yêu cầu hs đọc sgk/75, nhận xét và trả lời :

1./ Để nhập điểm cho nhiều hs ta phải sử dụng

nhiều biến, em liệt kê những khĩ khăn khi phải

sử dụng nhiều biến cĩ cùng tên và cùng kiểu dữ

liệu để nhập điểm cho nhiều học sinh?

2./ Cĩ cách nào giải quyết vấn đề trên khơng?

Em hiểu như thế nào về vấn đề vừa nêu ?

-GV: Nhấn mạnh các ý:

+ “Khai báo và nhập dữ liệu mỗi câu lệnh tương

ứng với điểm của một HS”

+ Số học sinh càng nhiều thì đoạn khai báo và

đọc dữ liệu càng dài

+Việc so sánh các điểm đã nhập cịn khĩ khăn

hơn

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

*VD1/ sgk75

Trang 2

+Ta cần nhớ hết tên các biến đã khai báo trong

khi lập trình và rất khó tránh khỏi nhầm lẫn, sai

sót

-GV: Đặt vấn đề “Giả sử để lưu nhiều dữ liệu có

liên quan với nhau bằng một tên biến duy nhất,

đánh số thứ tự cho các giá trị đó, sử dụng qui

luật tăng giảm của số thứ tự và vài câu lệnh lặp

để xử lý dữ liệu một cách đơn giản hơn”

Để giải quyết các vấn đề trên hầu hết các ngôn

ngữ lập trình đều có một kiểu dữ liệu 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ố

-GV: Var Diem_1, Diem_2, Diem_3, … : real;

Read (Diem_1) ; Read (Diem_2) ; Read

(Diem_3) ; …

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

+ Với i = 1 đến 100: Hãy nhập Diem_i;

+ Với i = 1 đến 100: Hãy so sánh Max với

Diem_i;

HĐ2 : Ví dụ về biến mảng (40 phút)

- GV nhận xét :

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

+ Dùng một câu lệnh lặp, có thể thay rất nhiều

câu lệnh nhập và in dữ liệu ra màn hình

+ Để so sánh điểm của mỗi HS với một giá trị

nào đó, ta cũng chỉ cần một câu lệnh lặp

+ Để xử lí đồng thời các loai điểm của từng môn

học, ta có thể khai báo nhiều mảng

+ Khi một mảng đó được khai báo, có thể làm

việc với các phần tử của nó 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ị

đó

-GV hướng dẫn hs tìm hiểu lại thuật toán tìm giá

trị lớn nhất, nhỏ nhất của dãy số nguyên(học ở

Bài 5 )

-GV giải thích về thuật toán tìm giá trị lớn nhất

của dãy số nguyên … Sau đó cho HS nhắc lại

+Cho HS thảo luận, chỉnh sửa thuật toán trên để

tỡm ra số nhỏ nhất

* 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 xếp thứ tự thực hiện bằng cách gán cho mỗi phần tử một chỉ số:

+ Biến mảng thực chất là các biến có cùng tên khác chỉ số và cùng kiểu dữ liệu

+ Giá trị của biến mảng là một mảng

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

*VD/sgk76:

Var chieucao:array[1 50] of real; Var Tuoi:array[21 80] of integer;

*Cách khai báo mảng trongPascal:

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à 2 số nguyên hoặc biểu thức nguyên (Chỉ số

đầu  chỉ số cuối );

+ Kiểu dữ liệu: integer hoặc

real

* VD2/sgk76

- Khai báo biến mảng Diem như

sau:

Var Diem : array [1 50] of real;

- Dựng một câu lệnh lặp For i:= 1 to 50 do readln( Diem [ i ]);

- Để so sánh điểm của mỗi HS với một giá trị nào đó

For i:= 1 to 50 do

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

- Để xử lí đồng thời các loai điểm => khai báo nhiều mảng:

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

Hoặc:

Trang 3

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

dãy số (15 phút)

-GV cho HS đọc ví dụ 3:

+ Để nhập các số nguyên sẽ được nhập vào,

trước hết phải làm gì ?

+Sau khi khai báo N, biến lưu các số được nhập

vào như là các phần tử của một biến mảng A

Ngồi ra, cần khai báo thêm các biến nào nữa ?

-GV:Trình bày phần khai báo chương trình …

+ HS: …trước hết ta khai báo biến N

+ Cần khai báo thờm biến i làm biến đếm cho

các lệnh lặp, biến Max và Min để lưu số lớn nhất,

nhỏ nhất

- HS đọc ví dụ 3

- HS theo dõi

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

- Khi một mảng đĩ được khai

báo, cĩ thể : gán giá trị, đọc giá trị và thực hiện các tính tốn với các giá trị đĩ A[1]:=5; A[2]:= 8;

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

For i:= 1 to 5 do readln ( A [ i ] );

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

-Tìm giá trị lớn nhất ( Max ) của dãy số nguyên nhập từ bàn phím + Thuật tốn

Bước 1: Nhập N và dĩy A 1 , … , A n ; Bước 2: Max  A 1 ;

Bước 3: Với i từ 2 đến N thực hiện: Nếu Max < A 1 thử Max  A i ; Bước 4: Đưa ra màn hình giá trị Max rồi kết thúc

Ví dụ 3: (SGK)/ Tr 78.

Chương trình minh họa:

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 day N = ‘); readln (n);

writeln(‘Nhap cac pt day so:’);

For i:= 1 to n do

Begin write( ‘a[‘,i,’] = ‘); readln(a[i]); end;

Max:= a[1]; Min:= a[1];

For i:= 2 to n do Begin

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

if Min < a[ i ] then Min:= a[ i ]; end;

write (‘So lon nhat la Max =‘ Max); write (‘So nho nhat la Min =‘ Min); readln (n);

End.

HĐ4: Củng cố, dặn dò: (10 phút)

-GV: Hãy nêu lợi ích của việc sử dụng biến mảng trong chương trình?

-GV: Trả lời các câu hỏi 2,3/sgk79

-GV: BTVN 4,5/sgk79, xem và học bài 9 “Làm việc với dãy số”

V./ Rút kinh nghiệm tiết dạy

Ngày đăng: 29/03/2021, 16:59

🧩 Sản phẩm bạn có thể quan tâm

w