교사의 임무는 실패에 대한 보장이 아니라 실패로 인한 실망을 방지하는 학생과 함께 이 길을 걷는 것입니다. 가능한 어려움. 아이들이 의미 있는 활동을 통해 스스로 새로운 것을 발견할 수 있도록 수업을 구성하는 것은 매우 중요합니다.
로봇은 컴퓨터 과학을 배우는 데 어떻게 도움이 되나요? 로봇 공학의 기반이 되는 정보학의 몇 가지 주제만 지적하겠습니다.
주제 "파일 및 파일 시스템".
학생은 LEGO Mindstorms NXT Education 교육 세트의 LEGO®NXT 마이크로컴퓨터를 마음대로 사용할 수 있었습니다. 제어 파일 시스템표준 명령어로 발생하지만 메모리의 양이 많지 않기 때문에 필요한 것과 불필요한 것에 대한 제어를 지속적으로 모니터링해야 합니다. 로봇의 행동을 말하고, 그림을 표시하고, 작업 프로그램 라이브러리를 보충하려면 파일, 파일 형식, 파일 경로, 메뉴, 폴더와 같은 컴퓨터 과학의 기본 개념으로 작동해야 합니다.
주제 "정보 프로세스", "정보 코딩".
로봇 키트에는 소리, 촉각 및 비디오 정보를 등록하는 센서가 장착되어 있습니다. 디지털화 후 정보를 디스플레이 화면에 표시할 수 있습니다. 마이크로컴퓨터의 특별한 기능은 바로 실행 가능한 프로그램을 사용하여 센서, 모터로 실험할 수 있게 합니다. 센서로 일련의 실험을 수행한 후에는 초음파 거리 센서가 적외선 센서보다 느린 이유, 소리가 디지털 코드로 변환되는 방법 등을 이해하게 됩니다. 정보 프로세스 및 정보 코딩의 원리에 대한 연구는 정보 기술의 본질에 대한 더 깊은 이해를 제공합니다.

주제 "통신 기술".
LEGO®NXT 마이크로컴퓨터 지원 기술 무선 통신. 블루투스 기능을 사용하여 설정할 수 있습니다. 무선 통신 NXT 마이크로컴퓨터와 다른 NXT와 같이 Bluetooth 장치가 있는 다른 장치 사이에 휴대 전화또는 컴퓨터로. 설정하여 블루투스 연결, 아마도: 컴퓨터에서 원격으로 프로그램을 다운로드합니다. NXT를 포함한 다른 장치(컴퓨터가 아님)에서 프로그램 보내기 개별 NXT와 해당 그룹에 프로그램을 보냅니다. 이 기술을 사용하면 휴대폰을 사용하여 로봇을 제어할 수 있습니다.

주제 "알고리즘. 알고리즘 실행자", "프로그래밍 환경".
로봇에 대한 초기 소개를 위해 컴퓨터에 액세스하지 않고 NXT 장치를 직접 프로그래밍할 수 있습니다. 디스플레이 화면에서 직접 5가지 명령의 템플릿에 따라 구성할 수 있습니다. 간단한 프로그램그리고 그것을 루프. 그러나 기본 알고리즘 구조와 프로그래밍 환경 개발에 대한 지식 없이는 할 수 없습니다. 로봇을 다양한 작업을 해결할 수 있는 보편적인 수행자로 만드는 것은 로봇을 프로그래밍하는 능력입니다. 프로그래밍 기술을 마스터하기 시작하려면 시각적 프로그래밍 환경에서 시작해야 하며, 그 다음에는 보다 강력하고 현대적인 이벤트 중심 환경으로 이동해야 합니다.
따라서 로봇은 컴퓨터 과학에 대한 기본 지식이 필요하며 로봇을 "최고"로 만들고자 하는 학생의 지칠 줄 모르는 열망은 그를 새로운 지식을 습득하게 합니다.
로봇이 이상적인 학습 도구라고 할 수 있는 이유는 무엇입니까? 이 도구를 사용하면 또래와 놀고, 만들고, 의사소통하려는 어린이의 자연스러운 열망을 회복하는 학습 환경을 조성할 수 있기 때문입니다. 따라서 교육 수단으로서 로봇의 장점을 강조할 수 있습니다.
. 지식의 동화는 게임 중에 발생합니다.
. 로봇 제작은 창의적인 자유를 제공합니다.
. 자신의 작업을 개선하려는 열망은 대다수의 학생들입니다.

예를 들어, 과외 활동에서 "로봇 프로그래밍" 과정의 일환으로 6학년 학생이 만든 "무료 음식 배달 로봇"의 모델을 제공하고 싶습니다. 이 로봇은 표준 Alfarex 1.0 모델을 사용하여 LEGO MINDSTORMS NXT Education 9797 세트에서 제작되었으며 로봇의 상태를 나타내는 컬러 센서와 간식 트레이로 완성됩니다.
작업의 목적은 사용 가능한 리소스로 가능한 한 인간 보행 모델을 구현하는 것입니다. 각 다리의 움직임은 모터와 기어 및 레버의 기계적 조립으로 제어됩니다. 한 레버는 다리를 위아래로 움직이고 다른 레버는 앞으로 움직입니다. 이 경우 몸체가 지지하는 다리 쪽으로 편향되어 로봇이 균형을 유지합니다. 이 걸음걸이를 "셔플링"이라고 합니다.
별도의 모터가 거리 센서와 터치 센서와 컬러 센서를 고정하는 레버 암을 제어합니다. 간식용 트레이는 움직이지 않고 고정되어 있습니다.
로봇은 다음 행동 알고리즘에 따라 행상인의 역할(예: 무료 간식)을 수행하도록 프로그래밍됩니다. 로봇은 "나는 Alpharex 로봇입니다. 당신을 무료로 대합니다!"라는 문구와 함께 직선으로 움직임을 동반합니다. 로봇과 접촉하려는 사람은 제스처로 로봇을 멈출 수 있습니다. 정지 후 로봇은 "도와주세요 버튼을 눌러주세요!"라는 문구를 말합니다. 사탕을 받으면 감사의 표시로 버튼을 한 번 눌러야합니다. 정지 후 3초 후에 로봇은 계속 움직입니다. 간식이 끝나면(로봇이 트레이에 있는 특정 양의 과자에 대해 프로그래밍됨) 로봇이 작별 인사를 하고 빨간색 표시등이 켜지고 로봇이 멈춥니다.

로봇을 제어하기 위한 프로그램은 NXT 프로그래밍 2.0 환경에서 작성되었습니다.

솔루션 20.1 OGE 할당데모에서 정보학의 2017. 이것은 자세한 답변, 높은 수준의 복잡성이 있는 두 번째 부분의 작업입니다. 작업을 완료하는 데 예상되는 시간은 45분입니다. 이 작업의 경우 최대 2점을 얻을 수 있습니다. 작업이 컴퓨터에서 실행 중입니다.

확인된 콘텐츠 요소:
- 정식 출연자의 환경에서 짧은 알고리즘을 작성하는 능력.

시험 중 테스트한 내용 요소에 대한 설명:
- 알고리즘,
알고리즘의 속성,
— 알고리즘 작성 방법,
- 블록 다이어그램,
- 프로그래밍 입문
- 알고리즘 구조,
부울,
- 작업,
- 표현,
- 작업을 하위 작업으로 나누기,
- 보조 알고리즘,
- 처리된 개체(문자열, 숫자, 목록, 트리).

20.1 정보학에서 OGE 2017의 과제

Executor Robot은 세포로 분할된 평면에 그려진 미로를 통해 이동할 수 있습니다. 인접한(측면의) 셀 사이에는 로봇이 통과할 수 없는 벽이 있을 수 있습니다.
로봇에는 9개의 명령이 있습니다. 네 가지 명령은 명령 순서입니다.
위로
아래로
왼쪽으로
오른쪽
이 명령 중 하나가 실행되면 로봇은 각각 한 셀씩 이동합니다: 위쪽 , 아래쪽 ↓, 왼쪽 ←, 오른쪽 →. 로봇이 벽을 통과하라는 명령을 받으면 로봇이 무너집니다.
로봇에도 팀이 있습니다. 칠하다, 현재 로봇이 있는 셀이 칠해져 있습니다.
4개의 추가 명령은 조건을 확인하는 명령입니다. 이 명령은 네 가지 가능한 방향 각각에서 로봇의 경로가 명확한지 확인합니다.
탑 느슨한
바닥 느슨한
무료로 남겨둔
바로 무료
이 명령은 "와 함께 사용할 수 있습니다. 만약에", 다음과 같은 형식을 가집니다.
만약에 상태 그 다음에
명령 시퀀스
모두
여기서 condition은 조건 확인 명령 중 하나입니다.
명령 순서명령 명령 중 하나 이상입니다.
예를 들어, 오른쪽에 벽이 없으면 한 셀을 오른쪽으로 이동하고 셀을 칠하려면 다음 알고리즘을 사용할 수 있습니다.
권리가 자유롭다면
오른쪽
칠하다
모두
하나의 조건에서 논리적 연결을 사용하여 조건을 확인하기 위해 여러 명령을 사용할 수 있습니다. 그리고, 또는, ~ 아니다, 예를 들어:
if (오른쪽 자유) 및 (하단 자유 아님) then
오른쪽
모두
일련의 명령을 반복하려면 루프 " 안녕", 다음과 같이 보입니다.
안녕 상태
명령 시퀀스
kts
예를 들어, 가능한 동안 오른쪽으로 이동하려면 다음 알고리즘을 사용할 수 있습니다.
nc 오른쪽 무료
오른쪽
kts

작업을 완료합니다.
무한 필드에는 수평 및 수직 벽이 있습니다. 수평 벽의 왼쪽 끝은 수직 벽의 하단 끝에 연결됩니다. 알 수 없는 벽 길이. 수직 벽에는 정확히 하나의 통로가 있으며 통로의 정확한 위치와 너비는 알 수 없습니다. 로봇은 오른쪽 끝에 있는 수평 벽 바로 위에 위치한 케이지에 있습니다.
그림은 다음 중 하나를 보여줍니다. 가능한 방법벽과 로봇의 위치(로봇은 문자 "P"로 표시됨).

수직 벽의 왼쪽과 오른쪽에 모든 셀을 즉시 그리는 로봇 알고리즘을 작성하십시오. 통로는 도색되지 않은 상태로 유지되어야 합니다. 로봇은 다음을 만족하는 셀에만 페인트를 칠해야 합니다. 이 조건. 예를 들어, 위 그림의 경우 로봇은 다음 셀을 페인트해야 합니다(그림 참조).

알고리즘을 실행할 때 로봇은 파괴되지 않아야 하며 알고리즘의 실행이 완료되어야 합니다. 로봇의 최종 위치는 임의적일 수 있습니다.
알고리즘은 허용 가능한 모든 벽 배열과 벽 내부 통로의 위치 및 크기에 대한 문제를 해결해야 합니다.
알고리즘은 공식 실행기의 환경에서 실행되거나 텍스트 편집기에서 작성될 수 있습니다.
알고리즘을 텍스트 파일에 저장합니다. 파일 이름과 저장 디렉토리는 시험 주최측에서 알려드립니다.

정보학에서 OGE 2017의 작업 결정 20.1

연주자의 명령이 녹음됩니다. 굵게글꼴 및 주석 - 이탈 릭 체로. 주석의 시작 부분은 "|" 기호로 표시됩니다. ( 작업 수행 중에 주석을 작성할 필요는 없습니다.).

|수직 벽에 도달할 때까지 왼쪽으로 이동합니다.
무료로 남아있는 동안 nc
왼쪽으로
kts

|우리는 벽의 통로에 도달할 때까지 위로 이동하고 세포 위에 페인트를 칠합니다.
느슨하게 남을 때까지 nc
칠하다
위로
kts

|벽 끝까지 이동하여 셀 위에 페인트합니다.
느슨하게 남을 때까지 nc
칠하다
위로
kts

|우리는 벽을 돌아다닙니다.
왼쪽으로
아래로

|우리는 벽의 통로에 도달할 때까지 아래로 이동하고 세포 위에 페인트를 칠합니다.
오른쪽 느슨해질 때까지 nc
칠하다
아래로
kts

|우리는 벽의 끝까지 내려가 세포 위에 페인트를 칠합니다.
오른쪽 느슨해질 때까지 nc
칠하다
아래로
kts

다른 솔루션도 가능합니다.
연주자의 지시에 대해 학생들에게 더 친숙한 다른 구문을 사용할 수 있습니다.
솔루션 작성자의 의도를 왜곡하지 않는 별도의 구문 오류가 허용됩니다.

다음과 같은 경우 작업에 2점이 주어집니다.
알고리즘은 모든 유효한 입력 데이터에 대해 올바르게 작동합니다.
다음과 같은 경우 작업에 1점이 주어집니다.
모든 유효한 입력에 대해 다음이 true입니다.
1) 알고리즘 실행이 완료되고 로봇이 충돌하지 않습니다.
2) 10개 이하의 추가 셀이 음영 처리됩니다.
3) 칠했어야 하는 셀 중 10개 이하의 셀을 도색하지 않은 채로 두었습니다.
다음과 같은 경우 작업에 0점이 주어집니다.
작업이 잘못 완료되었습니다. 즉, 1 또는 2점을 넣을 수 있는 조건이 충족되지 않습니다.

전체 프로세스는 조립과 프로그래밍의 두 단계로 구성됩니다. 수집하다 좋은 로봇역학에 대한 지식이 필요합니다. 특정 동작을 위해 로봇을 프로그래밍하려면 이해할 수 있는 언어를 알아야 합니다. 마더보드또는 프로그램 블록. 컴퓨터 과학에 대한 학교 지식으로는 충분하지 않습니다.

재료는 어디서 구하나요?

먼저 로봇을 조립할 방법을 결정해야 합니다. 기성품 키트에서 또는 재료를 직접 선택합니다. 키트의 장점은 부품을 개별적으로 찾을 필요가 없다는 것입니다. 대부분의 경우 한 세트에서 여러 장치를 조립할 수 있습니다.

기성품 세트에서 조립되지 않은 구조를 개방형 시스템. 또한 장점이 있습니다. 로봇은 개별적이며 디자인을 개선할 수 있습니다. 그러나 분명히 더 많은 시간과 노력을 들일 것입니다.

로봇은 무엇으로 만들어졌나요?

하우징 - 금속 또는 플라스틱 "신체", 나머지 부품이 부착됩니다. 각 로봇에는 배터리 또는 축전지와 같은 에너지원이 있습니다. 로봇이 수행할 작업에 따라 센서가 선택됩니다. 센서는 색상과 빛을 감지하고 터치에 반응할 수 있습니다.

로봇을 움직이려면 모터가 필요합니다. "머리"전체 메커니즘 - 마더 보드 또는 프로그램 블록. 그들의 도움으로 로봇은 컴퓨터에 연결하고 일련의 작업을 받습니다.

그에게 무언가를 하게 하는 방법?

로봇이 어떤 동작을 수행하려면 다음을 생성해야 합니다. 컴퓨터 프로그램. 이 단계의 복잡성은 어셈블리에 따라 다릅니다. 로봇을 세트로 조립하는 경우 레고 마인드스톰또는 mBot을 사용하면 어린이도 소프트웨어를 다룰 수 있습니다.

로봇을 직접 만든다면 프로그래밍의 기초와 프로그램을 작성할 언어(예: C++)를 배워야 합니다.

로봇이 프로그램을 실행할 수 없는 이유는 무엇입니까?

새로운 장소에 도착하면 길을 잃고 프로그램을 잘못 실행할 수 있습니다. 로봇이 모든 것을 올바르게 수행하려면 센서를 조정해야 합니다. 예를 들어 너무 밝은 조명은 적절한 색상 인식을 방해할 수 있습니다. 로봇이 움직이는 표면에 따라 모터의 동력이 조절됩니다.

학교에서 조립과 프로그래밍을 배울 수 있습니까?

로봇 공학이 학교 교과 과정에 포함되어 있지 않다는 사실에도 불구하고 물리학 및 컴퓨터 과학 교사는 어린이에게 조립 및 프로그래밍 방법을 가르칠 수 있습니다. 벨고로드의 일부 학교에는 로봇을 만드는 원이 있습니다.

“물리학 및 컴퓨터 공학 교사들과 수업을 마친 후에 우리는 프로그래밍을 배웁니다. 우리는 이미 LegoMindstorms 및 Robolab에서 작업하는 방법을 알고 있습니다( 소프트웨어로봇 - 약. 에드.). 우리는 또한 부품의 3D 도면을 만드는 방법을 배우기도 합니다.”라고 Belgorod Engineering Youth Boarding Lyceum의 학생들과 RoboFest-2018 참가자들이 말했습니다. 안톤 퍼신그리고 드미트리 체르노프.

학교 외에 어디에서 로봇 공학자가 될 수 있습니까?

BelSU의 공과대학에는 로봇을 조립하고 프로그래밍하는 방법을 가르치는 수업이 있습니다. 2017년 Quantorium은 벨고로드에 문을 열었습니다. 이곳에서 학생들은 9살부터 로봇 공학을 배웠습니다.

진정한 로봇 공학자가되기 위해 로봇 공학부에 입학 할 수 있습니다. Belgorod에는 아직 그런 사람들이 없지만 BSTU im. Shukhov에는 기술 사이버네틱스 부서가 있습니다. 그녀의 학생들은 로봇 분야의 모든 러시아 대회에서 상을 받았습니다.

스스로 배울 수 있습니까?

예. 로봇을 구축하고 프로그래밍하는 방법을 배울 수 있는 많은 리소스가 인터넷에 있습니다.

로봇이 유용할까요?

일상적인 작업에 적용할 수 있으며 집안의 조수 역할을 할 수 있습니다. 가정 발명가가 팬케이크를 굽거나 아파트를 청소하기 위한 로봇을 만드는 방법에 대한 많은 예가 인터넷에 있습니다.

로봇 제작 성공을 확인하는 방법은 무엇입니까?

RoboFest와 같은 대회에 참가하십시오. 연령과 방향에 따라 다양한 후보가 있습니다. 기본적으로 각 유형의 로봇에는 큐브 캡처 또는 선 그리기와 같은 작업을 수행하는 트랙이 있습니다. 심사 위원이 프로젝트의 프레젠테이션과 메커니즘의 작동을 평가하는 정적 시스템도 있습니다.

일반적으로 참가자는 경쟁에 참가합니다. 로봇에 의해 조립그리고 준비 단계에서는 센서를 보정하고 프로그램을 조정하는 데만 시간을 할애합니다.

편집자는 RoboFest-2018 참가자의 자료를 만드는 데 도움을 주셔서 감사합니다. 드미트리 아가포노프, 드미트리 체르노프, 안톤 퍼신그리고 다닐라 미그리나.

나탈리아 말리히나

실행 제어 로봇 KUMIR 시스템에서

로봇은 특정 환경(직사각형 체크 필드)에 존재합니다. 벽은 필드의 일부 셀 사이에 위치할 수 있습니다. 일부 셀은 음영 처리될 수 있습니다(그림 3.11).

로봇은 필드의 정확히 한 셀을 차지합니다.

상,하,좌,우 명령에 따라 로봇은 지정된 방향으로 다음 셀로 이동합니다. 도중에 벽이 있으면 실패가 발생합니다. 다음 명령을 실행할 수 없다는 메시지가 표시됩니다.

페인트 칠하라는 명령에 따라 로봇은 자신이 서 있는 셀 위에 페인트를 칠합니다. 셀이 이미 칠해진 경우 눈에 보이는 변경 사항이 발생하지 않더라도 다시 칠해집니다.

로봇은 올바르게 작성된 명령만 실행할 수 있습니다. down 명령 대신 적어두면 로봇은 이 항목을 이해하지 못하고 즉시 오류를 보고합니다.

영형
오류: 1 구문; 2. 논리적

장면 설명은 다음 위치에 저장됩니다. 텍스트 파일특수 형식(.fil 형식).

현재의- 로봇이 있는 환경 이 순간(로봇의 위치에 대한 정보 포함).

- 로봇을 이용한 프로그램 실행 초기에 로봇이 강제로 배치되는 환경.

운영 절차:


  1. 묻다 시작 환경작업에 따라:
메뉴 도구 → 로봇 시작 환경 변경 (작업 조건에 따라 환경 그리기, 이름 지정, 개인 폴더에 저장)

2. 계약자 지정:

메뉴 삽입 → 로봇 사용

3. 문제 해결을 위한 알고리즘을 작성하십시오.

4. 알고리즘 실행 (메뉴 실행 → 연속 실행 / F9)

KUMIR 시스템에서 실행 로봇의 명령 시스템




동작

위로

로봇이 1칸 위로 이동합니다.

아래로

로봇이 1칸 아래로 이동합니다.

왼쪽으로

로봇이 왼쪽으로 1칸 이동

오른쪽

로봇이 오른쪽으로 1칸 이동

칠하다

로봇은 자신이 있는 셀을 페인트합니다.

바로 무료

로봇은 해당 실행을 확인합니다. 단순한자귀

무료로 남겨둔



탑 느슨한



바닥 느슨한



셀이 음영 처리됨



케이지 청소



순환 알고리즘

주기특정 조건이 참이 될 때까지 행동을 반복하는 조직 .

루프 본체 -반복 가능한 일련의 작업.

상태 -부울 표현식(단순 또는 복합(복합))
주기 유형:

1."n번 반복" 반복 2. "안녕" 반복
nc n 번 안녕
. . 루프 바디. . 루프 본체
kts kts

예시: 안녕바로 무료


주기의 일반 보기 "n번 반복:

n번 반복


kts

while 루프의 일반적인 보기:

할 일


복합 조건하나 또는 그 이상으로 형성 간단한 조건및 서비스 단어 그리고, 또는, 아닙니다.


복합 상태 A와 B(여기서 A, B는 단순조건) 그 안에 포함된 2개의 단순조건이 각각 만족될 때 만족된다.

하자 - 위에 무료- 오른쪽에 무료그런 다음 복합 조건 A와 B- 상단이 무료이고 오른쪽이 무료입니다.


복합 상태 A 또는 B 포함된 두 가지 단순 조건 중 하나 이상이 충족되면 충족됩니다. 상단 무료 또는 오른쪽 무료
복합 상태 아니다- 조건 A가 충족되지 않을 때 충족됨.

예시: A를 음영 처리된 셀이라고 하자(단순 조건).

A가 아닌 복합 상태 확인:

a) A - 완료, NOT A(음영 처리되지 않음) - 완료되지 않음.

b) A - 완료되지 않음, NOT A(음영 처리되지 않음) - 완료됨.


분기 명령

분기 -특정 조건의 충족 여부에 따라 하나 또는 다른 일련의 작업이 수행되는 작업 구성의 한 형태.

IF 명령의 일반 보기:

만약에 그 다음에 그렇지 않으면

KUMIR 언어:

전체 분기: 부분 분기:
만약에 그 다음에 만약에 그 다음에

그렇지 않으면

모두

도우미 알고리즘- 주요 문제의 일부 하위 문제를 해결하는 알고리즘.

KUMIR 시스템에서 보조 알고리즘은 메인 프로그램의 끝 부분에 작성됩니다. 관계 범죄자)는 이름으로 메인 프로그램에서 실행을 위해 호출됩니다.

설문조사 및 과제

1. 로봇을 원래 위치에서 셀 B로 이동시키는 세 가지 명령의 모든 알고리즘을 제공하십시오.

로봇이 다음을 수행하는 동안 이 작업에 대한 알고리즘이 있습니까?

가) 두 단계 b) 4단계 c) 5단계 d) 일곱 단계?


  1. Petya는 로봇을 A 셀에서 B 셀로 옮기는 알고리즘을 만들었습니다. 로봇을 B에서 A로 이동하고 동일한 셀을 채우는 알고리즘을 얻기 위해 Kolya는 이 알고리즘으로 무엇을 해야 합니까?


7. 두 가지가 알려져 있습니다. 보조 알고리즘로봇

로봇이 다음 기본 알고리즘을 수행할 때 어떤 일이 발생하는지 그립니다.


ㅏ)

NC 5번


패턴_1

오른쪽; 오른쪽;


비)

NC 7번


패턴_2

오른쪽; 오른쪽


안에)
오른쪽; 오른쪽; 오른쪽

위로; 위로

오른쪽; 오른쪽; 오른쪽

내려가는 길; 아래로


G)
오른쪽; 오른쪽
오른쪽; 오른쪽

8. 로봇이 지정된 셀을 칠할 알고리즘을 만듭니다.



9. 로봇의 오른쪽 어딘가에 벽이 있는 것으로 알려져 있다. 로봇이 여러 셀을 벽까지 칠하고 원래 위치로 돌아가는 제어 하에 알고리즘을 구성합니다.

10. 로봇의 오른쪽 어딘가에 음영 처리된 셀이 있는 것으로 알려져 있습니다.

에서 로봇이 음영 처리된 셀까지 여러 셀을 칠하고 원래 위치로 돌아가는 알고리즘을 그대로 두십시오.

11. 로봇은 수평 복도의 왼쪽 입구 부근에 위치하는 것으로 알려져 있다.

12. 로봇은 수평 복도 어딘가에 있는 것으로 알려져 있다. 복도의 어떤 세포도 칠해지지 않았습니다.

로봇이 이 복도의 모든 셀에 페인트를 칠하고 원래 위치로 돌아가는 제어 하에 알고리즘을 구성합니다.


13. 로봇 오른쪽에 있는 10개의 셀 행에서 일부 셀은 음영 처리됩니다.

에서 셀을 그리는 알고리즘을 그대로 두십시오.

a) 각 음영 셀 아래;

b) 각 음영 셀 위와 아래.


14. 다음 알고리즘 조각의 정확성에 대해 무엇을 말할 수 있습니까?

안녕셀이 음영 처리됨

만약에바로 무료 그 다음에

오른쪽; 칠하다

에게

15. 로봇이 세 개의 미로에서 B 셀에 도달할 수 있는 프로그램을 작성하십시오.


16. 로봇이 필드의 왼쪽 하단 모서리에서 오른쪽 상단으로 복도를 따라 갈 수 있는 프로그램을 작성하십시오. 복도는 한 칸의 너비를 가지며 왼쪽-아래-오른쪽-위 방향으로 뻗어 있습니다. 가능한 복도의 예가 그림에 나와 있습니다.



아다치 GIA


  1. 복도1. 로봇은 수직 복도 어딘가에 있습니다. 복도의 어떤 세포도 칠해지지 않았습니다. 로봇이 이 복도의 모든 셀을 칠하고 원래 위치로 돌아가는 알고리즘을 만듭니다.

  1. 에게
    필요한

    주어진
    복도2. 로봇은 좁은 수직 복도의 위쪽 셀에 있습니다. 복도의 너비는 하나의 셀이며 복도의 길이는 임의적일 수 있습니다.

로봇의 초기 위치의 가능한 변형이 그림에 표시됩니다(로봇은 문자 "P"로 표시됨)

복도 내부의 모든 셀을 채우고 로봇을 원래 위치로 되돌리는 로봇 알고리즘을 작성하십시오. 예를 들어 위 그림의 경우 로봇은 다음 셀 위에 페인트해야 합니다(그림 참조).


  1. 끝없이 펼쳐진 들판에는 긴 수평 벽이 있다. 벽의 길이는 알 수 없습니다. 로봇은 벽 바로 위의 케이지 중 하나에 있습니다. 로봇의 초기 위치도 불명. 가능한 위치 중 하나:
시간


필요한

주어진
벽의 크기와 로봇의 초기 위치에 관계없이 벽 위와 인접한 모든 셀을 그리는 로봇 알고리즘을 작성하십시오. 예를 들어, 주어진 도면에 대해 로봇은 다음 셀을 페인트해야 합니다.

로봇의 최종 위치는 임의적일 수 있습니다. 알고리즘을 실행할 때 로봇이 파괴되어서는 안됩니다.



  1. 끝없는 들판에 긴 수직 벽이 있습니다. 벽의 길이는 알 수 없습니다. 로봇은 벽 바로 오른쪽에 위치한 케이지 중 하나에 있습니다. 로봇의 초기 위치도 불명. 로봇의 가능한 위치 중 하나가 그림에 표시됩니다(로봇은 문자 "P"로 표시됨): 벽에 인접한 모든 셀 위에 페인트하는 작업 알고리즘 작성: 왼쪽, 위에서 시작 도색되지 않은 하나를 통해; 오른쪽에 음영이 있는 아래쪽에서 시작하여 하나를 통과합니다. 로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다. 예를 들어 위 그림의 경우 로봇은 다음 셀을 채워야 합니다(그림 참조). 로봇의 최종 위치는 임의적일 수 있습니다. 알고리즘은 임의의 벽 크기와 로봇의 유효한 초기 위치에 대한 문제를 해결해야 합니다. 알고리즘을 실행할 때 로봇이 무너지지 않아야 합니다.


수직 벽의 왼쪽과 수평 벽 위에 있고 인접하는 모든 셀을 그리는 로봇용 알고리즘을 작성하십시오. 로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다. 예를 들어, 위 그림의 경우 로봇은 다음 셀을 페인트해야 합니다(그림 참조).


시간 벽에 인접한 셀을 왼쪽에서 시작하여 하나를 통해 위와 아래로 그리는 로봇 알고리즘을 작성하십시오. 로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다. 예를 들어, 주어진 그림 a)에 대해 로봇은 다음 셀을 페인트해야 합니다(그림 b 참조).

로봇의 최종 위치는 임의적일 수 있습니다. 알고리즘은 임의의 벽 크기와 로봇의 유효한 초기 위치에 대한 문제를 해결해야 합니다.



아르 자형

  1. 끝없는 들판에 긴 수직 벽이 있습니다. 벽의 길이는 알 수 없습니다. 로봇은 벽 바로 왼쪽에 위치한 케이지 중 하나에 있습니다. 로봇의 초기 위치도 불명. 로봇의 가능한 위치 중 하나가 그림에 표시됩니다(로봇은 문자 "P"로 표시됨).
벽에 인접한 모든 셀을 칠하는 알고리즘을 작성하십시오.

  • 왼쪽에 모두;

  • 오른쪽, 도색되지 않은 상단에서 시작하여 하나를 통과합니다.
로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다.


1102_GIA2011

무한 필드에는 두 개의 수평 벽이 있습니다. 벽의 길이는 알 수 없습니다. 벽 사이의 거리는 알 수 없습니다. 로봇은 왼쪽 가장자리에 있는 케이지의 하단 벽 위에 있습니다. 맨 아래 벽 위와 맨 위 벽 아래에 있으며 인접한 모든 셀을 그리는 로봇용 알고리즘을 작성하십시오. 로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다. 예를 들어 위 그림의 경우 로봇은 다음 셀을 채워야 합니다(그림 참조).

로봇의 최종 위치는 임의적일 수 있습니다. 알고리즘은 임의의 필드 크기와 직사각형 필드 내부의 허용 가능한 벽 위치에 대한 문제를 해결해야 합니다. 알고리즘을 실행할 때 로봇이 무너지지 않아야 합니다.



1103_GIA_2011


무한의 장에는 수평의 벽이 있다. 벽의 길이는 알 수 없습니다. 벽의 오른쪽 끝에서 수직 벽이 아래쪽으로 뻗어 있으며 길이도 알 수 없습니다. 로봇은 왼쪽 가장자리에 있는 케이지의 수평 벽 위에 있습니다. 그림은 벽과 로봇을 배치하는 가능한 방법 중 하나를 보여줍니다(로봇은 문자 "P"로 표시됨).

수평 벽 위에 있고 수직 벽의 오른쪽에 인접하고 있는 모든 셀을 그리는 로봇용 알고리즘을 작성하십시오. 로봇은 이 조건을 충족하는 셀에만 페인트를 칠해야 합니다. 예를 들어, 위 그림의 경우 로봇은 다음 셀을 페인트해야 합니다(그림 참조).

프로그램 쿠미르

아티스트 로봇


로봇 연기자는 누구인가?

  • 로봇이라고 부를 개체가 있는 체크 무늬 필드(상자에 있는 공책의 시트와 같은)를 상상해 보십시오. 특수 명령을 사용하여 이 로봇을 제어할 수 있습니다. 셀 주위로 로봇을 이동하고 셀 위에 페인트를 칠할 수 있습니다. 그리고 대부분의 경우 우리의 임무는 로봇을 위한 그러한 프로그램을 작성하여 특정 셀을 칠하는 것입니다.

로봇 출연자를 위한 아이돌 환경 설정

  • 출시된 Kumir 프로그램은 다음과 같습니다.

로봇의 시작 환경

  • 프로그램 실행을 시작하기 전에 로봇 실행기의 시작 환경을 설정해야 합니다. 이것은 로봇을 다음 위치에 설치하는 것을 의미합니다. 희망 직군, 벽을 정렬하고, 원하는 셀 위에 페인트를 칠하는 등의 작업을 수행합니다. 이 단계는 매우 중요합니다. 무시하면 프로그램이 제대로 작동하지 않거나 충돌할 수도 있습니다.

누르다 환경 수정



퍼포머 로봇. 간단한 명령.

  • 위로
  • 아래로
  • 왼쪽으로
  • 오른쪽
  • 칠하다

이러한 명령을 실행한 결과는 이름에서 명확합니다.

  • up - 로봇을 한 칸 위로 이동
  • down - 로봇을 한 셀 아래로 이동
  • 왼쪽 - 로봇을 왼쪽으로 한 셀 이동
  • right - 로봇을 오른쪽으로 한 칸 이동
  • 위에 칠하기 - 현재 셀(로봇이 있는 셀) 위에 칠합니다.

알고리즘 예

  • 먼저 다음 문구를 작성해야 합니다.
  • 사용 로봇

얼마나 많은 셀을 칠해야 하는지 안다면 솔루션 알고리즘은 다음과 같습니다!


작업 번호 1

  • 몇 개의 셀을 칠해야 하는지 안다면 다음 문제를 푸는 프로그램을 작성하세요.

주기

  • 1. 카운터가 있는 루프 몇 번을 반복해야 하는지 미리 알고 있을 때 사용합니다.

NC 시간

kts

여기서 반복 횟수(숫자)와 반복될 명령을 지정해야 합니다. 주기에서 반복되는 명령을 호출 사이클 바디.



작업 번호 2

  • 카운터가 있는 루프를 사용하여 다음 문제를 해결하는 프로그램을 작성하십시오.

  • 2. 조건 루프 조건이 true일 때 루프는 true이고 false이면 true가 아닙니다.
  • 로봇 수행자는 몇 가지 조건이 있습니다.

탑 느슨한

바닥 느슨한

무료로 남겨둔

바로 무료

상단 벽

바닥 벽

왼쪽 벽

오른쪽 벽

  • 다음과 같이 입자를 사용할 수 있습니다. 아니, 그리고, 또는

조건부 루프 구조

안녕 바로 무료

오른쪽

칠하다

kts



작업 번호 3

  • 조건 루프를 사용하여 다음 문제를 해결하는 프로그램을 작성하십시오.

작업 번호 4

  • 조건 루프를 사용하여 다음 문제를 해결하는 프로그램을 작성하십시오.



문제 해결:

  • 2. 로봇은 시작 위치에서 최종 위치로 이동하여 벽을 칠해야 합니다.


작업 번호 5

  • 무한의 장에는 수평의 벽이 있다. 벽의 길이는 알 수 없습니다. 로봇은 왼쪽 끝에 있는 벽 상단에 있습니다. 그림은 벽을 기준으로 한 로봇의 위치를 ​​보여줍니다(로봇은 문자 "P"로 표시됨).

작업 번호 5에 대한 답변

  • 체크 안함아직 (하단 무료)

칠하다

주기의 시작(nts)과 조건(아직(하단 자유))이 한 줄에 기록됩니다.



설계 만약에

  • 상단 무료 하단 무료 왼쪽 무료 오른쪽 무료
  • 이 명령은 조건과 함께 사용할 수 있습니다. "만약에", 다음 형식을 가집니다.
  • 만약에 상태 그 다음에
  • 명령 시퀀스
  • 예를 들어, 오른쪽에 벽이 없으면 한 셀을 오른쪽으로 이동하고 셀을 칠하려면 다음 알고리즘을 사용할 수 있습니다.
  • 권리가 자유롭다면
  • 오른쪽
  • 칠하다

작업 번호 7

벽의 길이는 알려져 있지 않습니다.


작업 번호 7에 대한 답변

정상이 자유로워질 때까지

칠하다

오른쪽

상단이 무료인 동안

오른쪽

권리가 무료인 동안

칠하다

오른쪽

권리가 자유로워질 때까지

칠하다

아래로

권리가 무료인 동안

아래로

권리가 자유로워질 때까지

칠하다

아래로


작업 번호 8

벽의 길이는 알려져 있지 않습니다.

각 벽에는 정확히 하나의 통로가 있으며 통로의 정확한 위치와 너비는 알려져 있지 않습니다.


작업 번호 8에 대한 답변

상단이 무료인 동안

정상이 자유로워질 때까지

칠하다

상단이 무료인 동안

정상이 자유로워질 때까지

칠하다

바닥이 자유로울 때까지

칠하다

바닥이 비어 있는 한

바닥이 자유로울 때까지

칠하다


작업 번호 9

벽의 길이는 알려져 있지 않습니다.

각 벽에는 정확히 하나의 통로가 있으며 통로의 정확한 위치와 너비는 알려져 있지 않습니다.


작업 번호 9에 대한 답변

바닥이 비어 있는 한

바닥이 자유로울 때까지

칠하다

바닥이 비어 있는 한

바닥이 자유로울 때까지

칠하다

정상이 자유로워질 때까지

칠하다

상단이 무료인 동안

정상이 자유로워질 때까지

칠하다


작업 번호 10

벽의 길이는 알려져 있지 않습니다.

각 벽에는 정확히 하나의 통로가 있으며 통로의 정확한 위치와 너비는 알려져 있지 않습니다.


작업 번호 10에 대한 답변

왼쪽이 무료인 동안

왼쪽이 자유로울 때까지

칠하다

왼쪽이 무료인 동안

왼쪽이 자유로울 때까지

칠하다

권리가 자유로워질 때까지

칠하다

권리가 무료인 동안

권리가 자유로워질 때까지

칠하다


작업 번호 11

벽의 길이는 알려져 있지 않습니다.

각 벽에는 정확히 하나의 통로가 있으며 통로의 정확한 위치와 너비는 알려져 있지 않습니다.


작업 번호 11에 대한 답변

정상이 자유로워질 때까지

정상이 자유로워질 때까지

칠하다

바닥이 비어 있는 한

정상이 자유로워질 때까지

칠하다


작업 번호 12

끝없는 들판에 계단이 있습니다. 사다리는 먼저 오른쪽에서 왼쪽으로 내려간 다음 왼쪽에서 오른쪽으로 내려갑니다. 각 단계의 높이는 하나의 셀이고 너비는 두 개의 셀입니다. 로봇은 계단 상단의 오른쪽에 있습니다. 왼쪽으로 이어지는 계단의 수와 오른쪽으로 이어지는 계단의 수는 알 수 없습니다. 그림은 계단과 로봇을 배치하는 가능한 방법 중 하나를 보여줍니다(로봇은 문자 "P"로 표시됨).


작업 번호 12에 대한 답변

우리는 계단의 교차점에 도달할 때까지 오른쪽에서 왼쪽으로 계단 아래로 이동합니다.

nc 바닥이 비어 있는 동안

아래로

왼쪽으로

왼쪽으로

우리는 내려가는 계단의 끝으로 이동하여 도중에 필요한 셀 위에 그림을 그립니다.

느슨하게 남을 때까지 nc

칠하다

오른쪽

칠하다

오른쪽

아래로



작업 번호 13에 대한 답변

무료로 남아있는 동안 nc

칠하다

왼쪽으로

위로

느슨하게 남을 때까지 nc

칠하다

위로


작업 번호 14

무한 필드에는 벽으로 둘러싸인 직사각형이 있습니다. 직사각형의 변의 길이는 알 수 없습니다. 로봇은 직사각형 안에 있습니다. 그림은 벽과 로봇을 배치하는 가능한 방법 중 하나를 보여줍니다(로봇은 문자 "P"로 표시됨).


작업 번호 14에 대한 답변

권리가 무료인 동안

오른쪽

상단이 무료인 동안

위로

칠하다

무료로 남아있는 동안 nc

왼쪽으로

칠하다



작업 번호 15에 대한 답변

권리가 무료인 동안

칠하다

오른쪽

바닥이 비어 있는 한

칠하다

아래로

칠하다

아직 (하단 무료)

왼쪽으로

아래로

아직 (오른쪽 무료)

칠하다

아래로

칠하다

오른쪽

아직 (상단 느슨한)

칠하다

오른쪽



작업 번호 16에 대한 답변

권리가 자유로워질 때까지

칠하다

아래로

칠하다

오른쪽

정상이 자유로워질 때까지

칠하다

오른쪽

상단이 무료인 동안

위로

권리가 무료인 동안

칠하다

오른쪽

권리가 자유로워질 때까지

칠하다

아래로