Поделитесь своими знаниями, ответьте на вопрос:
Процесс выполнения операторов присваивания: a:=2;g:=136;y:=a∗g При выполнении оператора a:=2 в ячейку оперативной памяти компьютера с именем a заносится значение ( ) ; при выполнении оператора g:=136 в ячейку оперативной памяти компьютера с именем g заносится значение ( ) . При выполнении оператора y:=a∗g значения ячеек оперативной памяти с именами a и g переносятся в процессор, где над ними выполняется операция умножения. Полученный результат заносится в ячейку оперативной памяти с именем ( )
#include <iostream>
#include <thread>
#include <chrono>
// Определение состояний светофора
enum class TrafficLightState {
Red,
Yellow,
Green,
};
// Функция для вывода текущего состояния светофора
void printLight(TrafficLightState state) {
switch (state) {
case TrafficLightState::Red:
std::cout << "Red light\n";
break;
case TrafficLightState::Yellow:
std::cout << "Yellow light\n";
break;
case TrafficLightState::Green:
std::cout << "Green light\n";
break;
}
}
int main() {
// Состояние светофора по умолчанию
TrafficLightState currentState = TrafficLightState::Red;
while (true) {
// Вывод текущего состояния светофора
printLight(currentState);
// Ожидание в зависимости от состояния светофора
// Здесь для простоты используется одинаковый промежуток времени для каждого состояния,
// но на практике промежутки могут быть разными
std::this_thread::sleep_for(std::chrono::seconds(5));
// Переключение на следующее состояние светофора
if (currentState == TrafficLightState::Red) {
currentState = TrafficLightState::Green;
} else if (currentState == TrafficLightState::Green) {
currentState = TrafficLightState::Yellow;
} else if (currentState == TrafficLightState::Yellow) {
currentState = TrafficLightState::Red;
}
}
return 0;
}