Giải Tin học 12 - Định hướng khoa học máy tính trang 58
Lời giải chi tiết SGK Lớp 12 · Môn Tin Há»c · Trang 58–59
Tóm tắt lý thuyết
Trang 56 là phần cuối của Bài 9 (thực hành tạo danh sách và bảng trong HTML), kèm hai bài tập Luyện tập – Vận dụng. Những điểm cần nhớ:
- Tạo bảng dùng thẻ
, mỗi hàng là
, mỗi ô tiêu đề là , ô dữ liệu là . - Tiêu đề bảng dùng thẻ
.- Gộp ô theo chiều dọc bằng
rowspan, gộp ô theo chiều ngang bằngcolspan.- Tạo viền có hai cách: thuộc tính
border="1"hoặc thuộc tínhstyle="border:1px solid".Trang 57 mở đầu Bài 10 – Tạo liên kết:
- Siêu văn bản (hypertext): văn bản chứa thêm âm thanh, hình ảnh và đặc biệt là các siêu liên kết (hyperlink) dẫn tới văn bản khác. Người xem không cần đọc tuần tự mà nhảy tới vị trí bất kỳ qua liên kết.
- Thẻ tạo liên kết là
, cú pháp chung:
Nội dung hiển thị tại vị trí đặt liên kết- Thuộc tính
hrefchứa địa chỉ (URL) của tài liệu đích, đặt trong cặp nháy kép. - Có hai loại URL:
- Đường dẫn tuyệt đối: địa chỉ đầy đủ gồm giao thức (
http://hoặchttps://), tên miền và đường dẫn chi tiết. Dùng khi tài liệu nằm trên máy chủ khác. Ví dụ:href="https://www.nxbgd.vn/". - Đường dẫn tương đối: (tiếp ở trang sau).
Bài tập Luyện tập (trang 56)
Đề: Sửa lại chương trình trong Hình 9.5a, sử dụng thuộc tính
stylethay vì thuộc tínhborderđể tạo viền cho bảng. Dùng màu xanh cho viền của ô hai dòng đầu bảng và dùng ba màu đỏ, vàng, xanh cho ba chữ Toán, Vật lí và Hoá học.Lời giải:
Ý tưởng: bỏ
border="1"ở thẻ, thay bằng
style="border:1px solid"cho cảvà từng ô. Riêng các ô của hai dòng đầu thì viền màu xanh, ba ô chữ môn học thì tô màu chữ tương ứng bằng
color.Bảng điểm Họ tên Điểm Toán Vật lí Hoá học Nguyễn Văn An 8.5 7.0 9.0 Giải thích:
border-collapse:collapsegiúp các đường viền của các ô gộp sát vào nhau, nhìn gọn như bảng thật.border:1px solid blueđặt cho các ô của hai dòng đầu để có viền màu xanh.color:red,color:gold(vàng),color:greenđặt riêng cho ba thẻchứa chữ Toán, Vật lí, Hoá học để đổi màu chữ.
Bài tập Vận dụng (trang 56)
Đề: Cho trước một bảng dữ liệu cỡ n × 4, mỗi hàng tương ứng với một bộ (họ tên, điểm Toán, điểm Vật lí, điểm Hoá học). Viết chương trình Python để tạo ra tệp HTML vẽ bảng tương tự Hình 9.5 và bổ sung dữ liệu vào các hàng phía dưới.
Lời giải:
# Dữ liệu mẫu: mỗi phần tử là một bộ (họ tên, Toán, Vật lí, Hoá học) data = [ ("Nguyễn Văn An", 8.5, 7.0, 9.0), ("Trần Thị Bình", 6.0, 8.5, 7.5), ("Lê Hoàng Cường", 9.0, 9.0, 8.0), ] # Bắt đầu xây dựng nội dung HTML html = [] html.append("") html.append("") html.append("Bảng điểm ") html.append("") html.append("") html.append("
") html.append("") html.append("") # Ghi ra tệp HTML with open("bangdiem.html", "w", encoding="utf-8") as f: f.write("\n".join(html)) print("Đã tạo xong tệp bangdiem.html")Bảng điểm học sinh ") # Hàng tiêu đề html.append("") for tieu_de in ["Họ tên", "Toán", "Vật lí", "Hoá học"]: html.append(f" ") # Bổ sung từng hàng dữ liệu for ho_ten, toan, ly, hoa in data: html.append("{tieu_de} ") html.append("") html.append(f" ") html.append("{ho_ten} ") html.append(f"{toan} ") html.append(f"{ly} ") html.append(f"{hoa} ") html.append("Giải thích từng bước:
datalà danh sách các bộ (tuple), số phần tử chính lànhàng – chương trình không phụ thuộc vàoncụ thể.- Dùng danh sách
htmlrồiappendtừng dòng, cuối cùng nối lại bằng"\n".join(...)cho dễ đọc. - Vòng lặp
forđầu tạo hàng tiêu đề bằng thẻ. - Vòng lặp
forthứ hai duyệt qua từng bộ dữ liệu, tự động tạochứa bốn tương ứng. Đây chính là phần "bổ sung dữ liệu vào các hàng phía dưới". open(..., "w", encoding="utf-8")ghi nội dung ra tệpbangdiem.html. Mở tệp này bằng trình duyệt sẽ thấy bảng điểm.
Câu hỏi gợi mở (trang 57)
Câu mở đầu Bài 10: Em hãy nêu những điểm khác biệt khi đọc thông tin trên trang web với việc đọc sách, báo giấy. Điểm khác biệt nào quan trọng nhất?
Gợi ý trả lời:
Tiêu chí Trang web Sách, báo giấy Cách đọc Nhảy tự do qua liên kết, không theo thứ tự Đọc tuần tự từng trang Nội dung Chữ, hình, âm thanh, video Chủ yếu chữ và hình tĩnh Cập nhật Sửa, cập nhật ngay lập tức Cố định khi đã in Tương tác Tìm kiếm, bấm liên kết Không tương tác Điểm quan trọng nhất là siêu liên kết – cho phép nhảy tới nội dung liên quan ở bất kỳ đâu, không cần đọc tuần tự.
Hoạt động 1 – Nhận biết siêu văn bản: Tệp
.docx(Word) có thể là siêu văn bản còn tệp.txt(Notepad) thì không. Theo em siêu văn bản có đặc điểm gì?Gợi ý trả lời: Siêu văn bản có những đặc điểm:
- Chứa nhiều dạng dữ liệu: ngoài chữ còn có hình ảnh, âm thanh, video, định dạng (font, màu, cỡ chữ).
- Chứa các siêu liên kết dẫn tới văn bản hoặc tài nguyên khác.
- Cho phép đọc không tuần tự, truy cập vị trí bất kỳ qua liên kết.
Tệp
.txtchỉ chứa văn bản thuần (plain text), không có định dạng và không có liên kết nên không phải siêu văn bản.
Nếu em gửi đúng ảnh trang 58 – 59 thầy sẽ giải tiếp phần đường dẫn tương đối và các bài tập kế tiếp nhé.
Chế độ đọc sách → - Vòng lặp
- Tiêu đề bảng dùng thẻ
