Цикли 5 — Вкладені цикли

Вступ

Вкладені цикли — це конструкція, в якій один цикл розташований всередині іншого. Такий підхід дозволяє працювати з багатовимірними структурами даних, повторювати дії в кількох напрямках та обробляти складні структури, наприклад, матриці світлодіодів або двовимірні масиви.

Цикл у циклі

Принцип роботи простий: зовнішній цикл відповідає за один параметр (наприклад, рядки матриці), а внутрішній — за інший (наприклад, стовпці). Кожного разу, коли зовнішній цикл робить одну ітерацію, внутрішній виконується повністю.


// Приклад вкладених циклів
for (int i = 0; i < 3; i++) {
  for (int j = 0; j < 5; j++) {
    // код для пари значень (i, j)
  }
}
  

Приклад: перебір матриці світлодіодів


for (int row = 0; row < 8; row++) {
  for (int col = 0; col < 8; col++) {
    // Обробка світлодіода на позиції (row, col)
  }
}
  

Практика

Генерація таблиці множення в Serial Monitor


void setup() {
  Serial.begin(9600);
  
  for (int i = 1; i <= 10; i++) {
    for (int j = 1; j <= 10; j++) {
      Serial.print(i * j);
      Serial.print("\t");
    }
    Serial.println();
  }
}

void loop() {
  // Порожньо
}
  

Прохід по 2D-масиву


int data[3][4] = {
  {1, 2, 3, 4},
  {5, 6, 7, 8},
  {9, 10, 11, 12}
};

void setup() {
  Serial.begin(9600);

  for (int row = 0; row < 3; row++) {
    for (int col = 0; col < 4; col++) {
      Serial.print(data[row][col]);
      Serial.print(" ");
    }
    Serial.println();
  }
}

void loop() {
  // Порожньо
}
  

Проєкт: «Анімація бігаючої точки по матриці 8×8»


#include 

// Піни для MAX7219: DIN, CLK, CS
LedControl lc = LedControl(12, 11, 10, 1);

void setup() {
  lc.shutdown(0, false);
  lc.setIntensity(0, 8);
  lc.clearDisplay(0);
}

void loop() {
  for (int row = 0; row < 8; row++) {
    for (int col = 0; col < 8; col++) {
      lc.clearDisplay(0);
      lc.setLed(0, row, col, true);
      delay(100);
    }
  }
}
  

Висновок

Вкладені цикли — потужний інструмент для роботи з багатовимірними даними та складними структурами. Вони спрощують обробку матриць, створення таблиць та візуальних ефектів.

Цикли 6 — Переривання циклів

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Корпус пластиковий 100х68х50мм

Корпус пластиковий 100х68х50мм

Герметичний корпус з товстого добротного пластику для електронних пристроїв або з'єднувальних коробо..

264.05грн.

Контроль виконання програми Arduino

Контроль виконання програми Arduino

Контроль виконання програми ArduinoЦя стаття присвячена опису структур, що використовуються для упра..

Задатчик струму 4 20мА.

Задатчик струму 4 20мА.

Прилад дозволяє отримувати на виході 0...20 мА, 4...20 мА. Області застосування представленого пр..

Цикли 6 — Переривання циклів

Цикли 6 — Переривання циклів

Цикли 6 — Переривання циклів Вступ Під час роботи з циклами в Arduino бувають ситуації, ..

Клемна колодка на 12 контактів 2,5 мм 3А

Клемна колодка на 12 контактів 2,5 мм 3А

Клемник з'єднувальний на 12 контактівДобре кріпиться до стінок пластмасових щитів за допомогою клейо..

21.00грн.