Bài 3 - Khái niệm chương trình máy tính, hệ điều hành

1. Chương trình máy tính là gì? Hệ điều hành là gì?

Chương trình máy tính là tập hợp các câu lệnh (dòng code) thực hiện một tác vụ cụ thể, được cài đặt trên máy tính để thực thi. Hầu hết các thiết bị máy tính yêu cầu các chương trình để hoạt động đúng. Một chương trình máy tính thường được viết bởi một lập trình viên máy tính bằng ngôn ngữ lập trình.

Hệ điều hành cũng là 1 chương trình máy tính được cài đặt trên máy tính giúp máy tính phân bổ tài nguyên (CPU, RAM...) để chạy chương trình khác tối ưu. Hệ điều hành máy tính để bàn phổ biến nhất là hệ điều hành  Microsoft Windows,  macOS của Apple Inc và các loại hệ diều hành Linux... Ngoài ra trong lĩnh vực di động (bao gồm cả điện thoại thông minh và máy tính bảng) thì có hệ điều hành Android và hệ điều hành  iOS của Apple...

Các hệ điều hành phổ biến nhất hiện nay

2. Cơ chế xử lý chung 1 chương trình máy tính:

Về cơ bản thì 1 chương trình máy tính sẽ đảm nhiệm các hoạt động sau:
- Nhập dữ liệu đầu vào: Được nhập tay từ bàn phím, import dữ liệu từ API, nhập từ Excel, lấy dữ liệu từ chương trình khác...
- Lưu trữ dữ liệu (cơ sở dữ liệu, bộ nhớ...) và xử lý (tính toán, cộng trừ nhân chia...)
- Kết xuất dữ liệu đầu ra: Hiển thị kết quả trên màn hình hoặc là đầu vào của chương trình khác
Nó cũng tương tự với sơ đồ cấu trúc cơ bản của 1 máy tính

Sơ đồ cấu trúc cơ bản của máy tính

3. Cấu trúc dữ liệu + Giải thuật = Chương trình:

Bạn có thể hiểu khái niệm thuật toán (giải thuật) đơn giản nhất là tập hợp các bước, cách thức, quy trình để máy tính giải quyết 1 bài toán nào đấy. Còn cấu trúc dữ liệu là cách tổ chức dữ liệu để phục vụ thuật toán. Một số cấu trúc dữ liệu thường gặp như mảng, ngăn xếp, hàng đợi, bảng băm, danh sách liên kết, cây, đồ thị...

Trong đó cấu trúc dữ liệu mảng được sử dụng rất nhiều trong PHP. Bạn hiểu đơn giản một Array - mảng là một cấu trúc với kích thước cố định, có thể giữ các item có dùng kiểu dữ liệu (int, float, mảng khác), được đánh chỉ số index từ 0 đến n-1 (n là tổng số thành phần trong mảng, còn gọi là size).

Cấu trúc dữ liệu của mảng (array)

Ví dụ: Bạn có bài toán là cần quản lý danh sách sinh viên với các thông tin cơ bản như Số thứ tự, mã sinh viên, họ tên, ngày sinh, số điện thoại, địa chỉ...sử dụng ngôn ngữ lập trình PHP. Lúc này bạn sẽ khai báo và sử dụng 1 biến mảng để lưu trữ thông tin từng sinh viên một.

Thuật toán chức năng nhập được mô tả như sau: nhập từng sinh viên một, trường hợp trùng thông tin mã sinh viên thì sẽ báo lỗi (mỗi sinh viên chỉ được cấp 1 mã duy nhất, không trùng lặp, được gọi là khóa, để check trùng hay không thì ta sẽ lặp qua tất cả thành phần trong mảng để so sánh, nếu có tồn tại mã sinh viên thì trả về true còn không thì trả về false), nếu không trùng thì sẽ lưu thông tin vào mảng. Muốn show toàn bộ thông tin sinh viên thì sẽ sử dụng vòng lặp for hoặc while để show hết toàn bộ sinh viên ra.

Về sau thì biến mảng trên sẽ được "nâng cấp" thành 1 bảng có tên là "tbl_danh_sach_sinh_vien" với các trường (field, cột) là Số thứ tự, mã sinh viên, họ tên, ngày sinh, số điện thoại, địa chỉ...Bảng này nằm trong 1 cơ sở dữ liệu là "db_sinh_vien", được quản lý bởi phần mềm quản trị cơ sở dữ liệu MySQL. Mỗi sinh viên sẽ là 1 bản ghi (record) độc lập. Và ta sẽ dùng PHP gọi các câu lệnh truy vấn SQL để truy xuất nội dung hoặc update, xóa thông tin sinh viên nằm trong bảng "tbl_danh_sach_sinh_vien".

Bài sau chúng ta sẽ tìm hiểu kỹ hơn về khái niệm "thuật toán" này và tại sao cần lược đồ thuật toán. Mời các bạn cùng đọc nhé!

Tác giả: Admin