Bài tập môn Hệ Điều Hành

3 3.1K 42
Bài tập môn Hệ Điều Hành

Đang tải... (xem toàn văn)

Thông tin tài liệu

các bài tập cơ bản hệ điều hành

HDTH môn Hệ ñiều hành Ôn lại các thao tác trên tập tin Khoa Công Nghệ Thông Tin – Trường ðH KHTN Tp.HCM 1 Hướng dẫn thực hành bài 1 A. Lý thuyết - Kỹ năng lập trình C căn bản. - Các kỹ thuật lập trình liên quan ñến tập tin. B. Thực hành 1. Viết chương trình (VCT) mã hóa nội dung của một tập tin & chương trình giải mã tương ứng. 2. VCT nhập vào tên của một file .EXE có sẵn và gọi thực hiện file .EXE ñó. 3. VCT ñọc & hiển thị nội dung 1 tập tin ra màn hình dưới dạng Hex (như dạng hiển thị nội dung tập tin của phần mềm NC khi nhấn phím F3 rồi nhấn tiếp F4 – nhưng không cần xuất ra ñường thẳng ñứng phân cách). Hướng dẫn: - Các biến, hàm và kỹ năng cần biết: o Các biến, hàm liên quan ñến tập tin:  Con trỏ FILE: FILE *  Mở file: FILE *fopen(const char *filename, const char *mode) • filename: tên tập tin • mode: r, w, a, r+, w+, a+, t(text), b(binary)  ðọc dữ liệu: size_t fread(void *ptr, size_t size, size_t n, FILE* stream)  Ghi dữ liệu: size_t fwrite(const void *ptr, size_t size, size_t n, FILE* stream) • ptr: vùng ñệm ñể ñọc / ghi • size: kích thước (theo byte) 1 item cần ñọc / ghi • n: số item cần ñọc / ghi • stream: con trỏ ñến file sẽ ñọc / ghi • Trả về số item ñã ñược ñọc / ghi o Chỉ thị nhập / xuất cho hàm scanf / printf:  Ký tự (char): %c  Chuỗi (char []) có ký tự kết thúc chuỗi: %s  Số nguyên (int): • Dạng bát phân: %o • Dạng thập phân: %d • Dạng thập lục phân: %x (chữ thường a, b…), %X (chữ hoa A, B…)  Số thực (float): %f  Số nguyên dài (long): %ld  long int  Số thực dài (double): %lf  long float  ðịnh dạng số khoảng trống xuất: • Cho số nguyên: %nd  n khoảng trống dành biểu diễn số nguyên (n âm: canh trái, n dương: canh phải). Nếu n = 0 thì không canh lề. Ví dụ: HDTH môn Hệ ñiều hành Ôn lại các thao tác trên tập tin Khoa Công Nghệ Thông Tin – Trường ðH KHTN Tp.HCM 2 o int a = 123, b = 15; o printf(“%-4d%5d”, a, b); o Kết quả: dành 4 khoảng trống và canh trái cho biến a; dành 5 khoảng trống và canh phải cho biến b 1 2 3 1 5 • Cho số thực: %n.md  n khoảng trống dành biểu diễn số thực tính luôn dấu chấm “.” (n âm: canh trái, n dương: canh phải), m là số chữ số lẻ của số thực ñó. Lưu ý, nếu dùng cách này ñể biểu diễn số nguyên thì số nguyên ñó tự ñộng thêm số 0 ở ñầu ñể bảo ñảm tổng số chữ số của số nguyên bằng m. Ví dụ: o int a = 4; float b = 1.2, c = 2.126; o printf(“%-5.3d%6.2f%7.2f”, a, b, c); o Kết quả: dành 5 khoảng trống, canh trái, 3 số ñể biểu diễn biến a; dành 6 khoảng trống, canh phải, 2 số lẻ ñể biểu diễn biến b; dành 7 khoảng trống, canh phải, 2 số lẻ ñể biểu diễn biến c. 0 0 4 6 . 2 0 2 . 1 3 Bài 1: Gợi ý: Có thể chọn phương pháp mã hóa ñơn giản là xoay vòng (tăng hoặc giảm giá trị mã ASCII của mỗi ký tự (mỗi byte) của tập tin muốn mã hóa. Muốn giải mã ta chỉ việc làm ngược lại quá trình trên. Ví dụ: tập tin có nội dung VIT CON Chọn cách mã hóa tăng mỗi lần 2 nấc: V (86)  X (88) , I (73)  K (75)… Giải mã sẽ làm ngược lại: X (88)  V (86), K (75)  I (73)… Chú ý: - Vì bảng mã ASCII chỉ có 256 ký tự tương ứng với mã ASCII từ 0 ñến 255. Do ñó, ta phải chú ý mã hóa các ký tự có mã ASCII 254  0, 255  1… ứng với cách mã hóa tăng 2 như trên. - Muốn biết ký tự có mã ASCII là n là ký tự gì, ta giữ Alt rồi nhấn các chữ số của n ñó rồi thả Alt ra. Ví dụ ta giữ Alt, nhấn 6, 5 rồi thả Alt ra, lập tức ta có chữ A vì mã ASCII của ký tự A là 65. - Công thức gợi ý: Mã ASCII của ký tự ñã mã hóa = (Mã ASCII của ký tự cần mã hóa + n) % 256. n > 0 : tăng, n < 0: giảm Bài 2: Sử dụng một trong cách hàm sau ñể gọi thực hiện một lệnh ngoài DOS: - int system(const char *command)  trong thư viện PROCESS.H hoặc STDLIB.H - Nhóm lệnh exec… hay spawn… trong thư viện PROCESS.H HDTH môn Hệ ñiều hành Ôn lại các thao tác trên tập tin Khoa Công Nghệ Thông Tin – Trường ðH KHTN Tp.HCM 3 Lưu ý: ñể gọi thực thi một tập tin .EXE thì chương trình phải có một bộ nhớ ñủ lớn. ðể chỉnh lại kích thước vùng nhớ cho chương trình trong BC++ 3.1 for DOS, ta làm như sau: Chọn menu Options > Compiler > Code generation… > Chọn Model Compact trở lên. Bài 3: ðọc nội dung tập tin rồi xuất giá trị từng byte ra màn hình với chỉ thị %x ñể xuất dạng Hex. Kết hợp cách ñịnh dạng số khoảng trắng xuất ñể gióng cột cho thẳng hàng.

Ngày đăng: 26/04/2014, 11:07

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan