✨Luồng điều khiển

Luồng điều khiển

Trong khoa học máy tính, luồng điều khiển (tiếng Anh: control flow hay flow of control) là thứ tự các câu lệnh, tập lệnh hay lời gọi hàm riêng biệt của một chương trình mệnh lệnh được thực thi hay đánh giá. Việc nhấn mạnh vào kiểm soát dòng một cách rõ ràng sẽ phân biệt một ngôn ngữ lập trình mệnh lệnh (imperative programming) với ngôn ngữ lập trình khai báo (declarative programming).

Trong một ngôn ngữ lập trình bắt buộc, một câu lệnh điều khiển luồng là một câu lệnh thực thi mà kết quả trong một sự lựa chọn được thực hiện theo cách của hai hoặc nhiều đường dẫn tiếp theo. Đối với ngôn ngữ lập trình không nghiêm ngặt các ngôn ngữ chức năng, các hàm và cấu trúc ngôn ngữ tồn tại để đạt được cùng một kết quả, nhưng chúng thường không được gọi là các câu lệnh luồng điều khiển.

Một tập hợp các câu lệnh lần lượt thường được cấu trúc như một Block, ngoài việc nhóm, cũng định nghĩa phạm vi từ vựng.

Ngắt và tín hiệu là các cơ chế cấp thấp có thể thay đổi dòng điều khiển theo cách tương tự như chương trình con, nhưng thường xảy ra như một phản ứng với một số kích thích hoặc sự kiện bên ngoài (có thể xảy ra không đồng bộ), thay vì thực hiện một dòng điều khiển lưu lượng.

Ngắt và tín hiệu là cơ chế cấp thấp có thể thay đổi luồng điều khiển theo cách tương tự như chương trình con, nhưng thường xảy ra như một phản ứng với một số kích thích hoặc sự kiện bên ngoài (có thể xảy ra không đồng bộ), thay vì thực hiện câu lệnh dòng điều khiển nội dòng .

Danh mục

thumb|right|A [[flow chart showing control flow.]] Các loại báo cáo dòng điều khiển được hỗ trợ bởi các ngôn ngữ khác nhau, nhưng có thể được phân loại theo hiệu ứng của chúng:

  • Tiếp tục ở một câu lệnh khác (nhánh vô điều kiện hoặc nhảy)
  • Thực hiện một tập hợp các câu lệnh chỉ khi một số điều kiện được đáp ứng (lựa chọn - tức là, nhánh có điều kiện)
  • Thực hiện một tập hợp các câu lệnh bằng không hoặc nhiều lần, cho đến khi một số điều kiện được đáp ứng (tức là, vòng lặp - giống như nhánh có điều kiện)
  • Thực hiện một tập hợp các câu lệnh ở xa, sau đó luồng điều khiển thường trả về (chương trình con, coroutines và tiếp tục)
  • Dừng chương trình, ngăn chặn bất kỳ sự thực thi nào khác (dừng vô điều kiện)

Ban đầu

Nhãn

nhãn là tên hoặc số rõ ràng được gán cho một vị trí cố định trong source code và có thể được tham chiếu bởi các câu lệnh dòng điều khiển xuất hiện ở nơi khác trong mã nguồn. Nhãn đánh dấu một vị trí trong mã nguồn và không có hiệu ứng nào khác.

Số dòng là một thay thế cho một nhãn được đặt tên (và được sử dụng trong một số ngôn ngữ như BASIC), là số nguyên được đặt ở đầu mỗi dòng văn bản trong mã nguồn. Các ngôn ngữ sử dụng chúng thường áp đặt ràng buộc rằng các số dòng phải tăng giá trị trong mỗi dòng sau, nhưng có thể không yêu cầu chúng phải liên tiếp. Ví dụ, trong BASIC:

10 LET X = 3 20 PRINT X

Trong các ngôn ngữ khác như C và Ada, nhãn là số nhận dạng, thường xuất hiện ở đầu dòng và ngay lập tức theo sau bởi dấu hai chấm. Ví dụ, trong C:

Success: printf("The operation was successful.\n");

Ngôn ngữ ALGOL 60 cho phép cả số nguyên và số nhận dạng dưới dạng nhãn (cả hai đều được liên kết theo dấu hai chấm cho câu sau), nhưng nếu bất kỳ biến thể ALGOL nào khác cho phép số nguyên. Các trình biên dịch Fortran chỉ cho phép các số nguyên làm nhãn. Bắt đầu với Fortran-90, nhãn chữ và số cũng được cho phép.

Goto

Câu lệnh goto (một sự kết hợp của các từ tiếng Anh go to , và phát âm tương ứng) là hình thức chuyển giao cơ bản nhất kiểm soát vô điều kiện. Mặc dù từ khóa có thể nằm trong chữ hoa hoặc chữ thường phụ thuộc vào ngôn ngữ, nó thường được viết là: goto label

Ảnh hưởng của lệnh goto là làm cho câu lệnh tiếp theo được thực hiện để câu lệnh xuất hiện tại (hoặc ngay sau) nhãn được chỉ định. Câu lệnh Goto đã được nhiều nhà khoa học máy tính coi là có hại, đáng chú ý Dijkstra.

Chương trình con

Thuật ngữ cho các chương trình con khác nhau; chúng có thể được gọi là các thủ tục, hàm (nếu chúng trả về kết quả) hoặc các phương thức (nếu chúng thuộc về lớp hoặc loại lớp).

Trong những năm 1950, bộ nhớ máy tính rất nhỏ theo tiêu chuẩn hiện hành nên các chương trình con được sử dụng chủ yếu
để giảm kích thước chương trình. Một đoạn mã được viết một lần và sau đó được sử dụng nhiều lần từ nhiều nơi khác nhau trong một chương trình.

Ngày nay, các chương trình con thường được sử dụng để giúp tạo một chương trình có cấu trúc hơn, ví dụ, bằng cách cô lập một số thuật toán hoặc ẩn một số phương thức truy cập dữ liệu. Nếu nhiều lập trình viên đang làm việc trên một chương trình, các chương trình con là một loại mô đun có thể giúp phân chia công việc.

Trình tự

Trong cấu trúc lập trình, việc sắp xếp thứ tự các lệnh liên tiếp được coi là một trong những cấu trúc điều khiển cơ bản, được sử dụng như một khối xây dựng cho các chương trình cùng với sự lặp lại, đệ quy và lựa chọn.

Luồng điều khiển có cấu trúc tối thiểu

Vào tháng 5 năm 1966, Böhm và Jacopini xuất bản bài báo trong ACM cho thấy rằng bất kỳ chương trình nào có 'goto' có thể được chuyển thành dạng goto-free chỉ liên quan đến lựa chọn (IF THEN ELSE) và vòng lặp (WHILE condition DO xxx), có thể với mã trùng lặp và/hoặc bổ sung Các biến Boolean (true / false flags). Các tác giả sau đó cho thấy rằng sự lựa chọn có thể được thay thế bằng các vòng lặp (và nhiều biến Boolean hơn).

👁️ 54 | ⌚2025-09-16 22:44:27.382

QC Shopee
Luồng điều khiển
Điều khiển tự động
Bộ điều khiển (Lý thuyết điều khiển tự động)
Bộ điều khiển PID
Hệ thống điều khiển
Lý thuyết điều khiển tự động
Điều khiển thích nghi
Điều khiển quá trình
Điều khiển Gauss tuyến tính-bậc hai
Kỹ thuật điều khiển
Điều khiển bền vững
Thay thế điều khiển của TV, điều hòa, quạt điện,…Cài hẹn giờ bật tắt các thiết bị điện (sử dụng app Lumi Life)Bật tắt các thiết bị điện theo ngữ cảnh: Bật quạt khi độ
Bộ điều khiển vòng hở
Điều khiển thông minh
Vi điều khiển
Phòng điều khiển
Vi điều khiển PIC
Danh sách trường đại học ở Việt Nam có đào tạo ngành Kỹ thuật điều khiển và tự động hóa
Xe Địa Hình Điều Khiển Từ Xa Tỉ Lệ 1:24 – MINGDISố lượng chi tiết: 311 miếng lắp rápMô hình xe địa hình phong cách công nghệ cao, có thể điều khiển từ xa bằng
Xe Đua Điều Khiển Từ Xa Tỉ Lệ 1:24 – MINGDISố lượng chi tiết: 288 miếng lắp rápMô hình xe đua công nghệ cao có thể điều khiển từ xa bằng tay cầm sóng 2.4G,
Xe Đua Công Thức 1 Điều Khiển Từ Xa Tỉ Lệ 1:24 – MINGDISố lượng chi tiết: 315 miếng lắp rápMô hình xe đua Công Thức 1 cực chất, điều khiển từ xa bằng tay
Xe Đua Điều Khiển Từ Xa Tỉ Lệ 1:24 – MINGDISố lượng chi tiết: 301 miếng lắp rápMô hình xe đua lắp ráp công nghệ cao, điều khiển từ xa bằng tay cầm 2.4G, chuyển
Công Tắc Chống Giật Bình Nóng Lạnh Hunonic Datic - Cảm Ứng + Điều Khiển Qua Wifi + Hẹn Giờ + Ra Lệnh Bằng Giọng Nói️ MÔ TẢ:- Trong quá trình sử dụng điện nói
Điều khiển tối ưu
⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn sản phẩm giống với loại điều khiển cũ của gia đình. Hoặc liên hệ ngay tới shop để được
Điều khiển lưu lượng
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn sản phẩm giống với loại điều khiển cũ của gia đình. Hoặc liên hệ ngay tới shop để được
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Remote [HÀNG CHẤT LƯỢNG CAO] Điều khiển giọng nói NĂNG LƯỢNG MẶT TRỜI TV Samsung BẢN MỚI NHẤT (dùng cho TV Samsung dòng QLed từ 2015 đến 2025) cam kết là hàng mới 100% SỬ
Sản phẩm Remote Điều khiển máy chiếu Sharp GA837WJSA XG-J630XA J830XA M830XA- HÀNG CHÍNH HÃNG mới 100% Tặng kèm Pin là hàng mới nguyên tem, chất lượng cao được cửa hàng chúng tôi cam kết:
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn
Sản phẩm Remote Điều khiển điều hòa Midea 1& 2 chiều Inverter - Hàng chất lượng cao mới 100% các dòng Midea MSAFA MSAF MSAB MSFR là hàng mới nguyên tem, chất lượng cao được
[ CÓ GIỌNG NÓI CHUỘT BAY NHẠY NHƯ HÃNG] Điều khiển TV LG MỚI FULLBOX PHÍM ÊM NHẠY FULL CHỨC NĂNG THÔNG MINH+TẶNG PIN💦 SẢN PHẨM NÀY CÓ ĐẦY ĐỦ CÁC CHỨC NĂNG THÔNG MINH
Bán buôn bán lẻ thiết bị điện tử, điện dân dụng, linh phụ kiện điện tử các loại. . ⚠️Lưu ý: Để sản phẩm sử dụng tốt với thiết bị quý khách hàng hãy chọn