

Nguyễn Thị Hiền
Giới thiệu về bản thân



































Thuật toán (dạng liệt kê các bước):
Bước 1: Nhập số nguyên n
Bước 2: Khởi tạo biến S ← 0
Bước 3: Duyệt biến i từ 1 đến n, mỗi lần lặp:
S ← S + i
Bước 4: Xuất kết quả S
Bước 5: Kết thúc
Ví dụ: Quy trình nấu một món ăn như “nấu canh chua cá”
Lý do không được coi là thuật toán:
Không xác định rõ ràng:
Các bước như “nêm gia vị vừa ăn” không có tiêu chuẩn cụ thể, phụ thuộc vào cảm nhận cá nhân.
Không chính xác và không chặt chẽ:
Không có cách diễn đạt bằng ngôn ngữ hình thức hoặc lập trình.
Thiếu tính chắc chắn:
Kết quả có thể khác nhau mỗi lần do sự cảm tính trong thao tác (nhiệt độ, thời gian, khẩu vị...).
Kết luận:
Dù có trình tự, quy trình nấu ăn như trên không phải là thuật toán vì thiếu tính xác định, rõ ràng và chính xác — những yêu cầu cơ bản của một thuật toán.
Chủ đề: Cấu trúc lặp
1. Khái niệm:
→ Là cấu trúc cho phép thực hiện lặp đi lặp lại một khối lệnh khi điều kiện còn đúng.
2. Các loại cấu trúc lặp:
Lặp với điều kiện đầu (while):
Kiểm tra điều kiện trước khi thực hiện.
Có thể không thực hiện lần nào.
Lặp với điều kiện cuối (do...while):
Thực hiện ít nhất một lần rồi mới kiểm tra điều kiện.
Lặp với số lần xác định (for):
Biết trước số lần lặp.
Cú pháp rõ ràng, dễ dùng.
3. Thành phần chính của cấu trúc lặp:
Biến đếm hoặc biến điều kiện
Điều kiện lặp
Khối lệnh trong vòng lặp
Câu lệnh thay đổi điều kiện (nếu cần)
4. Ứng dụng:
Tính tổng, tích, tìm số nguyên tố, in bảng cửu chương,...
Duyệt mảng, xử lý dữ liệu,...
1. Bài toán tin học:
Tìm đường đi ngắn nhất trong một bản đồ thành phố.
Cho một bản đồ gồm các địa điểm và các tuyến đường nối giữa chúng, hãy viết chương trình để tìm đường đi ngắn nhất từ điểm A đến điểm B.
(Đây là bài toán có thể giải bằng thuật toán Dijkstra hoặc A* trong tin học.)
2. Bài toán không thuộc tin học:
Tính diện tích của một hình tam giác.
Cho độ dài ba cạnh của tam giác là a, b, c. Hãy tính diện tích của tam giác đó theo công thức Heron.
Các vấn đề nhỏ cần giải quyết:
Biểu diễn bản đồ thành phố dưới dạng dữ liệu:
Mỗi địa điểm là một đỉnh (node).
Mỗi tuyến đường giữa các địa điểm là một cạnh (edge) với trọng số là độ dài quãng đường hoặc thời gian di chuyển.
Lưu trữ và xử lý dữ liệu bản đồ:
Sử dụng cấu trúc dữ liệu như ma trận kề hoặc danh sách kề để lưu trữ thông tin các địa điểm và các tuyến đường.
Xác định điểm bắt đầu và điểm kết thúc:
Nhận dữ liệu đầu vào từ người dùng hoặc từ chương trình (ví dụ: điểm A và điểm B cần tìm đường đi ngắn nhất).
Tìm thuật toán phù hợp để tìm đường đi ngắn nhất:
Áp dụng thuật toán Dijkstra, Bellman-Ford hoặc A* để tính
Tên nghề: Lập trình viên
1. Nghề đó thuộc định hướng nào?
→ Thuộc định hướng Khoa học máy tính và công nghệ thông tin.
2. Đặc điểm công việc và sản phẩm đặc trưng của nghề:
Đặc điểm công việc:
Viết mã lệnh (code) để tạo ra phần mềm, ứng dụng, trò chơi hoặc hệ thống.
Phân tích yêu cầu, thiết kế thuật toán, kiểm thử và sửa lỗi chương trình.
Thường làm việc nhóm và sử dụng nhiều công cụ lập trình khác nhau.
Sản phẩm đặc trưng:
Phần mềm ứng dụng, trang web, trò chơi điện tử, ứng dụng di động, hệ thống quản lý,…
3. Lý do thích / không thích nghề đó:
→ Thích nghề lập trình viên vì:
Sáng tạo, nhiều cơ hội học hỏi và phát triển.
Có thu nhập khá cao và dễ làm việc từ xa.
Nghề đang rất cần thiết trong thời đại công nghệ số.