python (13) 리보그 (13) 스크래치 (8) 마인크래프트 (4) etc. (3) lua (2) 과학 (1)

레이블이 python인 게시물을 표시합니다. 모든 게시물 표시
레이블이 python인 게시물을 표시합니다. 모든 게시물 표시

2022년 11월 18일 금요일

정원사 로봇 리보그(초급) - T-3. 강의 졸업 시험(종합 문제 풀이)

종합문제 (스타타워)

1. 인공지능 로봇 리보그는 건축하는 취미가 생겼습니다. 오늘은 스타 타워를 만들고 있습니다. 충분히 많은 별을 가지고 곳곳에 별이 3 개인 타워를 만들고 싶어합니다. 리보그의 시작 위치를 포함하여 그 이후의 다른 모든 x 위치(홀수 x 값)에 스타 타워를 만드는 프로그램을 작성해 봅시다.

Star Tower 1 세계에 코드를 작성하세요.

세계는 처음에 다음과 같이 보일 것입니다.


2. 리보그가 동굴에 스타 타워를 건설하려고 합니다. 동굴의 지붕에는 길이가 다른 종유석이 있으므로 리보 그는 타워와 부딪히지 않고 최대한 높은 타워를 건설하려고합니다. 위의 문제와 마찬가지로 리보그의 시작 위치와 그 이후의 다른 모든 x 위치 (홀수 x 값)에 스타 타워를 만드는 프로그램을 작성하십시오. 각 스타 타워의 높이는 종유석 아래에 하나의 빈 사각형을 허용해야 합니다.

Star Tower 2 세계를 열어 코드를 작성하세요.

세계는 처음에 다음과 같이 보일 것입니다.

 

 

 

 

 


정원사 로봇 리보그(초급) - T-2. 잡초 제거

잡초 제거


1. 다음 코드를 실행하면 몇 송이의 꽃을 뽑을 수 있을까요?


repeat 10:
    move()
    if object_here():
        take()

 

2. 다음 코드를 실행하면 몇 송이의 꽃을 뽑을 수 있을까요?

def turn_right():
    repeat 3:
        turn_left()

def turn_around():
    repeat 2:
        turn_left()

def move_and_pick():
    move()
    take()

def weeding_time():
    repeat 2:
        move_and_pick()

repeat 4:
    move()
turn_left()
move()
turn_left()

weeding_time()
move()
turn_right()
move()
turn_right()

weeding_time()
move()

 

 


2022년 9월 30일 금요일

정원사 로봇 리보그(초급) - T-1. 화초 심기

화초심기

repeat이 포함된 다음 두 문제를 풀어봅시다.

(참고: repeat은 실제 파이썬에서는 실행이 안되고, 리보그 세상에서만 실행됩니다.)

 

 1. 다음 코드를 실행하면 그 결과는 어떻게 될까요?

repeat 4:
    put()
move()

    1) 

    2)

    3)

    4)


2. 다음 코드를 실행하면 그 결과는 어떻게 될까요?

repeat 4:
    put()
    move() 

    1) 

    2)

    3) 

    4)






2022년 9월 23일 금요일

정원사 로봇 리보그(초급) - 9. 민들레 뽑기 (2)

민들레 뽑기 (2)

리보그가 정원에 무작위로 돋은 잡초를 뽑아 쓰레기통에 버리게 하는 프로그램을 작성하며, 여러 상황에서 참과 거짓을 판단하여 작업을 수행하는 조건 명령과 함수에 대해 알아봅니다. 이번에는 이전과 같은 상황에서 반복을 이용하여 문제를 해결해 봅니다.





2022년 8월 16일 화요일

정원사 로봇 리보그(초급) - 8. 민들레 뽑기 (1)

민들레 뽑기 (1)

  리보그가 정원에 무작위로 돋은 잡초를 뽑아 쓰레기통에 버리게 하는 프로그램을 작성하며, 여러 상황에서 참과 거짓을 판단하여 작업을 수행하는 조건 명령과 함수에 대해 알아봅니다.

코드 작성: http://reeborg.ca/reeborg.html?lang=ko-en&mode=python&menu=worlds%2Fmenus%2Fsk_menu_ko.json&name=8%20%EB%8B%A8%EA%B3%84&url=worlds%2Fsk_ko%2Fstep8.json



2022년 6월 24일 금요일

정원사 로봇 리보그(초급) - 6. 비료를 비료 창고로 옮기기

 비료를 비료 창고로 옮기기

  여러 프로그램에서 매번 사용자 함수를 정의하는 번거로움을 덜기 위해 라이브러리에 사용자 정의 함수 저장해 두고 불러와 사용하는 방법에 대해 알아봅니다.

코드작성: http://reeborg.ca/reeborg.html?lang=ko-en&mode=python&menu=worlds%2Fmenus%2Fsk_menu_ko.json&name=6%20%EB%8B%A8%EA%B3%84&url=worlds%2Fsk_ko%2Fstep6.json



2020년 12월 12일 토요일

정원사 로봇 리보그(초급) - 4. 잡초 뽑아 버리기 (+ 주석 달기)




잡초 뽑아 버리기 (+ 주석 달기)

  프로그램을 작성할 때는 다른 사람들이 읽기 쉽고 그들이 하는 일을 알아낼 수 있도록 프로그램을 작성해야 합니다. 잡초를 뽑아 버리는 프로그램을 만들며 주석 사용 방법을 익힙니다.


정원사 로봇 리보그(초급) - 3. 연못가 탐색

 

연못가 탐색

   컴퓨터 프로그램을 작성하면서 발생하는 버그를 "제거"하거나 "수정"하는 방법을 알아봅니다. 코드를 단계별로 실행하면서 버그를 찾아 수정합니다. 그리고 좌회전 명령어도 익혀봅니다.


정원사 로봇 리보그(초급) - 2. 잡초 뽑아 버리기


 
 

잡초 뽑아 버리기

  집 앞에 돋아나는 잡초를 뽑아 쓰레기통에 버리는 과제를 수행하며 물체 들기와 내려놓기 명령어를 익힙니다.


정원사 로봇 리보그(초급) - 1. 정원사 로봇의 출근길



정원사 로봇의 출근길

정원사 로봇의 첫 출근길 문제를 해결하며 기본 이동 명령으로 목표지점으로 이동하는 방법과 작업한 결과를 저장하는 방법을 알아봅니다.


정원사 로봇 리보그(초급) - 0. 정원사 로봇의 탄생

 
 


정원사 로봇의 탄생

Reeborg(리보그) 로봇의 작동환경과 퍼즐화면의 구성, 리보그 로봇이 앞으로 하게 될 일들에 대해 알아보겠습니다.

리보그는 1981년 Stanford University의 Richard Pattis 교수님이 만든 Karel the Robot을 개선한 프로그램입니다. 우리가 사용할 리보그 프로그램은 André Roberge(https://github.com/aroberge)이 만들었습니다.

최근 스크래치나 엔트리와 같은 블록형 프로그래밍을 통해 프로그램을 쉽게 접하는 학생들이 많아지고 있습니다. 파이썬은 텍스트 프로그래밍 환경으로 초보자들이 쉽게 접근하기에 어려운 점이 있습니다.

Reeborg(이하 리보그)는 텍스트 프로그래밍 환경에서 보다 쉽게 파이썬 프로그래밍을 익힐 수 있도록 도와줄 수 있는 학습 프로그램입니다. 또한 스크래치와는 달리 버그 발생 시 메세지를 띄워주기 때문에 잘못된 부분을 찾아 해결할 수 있습니다.

 

정원사 로봇 리보그의 탄생

André Roberge 선생님이 리보그를 정원사 로봇이라고 칭하지 않았지만, 우리가 해결해야 할 문제들이 정원사 로봇의 이야기로 이해하면 문제들을 재미있게 이해할 수 있기에 리보그를 정원과 텃밭을 관리하는 정원사 로봇이라고 부르겠습니다.

리보그는 정원과 텃밭 관리에 최적화된 농업용 로봇입니다. 리보그는 '리보그 세상'이라는 곳에서 탄생을 했습니다. 리보그는 우리가 명령을 내리는 데로 움직이고 작업을 하게 됩니다.

 

리보그의 작동환경

아래 링크를 눌러 리보그의 작동환경에 대해 알아봅시다. 다음의 링크를 클릭해 주세요.

코드 작성 http://reeborg.ca/reeborg.html?lang=ko-en&mode=python&menu=worlds%2Fmenus%2Fsk_menu_ko.json&name=0%20%EB%8B%A8%EA%B3%84&url=worlds%2Fsk_ko%2Fstep0.json


    1) 문제 선택

    2) 코드 입력 창 : 직접 입력할 수도 있고 '6) 리보그의 키보드'를 클릭해서 명령어를 마우스로 입력할 수 있습니다.

    3) '2) 코드 입력 창'에서 입력한 코드를 실행하는 버튼입니다.

    4) 명령 실행창: 명령이 실행되는 모습을 볼 수 있는 실행창입니다.

    5) 월드 정보: 현재 문제가 설명되어 있는 창이 열립니다. 문제의 조건이나 목표에 대해 설명되어 있습니다.

    6) 리보그의 키보드: 마우스로 명령을 입력할 수 있는 창이 열립니다.

    7) 저장: 코드를 컴퓨터에 파일로 저장합니다. 키보드 단축키를 사용하려면 Ctrl+S (Mac의 경우 Cmd+S) 를 사용하여 생성한 코드를 저장할 수 있습니다 .

    8) 불러오기: 컴퓨터에 저장된 코드 파일을 불러옵니다. 키보드 단축키는 Ctrl+O (Mac의 경우 Cmd+O)를 사용하십시오.

    9) 언어 선택: 메뉴를 한글로 변경할 수 있습니다.


다음 글에서는 리보그가 첫 출근을 하게 됩니다.


원문 출처: https://cs20.ca/ConstrainedLanguage/Step0.html