![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng Thực hành chương trình dịch: Bài 1 - Phạm Đăng Hải
Số trang: 13
Loại file: pdf
Dung lượng: 129.54 KB
Lượt xem: 19
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Thực hành chương trình dịch: Bài 1 - Lập bảng chỉ mục" được thực hiện nhằm giúp các bạn sinh viên nắm được thao tác với tệp, thao tác với xâu ký tự, thao tác con trỏ thông qua bài tập thực hành về lập một bảng chỉ mục. Mời các bạn cùng tham khảo bài giảng!
Nội dung trích xuất từ tài liệu:
Bài giảng Thực hành chương trình dịch: Bài 1 - Phạm Đăng Hải Thực hành CHƯƠNG TRÌNH DỊCH Bài 1: Lập bảng chỉ mục Phạm Đăng Hải haipd@soict.hust.edu.vn Đề bài • Đọc một tệp văn bản, hãy lập một bảng chỉ mục (index table) cho tệp văn bản đó. • Bảng chỉ dẫn liệt kê tất cả các từ xuất hiện trong văn bản theo quy cách – Mỗi từ được liệt kê một lần cùng với số lần xuất hiện trong văn bản và dòng xuất hiện từ đó. – Các từ phải được sắp xếp theo thứ tự từ điển * 2 Mô tả chi tiết • Tệp văn bản – Đoạn văn bản tiếng Anh, định dạng ASCII • Tệp mẫu “vanban.txt” • Từ là những dãy chữ cái phân biệt bởi – Khoảng trống/ Dấu phân cách • Các ký tự không phải chữ cái (a..z, A..Z) • Không phân biệt chữ hoa, chữ thường – Khi đưa vào bảng chỉ mục phải chuyển tất cả các ký tự thành chữ thường * 3 Mô tả chi tiết • Không đưa vào bảng chỉ mục – Những từ không có ý nghĩa để tra • Ví dụ: for, the, an,… • Những từ như vậy được lưu trong tệp: “stopw.txt”, mỗi từ một dòng. – Những danh từ riêng. • Đó là những từ có chữ cái đầu là chữ hoa nhưng không đứng sau dấu chấm câu. – Ví dụ: “Will you visit Hanoi someday?” * 4 Tình bày kết quả Trình bày kết quả theo dòng: – Đầu tiên là từ, sau đó là phần dãy số. – Số đầu tiên là số lần xuất hiện của từ, – Các số tiếp theo là dòng mà từ đó xuất hiện. •Ví dụ answer 7,8,12,15 ant 2,4,6 baby 7,9,21 cruel 2,4,5 * 5 Thiết kế khung cho chương trình • Đọc một từ. • Kiểm tra từ có nghĩa. • Lưu từ vào danh sách được sắp xếp. • Xác định các thông tin cho từ có nghĩa – Số lần xuất hiện, chỉ số dòng. * 6 Đọc từ • Đọc từng ký tự cho tới khi gặp ký tự kết thúc từ. – Ký tự kết thúc từ:? • Chữ số, dấu cách, dấu chấm câu, dấu xuống dòng.. • Không phải chữ cái a..zA..Z – Hàm int isalpha(char c); • Kỹ thuật: – Xác định ký tự đầu tiên của từ? – Ghép các ký tự thành một từ? • Hàm ghép xâu. char * strcat(char * d, const char *s )? – Chuyển ký tự về chữ thường? • Hàm int tolower(char c) * 7 Kiểm tra từ có nghĩa •Loại bỏ nếu từ trong danh sách “stopw”, •Loại bỏ nếu từ là danh từ riêng. •Kỹ thuật: – Kiểm tra từ có trong danh sách • Hàm so sánh xâu. – Hàm int strcmp(const char * s1, const char * s2) – Kiểm tra từ có phải danh từ riêng • Vấn đề: Nếu danh từ riêng đứng ở đầu câu? * 8 Chèn từ vào danh sách • Nếu từ chưa có trong danh sách → thêm từ vào danh sách. • Nếu từ đã có trong danh sách → Tăng số lần xuất hiện → Thêm chỉ số dòng (nếu chưa có) • Kỹ thuật: – Sắp xếp danh sách theo thứ tự từ điển? • Hàm so sánh xâu – Xác định chỉ số dòng? • Ký tự xuống dòng: /n và /r – Khác biệt giữa linux và window? → sử dụng ‘\n’ * 9 Biến trong chương trình • Danh sách từ cho bảng chỉ mục → Sử dụng mảng • Sắp xếp kiểu thêm dần • Vấn đề: kích thước mảng !? • Dach sách từ không có nghĩa tra cứu: → Sử dụng mảng. • Dãy các chỉ số dòng → Sử dụng xâu ký tự. Ví dụ “2, 5, 6, 7, 12” * 10 Biến trong chương trình Danh sách liên kết Trỏ Cuối Trỏ Đầu Mục Từ Số lần xuất hiên Dách sách dòng * 11 Kiến thức lập trình cần chú ý • Thao tác với tệp: – Mở, đóng tệp, – Đọc ký tự (int fgetc(FILE * flot) ) • Thao tác với xâu ký tự: – So sánh xâu ký tự, – Thêm ký tự vào xâu, • Thao tác con trỏ – Xin, giải phóng vùng nhớ • Hàm malloc(int size), free(void *).. – Chèn phần tử vào danh sách * 12 Quy cách nộp bài • Nộp bài qua email: haipd@soict.hust.edu.vn • Hạn nộp bài: 23h59m59s, Thứ sáu: 26/2/2021 • Quy cách nộp bài – Một file nén duy nhất Ten_HoDem.zip • File mã nguồn *.c và *.h • File readme.txt (nếu cần) • Các file input • File ảnh kết quả • Bộ dịch: DEV C++ 5.11 • Sao chép bài !? * 13
Nội dung trích xuất từ tài liệu:
Bài giảng Thực hành chương trình dịch: Bài 1 - Phạm Đăng Hải Thực hành CHƯƠNG TRÌNH DỊCH Bài 1: Lập bảng chỉ mục Phạm Đăng Hải haipd@soict.hust.edu.vn Đề bài • Đọc một tệp văn bản, hãy lập một bảng chỉ mục (index table) cho tệp văn bản đó. • Bảng chỉ dẫn liệt kê tất cả các từ xuất hiện trong văn bản theo quy cách – Mỗi từ được liệt kê một lần cùng với số lần xuất hiện trong văn bản và dòng xuất hiện từ đó. – Các từ phải được sắp xếp theo thứ tự từ điển * 2 Mô tả chi tiết • Tệp văn bản – Đoạn văn bản tiếng Anh, định dạng ASCII • Tệp mẫu “vanban.txt” • Từ là những dãy chữ cái phân biệt bởi – Khoảng trống/ Dấu phân cách • Các ký tự không phải chữ cái (a..z, A..Z) • Không phân biệt chữ hoa, chữ thường – Khi đưa vào bảng chỉ mục phải chuyển tất cả các ký tự thành chữ thường * 3 Mô tả chi tiết • Không đưa vào bảng chỉ mục – Những từ không có ý nghĩa để tra • Ví dụ: for, the, an,… • Những từ như vậy được lưu trong tệp: “stopw.txt”, mỗi từ một dòng. – Những danh từ riêng. • Đó là những từ có chữ cái đầu là chữ hoa nhưng không đứng sau dấu chấm câu. – Ví dụ: “Will you visit Hanoi someday?” * 4 Tình bày kết quả Trình bày kết quả theo dòng: – Đầu tiên là từ, sau đó là phần dãy số. – Số đầu tiên là số lần xuất hiện của từ, – Các số tiếp theo là dòng mà từ đó xuất hiện. •Ví dụ answer 7,8,12,15 ant 2,4,6 baby 7,9,21 cruel 2,4,5 * 5 Thiết kế khung cho chương trình • Đọc một từ. • Kiểm tra từ có nghĩa. • Lưu từ vào danh sách được sắp xếp. • Xác định các thông tin cho từ có nghĩa – Số lần xuất hiện, chỉ số dòng. * 6 Đọc từ • Đọc từng ký tự cho tới khi gặp ký tự kết thúc từ. – Ký tự kết thúc từ:? • Chữ số, dấu cách, dấu chấm câu, dấu xuống dòng.. • Không phải chữ cái a..zA..Z – Hàm int isalpha(char c); • Kỹ thuật: – Xác định ký tự đầu tiên của từ? – Ghép các ký tự thành một từ? • Hàm ghép xâu. char * strcat(char * d, const char *s )? – Chuyển ký tự về chữ thường? • Hàm int tolower(char c) * 7 Kiểm tra từ có nghĩa •Loại bỏ nếu từ trong danh sách “stopw”, •Loại bỏ nếu từ là danh từ riêng. •Kỹ thuật: – Kiểm tra từ có trong danh sách • Hàm so sánh xâu. – Hàm int strcmp(const char * s1, const char * s2) – Kiểm tra từ có phải danh từ riêng • Vấn đề: Nếu danh từ riêng đứng ở đầu câu? * 8 Chèn từ vào danh sách • Nếu từ chưa có trong danh sách → thêm từ vào danh sách. • Nếu từ đã có trong danh sách → Tăng số lần xuất hiện → Thêm chỉ số dòng (nếu chưa có) • Kỹ thuật: – Sắp xếp danh sách theo thứ tự từ điển? • Hàm so sánh xâu – Xác định chỉ số dòng? • Ký tự xuống dòng: /n và /r – Khác biệt giữa linux và window? → sử dụng ‘\n’ * 9 Biến trong chương trình • Danh sách từ cho bảng chỉ mục → Sử dụng mảng • Sắp xếp kiểu thêm dần • Vấn đề: kích thước mảng !? • Dach sách từ không có nghĩa tra cứu: → Sử dụng mảng. • Dãy các chỉ số dòng → Sử dụng xâu ký tự. Ví dụ “2, 5, 6, 7, 12” * 10 Biến trong chương trình Danh sách liên kết Trỏ Cuối Trỏ Đầu Mục Từ Số lần xuất hiên Dách sách dòng * 11 Kiến thức lập trình cần chú ý • Thao tác với tệp: – Mở, đóng tệp, – Đọc ký tự (int fgetc(FILE * flot) ) • Thao tác với xâu ký tự: – So sánh xâu ký tự, – Thêm ký tự vào xâu, • Thao tác con trỏ – Xin, giải phóng vùng nhớ • Hàm malloc(int size), free(void *).. – Chèn phần tử vào danh sách * 12 Quy cách nộp bài • Nộp bài qua email: haipd@soict.hust.edu.vn • Hạn nộp bài: 23h59m59s, Thứ sáu: 26/2/2021 • Quy cách nộp bài – Một file nén duy nhất Ten_HoDem.zip • File mã nguồn *.c và *.h • File readme.txt (nếu cần) • Các file input • File ảnh kết quả • Bộ dịch: DEV C++ 5.11 • Sao chép bài !? * 13
Tìm kiếm theo từ khóa liên quan:
Bài giảng Thực hành chương trình dịch Thực hành chương trình dịch Thao tác với tệp Thao tác với xâu ký tự Thao tác con trỏ Lập bảng chỉ mụcTài liệu liên quan:
-
Giáo án Tin học lớp 4 - Bài 5: Thao tác với thư mục, tệp (Sách Chân trời sáng tạo)
5 trang 81 0 0 -
Đề cương ôn tập học kì 2 môn Tin học lớp 11 năm 2022-2023 - Trường THPT Nguyễn Trãi, BR-VT
7 trang 29 0 0 -
Đề cương ôn tập học kì 2 môn Tin học lớp 11 năm 2022-2023 - Trường THPT Sơn Động số 3
6 trang 29 0 0 -
Bài giảng Thực hành chương trình dịch: Bài 5 - Phạm Đăng Hải
66 trang 28 0 0 -
93 trang 25 0 0
-
Giáo án tin học: Kiểu dữ liệu tệp, thao tác với tệp
2 trang 24 0 0 -
Bài giảng Thực hành chương trình dịch: Bài 3 - Phạm Đăng Hải
32 trang 21 0 0 -
Bài giảng Lập trình nâng cao - Chương 5: File operations
24 trang 21 0 0 -
Bài 15: Thao tác với tệp - Giáo án Tin học 11 - GV.Hoàng Long
5 trang 20 0 0 -
Bài giảng Thực hành chương trình dịch: Bài 2 - Phạm Đăng Hải
20 trang 19 0 0