Tự Học Tin Tự Học Tin

Nội dung loạt bài

  • Bài 1. Tổng quan về Pascal
  • Bài 2. Các thành phần cơ bản
  • Bài 3. Câu lệnh có cấu trúc
  • Bài 4. Kiểu liệt kê, đoạn con, tập hợp
  • Bài 5. Mảng
  • Bài 6. Chuỗi kí tự
  • Bài 7. Chương trình con
  • Bài 8. Unit
  • Bài 9. Kiểu bản ghi
  • Bài 10. Con trỏ
  • Bài 11. Tệp
Tự Học Tin Tự Học Tin
  • Văn phòng
    • Microsoft 365
    • Word 365
    • Excel 365
    • PowerPoint 365
    • Google và nguồn mở
    • Google Workspace
    • LibreOffice
    • AI trong văn phòng
    Tin học văn phòng

    Làm chủ văn phòng

    Văn bản, bảng tính, trình chiếu và AI cho công việc.

    Bắt đầu học
  • Lập trình
    • Ngôn ngữ hiện đại
    • Python
    • JavaScript
    • TypeScript
    • Flutter
    • Nền tảng và AI
    • C/C++
    • C#
    • Pascal
    • AI hỗ trợ lập trình
    Lập trình

    Bắt đầu với Python

    Ngôn ngữ hiện đại, từ dòng lệnh đầu tiên đến ứng dụng.

    Bắt đầu học
  • Phát triển web
    • Giao diện web
    • HTML
    • CSS
    • Bootstrap 5
    • Tailwind CSS
    • JavaScript
    • TypeScript
    • Ứng dụng web
    • PHP
    • SQL
    • PHP và MySQL
    • Node.js
    • Next.js
    • Framework web
    Phát triển web

    Từ HTML, CSS đến Next.js

    Giao diện với Bootstrap, Tailwind; máy chủ với PHP, Node.js; ứng dụng full-stack hoàn chỉnh.

    Bắt đầu học
  • AI ứng dụng
    • Học và làm cùng AI
    • Kỹ thuật viết prompt
    • Agentic AI và trợ lý AI
    • AI trong văn phòng
    • AI hỗ trợ lập trình
    AI ứng dụng

    Từ viết prompt đến trợ lý AI

    Viết prompt chuẩn, giao việc cho Claude, ChatGPT, Gemini; dùng AI an toàn trong văn phòng và lập trình.

    Bắt đầu học
  • Công cụ số
    • Phát triển và kiểm thử
    • Git và GitHub
    • Kiểm thử phần mềm
    • Đồ họa và SEO
    • Photoshop
    • Kỹ thuật SEO
    Công cụ số

    Kỹ năng số bổ trợ

    Mã nguồn, kiểm thử, đồ họa và tối ưu tìm kiếm.

    Bắt đầu học

Bài 9. Kiểu bản ghi

30 phútNâng cao
Bạn sẽ học được
  • Khai báo:
  • Truy xuất biến kiểu record
  • Câu lệnh with

1. Khai báo:

a. Khai báo gián tiếp

Cú pháp:

Type
    <Tên kiểu> = RECORD
        <Tên trường 1> :<Kiểu trường>
        <Tên trường 2>:<Kiểu trường>
        ...
    END;

Ví dụ:

 

Type
    date=RECORD
        ngay,thang:byte;
        nam:word;
    End;
 
    HOCSINH = RECORD
        MaSV:string[15];
        Hoten:string[30];
        Ngaysinh:date;
        Diachi: String;
    End;
Lưu ý

 Nếu không có kiểm date trước đó ta có thể mô tả trực tiếp như sau:

Type
    HOCSINH = RECORD
        MaSV:string[15];
        Hoten:string[30];
        Ngaysinh:record {sử dụng khai báo trực tiếp}
            ngay:1..31;
            thang:1..12;
            nam:word;
        End;
        Diachi: String;
    End;
 
Var
    HSA,HSB: HOCSINH;
    Lop12A: Array[1..50] of HOCSINH;

b. Khai báo trực tiếp

Cú pháp:

<pre>var
    <tên kiểu>: RECORD
        <Tên trường 1> :<Kiểu trường>
        <Tên trường 2>:<Kiểu trường>
        ...
    END;

2. Truy xuất biến kiểu record

 

Để truy xuất đến biến kiểu record ta phải truy xuất vào các trường của biến với cú pháp như sau:

<Tên biến record>.<tên trường>;

Lưu ý


– Các biến cùng kiểu record có thể gán được cho nhau khi đó toàn bộ thông tin từ biến record này sẽ được gán cho biến kiểu record kia.
Ví dụ ta gán: HSA:=HSB thay vì ta phải thực hiện gán từng trường của các biến như:

  • HSA.hoten:=HSB.hoten;
  • HSA.ngaysinh:=HSB.ngaysinh;

– Có thể dùng phép so sánh =, <> cho 2 biến kiểu record nhưng không thể dùng các phép so sánh <,<=,>,>=.
Ví dụ ta có thể so sánh:
if HSA=HSB then writeln('Cung mot hoc sinh');
hoặc if HSA.hoten=HSB.hoten then writeln('Hai hoc sinh trung ten');
Nhưng không thể so sánh:
if HSA>HSB then writeln(‘HS A lon hon HS B’);
– Không dùng các thủ tục read, readln, write, writeln cho cả một biến record.
Ví dụ không được dùng: writeln(HSA);
– Không được dùng tất cả các phép toán số học và logic với biến kiểu record.

3. Câu lệnh with

Như trên ta thấy việc truy xuất một trường biến kiểu Record phải thông qua tên và dấu chấm, làm phức tạp thêm chương trình, giải quyết bớt phần nào sự phức tạp này, Pascal đưa ra câu lệnh With … do

Cú pháp:

WITH <biến kiểu record> Do <câu lệnh>;
Lưu ý

Chúng ta có thể lồng các câu lệnh with do vào với nhau để truy cập vào các trường ở xâu trong record.

Ví dụ với HOCSINH và Ngaysinh đều là biến record nhưng ngaysinh là một trường của HOCSINH ta có thể viết như sau:

WITH HOCSINH DO
    WITH ngaysinh DO
        <lệnh>;

hoặc

WITH HOCSINH, ngaysinh DO
    <lệnh>;
Thực hành
  1. Khai báo kiểu SinhVien gồm mã, họ tên, điểm trung bình.
  2. Nhập danh sách n sinh viên và in ra danh sách dạng bảng.
  3. Tìm và in thông tin sinh viên có điểm cao nhất.
Tóm tắt bài học

Bạn đã đi qua: khai báo:; truy xuất biến kiểu record; câu lệnh with. Hãy làm phần Thực hành để ghi nhớ.

Các bài khác …

  1. Bài 10. Con trỏ
  2. Bài 11. Tệp
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Trang 9 / 11

Nội dung loạt bài

  • Bài 1. Tổng quan về Pascal
  • Bài 2. Các thành phần cơ bản
  • Bài 3. Câu lệnh có cấu trúc
  • Bài 4. Kiểu liệt kê, đoạn con, tập hợp
  • Bài 5. Mảng
  • Bài 6. Chuỗi kí tự
  • Bài 7. Chương trình con
  • Bài 8. Unit
  • Bài 9. Kiểu bản ghi
  • Bài 10. Con trỏ
  • Bài 11. Tệp
  1. Trang chủ
  2. Lập trình
  3. Lập trình cơ bản
  4. Pascal

© 2015 Tự Học Tin DMCA.com Protection Status

Chuyên trang hướng dẫn tự học công nghệ thông tin. Vui lòng ghi rõ "Nguồn: TuHocTin.Net" khi bạn sao chép nội dung tại đây.

TRANG CHỦ  |  GIỚI THIỆU  |  QUY ĐỊNH  |  LIÊN HỆ  |  TBIT  |  FACEBOOK  |  TWITTER