Yêu cầu học sinh:
Em có thể nhận xét gì khi s ử dụng 7 biến ? Nếu cần tính toán
với N ngày thì sao?
HS: Quan sát bài toán
Trả lời :
Dùng các biến như trên rất dài dòng, cùng một tháo tác thực hiện
nhiều lần cho nhiều biến. Nếu dùng cho N ngày phải dùng N
biến sẽ rất dài.
Chúng ta có thể khắc phục điều đó bằng cách dùng mảng một chiều
Nhắc lại định nghĩa mảng một chiều :
GV: Minh hoạ bằng TP .
6 trang |
Chia sẻ: maiphuongdc | Lượt xem: 15419 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Giáo án Tin 11 - Kiểu mảng - mảng một chiều, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 1
Giáo án
KIỂU MẢNG
Mảng một chiều
A. Mục đích yêu cầu:
Sau bài học học sinh cần nắm được:
- Khái niệm về Kiểu mảng
- Nhận biết được các thành phần trong khai báo mảng 1 chiều.
- Biết cách khai báo mảng đơn giản với chỉ số kiểu miền con của
kiểu nguyên.
- Biết được các quy tắc, cách thức trong xây dựng và sử dụng
mảng một chiều.
B. Phương pháp, phương tiện:
1. Phương pháp:
Kết hợp các phương pháp như thuyết trình, vấn đáp,…
2. Phương tiện:
- Sách giáo khoa Tin học 11.
- Vở ghi lý thuyết Tin học 11.
- Một số sách nâng cao (nếu có)
C. Tiến trình lên lớp, nội dung bài giảng:
I. Ổn định lớp: (1’)
Lớp trưởng báo cáo sĩ số.
II. Kiểm tra bài cũ : (3’)
Giáo viên nhắc lại kiến thức của chương trước.
III. Gợi động cơ: (2’)
Chúng ta đã được biết đến các kiểu dữ liệu chuẩn, nhưng trên
thực tế, kiểu dữ liệu chuẩn không đủ để biểu diễn dữ liệu của các
bài toán thực tế.
Các ngôn ngữ lập trình có các quy tắc, cách thức cho phép
người lập trình xây dựng những kiểu dữ liệu phức tạp từ những
kiểu đã có. Đó được gọi là kiểu dữ liệu có cấu trúc.
Hôm nay chúng ta sẽ chuyển sang chương mới: Kiểu dữ liệu có
cấu trúc.Bài hôm nay là bài: Kiểu mảng.
IV. Nội dung bài giảng:
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 2
Nội dung Hoạt động giữa thầy và trò Thời
gian
1. Định nghĩa:
- Mảng một chiều là dãy hữu
hạn các phần tử cùng kiểu.
Mảng được đặt tên và mỗi
phần tử của nó có một chỉ số.
- Để mô tả mảng một chiều
cần xác định kiểu của các
phần tử và cách đánh số các
phần tử của nó.
- Có thể tham chiếu các phần
tử của mảng bằng tên của
mảng và chỉ số tương ứng
của phần tử này.
Thuyết trình:
Định nghĩa mảng một chiều:
Mảng một chiều là dãy hữu
hạn các phần tử cùng kiểu.
Mảng được đặt tên và mỗi phần
tử của nó có một chỉ số.
Để người lập trình có thể
xây dựng và sử dụng kiểu mảng
một chiều, các ngôn ngữ lập
trình có quy tắc, cách thức cho
phép xác định:
- Tên kiểu mảng một chiều;
- Số lượng phần tử;
- Kiều dữ liệu của phần tử;
- Cách khai báo biến mảng;
- Cách tham chiếu đến phần tử.
5’
2. Ví dụ:
Xét một ví dụ đơn giản như
sau:
Nhập vào nhiệt độ (trung bình
của mỗi ngày trong tuần.Tính
và đưa màn hình nhiệt độ trung
bình của tuần và số lượng ngày
trong tuần có nhiệt độ cao hơn
nhiệt độ trung bình của tuần
Chương trình dùng khi dùng 7
biến thực:
program Nhietdotuan;
Var t1,t2,t3,t4,t5,t6,t7,tb
:Real;
dem:integer;
Begin
Write('Nhap vaonhiet do
cua 7 ngay:');
Yêu cầu học sinh:
Em có thể nhận xét gì khi sử
dụng 7 biến ? Nếu cần tính toán
với N ngày thì sao?
HS: Quan sát bài toán
Trả lời :
Dùng các biến như trên rất dài
dòng, cùng một tháo tác thực hiện
nhiều lần cho nhiều biến. Nếu
dùng cho N ngày phải dùng N
biến sẽ rất dài.
Chúng ta có thể khắc phục điều
đó bằng cách dùng mảng một
chiều
Nhắc lại định nghĩa mảng một
chiều :
GV: Minh hoạ bằng TP .
10’
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 3
Readln(t1,t2,t3,t4,t5,t6,t7);
tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
dem:=0;
if t1>tb then
dem:=dem+1;
if t2>tb then
dem:=dem+1;
if t3>tb then
dem:=dem+1;
if t4>tb then
dem:=dem+1;
if t5>tb then
dem:=dem+1;
if t6>tb then
dem:=dem+1;
if t7>tb then
dem:=dem+1;
Writeln('Nhiet d trung
binh tuan:', tb);
Writeln('so ngay nhiet
do cao hon nhiet do tb
la:',dem);
Readln
End.
Ví dụ:
- Khai báo kiểu mảng một
chiều gồm Max số thực
Type MyArray = Array[1..Max] of
Real;
- Khai báo biến mảng nhiệt
độ gián tiếp qua kiểu mảng
Var Nhietdo : Nhietdo1;
- Khai báo biến mảng nhiệt
độ trực tiếp
Var Nhietdo : Array[1..Max] of
Real;
GV:
Trong ví dụ SGK, nếu mở
rộng bài toán lên N ngày, ta có
thể khai báo theo kiểu mảng
như thế nào? Đâu là biến ?
Chúng cùng kiểu gì ?
2.Ví dụ mở rộng:
Mở rộng bài toán lên N ngày.
program Nhietdo_Nngay;
const Max = 366;
Type Kmang1 =
array[1..max] of real;
var Nhietdo: Kmang1;
dem, I, n : byte;
Tong, trung_binh: real;
Begin
write(‘Nhap so ngay: ’);
readln(N);
Giáo viên:
Dẫn dắt học sinh qua 2
chương trình để thấy được: tương
ứng với mỗi giá trị của i, một phần
tử của mảng được xác định bởi
Nhiêtdo[i] ; có thể thực hiện thao
tác nhập, xuất hay xử lý trên phần
tử này.
15’
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 4
tong:=0;
For i:= 1 to N do
begin
write(‘Nhap nhiet do
ngay’,I,’: ’);
readln(nhietdo[i]);
tong:= tong + nhietdo[i];
end;
dem:= 0;
trung_binh:= tong/N;
for i:= 1 to N do
if nhietdo[i]>trung_binh
then dem: =dem +1;
writeln(‘nhiet do trung binh
’,N,’Ngay: ’, trung_binh:8:3);
writeln(‘so ngay nhiet do cao
hon trung binh: ’,dem);
readln
end.
Khai báo:
Có 2 cách để khai báo(định
nghĩa) kiểu dữ liệu mảng 1
chiều:
GV: Ví dụ khác
Program TimMax;
Uses crt;
const
nmax = 250;
type
Arrint = array[1..max] of
integer;
var
N, i, max, csmax: integer;
a:arrint;
begin
GV: Trong đoạn chương trình
trên:
- Cho biết tên kiểu dữ liệu?
- Kiểu mảng đó có bao nhiêu
phần tử?
- Mỗi phần tử của mảng
thuộc kiểu gì?
- Qua phần khai báo biến cho
biết tên của các mảng sẽ
dùng trong chương trình?
GV: Những kiểu dữ liệu nào có
thể là kiểu thành phần của mảng?
GV: Những kiểu dữ liệu nào có
thể là kiểu chỉ số?
GV: Kích thước cho phép của
mảng?
5’
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 5
V. Củng cố bài: (2’)
- Trực tiếp trong phần khai
báo biến (với từ khoá var)
Var tên
:array
[kiểu chỉ số] of
- Đặt tên và định nghĩa cho
kiểu dữ liệu mới này (với từ
khoá type), rồi sau đó khai
báo các biến thuộc kiểu mới
(đã có tên)
Type =
array [kiểu chỉ số] of <kiểu
phần tử>
Var : < tên
kiểu mảng>;
Để khai báo kiểu dữ liệu mảng
1 chiều, người lập trình cần
xác định các yếu tố sau:
- Kiểu phần tử: Kiểu của các
phần tử tạo nên mảng
- Kiểu chỉ số: Thường dùng
một đoạn số nguyên liên tục
làm chỉ số của mảng, số
nguyên đầu tiên là phần tử
thứ nhất của mảng, số
nguyên cuối cùng tương ứng
là phần tử cuối cùng của
mảng
Xác định cả kích thước của
mảng.
Giáo viên hướng dẫn ví dụ trong
sách giáo khoa và chỉ cho học
sinh thấy các kiểu khai báo không
hợp lệ và hợp lệ
GV: Cho ví dụ:
Var B: array [1..100] of real;
Hãy chuyển sang khai báo kiểu
Type
Tin học 11
Trần Văn Thịnh – CNTT - ĐHSPHN 6
Sau bài hôm nay chúng ta đã biết được khái niệm mảng một
chiều và chúng ta biết được cách khai báo và cách tham chiếu đến
một phần tử của mảng. Kiểu mảng là kiểu dữ liệu có cấu trúc được
dùng nhiều trong lập trình.
VI. Bài tập về nhà: (1’)
- Xem lại các ví dụ trong bài học.
- Làm bài tập trong sách bài tập
VII. Nhận xét, rút kinh nghiệm giờ giảng: (1’)
Nhận xét, đánh giá của giáo viên về tiết học.
Các file đính kèm theo tài liệu này:
- tin_hoc_11_5468.pdf