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

Giáo án môn Tin học khối 11 - Bài 13: Kiểu bản ghi

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

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

Nội dung

* 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.... liệu về một đối tượng cần quản l[r]

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

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 đã !D học có kiểu dữ

liệu nào dùng để khai báo chung cho tất cả các biến

HS: 1  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

Trang 2

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

học sinh

Thời gian

Xét VD:

sinh của một kỳ thi tuyển sinh cần quản lí !D 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

mà các thuộc tính có thể có các

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

Trang 3

- Mỗi một bản ghi sẽ % trữ dữ

liệu về một đối

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

của bản ghi Các

có thể có các kiểu dữ liệu khác

nhau

GV: Các em hãy quan sát bảng 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

* 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

- Kiểu dữ liệu của mỗi

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

- Cách tham chiếu đến

1 Khai báo

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

GV: Do dữ liệu kiểu bản ghi

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

<tên

<tên

End;

GV:

- Phần mô tả kiểu bản ghi !D

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

Trang 4

báo các dấu hai chấm, rồi đến kiểu dữ liệu của

bởi 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

HS: Hoten: string[30];

Ngaysinh: string[10]; Gioitinh: boolean;

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

- Để truy cập vào từng

bản ghi ta viết:

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

GV: Cũng giống 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

ghi

VD: A Hoten

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

Trang 5

- GV: Muốn tham chiếu đến

ta viết

- HS: A Gioitinh

- GV: Lop[10] Hoten là để chỉ 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

Trang 6

2 Gán giá trị 15’

GV: Vì bản ghi có nhiều

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

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

- Cách 2: Gán giá trị cho từ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);

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

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

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

GV:

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

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

áp dụng !D 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)

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

- 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

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

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

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

- 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

+ Đầu tiên ta phải nhập tổng số học sinh trong lớp (nhập N)

Trang 8

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

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.

- GV: Giống chiều để 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

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:

!D nhập từ bàn phím mà !D xác định dựa vào 2 thuộc tính

điểm toán và văn theo 4 hợp đã !D quy định

- GV: Để tính giá trị 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 !D không?

- HS: Sử dụng !D

- GV: Sau khi nhập xong thì ta

Trang 9

phải ! kết quả ra màn hình.

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

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

đến

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

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

`  vậy cần xử lí bao nhiêu

nhiêu lần Lop [i].

Pascal cung cấp lệnh with để tham chiếu đế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: @D 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: 01/04/2021, 04:59

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

w