1. Trang chủ
  2. » Giáo án - Bài giảng

Kieu ban ghi(11)

9 281 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 9
Dung lượng 69 KB

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

Nội dung

Đặt vấn đề: Trong các kiểu dữ liệu mà các em đã đợc học có kiểu dữ liệu nào dùng để khai báo chung cho tất cả các biến nh trên hay cha?. Bài hôm nay cô sẽ giới thiệu cho các em một kiểu

Trang 1

Bài 13: Kiểu bản ghi

Ngày soạn:

Ngày giảng:

I Mục đích, yêu cầu

- Biết khái niệm kiểu bản ghi

- Biết cách khai báo bản ghi, truy cập trờng của bản ghi

II Nội dung cụ thể

1 ổn định tổ chức lớp (1’)

KP:

2 Kiểm tra bài cũ (5’)

Câu hỏi:

Cho một số biến: họ tên, ngày sinh, giới tính, Tin, Toán , Lí, Hoá, Văn,

Sử, Địa Hãy khai báo kiểu dữ liệu hợp lí với các biến trên?

Trả lời:

Var hoten: string[30];

ngaysinh: string[10];

gioitinh: boolean;

toan, tin, li, hoa, van, su, dia: real;

3 Triển khai bài mới

Đặt vấn đề: Trong các kiểu dữ liệu mà các em đã đợc học có kiểu dữ liệu

nào dùng để khai báo chung cho tất cả các biến nh trên hay cha?

HS: Cha có kiểu dữ liệu nào

Bài hôm nay cô sẽ giới thiệu cho các em một kiểu dữ liệu mới, cho phép chúng ta khai báo các đối tợng mà có cùng một số thuộc tính giống nhau

Trang 2

Bài 13: Kiểu bản ghi.

Nội dung Hoạt động của giáo viên và

học sinh

Thời gian

Xét VD:

Chơng trình quản lí các thí sinh của một kỳ thi tuyển sinh cần quản lí đợc các thông tin sau: SBD của thí sinh, họ tên của thí sinh, ngày sinh, giới tính, và

điểm thi của 7 môn: Toán , Tin,

Lí, Hoá, Văn, Sử, Địa

GV: Làm thế nào để quản lí toàn bộ thông tin trên của học sinh?

HS: Có thể quản lí mỗi dữ kiện trên là mảng một chiều

GV: Mỗi thông tin trên có kiểu dữ liệu là gì?

HS: Trả lời

GV: Ngôn ngữ lập trình bậc cao có cách tốt hơn để quản lí dữ liệu trên Đó là bản ghi

4’

* Khái niệm: Dữ liệu kiểu bản ghi

(record) dùng để mô tả các đối

t-ợng có cùng một số thuộc tính mà

các thuộc tính có thể có các kiểu

dữ liệu khác nhau

- Mỗi một bản ghi sẽ lu trữ dữ liệu GV: Các em hãy quan sát bảng

Trang 3

về một đối tợng cần quản lí.

- Mỗi một thuộc tính của đối tợng

tơng ứng với một trờng của bản

ghi Các trờng khác nhau có thể có

các kiểu dữ liệu khác nhau

kết quả thi (SGK – Tr74)

- Mỗi hàng ta gọi là một bản ghi

- Mỗi cột là một trờng

* Qui tắc, cách thức xác định:

- Tên kiểu bản ghi;

- Tên các thuộc tính (trờng);

- Kiểu dữ liệu của mỗi trờng;

- Cách khai báo biến;

- Cách tham chiếu đến trờng

1 Khai báo

- Cách khai báo kiểu:

GV: Do dữ liệu kiểu bản ghi thờng dùng để mô tả nhiều đối t-ợng nên ta thờng khai báo biến bản ghi thông qua khai báo kiểu bản ghi

GV: Các thông tin cần khai báo gồm: tên kiểu bản ghi, tên các thuộc tính, kiểu dữ liệu của mỗi thuộc tính

15’

Type <tên kiểu bản ghi> = record

<tên trờng 1> : <kiểu trờng 1>;

<tên trờng 2> : <kiểu trờng 2>;

<tên trờng k> : <kiểu trờng k>;

End;

GV:

- Phần mô tả kiểu bản ghi đợc bắt đầu bằng từ khoá record và kết thúc bằng từ khoá end;

- Giữa 2 từ khóa đó là phần khai báo các trờng gồm tên trờng, dấu hai chấm, rồi đến kiểu dữ

liệu của trờng đó và kết thúc bởi

Trang 4

dấu chấm phẩy.

- Cách khai báo biến:

Var <tên biến bản ghi> : <tên kiểu

bản ghi>;

Var <tên mảng> : array[1 N] of

<tên kiểu bản ghi>;

VD: Khai báo 1 kiểu bản ghi

để xử lí bảng kết quả thi của các học sinh Mỗi bản ghi bao gồm:

họ tên, ngày sinh, giới tính, và

điểm thi các môn của mỗi học sinh (toán, tin, lí, hoá, văn, sử,

địa) Em hãy xác định kiểu dữ liệu cho các trờng trên?

HS: Hoten: string[30];

Ngaysinh: string[10]; Gioitinh: boolean;

toan, tin, li, hoa, van, su, dia: real;

- Để truy cập vào từng trờng của

bản ghi ta viết:

<tên biến bản ghi> <tên trờng>

GV: Cũng giống nh dữ liệu kiểu mảng và kiểu xâu thì dữ liệu kiểu bản ghi cũng có cách truy cập vào từng trờng của bản ghi

VD: A Hoten

B Ngaysinh Lop[i] Toan Với i là một chỉ số nào đó của mảng

- GV: Muốn tham chiếu đến tr-ờng Gioitinh của đối tợng A ta viết nh thế nào?

- HS: A Gioitinh

- GV: Lop[10] Hoten là để chỉ

Trang 5

thông tin gì?

- HS: Thông tin về họ tên của phần tử thứ 10 của mảng Lop

- GV: Trong VD trên, em hãy cho biết tên kiểu dữ liệu của biến A?

GV: Hai biến A, B có cùng kiểu dữ liệu hay không?

HS:

- Biến A có kiểu dữ liệu là Hocsinh

- Hai biến A, B có cùng một kiểu dữ liệu là Hocsinh

GV: Phần tử Lop[1] và Lop[6]

của mảng Lop thuộc kiểu gì?

Lop[1] và A có cùng kiểu hay không?

HS:

- Hai phần tử đó thuộc kiểu Hocsinh

- Lop[1] và A cùng kiểu dữ

liệu

GV: Vì bản ghi có nhiều trờng nên việc gán giá trị cho bản ghi phức tạp hơn các biến khác

Có 2 cách để gán giá trị cho bản

ghi:

- Cách 1: Dùng lệnh gán trực tiếp

GV: Cách 1 đợc thực hiện trong điều kiện nào?

HS: Khi hai biến A, B phải đợc

Trang 6

VD: A:= B; B:=A;

- Cách 2: Gán giá trị cho từng

tr-ờng:

+ Thực hiện bằng lệnh gán:

VD: A Hoten := B Hoten;

+ Nhập từ bàn phím

VD: Read (A Hoten);

khai báo cùng một kiểu bản ghi GV:

- Các biến cùng cấu trúc nhng

có tên kiểu khác nhau thì không

áp dụng đợc phép gán

- Giữa hai biến bản ghi cùng kiểu thì chỉ có thể dùng phép so sánh = hoặc <>

VD: SGK (Tr 76)

Chơng trình hoàn thiện:

Program xep-loai;

Uses crt;

Const max = 60;

Type hocsinh = record

Hoten: string [30];

Ngaysinh:string [10];

Diachi: string [50];

Toan, Van: real;

Xeploai: char;

End;

VD: SGK (Tr 76)

- GV: Đọc đề bài

- GV: Em hãy xác định các thuộc tính (Trờng)?

- HS: Các thuộc tính: họ và tên, ngày sinh, địa chỉ, điểm toán,

điểm văn, xếp loại

- GV: Ta sử dụng kiểu dữ liệu

nh thế nào để giải quyết bài toán này?

Trang 7

Var

Lop : array [1 max] of hocsinh;

N, i: Byte;

Begin

Clrscr;

Write (‘Nhap so hoc sinh trong lop

N = ’); readln (N);

For i:= 1 to N do

Begin

writeln(‘nhap so lieu ve hoc

sinh thu ’,i, ‘:’);

write (‘Ho va ten:’);

readln (Lop [i] Hoten);

write (‘Ngay sinh:’);

readln (Lop [i] Ngaysinh);

write (‘Dia chi:’);

readln (Lop [i] Diachi);

write (‘Diem Toan:’);

readln (Lop [i] Toan);

write (‘Diem Van:’);

readln (Lop [i] Van);

If Lop [i] Toan + Lop[i] Van >=

18 Then Lop [i] Xeploai := ‘A’;

If (Lop [i] Toan + Lop[i] Van

>= 14) and

- HS: Sử dụng một mảng các bản ghi

- GV: Em hãy mô tả thông tin về một học sinh bằng kiểu bản ghi?

- HS:

Type hocsinh = record

Hoten: string [30]; Ngaysinh : string [10]; Diachi : string [50]; Toan, Van : real;

Xeploai : char;

End;

- GV: Sau khi mô tả kiểu bản ghi ta cần phải khai báo các biến cần sử dụng Hãy tạo mảng các bản ghi đó?

- HS:

Var Lop: array [1 60] of

hocsinh;

- GV: Sử dụng biến N để nhập

số học sinh trong lớp, và biến i

là biến chỉ số Hai biến này có kiểu nguyên

- GV: sau phần khai báo là phần thân chơng trình

If (Lop [i] Toan + Lop[i] Van >= - GV: Giống nh mảng một chiều

Trang 8

10) and

(Lop [i] Toan + Lop[i] Van< 14)

Then Lop [i] Xeploai := ‘C’;

If Lop [i] Toan + Lop[i] Van <

10 Then Lop [i] Xeploai := ‘D’;

End;

Clrscr;

Writeln(‘Danh sach xep loai

hoc sinh trong lop:’);

For i := 1 to N do

Writeln (Lop [i] Hoten:30, ’xep

loai:’, Lop[i] Xeploai);

Readln;

End.

để nhập dữ liệu cho các phần tử của mảng các bản ghi ta sử dụng câu lệnh nào?

-HS: Sử dụng lệnh For to … …

do

- GV: Để nhập thông tin cho các trờng của bản ghi ta sử dụng lệnh nào?

HS: Nhập trực tiếp từ bàn phím Readln (Lop[i] Hoten); Readln (Lop[i] Ngaysinh); Readln (Lop[i] Diachi); Readln (Lop[i] Toan);

Readln (Lop[i] Van);

GV: Trờng xếp loại không đợc nhập từ bàn phím mà đợc xác

định dựa vào 2 thuộc tính điểm toán và văn theo 4 trờng hợp đã

đợc quy định

- GV: Để tính giá trị trờng xếp loại ta sử dụng câu lệnh gì?

- HS: Câu lệnh If Then… …

- GV: Có thể sử dụng If … Then Else đ… ợc không?

- HS: Sử dụng đợc

- GV: Sau khi nhập xong thì ta phải đa kết quả ra màn hình

Sử dụng lệnh lặp For do… Writeln (biến)

Trang 9

- Câu lệnh with: cho ta tham chiếu

đến trờng của bản ghi một cách

ngắn gọn

With <tên biến bản ghi> do

<câu lệnh>;

- GV: Ta thấy câu lệnh sauFor do… mỗi khi truy cập

đến một trờng của biến bản ghi

Lop [i], ta viết: Lop [i] <tên tr-ờng>

Nh vậy cần xử lí bao nhiêu trờng thì cần phải viết kèm bấy nhiêu lần Lop [i]

Pascal cung cấp lệnh with để tham chiếu đến trờng của biến bản ghi một cách ngắn gọn:

With <tên biến bản ghi> do

<câu lệnh>;

3’

4 Củng cố, dặn dò (2’)

Đặc điểm cơ bản giống và khác nhau cảu kiểu bản ghi với 2 kiểu dữ liệu có cấu trúc là mảng và xâu:

- Đặc điểm chung của kiểu dữ liệu có cấu trúc: Đợc tạo nên từ một số kiểu cơ sở, giá trị cảu một biến có nhiều thành phần

- Khác với mảng và xâu, các kiểu thành phần của một kiểu bản ghi có thể thuộc các kiểu dữ liệu cơ sở khác nhau

Các em về nhà đọc thêm câu lệnh with (SGK – Tr 134)

Bài tập về nhà: Chuẩn bị các bài tập trong SGK – Tr 79

III Rút kinh nghiệm

………

Ngày đăng: 30/06/2014, 16:00

Xem thêm

w