Tải bản đầy đủ (.doc) (4 trang)

làm việc với dãy số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (213.11 KB, 4 trang )

Giáo án Tin học 8 Trường THCS Nguyễn trãi.
TIẾT 56, 57: LÀM VIỆC VỚI DÃY SỐ
I. Mục tiêu:
- Học sinh 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;
- Hiểu thuật toán tìm số lớn nhất, nhỏ nhất của một dãy số.
II. Phương pháp:
- Đặt vấn đề để học sinh trao đổi và đưa nhận xét. Tận dụng vốn hiểu biết “ một cách
tự nhiên của học sinh
- Học sinh đọc SGK, quan sát và tổng kết
III. Chuẩn bị:
- Giáo viên: Phấn màu, sách, chuẩn bị thêm các bài tập minh hoạ (nếu có)
- Học sinh: sách, tập, viết.
IV. TIẾN TRÌNH DẠY HỌC
1- Kiểm tra bài cũ: …
2- Dạy bài mới:
Hoạt động của Thầy Hoạt động của
học sinh
Nội dung ghi bảng
Hoạt động 1:Dãy số và biến mảng
- Giới thiệu về dãy số và biến mảng
liên quan đến hai nội dung quan
trọng: Nhu cầu của biến mảng trong
ngôn ngữ lập trình và thuật toán tìm
số lớn nhất của một dãy số.
Như các em đã biết về “thuật toán
tìm số lớn nhất của một dãy số” đã
được tìm hiểu ở bài 5 (ví dụ 6). Vì
vậy, ta không đề cập đến việc giải
quyết nhiệm vụ này ntn.
Mục tiêu là Gv dẫn đến nhu cầu cần


có biến mảng thông qua ví dụ 1: Viết
chương trình nhập điểm kiểm tra của
các HS trong một lớp và sau đó in ra
màn hình.
+ 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 HS. Trong
Pascal ta cần nhiều câu lệnh khai báo
và nhập dữ liệu như: Mỗi câu lệnh
tương ứng với điểm của một HS.
+ Nếu số HS trong lớp càng nhiều
thì đoạn khai báo và đọc dữ liệu trong
chương trình càng dài … rất khó
tránh khỏi những nhầm lẫn, sai sót.
- Vậy, ta có thể sử dụng quy luật tăng
hay giảm của “số thứ tự” và một vài
HS nghe giảng
- HS đọc ví dụ 1
- HS lắng nghe,
theo dõi, ghi vở.
1. Dãy số và biến mảng:
Ví dụ 1: (SGK)/ Tr 75
- 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:
Var Diem_1, Diem_2, Diem_3, … : real;
Read (Diem_1) ; Read (Diem_2) ; Read
(Diem_3) ; …
Giáo án Tin học 8 Trường THCS Nguyễn trãi.
câu lệnh lặp để xử lí dữ liệu một cách

đơn giản ntn ?
 Để 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 được gọi là kiểu mảng.
+ Dữ liệu kiểu mảng là gì ?
* Nhấn mạnh: Trong bài này, ta chỉ
xét các mảng có các phần tử kiểu số
nguyên hoặc số thực.

- HS trả lời …
- 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:
+ 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;
* 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: Là khi khai báo một biến có
kiểu dữ liệu là kiểu mảng.
+ Giá trị của biến mảng là một mảng. (tức là
một dãy số: nguyên - thực có thứ tự)
Hoạt động 2:Ví dụ về biến mảng
- 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õ những gì ?

- Cho HS đọc ví dụ, rồi hướng dẫn
cách khai báo trong ngôn ngữ Pascal:
Var Chieucao : array [1..50] of real;
Var Tuoi : array [21..80] of integer;
=> Cách khai báo mảng trong Pascal
ntn ?
- Từ ví dụ 1, GV dẫn dắt HS cách
khai báo biến mảng:
Var Diem : array [1..50] of real;
+ Biến mảng có 50 phần tử được
đánh từ 1 đến 50. Các phần tử được
“đặt tên” ntn ?
=> Cách khai báo và sử dụng biến
mảng như trên có lợi gì ?
- HS lắng nghe trả
lời…
- HS nêu cách
khai báo …
- HS theo dõi lắng
nghe trả lời:
+ Tên biến mảng
[chỉ số phần tử]
như Diem[1],…
+ Có thể thực
hiện các thao tác
như gán giá trị, so
sánh, viết giá trị
2. Ví dụ về biến mảng:
- 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ụ: (SGK)/ Tr 76
* Cách khai báo mảng trong Pascal:
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
* Ví dụ 2: (SGK)/ Tr 76.
- Khai báo biến mảng Diem như sau:
Var Diem : array [1..50] of real;

Giáo án Tin học 8 Trường THCS Nguyễn trãi.
- Để thay rất nhiều câu lệnh nhập và
in dữ liệu ra màn hình, ta dùng một
câu lệnh nào ?
( For …do )
- Để viết giá trị của các phần tử ra
màn hình người ta kết hợp giữa For
…do với lệnh nào ?
- Để giúp tiết kiệm rất nhiều thời gian
và công sức viết chương trình, 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 2 câu
lệnh là đủ và kết quả đạt được như

nhau. Đưa ra 1 cách khai báo cho HS
rõ.
=> HS tự khai báo nhiều biến mảng
cho các môn học ntn ?
- 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. Vậy làm việc với một
biến thông thường ntn ?
* Lưu ý HS: Sử dụng cấu trúc For
… do phù hợp, dễ hiểu hơn cấu trúc
While…do vì biết trước số lần lặp.
* Củng cố:Làm BT 1, 2/ SGK/ Tr 79
* Dặn dò: Học Bài và làmBTVN: 3,
4/SGK/ Tr 79.
ra màn hình …
với Diem[1],
Diem[2], …,
Diem[50],
- Dùng một câu
lệnh lặp
- … với lệnh write
hoặc writeln
- HS nghe và theo
dõi Gv thực hiện.
- HS làm theo
hdẫn của GV.
- … 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ị đó.
- 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, như:
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 đó, ta cũng chỉ cần một câu lệnh lặp,
như:
For i:= 1 to 50 do
If Diem [ i ] > 8.0 then writeln ( ‘ Gioi ‘ );
- Để xử lí đồng thời các laọi điểm của từng
môn học, ta có thể 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:
Var DiemToan, DiemVan, DiemLi : array
[1..50] of real;
- 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ư:
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ụ 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: For i:= 1 to 5 do readln ( A [ i ] );
-TIẾT 57(tt): Hoạt động 3: Tìm giá trị lớn nhất và nhỏ nhất của dãy số
- 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
- HS nghe và nhắc
lại. Tham gia
chỉnh sửa thuật
toán trên để tìm ra
3. Tìm giá trị lớn nhất và nhỏ nhất của
dãy số:
* Thuật toán tìm giá trị lớn nhất ( Max ) của
dãy số nguyên nhập từ bàn phím:
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
Giáo án Tin học 8 Trường THCS Nguyễn trãi.
toán trên để tìm ra số nhỏ nhấ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 ta 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. Ngoà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 …
- GV cho HS đọc phần ghi nhớ.
số nhỏ nhất.
- HS đọc ví dụ 3.
+ 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 theo dõi
- 4HS đọc và cả
lớp nghe đọc,
cùng theo dõi
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.

* Phần khai báo 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:
m’);
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.
** GHI NHỚ: (SGK)/ Tr 79.
3- Dặn dò: - Về nhà học bài;

- Làm các Câu hỏi và BTcòn lại: sgk/ Tr 79;
- Chuẩn bị tiết sau: Bài thực hành 7.
The end

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×