xlogo 1.0 beta version < 기본중의기본 > 1. 키워드 ( 명령어 ) 는변수명으로사용될수없다. 2. 키워드는대소문자를구분하지않고사용할수있다. 3. 변수명은대소문자를구분한다. 4. 변수를명시적으로정의하는과정필요없이값을대입하는순간변수정의되고, 대입한값의성질에따라변수타입이결정된다. 5. 명령어구분이명확한경우에는 ; 를사용하지않아도된다. 6. 키워드는여러별칭이있을수있으며별칭을사용하여도된다. 7. 배열변수를사용할때는 [, ], 함수를정의하거나호출할때는 (, ), 2개이상의명령어를묶을때에는 {,} 를사용한다. 8. 변수는색인배열 (idex array) 과연관배열 (associative array) 둘다사용가능하다. KeyWord ------------------ 1. 거북이관련기본명령어 fd, bk, turn, rt, lt, tt, pt, pu, pd, tt.setx, tt.sety, tt.setxy, tt.setd, tt.setcolor, tt.setpen, 2. 제어명령어 cls, repeat, if, else, for, while, do, in, cls 3. 입출력명령어 print, gets, getn, drawtext 4. 함수정의관련명령어 def, return 5. 내장함수 sin, cos, tan, sqrt, random, round, roundup, rounddown, tt.getx, tt.gety, tt.getcolor, tt.getd 6. 색상이름 red, green, blue, black, brown, yellow, purple, orange, navy, pink, gold 7. 기타 help
기본명령어별칭 (alias) 일람표 표준명령어 별칭 (alias) fd bk turn rt lt tt pt pd pu repeat gets getn forward, go, 앞으로, 가자 backward, 뒤로 rotate, 돌자 rightturn, right, 오른쪽, 오른쪽으로 leftturn, left, 왼쪽, 왼쪽으로 turtle, 거북, 거북이 point, 점 pendown penup 반복 getstring getnumber help? red green blue lightblue black brown yellow pruple orange navy pink gold 빨강, 빨간색녹색, 초록파랑, 파란색하늘, 하늘색검정, 흑색갈색, 브라운노랑, 노란색보라, 보라색오렌지, 주황, 주황색자주, 자주색분홍, 핑크, 분홍색, 핑크색금색, 황금색 기본명령어의별칭이수시로추가되거나삭제될수있음
1. 거북이관련명령어 fd fd fd d [,color] d 만큼앞으로간다. fd x, y [, color] fd x, y, d [, color] 거북이꼬리를올리거나내려선이그려지거나그려지지않는다 ( 토글 ). 좌표 (x, y) 로선을그리며이동 bk bk d [, color] d 만큼뒤로이동 turn 좌표 (x, y) 로선을그리며이동한후머리를 d 방향으로회전 turn 머리회전방향변경 ( 토글 ) turn d turn x, y 머리를 d 만큼회전 머리를좌표 (x, y) 방향으로회전 rt rt d d 만큼오른쪽방향으로머리회전 lt lt d d 만큼왼쪽방향으로머리회전 tt tt 거북이가사라지거나나타난다 ( 토글 ) tt d tt color 거북이머리를 d 도방향으로회전 거북이색과선색을 color 로변경 tt x, y 좌표 (x, y) 로순간이동 tt, x, y, d 좌표 (x, y) 로이동후 d도로머리회전 pu pu 거북이꼬리를올려이동시선을그리지않는다. pd pd 거북이꼬리를내려이동시선을그린다. pt 거북이 속성 변경 pt pt r pt color pt x, y pt r, color pt x, y, color pt x, y, r pt x, y, r, color tt.setx( x ) tt.sety( y ) tt.setxy( x, y ) tt.setd( d ) tt.setcolor( color ) tt.setpen( w ) 거북이현위치에점을그림거북이현재위치에반지름이 r인원을그림거북이현위치에 color색점을그림 좌표 (x, y) 에점을찍음거북이현위치에반지름이 r, 내부가 color색인원을그림좌표 (x, y) 에 color색점을찍음 좌표 (x, y) 에반지름이 r인원을그림좌표 (x, y) 에내부가 color색인반지름이 r인원을그림거북이 x좌표를 x로옮김 거북이 y 좌표를 y 로옮김 거북이위치를좌표 (x, y) 로옮김 거북이방향을 d 도방향으로회전 거북이색과선색을 color 로변경 거북이가그리는선의폭을 w 로변경
2. 제어명령어 cls, repeat, if, else, for, while, do, in cls repeat 거북이화면 (turtle screen) 을지우고, 거북이원점위 치로 repeat n { 명령문들 ;} {} 안의명령문들을 n번반복실 행 if else if( 조건문 ) { 명령문들 } if( 조건문 ) { 명령문들 } else { 명령문들 } for for(i=0; i< 10; i=i+1) { 명령문들 } while while( 조건문 ) { 명령문들 } do while do { 명령문들 } while( 조건문 ); 연관배열의 key값을반복해서얻을때 in 예 ) num[ one ] = first ; num[ two ] = second ; for( k in num ) { } print num[k];
3. 입출력명령어 print, gets, getn, drawtext print gets getn drawtext print 다음에오는식이나문자열을 text screen 에출 력 예 ) print 1+2=, 1+2 => 1+2=3 문자열을입력받음 예 ) name = gets( 이름을입력하시오 ); print name; 수를입력받음 예 ) age= getn( 나이를입력하시오 ); print age; turtle screen에서거북이현재위치에문자열이나식 의값을계산한결과를나타냄 예 ) drawtext( hello turtle ); while while( 조건문 ) { 명령문들 } do while do { 명령문들 } while( 조건문 );
4. 함수정의관련명령어 def, return 예 ) def iseven( n ) { if( n%2 == 0 ) print even else print odd ; } iseven( 123 ); def fac( n ) { if( n == 1 ) return 1; return n*f(n-1); } print fac(10);
5. 내장함수 sin, cos, tan, sqrt, random, round, roundup, rounddown sin(d) sin(d) cos(d) cos(d) tan(d) tan(d) sqrt(x) x의제곱 random( ) 0과 1사이의난수 random(n) 0과 n사이의난수 random(n1, n2) n1과 n2 사이의난수수학 n1과 n2 사이의난수를 자리에서반함수 random(n1, n2, d) 올림 round(n) n을소수첫째자리에서반올림 round(n, d) n을 자리에서반올림 roundup(n) n을소수첫째자리에서올림 roundup(n, d) n을 자리에서올림 rounddown(n) n을소수첫째자리에서버림 rounddown(n, d) n을 자리에서버림 tt.getx( ) 거북이 x좌표값거북이 tt.gety( ) 거북이 y좌표값 속성 tt.getd( ) 거북이머리방향 ( 각도 ) 정보 tt.getcolor( ) 거북이색상 tt.getpen( ) 거북이가그리는선의굵기값
6. 색상이름 색이름 색상코드 색이름 색상코드 red #FF0000 yellow #FFFF00 green #00FF00 purple #800080 blue #0000FF orange #FFA500 lightblue #00BFFF navy #000080 black #000000 pink #FF69B4 brown #A52A2A gold #FFD700 7. 배열 (array) 배열의정의없이변수명끝에 [] 가있으면, 배열변수가된다. [] 안에는숫자뿐만아니라문자열이들어갈수있다. 숫자가들어가면인덱스배열, 문자열이들어가면연관형배열이된다. 예1) for(i=0;i<10;i=i+1) a[i]=i*i; 예 2) for(i=0;i<10;i=i+1) { print a[, i, ], a[i], \n ; } b[ mon ]= Monday ; b[ tue ]= Tuesday ;