Có mấy cách khai báo biến mảng

Bài. Mảng Một chiều

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  (207.34 KB, 7 trang )

Ngày soạn:
Ngày dạy:
Tiết theo PPCT: 19
Chương IV. KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG
I. Mục tiêu: Sau khi học xong bài học này, học sinh sẽ:
1. Kiến thức:
- Biết được kiểu dữ liệu mới là kiểu mảng một chiều.
- Biết được cấu trúc tạo kiểu mảng một chiều và cách khai báo biến mảng một chiều.
2. Kỹ năng:
- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình
Pascal để giải quyết một số bài toán cụ thể.
II. Đồ dùng dạy học
1. Chuẩn bò của giáo viên: Giáo án, Laptop, Projector để giới thiệu các ví dụ và minh họa.
2. Chuẩn bò của học sinh: Sách giáo khoa, vở ghi chép và học bài cũ ở nhà.
III.Hoạt động dạy  học:
1. n đònh lớp: (1)
- Kiểm tra só số: - Tổng số: Vắng: - có phép: - không phép:
- Kiểm tra tác phong.
2. Kiểm tra bài cũ: (8)
Câu hỏi: Viết chương trình nhập từ bàn phím dãy A gồm 10 số nguyên: a
1
, a
2
, a
3,
a
4
, a
5
, a

6
, a
7
, a
8
, a
9
,
a
10
.
Trả lời:
Program Nhap
_
So_nguyen;
Uses crt;
Var
a1,a2,a3,a4,a5,a6,a7,a8,a9,a10: integer;
BEGIN
Clrscr;
Writeln(Nhap gia tri cua cac so nguyen:);
Write(a1=); Readln(a1);
Write(a2=); Readln(a2);
Write(a3=); Readln(a3);
Write(a4=); Readln(a4);
Write(a5=); Readln(a5);
Write(a6=); Readln(a6);
Write(a7=); Readln(a7);
Write(a8=); Readln(a8);
Write(a9=); Readln(a9);

Write(a10=); Readln(a10);
Readln
END.
3. Dẫn dắt vào bài: (2)
- Bài toán trên yêu cầu chúng ta thực hiện bao nhiêu công việc?
- Bài toán trên đã khai báo bao nhiêu biến? và sử dụng bao nhiêu cặp câu lệnh Write và
Readln?
- Giả sử yêu cầu của bài toán là nhập vào 100 số nguyên thì chúng ta sẽ phải khai báo bao
nhiêu biến? sử dụng bao nhiêu câu lệnh Readln?
Như vậy, các em thấy bản chất của bài toán là không khó nhưng khi viết chương trình thì phải khai
báo rất nhiều biến và lặp đi lặp lại một câu lệnh nhiều lần. Để khắc phục vấn đề này, Pascal cung cấp
một kiểu dữ liệu mới là Kiểu mảng. Để hiểu rõ hơn, Thầy và các em cùng nghiên cứu qua bài học hôm
nay.
4. Tổ chức các hoạt động dạy  học trên lớp
HOẠT ĐỘNG CỦA THẦY  TRỊ NỘI DUNG
Hoạt động 1: Tìm hiểu ý nghĩa của mảng một
chiều (3) 1. Kiểu mảng một chiều
GV: u cầu Hs nghiên cứu Sgk
HS: Nghiên cứu nội dung Sgk.
? Em hiểu thế nào về Mảng 1 chiều?
? Trình bày các kiểu dữ liệu đã học?
? Để mơ tả mảng 1 chiều, cần xác định những yếu tố
nào?
HS: Trả lời các câu hỏi. Chép bài.
- Mảng 1 chiều là dãy hữu hạn các phần tử có
cùng kiểu dữ liệu.
- Các phần tử trong mảng có cùng chung một tên
và phân biệt nhau bởi chỉ số.
- Để mơ tả mảng 1 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ó.

Hoạt động 2: Tạo kiểu mảng 1 chiều và khai báo
biến mảng. (17)
GV: u cầu Hs nghiên cứu Sgk, rồi trả lời các câu
hỏi sau:
HS: Nghiên cứu nội dung Sgk.
a. Khai báo
* Cách 1: Khai báo trực tiếp
Var : array[kiểu chí số] of
;
? Để khai báo biến ta sử dụng từ khóa nào?
? Có mấy cách khai báo biến mảng 1 chiều? Trình
bày?
HS: Trả lời các câu hỏi. Chép bài vào vở.
* Cách 2: Khai báo gián tiếp
Type =array[kiểu chỉ số] of
;
Var : ;
Trong đó:
Kiểu chỉ số thường là một đoạn số ngun liên
tục có dạng n1 n2 xác định chỉ số đầu và chỉ số
cuối (n1  n2);
Kiểu phần tử là kiểu của các phần tử mảng.
? Đây là khai báo mảng trực tiếp hay gián tiếp?
HS: Trực tiếp.
? Tên biến mảng là gì? (HS: A)
? Kiểu chí số là gì? (Integer)
? Em thử cho biết ý nghĩa của khai báo biến này?
HS: Tạo mảng A gồm 10 phần tử, có kiểu ngun.
? Thử chuyển sang khai báo gián tiếp? (dẫn dắt hs
trả lời)

Ví dụ:
Var A: array[1 10] of Integer;
Type MangInt = array[1 10] of Integer;
Var A: MangInt;
GV: Lấy thêm một vài ví dụ khác
(chiếu ví dụ lên màn hình rồi giải thích cho hs) Ví dụ:
? Cho biết tên của các kiểu dữ liệu mới?
HS: MangInt và MangChar.
? MangInt và MangChar có bao nhiêu phần tử? Kiểu
chỉ số là gì? (HS: 20 phần tử; Từ 1 đến 20)
? Mỗi phần tử của MangInt thuộc kiểu gì?
HS: Kiểu ngun
? Mỗi phần tử của MangChar thuộc kiểu gì?
HS: Kiểu kí tự
? MI, MJ, MK là gì? (HS: biến có kiểu MangInt)
? M1, M2 là mảng gồm bao nhiêu phần tử? Kiểu chỉ
số là gì? (HS: 21 phần tử; Từ -10 đến 10)
Type
MangInt = array[1 20] of Integer;
MangChar = array[1 20] of Char;
Var
MI, MJ, MK: MangInt;
X, Y: mangChar;
M1, M2: array[-10 10] of Integer;
M3: array[A Z] of Integer;
M3 là mảng các số ngun được xác định chỉ số từ A
đến Z. Gồm bao nhiêu phần tử? (HS: 26 phần tử)
Để tham chiếu đến từng phần tử của mảng ta thực
hiện như sau:
(Diễn giảng, cho ví dụ để hs hiểu)

* Tham chiếu đến từng phần tử
Tên biến mảng[chỉ số]
Ví dụ:
- A[1]: là phần tử ở vị trí 1 của mảng A.
- A[i]: là phần tử ở vị trí i của mảng A.
Hoạt động 3: Rèn luyện kỹ năng sử dụng kiểu
mảng 1 chiều. (10)
? Hãy khai báo một mảng số thực B gồm các phần tử
được đánh số từ -100 đến 200?
HS: Lắng nghe, suy nghĩ rồi thực hiện.
* Khai báo trực tiếp:
Var B: array[-100 200] of Real;
* Khai báo gián tiếp:
Type
MangReal = array[-10 200] of Real;
Var B: MangReal;
? Sử dụng kiểu mảng để viết chương trình nhập từ
bàn phím dãy A gồm 10 số nguyên: a
1
, a
2
, a
3,
a
4
, a
5
,
a
6

, a
7
, a
8
, a
9
, a
10
.
Program Nhap_Day_so;
Uses Crt;
Var A: array[1 10] of Integer; {khai báo mảng}
i: Integer;
? Công việc nhập các số nguyên được lặp lại bao
nhiêu lần? Sử dụng vòng lặp nào?
HS: lặp lại 10 lần, sử dụng vòng lặp FOR.
? Các em chú ý cách nhập dữ liệu cho mảng?
? So sánh với chương trình ban đầu.
5. Củng cố, sơ kết bài học. (1)
Qua bài học này, các em cần nắm vững:
- Cách khai báo mảng 1 chiều.
- Tham chiếu đến các phần tử của mảng 1 chiều.
6. Dặn dò, ra bài tập về nhà. (3)
Bài tập: Viết chương trình nhập từ bàn phím dãy A gồm 10 số nguyên: a
1
, a
2
, a
3,
a

4
, a
5
, a
6
, a
7
, a
8
, a
9
,
a
10
. Rồi thực hiện:
a. Tính tổng của các số nguyên có trong dãy A.
b. Tính tổng của các số chẵn.
Ngày soạn:
Ngày dạy:
Tiết theo PPCT: 43
Chương VI. CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC
§18. VÍ DỤ VỀCÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (Tiết 2)
I. Mục tiêu: sau khi học xong bài học này, học sinh sẽ:
1. Kiến thức:
- Biết được cấu trúc chung của hàm. Biết được vị trí khai báo hàm trong chương trình chính.
2. Kỹ năng:
- Phân biệt được khác nhau cơ bản của hàm và thủ tục.
- Sử dụng đúng lời gọi hàm trong chương trình chính.
II. Đồ dùng dạy học
1. Chuẩn bò của giáo viên: Giáo án, Bảng phụ để giới thiệu các ví dụ và minh họa.

2. Chuẩn bò của học sinh: Sách giáo khoa, vở ghi chép và học bài cũ ở nhà.
III. Hoạt động dạy  học:
1. n đònh lớp: (1)
- Kiểm tra só số: - Tổng số: Vắng: - có phép: - không phép:
- Kiểm tra tác phong.
2. Kiểm tra bài cũ: (5)
Câu hỏi 1: Trình bày cấu trúc của Thủ tục?
Câu hỏi 2: Tham trị là gì? Tham biến là gì
Trả lời:
Câu 1 Câu 2
Procedure [()];
[]
Begin
[]
End;
- Tham số hình thức được thay bằng tham số thực
sự là các giá trị cụ thể gọi là tham trị.
- Tham số hình thức được thay bằng tham số thực
sự là các biến chứa dữ liệu gọi là tham biến.
3. Dẫn dắt vào bài: (1)
- Chương trình con gồm mấy loại?
Ở tiết học trước, chúng ta đã được làm quen với cách viết và sử dụng thủ tục. Còn với chương trình
con là hàm thì cách viết và sử dụng sẽ như thế nào? Tiết học này chúng ta sẽ tiếp tục tìm hiểu?
4. Tổ chức các hoạt động dạy  học trên lớp
HOẠT ĐỘNG CỦA THẦY  TRỊ NỘI DUNG
Hoạt động 1: Tìm hiểu cấu trúc của hàm
(20) 2. Cách viết và sử dụng hàm
GV:
? Hàm là gì? (Hàm là CTC thực hiện một số
thao tác nào đó và trả về một giá trị qua tên

của nó)
? Trình bày các kiểu dữ liệu đã học?
? Kể tên một số hàm số học chuẩn mà em đã
học?
HS:
- Hàm ABS(): Tính giá trị tuyệt đối.
- Hàm SQRT(): Tính căn bậc 2.
? Để tính
x
, trong pascal ta sẽ viết như thế
nào?
HS: SQRT(x)
? SQRT là thành phần nào của hàm?
? x là thành phần nào của hàm?
-
Cách viết như thế này gọi là cách sử dụng hàm.
Còn để viết một hàm như thế nào thì trước hết
chúng ta cần tìm hiểu cấu trúc của hàm là như
thế nào?
? Khai báo hàm ta dùng từ khóa nào? a. Cấu trúc của hàm
? So sánh sự giống và khác nhau của hàm và
thủ thục? (Cho hs làm nhanh, lấy 5 hs nhanh
nhất để chấm điểm)
- Giống: có cấu trúc tương tự.
- Khác: Phần đầu (Tên dành riêng, tên hàm
phải quy định kiểu dữ liệu)
Function [()]: ;
[]
Begin
[]

End;
GV: Nhận xét kết quả, đánh giá cho điểm.
Để thấy rõ hơn, chúng ta cùng nhau tìm hiểu Ví
dụ 1, trang 100/ SGK.
GV: Treo bảng phụ
HS: Kết hợp xem SGK + Bảng phụ.
Trong đó:
Kiểu dữ liệu gồm: Integer, Real, Char, Boolean,
String.
Phần thân hàm phải có câu lệnh gán.
:=
? Trong chương trình có mấy hàm? Đó là
những hàm nào? (HS: một hàm: UCLN)
? Chỉ ra vị trí xuất hiện của hàm?
? Chỉ ra các tham số của hàm? Đây là tham
biến hay tham trị? (HS: x, y là các tham trị)
? Kiểu dữ liệu của hàm là gì? (HS: Integer)
? Chỉ ra câu lệnh gán giá trị cho tên hàm?
HS: UCLN:=x;
Hoạt động 2: Cách sử dụng hàm (15)
Thông qua ví dụ này, các em đã thấy được sự
giống và khác nhau giữa thủ tục và hàm. Còn
hàm được sử dụng ntn? Chúng ta sẽ sang phần
b. b. Sử dụng hàm
? Lệnh gọi hàm được thực hiện như thế nào?  Hoàn toàn tương tự như sử dụng các hàm chuẩn.
Lệnh gọi hàm có thể tham gia vào biểu thức và có
thể là tham số của lời gọi hàm, thủ tục khác.
Để thấy rõ hơn vấn đề này, chúng ta cùng nhau
tìm hiểu ví dụ 2, SGK/trang 102.
GV: Treo bảng phụ

HS: Kết hợp theo dõi SGK + Bảng phụ
? Đâu là biến toàn cục? (HS: a, b, c)
? Đâu là biến cục bộ? (HS: không có)
? Tên và các tham số của hàm? (HS: Min(a,b)).
? Kiểu dữ liệu của hàm? (HS: Real)
? Chỉ ra lời gọi hàm? (HS: Min(Min(a,b),c))
Như vậy, các em thấy hàm Min(a,b) lại là
một tham số của hàm Min bên ngoài.
5. Củng cố, sơ kết bài học. (2)
Qua bài học này, các em cần nắm được:
- Có 2 loại Chương trình con (Thủ tục và hàm).
- Cấu trúc và vị trí của Chương trình con trong chương trình chính. (? Chương trình con được viết
ở phần nào của Chương trình chính?).
- Phân biệt được tham số hình thức, tham số thực sự, tham biến, tham trị?
- Chương trình con được gọi thông qua tên của nó.
6. Dặn dò, ra bài tập về nhà.(1)
Chuẩn bị trước bài tập và thực hành 6, trang 103/SGK.
Ngaøy soaïn:
Ngaøy daïy:
Tieát theo PPCT: 04
BÀI TẬP VÀ THỰC HÀNH 1
I. MỤC TIÊU
1. Kiến thức
- Cũng cố hiểu biết ban đầu về tin học, máy tính.
- Sử dụng bộ mã ASCII để mã hóa kí tự, số nguyên.
- Viết được số thực dưới dạng dấu phẩy động.
2. Kĩ năng
- Biết được cách mã hóa của máy tính.
- Biết biểu diễn các hệ đếm cơ số 10, 2, 16.
3. Tư tưởng, tình cảm,Thái độ

- Giúp cho học sinh có tính sáng tạo, tìm tòi, nghiên cứu.
- Gây động cơ học tập tích cực.
II. ĐỒ DÙNG DẠY HỌC
1. Chuẩn bị của giáo viên
- Sách Giáo khoa, Sách Giáo viên.
2. Chuẩn bị của học sinh
- Sách Giáo khoa.
III. TIẾN TRÌNH TỔ CHỨC DẠY VÀ HỌC
1. Ổn định tổ chức lớp: (2)
- Nắm sĩ số:
- Ổn định trật tự, tạo tâm lý tốt để bắt đầu tiết học.
2. Kiểm tra bài cũ: (3)
- Câu hỏi 1: Hệ đếm cơ số 10, 2, 16 sử dụng các ký hiệu nào?
- Câu hỏi 2: Cách biểu diễn của hệ nhị phân? Biểu diễn số 1012?
3. Dẫn dắt vào bài mới: (1)
Bài trước ta đã học về tin học và máy tính, mã hóa thông tin, biểu diễn số nguyên và số thực. Hôm
nay ta sẽ đi vào giải một số bài tập cụ thể.
4. Tổ chức các hoạt động Dạy và Học trên lớp:
HOẠT ĐỘNG CỦA THẦY  TRÒ NỘI DUNG
1. Hoạt động 1: Tin học và Máy tính (10) a. Tin học, máy tính
GV: Hãy cho biết Tin học là gì? Đáp án:
- Gọi hs trả lời tại chổ. Câu a1) C và D
GV: Em hãy cho biết 1GB bằng bao nhiêu MB?
- Gọi hs trả lời tại chổ. Rồi làm câu a2) Câu a2) B
GV: Đổi 1GB = ?byte
- Gọi hs lên bảng làm.
GV: Hôm trước các em đã được học cách mã hóa thông
tin. Các em đã biết được cách biểu diễn trạng thái của
bóng đèn, bây giờ các em làm tương tự như vậy các e có
thể biểu diễn tương ứng với học sinh nam là bit 1, tương

ứng với học sinh nữ là bit 0.
- Gọi một số học sinh lên bảng làm. Rồi nhận xét.
Câu a3) trang 16/SGK.
Hoạt động 2: Sử dụng bảng mã ASCII để mã hóa và
giải mã. (10)
b. Sử dụng mảng mã ASCII để mã hóa và
giải mã
GV: Thông tin đưa vào máy tính được mã hóa như thế
nào?
- Gọi hs trả lời tại chổ.
- Yêu cầu hs xem bảng Phụ lục 1 trang 169/SGK. Rồi
dựa vào đó để mã hóa và giải mã.
- Gọi 2 hs lên bảng làm bài b1) và b2)
Đáp án:
b1)
VN 01010110 01001110
Tin 01010100 01101001 01101110
b2) 01001000 01101111 01100001 là Hoa
- Cho một số ví dụ khác đề hs tự giải.
Hoạt động 3: Biểu diễn thông tin trong máy(17) c. Biểu diễn số nguyên và số thực
GV: Gọi 2 hs lên bảng làm bài tập sau:
- Chuyển 111
2
sang ?
10
10
012
2
72*12*12*1111
=++=

- Chuyển 1AE
16
sang ?
10
37616*1416*1016*11
012
16
=++=
AE
- Yêu cầu hs làm bài tập c1), c2) trang 16, 17/SGK
5. Củng cố, sơ kết bài học (1)
- Nhận xét, rút kinh nghiệm.
- Các em cần phải nắm vững cách sử dụng bảng mã ASCII để mã hóa các kí tự.
- Nắm vững cách biểu diễn thông tin trong máy tính.
6. Dặn dò, ra bài tập cho học sinh (1)
- Đọc Bài đọc thêm 2 trang 17/SGK.
- Xem trước bài số 3 trang 19/SGK để chuẩn bị cho tiết học sau

Video liên quan