Wednesday, November 16, 2016

Kỹ thuật lập trình C cơ sở và nâng cao - Gs. Phạm Văn Ất

Tác giả GS. Phạm Văn Ất
Số trang 546
Tải về Mega

Cuốn sách này là sự nối tiếp cuối “Ngôn ngữ lập trình C - Lý thuyết và thực hành với 80 chương trình mẫu trong KHKT và Quản lý kinh tế” của tác giả.
Nội dung cuốn sách gồm hai phần: Cơ sở và nâng cao.
Phần cơ sở (10 chương đầu) dựa trên nền của cuốn trước nhưng thêm vào khá nhiều tư liệu mới cho đầy đủ nhưng trong các chương mục: Hàm đệ quy, con trỏ hàm, cấu trúc, danh sách móc nối, kỹ thuật đồ họa và tổ chức tệp.
Phần nâng cao (các chương còn lại và một vài vấn đề khó ở cuối chương 6, 7, 8, 9) là các tư liệu hoàn toàn mới chưa có ở cuốn sách trước. Bạn đọc có thể tìm thấy ở đây nhiều vấn đề bổ ích và lý thú như: Kỹ thuật tạo ảnh chuyển động, in ảnh từ màn hình đồ họa, chơi nhạc trên máy, kiến trúc bộ nhớ 8086 và cách truy cập trực tiếp vào bộ nhớ, sử dụng các chức năng sâu của DOS và BIOS, điều khiển chuột, cách lập hàm xử lý ngắt và chương trình thường trú, thay đổi các chức năng các phím, lập trình theo thời gian thực và lập trình hướng sự kiện, thiết kế trò chơi đuổi bắt, tổ chức chương trình trên nhiều tệp, tạo chương trình COM, kết hợp giữa C và Assembler, xây dựng menu một mức, menu 2 mức trên môi trường văn bản và đồ họa, cách lập các hàm mà số đối (tham số hình thức) không cố định.
Trong sách đưa vào hơn 200 hàm chuẩn chọn lọc của Turbo C đủ để bạn đọc tra cứu và sử dụng.
Các vấn đề lý thuyết được minh họa trên nhiều chương trình chọn lọc đã thử nghiệm trên máy.
Sách gồm 18 chương và 13 phụ lục:
Chương 1 ngoài việc giới thiệu các khái niệm cơ bản còn đưa ra một số chương trình C đơn giản và cách thực hiện chúng trên máy để giúp người đọc mau chóng tiếp cận với máy.
Chương 2 trình bày các kiểu dữ liệu, cách biểu diễn các giá trị dữ liệu và cách tổ chức (lưu trữ) dữ liệu trong biến và mảng.
Chương 3 trình bày về các cách xử lý dữ liệu đơn giản nhờ các phép toán, biểu thức và câu lệnh gán.
Chương 4 trình bày các hàm vào ra dữ liệu trên bàn phím, màn hình và máy in.
Chương 5 trình bày về một lớp toán tử rất quan trọng dùng để thể hiện thuật toán, đó là toán tử nhẩy goto, toán tử rẽ nhánh if, toán tử lựa chọn switch và các toán tử tạo lập chu trình (vòng lặp) for, while, do-while.
Chương 6 trình bày cách tổ chức chương trình thành các hàm, các quy tắc xây dựng và sử dụng hàm. Các vấn đề hay và khó ở đây là con trỏ, con trỏ hàm và kỹ thuật đệ quy.
Chương 7 trình bày về một kiểu dữ liệu quan trọng là cấu trúc. Cũng sẽ nói về các hàm trên cấu trúc, cấu trúc tự trỏ và danh sách liên kết.
Chương 8 trình bày về việc quản lý màn hình văn bản và cách xây dựng cửa sổ. Một ví dụ hay ở đây là chương trình mô phỏng quy trình chuyển tháp trên màn hình mầu.
Chương 9 trình bày các hàm đồ họa để vẽ các hình cơ bản và kỹ thuật tạo ảnh chuyển động. Ở đây có nhiều ví dụ hay như chương trình vẽ tàu vũ trụ chuyển động, chương trình mô phỏng đồng hồ chạy theo thời gian thực,...
Chương 10 trình bày các thao tác trên tệp như: tạo một tệp mới, ghi dữ liệu từ bộ nhớ lên tệp, đọc dữ liệu từ tệp vào bộ nhớ,...
Chương 11 trình bày về cách lưu trữ dữ liệu và tổ chức bộ nhớ của chương trình.
Chương 12 trình bày các chỉ thị tiền xử lý giúp việc biên soạn, biên dịch chương trình hiệu quả hơn.
Chương 13 trình bày cách sử dụng ngắt mềm của DOS và BIOS để quản lý trực jtieeps các thiết bị như ổ đĩa, màn hình, bàn phím và chuột.
Chương 14 trình bày về kiến trúc bộ nhớ của 8086, địa chỉ phân đoạn, địa chỉ thực và cách truy nhập trực tiếp vào bộ nhớ. Ở đây cũng có một số ví dụ hay như các hàm đưa thông tin trực tiếp vào bộ nhớ màn hình.
Chương 15 trình bày quy tắc viết các hàm xử lý ngắt cứng và các lập trình thường trú. Đây là một trong những vấn đề khó nhưng được diễn đạt một cách giản dị, dễ hiểu và được minh họa bằng nhiều ví dụ thú vi, như các chương trình thường trú thông báo thời gian, các chương trình thường trú quản lý bàn phím (thay đổi chức năng một số phím, làm vô hiệu hóa một số hoặc toàn bộ bàn phím, tạo các autotext để làm tăng tốc độ soạn thảo văn bản).
Chương 16 sẽ minh họa quy tắc tạo âm thanh, âm nhạc trên nhiều ví dụ, trong đó có chương trình chơi bản nhạc Lambada quen thuộc.
Chương 17 dưa ra các khái niệm mới mẻ về lập trình theo thời gian thực, lập trình hướng sự kiện và kỹ thuật trò chơi. Một ví dụ lý thú ở đây là trò chơi bắn một tàu lạ lượn trên bầu trời. Qua chương này, người đọc có thể hiểu được cách sử dụng chuột, cachs thiết kế và xây dựng các trò chơi đuổi bắt trên màn hình đồ họa.
Chương 18 trình bày cách sử dụng các hàm viết bằng Assembler trong C.
Phụ lục 1 trình bày quy tắc xuống dòng và sử dụng các kí tự trống khi viết chương trình.
Phụ lục 2 có thể dùng để tra cứu các hàm chuẩn thường dùng của C.
Phụ lục 3 trình bày các bảng mã ASCII và mã quét.
Phụ lục 4 hướng dẫn cách cài đặt Turbo C vào đĩa cứng.
Phụ lục 5 giới thiệu chung về môi trường kết hợp của C
Phụ lục 6 trình bày về cách sử dụng hệ soạn thảo C dùng để biên soạn chương trình gốc.
Phụ lục 7 trình bày cách dùng menu Project để dịch chương trình viết trên nhiều tệp.
Phụ lục 8 hướng dẫn cách dùng trình biên dịch TCC để dịch (từ môi trường DOS) các chương trình lớn viết trên nhiều tệp. Phương pháp này cho phép biên dịch các chương trình rất lớn viết trên vài ngàn dòng lệnh.
Phụ lục 9 hướng dẫn phương pháp gỡ rồi và chạy chương trình từng bước để dò tìm lỗi chương trình.
Phụ lục 10 trình bày 6 mô hình bộ nhớ của C. Cũng sẽ nói cách tạo tệp chương trình đuôi COM bằng cách dịch theo mô hình Tiny trong chế độ dòng lệnh TCC (xem phụ lục 8). Cũng cần nói thêm, khi biên dịch chương trình thường nhận được các tệp chương trình đuôi EXE.
Phụ lục 11 trình bày tóm tắt các hàm Turbo C theo thứ tự ABC.
Phụ lục 12 trình bày cách xây dựng các hàm với đối số bất định, như các thủ tục writeln, readln của Pascal và các hàm printf, scanf của C. Công cụ chủ yếu được dùng là con trỏ và danh sách.
Phụ lục 13 trình bày cách bắt một phím hoặc một tổ hợp phím bất kỳ (như tổ hợp 2 phím Ctrl End, tổ hợp 3 phím Ctrl Alt Del) và trình bày một số hàm tiện ích thường dùng khi cài đặt chương trình như các hàm tạo menu trong chế độ văn bản và đồ hoạ, hàm vẽ đồ thị cho hàm có một biến số thực.
Khi viết chúng tôi đã cố gắng để giáo trình được hoàn chỉnh, song chắc chắn không tránh khỏi thiết sót, vì vậy rất mong nhận được góp ý của độc giả để giáo trình ngày một hoàn thiện hơn.

No comments:

Post a Comment