초등학교 저학년
8932 단어 JavaScriptParserstudents
산수 드릴은 귀찮지 않습니까?
귀찮았던 기억이 나요.
구구 따위를 외우는 것은 매우 번거롭겠지.
사실
구구단을 기억하지 못하더라도 자바스크립트를 기억하면
산수 드릴을 풀 수 있다!!
오늘은 초등학생들에게 컴퓨터 로봇의 제작 방법을 가르친다.
참고:
시작하기 전에 주의해야 한다.
잘 들으세요.
단계:
제가 절차를 설명할 테니 자세히 들어보세요.
모르는 게 있으면 선생님께 물어보세요.
준비:
소지품을 준비하세요.
・Node.js14.16.0 (다른 언어도 가능)
Windows 10(그 외)
제작:
퍼스:
선생님:
우선 ①단계의 중간기법에서 반폴란드기법의 포스로 가자.
이른바 중간기법
1 + 1 //(= 11)
이런 일반적인 작법.반폴란드 기법
1 1 + //(= 11)
쓰기 방법은 컴퓨터가 처리하기 쉬운 쓰기 방법이다.반폴란드 기법에 대한 퍼스는 이렇게 했다.
예약표:
우선순위를 stack의 마지막 연산자와 비교합니다.가다
result로 팝업하고 밀어냅니다.가다
연산자가 사라질 때까지 뒤에서 밀어냅니다.
모범
var exp = "式".split(" ")//1
var stack = []//2
var result = []//3
var priority = {"+":1,"-":1,"*":2};//4
function loop() {//5
var now = exp.shift();//6
if(!isNaN(+now)) {
result.push(+now);//7
} else {
if(priority[stack.slice(-1)[0]]>= priority[now]) {//8
result.push(stack.pop())//9
}
stack.push(now)//10
}
if(!exp.length)return;//11
loop()//5
}
if(stack.length) {//12
while(stack.length)result.push(stack.pop())//12
}
등본
그럼 초등학생들.우리 가서 옮겨 쓰자.
제목은 함수 이름으로 쓰십시오.
백그라운드에서 댓글을 자세히 삭제하십시오.
function PornConv(formula) {
var exp = formula.split(" ")
var stack = []
var result = []
var priority = {"+":1,"-":1,"*":2};
for (now of exp) {
if(priority[now]) {
if(priority[stack[0]]>= priority[now]) {
result.push(stack.shift())
}
stack.unshift(now)
} else {
result.push(+now);
}
}
result.push(...stack)
return result;
}
잘했어. 그럼 계산해 봅시다.
계산:
선생님:
계산이 간단하다.
연산자가 오면 연산자에 따라 계산하기만 하면 된다.
예를 들어 퍼스 결과[1,1,+'의 답은
이.
그럼 계산해 봐.
Reference
이 문제에 관하여(초등학교 저학년), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/wakou-qiita/items/ce9b8664eb50f15acb69텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)