Ngô Thanh Huy
Giới thiệu về bản thân
import matplotlib.pyplot as plt import matplotlib.patches as patches
Tạo sơ đồ khối
fig, ax = plt.subplots(figsize=(10, 6))
Tạo hàm vẽ hình chữ nhật (bước xử lý)
def draw_process(x, y, text): ax.add_patch(patches.Rectangle((x, y), 2, 1, edgecolor='black', facecolor='#BFD8AF')) ax.text(x + 1, y + 0.5, text, va='center', ha='center', fontsize=9)
Tạo hàm vẽ hình thoi (điều kiện)
def draw_decision(x, y, text): ax.add_patch(patches.Polygon([[x+1, y+1], [x+2, y+0.5], [x+1, y], [x, y+0.5]], edgecolor='black', facecolor='#F9E79F')) ax.text(x + 1, y + 0.5, text, va='center', ha='center', fontsize=9)
Vẽ các bước
draw_process(4, 5, "B1: Kiểm tra\nsố lượng vở") draw_decision(4, 3.5, "Đủ 5 quyển vở?") draw_process(7, 3.5, "B3: Đi học") draw_process(1, 3.5, "Lấy thêm 1 quyển vở")
Vẽ các mũi tên
def draw_arrow(start, end): ax.annotate("", xy=end, xytext=start, arrowprops=dict(arrowstyle="->", lw=1.5))
Mũi tên từ B1 đến điều kiện
draw_arrow((5, 5), (5, 4.5))
Mũi tên từ điều kiện đến "Đi học" (YES)
draw_arrow((6, 4), (7, 4))
Mũi tên từ điều kiện đến "Lấy thêm" (NO)
draw_arrow((4, 4), (3, 4))
Mũi tên từ "Lấy thêm" quay về B1
draw_arrow((2, 4.5), (2, 5.5)) draw_arrow((2, 5.5), (4, 5.5))
Thiết lập vùng hiển thị
ax.set_xlim(0, 10) ax.set_ylim(2.5, 7) ax.axis('off') plt.title("Sơ đồ khối: Thuật toán kiểm tra vở trước khi đi học", fontsize=13) plt.show()
Khi chuẩn bị tắm, em đặt tay vào nước để kiểm tra. Nếu nước quá nóng, em sẽ thêm nước lạnh; ngược lại, nếu nước không quá nóng, em sẽ bắt đầu tắm ngay.
import matplotlib.pyplot as plt import networkx as nx
Tạo đồ thị
G = nx.DiGraph()
Thêm các nút
G.add_node("An toàn thông tin\ntrên Internet", layer=0) G.add_node("Tác hại, nguy cơ", layer=1) G.add_node("Quy tắc an toàn", layer=1)
Nhánh: Tác hại, nguy cơ
harmful_nodes = [ "Nội dung xấu, độc hại", "Lừa đảo, đánh cắp thông tin", "Nghiện Internet, ảnh hưởng sức khỏe", "Bắt nạt trên mạng", "Lây nhiễm virus, phần mềm độc hại" ] for node in harmful_nodes: G.add_node(node, layer=2) G.add_edge("Tác hại, nguy cơ", node)
Nhánh: Quy tắc an toàn
safety_nodes = [ "Không chia sẻ thông tin cá nhân", "Không kết bạn, trò chuyện với người lạ", "Sử dụng mật khẩu mạnh", "Kiểm tra nguồn thông tin", "Chỉ truy cập web đáng tin cậy", "Báo người lớn khi gặp nguy hiểm" ] for node in safety_nodes: G.add_node(node, layer=2) G.add_edge("Quy tắc an toàn", node)
Kết nối từ chủ đề trung tâm đến 2 nhánh chính
G.add_edge("An toàn thông tin\ntrên Internet", "Tác hại, nguy cơ") G.add_edge("An toàn thông tin\ntrên Internet", "Quy tắc an toàn")
Vị trí vẽ sơ đồ tư duy
pos = nx.spring_layout(G, k=1.5, seed=42)
Vẽ sơ đồ
plt.figure(figsize=(12, 8)) nx.draw(G, pos, with_labels=True, node_size=3000, node_color="#D0E6A5", font_size=9, font_weight='bold', edge_color='gray', arrows=True) plt.title("Sơ đồ tư duy: An toàn thông tin trên Internet", fontsize=14) plt.axis('off') plt.show()
Tác hại, nguy cơ khi sử dụng Internet Tiếp xúc nội dung xấu, độc hại:
Hình ảnh, video bạo lực, khiêu dâm, thông tin sai lệch.
Lừa đảo và đánh cắp thông tin cá nhân:
Mạo danh, giả mạo trang web để lấy thông tin tài khoản, mật khẩu.
Nghiện Internet, ảnh hưởng học tập và sức khỏe:
Sử dụng quá mức, mất tập trung học hành, mỏi mắt, mất ngủ.
Bị bắt nạt trên mạng (cyberbullying):
Bị người khác xúc phạm, bôi nhọ qua mạng xã hội.
Lây nhiễm virus, phần mềm độc hại:
Tải phần mềm không rõ nguồn gốc, nhấp vào liên kết lạ.
Quy tắc an toàn khi sử dụng Internet Không chia sẻ thông tin cá nhân lên mạng:
Như địa chỉ, số điện thoại, tài khoản ngân hàng.
Không kết bạn, trò chuyện với người lạ:
Đặc biệt là người chưa từng gặp ngoài đời thực.
Sử dụng mật khẩu mạnh và không chia sẻ mật khẩu:
Nên thay đổi mật khẩu thường xuyên.
Kiểm tra nguồn thông tin trước khi tin hoặc chia sẻ:
Tránh bị lừa hoặc lan truyền tin giả.
Chỉ truy cập các trang web đáng tin cậy:
Tránh tải phần mềm từ trang web không rõ nguồn gốc.
Báo cho người lớn khi gặp nguy hiểm hoặc nội dung xấu:
Không tự xử lý một mình.