Lập trình

Tản mạn về Nhập Môn Lập Trình (Phần 1)

Huy Erick

Mở bài này, chúng ta sẽ khám phá môn học đầu tiên mà tất cả sinh viên CNTT đều phải học ở năm nhất đại học. Điều này là rất quan trọng vì nó là...

Mở bài này, chúng ta sẽ khám phá môn học đầu tiên mà tất cả sinh viên CNTT đều phải học ở năm nhất đại học. Điều này là rất quan trọng vì nó là nền tảng cho sự phát triển của chúng ta trong lĩnh vực lập trình.

Ngôn ngữ sử dụng và nội dung môn học

Ngôn ngữ sử dụng trong môn học này bao gồm tiếng Anh và tiếng Việt, sử dụng ngôn ngữ lập trình c /C++. Nội dung môn học bao gồm:

  • Giới thiệu tổng quan về lập trình.
  • Cấu trúc một chương trình.
  • Nhập, xuất cơ bản trong C/C++.
  • Biến, hằng, kiểu dữ liệu.
  • Công cụ mô tả bài toán (mã giả, lưu đồ).
  • Cấu trúc điều khiển, câu lệnh rẽ nhánh (if-else, switch case).
  • Vòng lặp (loop).
  • Dữ liệu có cấu trúc (struct) và mảng (array).
  • Hàm.
  • Làm việc với tập tin (file).

Mục tiêu của môn học này là giúp chúng ta tiếp cận thế giới lập trình và xây dựng nền tảng cho các môn học tiếp theo.

Lập trình là gì?

Bạn đã từng tự hỏi lập trình là gì chưa? Đây là câu hỏi phổ biến và có nhiều cách để trả lời. Theo mình, lập trình là cách để hướng dẫn máy tính giải quyết các vấn đề của chúng ta. Đó là sức mạnh mà chúng ta có thể sử dụng để tạo ra những thứ tuyệt vời.

Cấu trúc một chương trình

Để hiểu rõ hơn về cấu trúc của một chương trình, chúng ta hãy xem ví dụ sau:

#include //Khai báo thư viện  int main() // Hàm main - nơi chúng ta viết code để thực thi chương trình. {     printf("Hello, world!"); // Thân hàm, chứa các đoạn code cần thực thi của hàm.     return 0; // Kết quả trả về của hàm }

Hãy tải và cài đặt một IDE (môi trường phát triển tích hợp) và chạy thử đoạn chương trình trên nhé! Chính là những dòng code đơn giản như vậy đã gửi lời chào đến thế giới lập trình.

Nhập, xuất cơ bản trong C/C++

Bạn có nhớ lệnh printf("Hello, world!") ở trên không? Đúng vậy, đó là một câu lệnh để in ra màn hình những gì được ghi trong cặp ngoặc kép.

Để nhập dữ liệu từ bàn phím, chúng ta sử dụng lệnh scanf(). Hãy xem ví dụ sau:

#include int main()  {     char name[50];       printf("Hãy nhập tên của bạn: ");     scanf("%s", name);     printf("Chào mừng %s đến với lập trình!", name);     return 0; }

Để tìm hiểu thêm về nhập, xuất trong C/C++, bạn có thể xem tại đây.

Biến, Hằng, Kiểu dữ liệu

trong lập trình , chúng ta sử dụng biến để lưu trữ dữ liệu. Hãy cùng xem ví dụ sau:

  • Biến: Là nơi để chứa dữ liệu. Giống như một chiếc ly có thể chứa nhiều loại nước khác nhau, biến cũng có thể chứa nhiều loại dữ liệu.

  • Hằng: Là một chiếc ly đặc biệt chỉ chứa một loại nước duy nhất. Tương tự, giá trị của hằng không thay đổi trong quá trình chạy chương trình.

  • Kiểu dữ liệu: Mỗi biến sẽ có một kiểu dữ liệu khác nhau. Chúng ta sử dụng kiểu dữ liệu để xác định giới hạn giá trị mà biến có thể chứa.

Để hiểu rõ hơn về biến, hằng và kiểu dữ liệu, hãy xem ví dụ sau:

#include int main()  {     int age = 20; // Biến     const float PI = 3.14; // Hằng     char grade = 'A'; // Kiểu ký tự      return 0; }

Công cụ mô tả bài toán (mã giả, lưu đồ)

Để giúp mô tả bài toán trước khi chuyển sang viết code, chúng ta có thể sử dụng mã giả và lưu đồ thuật toán.

  • Mã giả (Pseudocode): Là công cụ giúp mô tả bài toán bằng ngôn ngữ thường ngày trước khi viết code. Đây không phải là một ngôn ngữ lập trình .

  • Lưu đồ thuật toán (Flowchart): Là biểu đồ giúp mô tả luồng thực thi của chương trình.

Hãy cùng tìm hiểu thêm về mã giả và lưu đồ thuật toán.

  • Mã giả: Mã giả giúp chúng ta mô tả bài toán dễ hiểu hơn trước khi viết code. Bạn có thể tìm hiểu về cú pháp và cách sử dụng tại đây.

  • Lưu đồ thuật toán: Lưu đồ thuật toán giúp biểu diễn sự thực thi luồng của chương trình. Bạn có thể tìm hiểu thêm về lưu đồ thuật toán tại đây.

Cấu trúc điều khiển, câu lệnh rẽ nhánh (if-else, switch case)

Trong cuộc sống hàng ngày, chúng ta thường phải giải quyết các vấn đề dựa trên một số điều kiện. Trong lập trình, chúng ta sử dụng câu lệnh rẽ nhánh để giải quyết các vấn đề đó. Hãy cùng xem ví dụ sau:

  • if-else: Cấu trúc này được sử dụng để thực hiện một hành động nếu một điều kiện được thỏa mãn và một hành động khác nếu điều kiện không được thỏa mãn.

  • switch-case: Cấu trúc này được sử dụng khi chúng ta có nhiều điều kiện và muốn thực hiện các hành động khác nhau dựa trên giá trị của một biến.

Hãy tìm hiểu thêm về cấu trúc điều khiển, câu lệnh rẽ nhánh tại đây.

Vòng lặp (loop)

Đôi khi chúng ta cần thực hiện một hành động nhiều lần. Trong lập trình, chúng ta sử dụng vòng lặp để giải quyết vấn đề đó. Hãy xem ví dụ sau:

  • Vòng lặp for: Vòng lặp này được sử dụng khi chúng ta biết trước số lần lặp.

  • Vòng lặp while: Vòng lặp này được sử dụng khi chúng ta không biết trước số lần lặp.

  • Vòng lặp do-while: Loại vòng lặp này sẽ thực hiện khối lệnh ít nhất một lần trước khi kiểm tra điều kiện lặp.

Hãy tìm hiểu thêm về vòng lặp tại đây.

Tạm kết

Đó là phần 1 của bài viết, qua đó chúng ta đã đi qua một số khái niệm cơ bản trong lập trình và đã tạo được một cơ sở nhất định. Hy vọng rằng các bạn đã có những kiến thức bổ ích. Nếu có bất kỳ sai sót hoặc ý kiến đóng góp, xin vui lòng để lại bình luận. Hẹn gặp các bạn ở phần 2 của bài viết.

1