✨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).

👁️ 0 | 🔗 | 💖 | ✨ | 🌍 | ⌚
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
**Điều khiển tự động** là ứng dụng của lý thuyết điều khiển tự động vào việc điều khiển các quá trình khác nhau mà không cần tới sự can thiệp của con người. Một trong
Trong lý thuyết điều khiển tự động, một **bộ điều khiển** là một thiết bị giám sát và tác động vào các điều kiện làm việc của một hệ động học cho trước. Các điều
phải|[[Sơ đồ khối của bộ điều khiển PID]] Một **bộ điều khiển vi tích phân tỉ lệ** (**PID- Proportional Integral Derivative**) là một cơ chế phản hồi vòng điều khiển tổng quát được sử dụng
phải|nhỏ|Một nhà máy thủy điện tại [[Amerongen, Hà Lan.]] Một **hệ thống điều khiển **quản lý, ra lệnh, chỉ dẫn hoặc điều khiển các hành vi của các thiết bị hoặc hệ thống khác. Nó
Khái niệm của vòng phản hồi dùng để điều khiển hành vi động lực của hệ thống: đây là phản hồi âm, vì giá trị cảm biến (sensor) bị trừ đi từ giá trị mong
**Điều khiển thích nghi **là phương pháp điều khiển được sử dụng bởi một bộ điều khiển phải thích ứng với một hệ thống điều khiển với các thông số thay đổi, hoặc có điều
Trong lý thuyết điều khiển tự động, bài toán điều khiển Gauss tuyến tính-bậc hai (LQG) là một trong những bài toán điều khiển tối ưu cơ bản nhất. Nó liên quan đến các hệ
thumb|301x301px|Ví dụ về hệ thống điều khiển của một lò phản ứng bể khuấy liên tục thumb|300x300px|Bảng điều khiển của một [[lò phản ứng hạt nhân.]] **Điều khiển quá trình là **một ngành nhỏ liên
nhỏ|320x320px|Các hệ thống điều khiển đóng một vai trò quan trọng trong du hành không gian **Kỹ thuật điều khiển** hoặc **Kỹ thuật hệ thống điều khiển **là chuyên ngành kỹ thuật mà áp dụng
**Điều khiển bền vững** là một nhánh của lý thuyết điều khiển tự động với cách tiếp cận thiết kế bộ điều khiển một cách rõ ràng để giải quyết sự không chắc chắn. Các
**Điều khiển thông minh** là một lớp các kỹ thuật điều khiển sử dụng các phương pháp tính toán trí tuệ nhân tạo khác nhau như mạng nơ-ron nhân tạo (neural networks), xác suất Bayes,
nhỏ|Vi điều khiển **Vi điều khiển** là một máy tính được tích hợp trên một chip, nó thường được sử dụng để điều khiển các thiết bị điện tử. Vi điều khiển, thực chất, là
**Bộ điều khiển vòng hở**, còn được gọi là một **bộ điều khiển không-phản hồi**, là một dạng của bộ điều khiển dùng để tính toán đầu vào của nó vào 1 hệ thống chỉ
nhỏ|phải|Bên trong một phòng điều khiển tàu bè **Phòng điều khiển** (_Control room_) hay **Phòng điều hành** (_Operations room_) là một không gian trung tâm nơi có thể giám sát và kiểm soát một cơ
nhỏ|PIC 1655A nhỏ|Các dòng PIC khác **PIC** là một họ vi điều khiển RISC được sản xuất bởi công ty Microchip Technology. Dòng PIC đầu tiên là PIC1650 được phát triển bởi Microelectronics Division thuộc
Kỹ thuật điều khiển và tự động hóa là ngành thuộc nhóm ngành điện – điện tử, chuyên nghiên cứu các thuật toán để điều khiển, sử dụng các thiết bị chấp hành nhằm mục
**Lý thuyết điều khiển tối ưu** là một phần mở rộng của phép tính biến phân, là một phương pháp tối ưu hóa cho các lý thuyết điều khiển phát sinh. Phương pháp này phầ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
Trong mạng máy tính, **điều khiển lưu lượng** (tiếng Anh: _flow control_) là quy trình quản lý số khung truyền dữ liệu giữa hai đầu kết nối của mạng lưới. Chúng ta cần phân biệ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
⚠️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
[ 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
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
Mẹ đang tìm một trợ thủ giúp mẹ chăm sóc giấc ngủ bé yêu, giúp bé lớn như thổi từng ngày? Nôi tự động cao cấp Mastela SG239 với thiết kế thông minh, linh hoạt
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:
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
Giường bệnh y tế điều khiển tự động đa chức năng được điều khiển bằng điện, bệnh nhân có thể tự điều khiển, chuyển đổi sang mọi tư thế mong muốn mà không cần đến
Mẹ đang tìm một trợ thủ giúp mẹ chăm sóc giấc ngủ bé yêu, giúp bé lớn như thổi từng ngày? Nôi tự động cao cấp Mastela SG239 với thiết kế thông minh, linh hoạt
✅HƯỚNG DẪN GHÉP NỐI ĐIỀU KHIỂN VỚI ĐIỀU HÒA: B1: Lắp pin vào điều khiển và hướng về phía điều hòa máy lạnh B2: Bấm giữ nút nguồn màu đỏ đến khi điều hòa kêu
Sản phẩm Remote Điều khiển máy chiếu InFocus- 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: - Cam kết sản
✅HƯỚNG DẪN GHÉP NỐI ĐIỀU KHIỂN VỚI ĐIỀU HÒA: B1: Lắp pin vào điều khiển và hướng về phía điều hòa máy lạnh B2: Bấm giữ nút nguồn màu đỏ đến khi điều hòa kê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
⚠️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
Sản phẩm Remote điều khiển điều hoà ĐA NĂNG 2 CHIỀU CHO HISENSE, YORK HÀNG CHẤT LƯỢNG CAO+ TẶNG KÈM PIN dùng cho tất cả các dòng điều hòa máy lạnh HISENSE VÀ YORK Tặng