의사결정 - C++
교사 도구 상자
-
이 독서의 목적
이 STEM 연구실은 로봇이 감지한 조건에 대응하도록 프로그래밍하는 데 중점을 두고 있습니다. 이 첫 번째 읽기 자료는 조건문, 부울(TRUE 또는 FALSE) 조건, 그리고 이러한 프로그래밍 구조를 프로젝트에 포함하는 이점에 대한 개념을 소개하기 위해 작성되었습니다. 학생들은 조건부 프로그래밍을 포함하면 로봇이 환경에 대응하는 방식이 개선된다는 것을 인식하기 시작해야 합니다.
로봇을 관찰할 때 로봇이 스스로 행동에 대한 결정을 내리는 것처럼 보일 수 있지만, 프로그래밍 내에서는 조건을 확인하고 적절한 조치를 취합니다. 학생들은 상황이 자신의 정보에 입각한 결정에 어떻게 영향을 미치는지 생각해 볼 수 있습니다.
결정해야 할 사항:우산을 가져갈까?
현재 상황:비가 올 가능성이 높다(참).
결정:우산을 가져갈까?
의사 결정
가장 기본적인 수준에서 프로그램은 간단한 행동 순서를 달성하기 위해 작성됩니다. 예를 들어, 로봇이 앞으로 운전하고 목적지에 도달하기 위해 회전하기를 원할 수 있습니다. 하지만 로봇이 운행을 시작하고 경로를 완료할 수 있는 적절한 시기를 기다리도록 하려면 어떻게 해야 할까요? 이렇게 하려면 조건문으로 프로그래밍해야 합니다. 조건문을 사용하여 프로젝트 내에서 "시작할 적절한 시기" 가 무엇인지 정의할 수 있습니다. 버튼을 누른 후 또는 센서가 특정 레벨을 감지한 후 운전을 시작하는 경우 "적절한 시간" 일 수 있습니다. 로봇의 행동을 보면 언제 운전을 시작할지 결정하는 것처럼 보이지만, 이는 운전을 시작해야 하는 조건을 설정했기 때문입니다.
조건문은 부울(TRUE 또는 FALSE) 조건을 사용하는 강력한 프로그래밍 문입니다. 위와 같은 예제 시나리오를 사용하여 로봇이 뇌 화면을 누르고 있는지 반복적으로 확인하고 있을 때 앞으로 구동하도록 프로그래밍할 수 있습니다. 해당 프로젝트의 조건문은 "화면이 눌린 것을 감지하면 (TRUE) 주행 시퀀스를 실행하십시오." 와 유사한 내용을 읽을 수 있습니다. 이 문장은 조건이 FALSE(화면이아닌눌려짐)일 경우 어떠한 동작도 언급하지 않으므로, FALSE일 경우 로봇은 아무런 동작도 취하지 않습니다. 조건문을 사용하면 로봇이 느끼는 것에 따라 다르게 행동하는 프로젝트를 개발할 수 있습니다. 부울 논리에 대한 자세한 내용을 보려면 여기를 클릭하세요.
다음 예에서는 뇌의 화면을 (TRUE) 누르면 로봇이 앞으로 구동합니다. 뇌의 화면을 누르지 않으면 (거짓) 로봇이 운전을 멈춥니다. 이것은 뇌의 화면을 누를 때만 로봇이 앞으로 운전하는 것을 보여줍니다. 그렇지 않으면 로봇이 멈춥니다.
//프로젝트 코드
int main () {
//로봇 구성 초기화. 삭제하지 마세요!
vexcodeInit ();
while (true) {
if (Brain.Screen.pressing ()) {
Drivetrain.drive (forward);
}
else {
Drivetrain.stop ();
}
}
}
학습을 확장하세요
이 활동을 확장하려면 학생들에게 팀을 이루어 미로 스케치를 그려보라고 하고, 다른 팀이 완성할 수 있도록 하세요. 미로에는 최소한 3~5개의 조건문이 필요합니다. 예를 들어, 벽이 나올 때까지 계속 앞으로 나아가세요. 그런 다음 왼쪽으로 돌면 됩니다. 학생들은 미로에 대한 해결책을 흐름도 형태로 작성해야 합니다. 그런 다음 학생들은 다른 팀과 미로를 교환하고, 교환한 팀은 흐름도 형태로 미로에 대한 해결책을 만들어야 합니다. 두 팀은 답을 비교하여 얼마나 일치하는지 확인해야 합니다.
이 활동을 온라인이나 모바일 게임과 연관시키려면 학생들에게 그들이 가장 좋아하는 게임/앱의 목표를 설명해 보라고 하세요. 그런 다음 학생들에게 게임에서 따르는 처음 10가지 예/아니오 또는 참/거짓 결정을 간략하게 설명하는 흐름도를 만들게 합니다.
