목차
본문내용
indrome(token t)
begin
0 이상 t의 길이 이하의 모든 정수 i에 대해 순차적으로
begin
if t의 element[i] != t의 element[t의 길이 - 1 - i] then 0 반환
end;
1 반환;
end.
/* Homework */
숫자들로만 이루어진 토큰이 주어지면 토큰의 내용물을 정수로 바꿔 반환한다. 숫자의 배열과 이를 정수로 바꾼 결과값이 될 변수 a가 주어지면, a = 0에서 시작해서 a에 10을 곱한 뒤 배열에서의 높은 자리 숫자부터 하나씩 더하는 과정을 반복함으로써 숫자의 배열을 정수로 변환할 수 있다. 예를 들어 "123"이 주어지면 이는 (((0 * 10 + 1) * 10 + 2) * 10 + 3)으로 표현할 수 있다. 이 과정을 의사 코드로 표기하면 다음과 같다.
long tokenIntValue(token t)
begin
a = 0;
t의 높은 자리 숫자부터 차례로
begin
a = a * 10 + t의 현재 자리 숫자;
end;
end.
이 때, t의 i번째 자리 숫자 즉, element[i]는 char 형태의 변수이므로 이를
정수로 바꾸려면 t.element[i] - '0'으로 해야 한다.
결과
begin
0 이상 t의 길이 이하의 모든 정수 i에 대해 순차적으로
begin
if t의 element[i] != t의 element[t의 길이 - 1 - i] then 0 반환
end;
1 반환;
end.
/* Homework */
숫자들로만 이루어진 토큰이 주어지면 토큰의 내용물을 정수로 바꿔 반환한다. 숫자의 배열과 이를 정수로 바꾼 결과값이 될 변수 a가 주어지면, a = 0에서 시작해서 a에 10을 곱한 뒤 배열에서의 높은 자리 숫자부터 하나씩 더하는 과정을 반복함으로써 숫자의 배열을 정수로 변환할 수 있다. 예를 들어 "123"이 주어지면 이는 (((0 * 10 + 1) * 10 + 2) * 10 + 3)으로 표현할 수 있다. 이 과정을 의사 코드로 표기하면 다음과 같다.
long tokenIntValue(token t)
begin
a = 0;
t의 높은 자리 숫자부터 차례로
begin
a = a * 10 + t의 현재 자리 숫자;
end;
end.
이 때, t의 i번째 자리 숫자 즉, element[i]는 char 형태의 변수이므로 이를
정수로 바꾸려면 t.element[i] - '0'으로 해야 한다.
결과