Giáo trình Lập trình Pascal và Ứng dụng Tin học Văn phòng


Tổng quan về giáo trình

Giáo trình được biên soạn phục vụ học phần Cơ sở lập trình và Tin học ứng dụng trong chương trình đào tạo trình độ Đại học và Cao đẳng khối ngành Kỹ thuật, Công nghệ thông tin và Khoa học ứng dụng. Tài liệu đóng vai trò là học liệu nền tảng, thiết lập tư duy giải thuật có cấu trúc thông qua ngôn ngữ lập trình Pascal, đồng thời trang bị kỹ năng xây dựng báo cáo khoa học và trình diễn kỹ thuật thông qua phần mềm Microsoft PowerPoint 2010.

Mục tiêu học tập (learning outcomes) của giáo trình tập trung vào các chuẩn đầu ra cụ thể:

  • Về mặt kiến thức: Người học nắm vững nguyên lý phương pháp lập trình cấu trúc (Structured Programming) do Giáo sư Niklaus Wirth khởi xướng từ năm 1971; hiểu rõ cấu trúc chương trình, hệ thống kiểu dữ liệu đơn giản (chuẩn và do người dùng định nghĩa), kiểu dữ liệu có cấu trúc (mảng, tập hợp, xâu ký tự); phân biệt cơ chế quản trị bộ nhớ và phạm vi biến trong các chương trình con (thủ tục và hàm).
  • Về mặt kỹ năng giải thuật: Người học có khả năng phân tích bài toán, xây dựng lưu đồ thuật toán và cài đặt mã nguồn thực thi trên môi trường Turbo Pascal 7.0; triển khai các giải thuật số học cơ bản, thuật toán sắp xếp mảng và các thao tác xử lý xâu ký tự.
  • Về mặt ứng dụng: Người học làm chủ công cụ Microsoft PowerPoint 2010 để chuẩn hóa định dạng văn bản thuyết trình theo cấu trúc phân tầng (Slide Master, Section), chèn công thức toán học (Insert Equation), xử lý đối tượng đa phương tiện và thiết lập liên kết tương tác (Action Settings).

Cấu trúc giáo trình được thiết kế theo phương pháp tiếp cận mô-đun hóa tuần tự từ gốc đến ngọn (Top-Down Approach). Điểm đặc sắc của tài liệu là tính nhất quán giữa lý thuyết cú pháp, bảng tra cứu thông số kỹ thuật (miền trị bộ nhớ, bảng chân trị logic, bảng mã ASCII) và hệ thống ví dụ giải thuật hoàn chỉnh được chuẩn hóa trực tiếp trên môi trường thực thi Borland Turbo Pascal và Microsoft Office.


Nội dung kiến thức cốt lõi

Các chương và chủ đề chính

Nội dung giáo trình được phân bổ thành 7 chủ đề lý thuyết và thực hành trọng tâm, phát triển theo tiến trình logic chặt chẽ:

[Tổng quan & Cấu trúc Pascal] 
[Kiểu dữ liệu & Biểu thức Đơn giản] 
[Cấu trúc Điều khiển: Rẽ nhánh & Vòng lặp] 
[Kiểu Dữ liệu Có cấu trúc: Mảng - Tập hợp - Xâu] 
[Chương trình con: Hàm & Thủ tục (Top-Down)] 
[Ứng dụng Trình diễn Kỹ thuật: MS PowerPoint 2010]
  • Chủ đề 1: Tổng quan về ngôn ngữ Pascal
    Trình bày lịch sử phát triển của ngôn ngữ Pascal do Giáo sư Niklaus Wirth (Đại học Zurich, Thụy Sỹ) thiết kế năm 1971 nhằm phục vụ công tác giảng dạy lập trình cấu trúc. Giới thiệu các chuẩn ngôn ngữ: ISO Pascal, ANSI Pascal, Turbo Pascal (Borland) và IBM Pascal (Microsoft). Khảo sát cấu trúc hệ thống Turbo Pascal 7.0 gồm các tệp tin chức năng: Turbo.exe (trình soạn thảo, dịch và liên kết), .tpl (thư viện chương trình chuẩn), .tpu (chương trình đồ họa), .chr (font chữ đồ họa) và .bgi (font chữ màn hình). Định nghĩa bộ ký tự, phân loại từ khóa (Begin, End, Var, Const, Type, Function, Procedure), quy tắc định danh (tên tối đa 255 ký tự) và cấu trúc 3 phần chuẩn của một chương trình (Program, Khai báo, Thân chương trình). Giới thiệu quy trình 4 bước lập trình và hệ thống phím chức năng (F2, F3, F8, F10, Ctrl + F9, Alt + F5).

  • Chủ đề 2: Các kiểu dữ liệu đơn giản
    Phân loại hệ thống kiểu dữ liệu gồm kiểu đơn giản (chuẩn và do người dùng định nghĩa như kiểu đoạn con, kiểu liệt kê) và kiểu có cấu trúc (Mảng, Tập hợp, Bản ghi, File). Khảo sát chi tiết miền trị và dung lượng bộ nhớ của các kiểu dữ liệu chuẩn:

    • Kiểu Logic (Boolean): Miền trị True/False, bảng chân trị các phép toán AND, OR, NOT, XOR.
    • Kiểu Số nguyên: Shortint (-128..127, 1 byte), Integer (-32768..32767, 2/4 byte), Byte (0..255, 1 byte), Word (0..65535, 2 byte). Các toán tử số học nguyên +, -, *, DIV (chia lấy phần nguyên), MOD (chia lấy phần dư), toán tử biểu diễn hệ cơ số 16 tiền tố $.
    • Kiểu Số thực: Kiểu mặc định Real. Hướng dẫn cấu hình chế độ tính toán dấu chấm động thông qua tùy chọn Option -> Compiler -> Numeric Processing (8087/80287). Cung cấp thư viện hàm toán học cơ bản: Round(x), Trunc(x), Int(x), Abs(x), Sin(x), Sqr(x), Sqrt(x), Ln(x), Exp(x) và công thức chuyển đổi logarit: $\log_a b = \frac{\ln b}{\ln a}$.
    • Kiểu Ký tự (Char): Mã hóa theo bảng mã ASCII từ 0 đến 255 (0..31: điều khiển; 32..127: thông dụng; 128..255: đồ họa).
  • Chủ đề 3: Biểu thức và câu lệnh đơn giản
    Quy định thứ tự ưu tiên của các toán tử: toán tử một ngôi $\rightarrow$ toán tử nhân chia (*, /, DIV, MOD, AND) $\rightarrow$ toán tử cộng trừ (+, -, OR, XOR) $\rightarrow$ toán tử so sánh quan hệ (=, <>, <=, >=, <, >). Cú pháp và cơ chế thực thi lệnh gán (:=), lệnh nhập dữ liệu (Read, Readln) và lệnh xuất dữ liệu (Write, Writeln) kèm cơ chế căn lề, định dạng in ấn theo quy cách (Biểu_thức:Độ_dài:Số_chữ_số_thập_phân).

  • Chủ đề 4: Câu lệnh có cấu trúc
    Phân tích chi tiết cú pháp và sơ đồ hoạt động của các cấu trúc điều khiển:

    • Lệnh ghép: Cặp từ khóa Begin ... End;.
    • Cấu trúc rẽ nhánh: Lệnh If <BTLG> Then CL1 Else CL2; (dạng đầy đủ) và If <BTLG> Then CL; (dạng thiếu).
    • Cấu trúc lựa chọn: Lệnh Case <BT> Of TH1: CL1; ... Else CLn+1; End; áp dụng cho biểu thức có kiểu vô hướng đếm được.
    • Cấu trúc lặp: Vòng lặp xác định số lần For <Biến_đk> := <Gt_đầu> To/Downto <Gt_cuối> Do <CL>; (kết hợp lệnh Break); Vòng lặp kiểm tra sau Repeat <CL1;...;CLn> Until <BTLG>; (dừng lặp vô hạn bằng tổ hợp Ctrl + Break); Vòng lặp kiểm tra trước While <BTLG> Do <CL>;.
  • Chủ đề 5: Dữ liệu kiểu tập hợp, kiểu mảng và kiểu xâu

    • Kiểu Tập hợp (Set Of): Khai báo miền trị tối đa 256 phần tử, các phép toán hợp (+), giao (*), hiệu (-), phép so sánh quan hệ và phép kiểm tra phần tử thuộc tập hợp (IN).
    • Kiểu Mảng (Array): Định nghĩa mảng 1 chiều và 2 chiều (ma trận), cơ chế truy xuất qua chỉ số m[i,j], thao tác gán mảng, thuật toán đổi chỗ trực tiếp và tính toán ma trận cấp $m \times n$.
    • Kiểu Xâu (String[n]): Đặc tả kỹ thuật phần tử St[0] lưu độ dài thực (Ord(St[0])), các hàm xử lý xâu chuẩn: Length(St), Pos(St2, St1), Copy(St, Pos, Num), Concat(St1, St2) và các thủ tục biến đổi: Delete(St, Pos, Num), Insert(St2, St1, Pos), Str(Value, St), Val(St, Var, Code). Thuật toán biến đổi chữ hoa/chữ thường, cắt khoảng trắng #32 và chuyển đổi cơ số 10 sang cơ số 2.
  • Chủ đề 6: Chương trình con - Hàm và Thủ tục
    Nguyên lý lập trình từ trên xuống (Top-Down Programming). Cú pháp khai báo Procedure và Function. Phân định cơ chế truyền tham số hình thức:

    • Tham trị (Call by value): Không có từ khóa Var, giá trị biến thực tế không thay đổi sau khi kết thúc chương trình con.
    • Tham biến (Call by reference): Có từ khóa Var, biến thực tế lưu giữ giá trị thay đổi cuối cùng của chương trình con.
    • Khảo sát quy tắc phạm vi và thời gian tồn tại của biến toàn cục (Global variable) và biến địa phương (Local variable); cơ chế che dấu biến toàn cục khi trùng tên trong chương trình con lồng nhau.
  • Chủ đề 7: Phần mềm trình chiếu Microsoft PowerPoint 2010
    Khảo sát giao diện 3 khung (Slide, Note, Slide/Outline), các định dạng tệp .pptx và .ppsx, 4 chế độ hiển thị (Normal View, Slide Sorter View, Reading View, Slide Show). Hướng dẫn quản lý nhóm slide bằng tính năng Section, chuẩn hóa nhận diện đồng bộ thông qua Slide Master (Title Area, Object Area, Date/Footer/Number Area), thiết lập tương tác bằng hộp thoại Action Settings (Mouse Click, Mouse Over) và hiệu ứng chuyển động Animation.


Kiến thức nền tảng được xây dựng

  1. Lý thuyết lập trình cấu trúc (Structured Programming Theory): Nền tảng phân rã bài toán lớn thành các mô-đun độc lập có cấu trúc rõ ràng, hạn chế tối đa các bước nhảy tự do, bảo đảm mã nguồn dễ bảo trì và kiểm thử.
  2. Nguyên lý quản lý kiểu dữ liệu và bộ nhớ máy tính: Cơ chế định dạng dữ liệu nguyên thủy, nguyên lý phân bổ byte nhớ theo bảng mã ASCII, cách thức biểu diễn số thực theo chuẩn dấu chấm tĩnh/dấu chấm động và tương tác bộ đồng xử lý toán học.
  3. Mô hình phạm vi định danh và cơ chế truyền tham số: Quy tắc che dấu dữ liệu (Data hiding), thời gian sống (Lifetime) của biến trên Stack và nguyên lý quản lý tham chiếu/tham trị trong không gian bộ nhớ.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical Skills): Cài đặt cú pháp, biên dịch, bắt lỗi chương trình trên môi trường Turbo Pascal (Turbo.exe); thực hiện truy vết lỗi từng dòng lệnh (Step over với phím F8); thao tác cấu hình nâng cao trên Microsoft PowerPoint 2010.
  • Kỹ năng phân tích (Analytical Skills): Phân tích yêu cầu bài toán thực tế, chuyển hóa mô hình toán học thành sơ đồ lưu đồ giải thuật, xác định cấu trúc dữ liệu tối ưu (chọn kiểu dữ liệu tiết kiệm bộ nhớ: Byte thay cho Integer khi miền giá trị phù hợp).
  • Kỹ năng ứng dụng thực tế (Practical Competencies): Xây dựng các chương trình xử lý ma trận, biến đổi hệ cơ sở, định dạng xâu ký tự tự động; thiết kế bản trình chiếu kỹ thuật có tính nhất quán cao bằng Slide Master.

Phương pháp giảng dạy và học tập

Giáo trình được thiết kế theo phương pháp sư phạm tích hợp lý thuyết - mô hình giải thuật - thực hành lập trình:

[Định nghĩa Khái niệm & Cú pháp] 
[Mô hình hóa qua Lưu đồ Thuật toán] 
[Cài đặt Mã nguồn Mẫu & Trace biến] 
[Thực thi & Kiểm thử phòng Lab]

Bài tập và ca nghiên cứu (Case Studies)

Hệ thống bài tập mẫu được phân cấp rõ ràng theo các chủ đề thực hành:

  • Toán học và Giải tích cơ bản: Giải phương trình bậc nhất $ax + b = 0$, tính giá trị hàm phân nhánh $f(x) = \frac{|x+1|}{\sqrt{x}}$ khi $x > 0$ và $f(x) = \sqrt[3]{x^2 - 1}$ khi $x \le 0$, tính tổng dãy số tự nhiên $S = \frac{n(n+1)}{2}$, tính tổng lập phương $S = \sum_{i=1}^n i^3$.
  • Thuật toán Số học: Tách chữ số hàng trăm/chục/đơn vị của số nguyên 3 chữ số, đếm số chữ số bằng phép chia nguyên liên tiếp (DIV 10), thuật toán trừ Euclid tìm Ước số chung lớn nhất (UCLN).
  • Xử lý Cấu trúc Dữ liệu: Thuật toán đổi cơ số thập phân sang nhị phân (kết hợp toán tử DIV 2, MOD 2 và thủ tục Str), thuật toán sắp xếp mảng đổi chỗ trực tiếp với 2 vòng lặp For lồng nhau, tính trung bình cộng và trung bình nhân dãy số ($TBN = e^{\frac{1}{n} \ln(TBN)}$), giải thuật cộng hai ma trận vuông $A + B = C$.
  • Xử lý Chuỗi ký tự: Đổi mã chữ hoa/chữ thường qua bảng mã ASCII ($\text{Khoảng cách} = \text{Ord}('a') - \text{Ord}('A') = 32$), thuật toán lọc bỏ ký tự khoảng trắng #32 ở đầu, cuối và giữa chuỗi ký tự.

Đánh giá và hướng dẫn tự học

  • Phương pháp đánh giá: Đánh giá thông qua việc kiểm tra tính đúng đắn của cú pháp, bảng truy vết trạng thái biến (Trace Table) qua từng bước thực thi chương trình con và kết quả chạy thử nghiệm trên máy tính.
  • Quy trình tự học 4 bước chuẩn:
    1. Bước 1: Tìm hiểu mục đích và phân tích ràng buộc dữ liệu vào/ra của bài toán.
    2. Bước 2: Mô tả giải thuật bằng ngôn ngữ tự nhiên hoặc vẽ sơ đồ lưu đồ khối.
    3. Bước 3: Viết mã nguồn nháp, tuân thủ đúng từ khóa và quy tắc cấu trúc chương trình.
    4. Bước 4: Khởi động Turbo.exe, nạp mã, biên dịch kiểm tra lỗi bằng Ctrl + F9, xem kết quả bằng Alt + F5 và xử lý lặp vô hạn bằng Ctrl + Break.

Điểm nổi bật và cập nhật

  • Hệ thống hóa chuẩn mực ngôn ngữ Pascal: Giáo trình phân định rõ ràng các tiêu chuẩn ngôn ngữ từ ISO Pascal, ANSI Pascal, IBM Pascal đến phiên bản thương mại hóa Borland Turbo Pascal 7.0 hỗ trợ cả môi trường MS-DOS và Windows.
  • Minh họa giải thuật qua cơ chế bộ nhớ chi tiết: Giáo trình giải thích cặn kẽ tác động của từng câu lệnh lên các ô nhớ (Memory tracing), ví dụ minh họa trực quan sự khác biệt giữa biến truyền theo tham trị (biến lấy lại giá trị ban đầu sau khi kết thúc chương trình con) và biến truyền theo tham biến (Var - lưu giữ giá trị thay đổi sau cùng).
  • Cập nhật công nghệ trình chiếu Microsoft PowerPoint 2010:
    • Bổ sung tính năng quản lý bài thuyết trình quy mô lớn thông qua cấu trúc Section (gom nhóm, đổi tên, kéo thả phân đoạn slide).
    • Tích hợp công cụ soạn thảo công thức toán học chuyên sâu Insert Equation tương đương MS Word.
    • Cung cấp công cụ thay thế phông chữ toàn văn bản với Replace Font.
    • Tích hợp bộ công cụ hiệu chỉnh video trực tiếp trên slide (Color, Corrections, Video Style, Video Shape, Video Border, Video Effects) mà không cần phần mềm biên tập ngoài, hỗ trợ nhúng video trực tiếp từ các liên kết mạng (YouTube, Myspace).
  • Ứng dụng nhận diện tổ chức thực tế: Cung cấp hướng dẫn đồng bộ hóa nhận diện thương hiệu học thuật bằng cách chèn biểu trưng (Logo Trường Đại học Công nghiệp TP.HCM) vào Slide Master để tự động hiển thị trên toàn bộ các slide con, tối ưu hóa kích thước tệp trình diễn.

Đối tượng sử dụng giáo trình

Đối tượng Mục đích & Phạm vi sử dụng Yêu cầu tiên quyết (Prerequisites)
Sinh viên Đại học / Cao đẳng (Năm 1, Năm 2 khối ngành CNTT, Kỹ thuật, Kinh tế) Học tập các học phần: Tin học đại cương, Kỹ thuật lập trình, Cơ sở lập trình cấu trúc, Tin học văn phòng ứng dụng. Kiến thức Toán học đại số cơ sở, tư duy logic mệnh đề; thao tác máy tính căn bản.
Giảng viên chuyên ngành Sử dụng làm giáo trình khung, đề cương bài giảng, tài liệu tham khảo để xây dựng ngân hàng đề thi thực hành và trắc nghiệm cú pháp. Nắm vững kiến thức khoa học máy tính và sư phạm giảng dạy lập trình.
Học viên tự học & Nghiên cứu Tài liệu tra cứu nhanh danh mục từ khóa, bảng mã ASCII, cú pháp lệnh quy cách và các giải thuật số học cơ bản. Khả năng tự cài đặt môi trường giả lập DOS/Turbo Pascal và bộ phần mềm Office.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với đối tượng người học nào?

Giáo trình được thiết kế chuẩn hóa cho sinh viên đại học và cao đẳng bắt đầu tiếp cận môn khoa học máy tính, cơ sở lập trình hoặc tin học ứng dụng. Nội dung được trình bày từ mức độ căn bản (bộ ký tự, biến, lệnh gán) đến nâng cao (mảng hai chiều, chương trình con lồng nhau, thiết kế Slide Master).

2. Người học cần chuẩn bị kiến thức nền tảng gì trước khi học?

Người học chỉ cần nắm vững kiến thức toán học phổ thông (các phép toán đại số, hàm lượng giác, logic mệnh đề) và kỹ năng sử dụng máy tính căn bản (quản lý tệp tin, thao tác bàn phím trên hệ điều hành).

3. Điểm khác biệt cốt lõi của giáo trình so với các tài liệu khác là gì?

Tài liệu kết hợp chặt chẽ giữa nguyên lý lập trình cấu trúc cổ điển (Pascal) và kỹ năng ứng dụng tin học văn phòng hiện đại (PowerPoint 2010). Mọi khái niệm lý thuyết đều đi kèm với các bảng tra cứu kỹ thuật chuẩn xác (miền trị, byte nhớ, phím tắt), các sơ đồ khối giải thuật chi tiết và đoạn mã nguồn hoàn chỉnh đã qua kiểm thử thực tế.

4. Làm thế nào để tự học giáo trình đạt hiệu quả cao nhất?

Người học nên tuân thủ quy trình 4 bước lập trình được nêu trong tài liệu: Luôn viết giải thuật và vẽ lưu đồ ra giấy trước khi gõ lệnh trên máy tính. Thực hành từng bước bằng phím F8 trong môi trường Turbo Pascal để quan sát sự thay đổi giá trị của các biến trong bộ nhớ.

5. Giáo trình có những tài liệu và công cụ hỗ trợ nào đi kèm?

Tài liệu cung cấp cấu trúc danh mục tệp tin thực thi đầy đủ của môi trường Turbo Pascal 7.0 (gồm Turbo.exe, .tpl, .tpu, .chr, .bgi), bảng mã chuẩn ASCII 256 ký tự và bộ template định dạng mẫu trên Microsoft PowerPoint 2010.


Kết luận

Giáo trình Lập trình Pascal và Ứng dụng Tin học Văn phòng cung cấp hệ thống tri thức chuẩn mực về phương pháp lập trình cấu trúc Top-Down và kỹ năng trình diễn kỹ thuật số. Nội dung tài liệu xây dựng nền tảng tư duy giải thuật vững chắc, giúp người học làm chủ các cấu trúc dữ liệu cơ bản, rèn luyện kỹ năng viết mã nguồn tối ưu và hoàn thiện năng lực báo cáo khoa học học thuật.

  • Lộ trình học tập khuyến nghị:
    1. Giai đoạn 1: Làm quen môi trường Turbo Pascal, nắm vững cú pháp bộ ký tự, các kiểu dữ liệu đơn giản và kỹ thuật định dạng xuất nhập.
    2. Giai đoạn 2: Xây dựng giải thuật với các cấu trúc điều khiển (If, Case, For, While, Repeat) và cấu trúc dữ liệu (Array, Set, String).
    3. Giai đoạn 3: Hoàn thiện kỹ thuật lập trình mô-đun với Hàm, Thủ tục và triển khai báo cáo chuyên nghiệp trên Microsoft PowerPoint 2010.
  • Tài nguyên bổ trợ: Môi trường thực thi Turbo.exe (thư mục C:\TP\BIN\), bảng mã ký tự ASCII chuẩn và hệ thống mẫu giao diện thuyết trình Slide Master.