function FunnyBox_1164(Input_X,Input_Y) { var strBody=""; var pLast=null; ////////////////////////////////// function Calculate_Next(pNode,pNext) { strBody+=" -->:"+pNext.ID+"\n"; var pLink_Tmp=new Node_Link(); pLink_Tmp.pData=pNext; if (pNext.Param_Count==2 && pNode.Function=="@1"){ pNext.pInput2=pNode; }else{ pNext.pInput1=pNode; } pLast.pNext=pLink_Tmp; pLast=pLink_Tmp; } var pStart=null; ////////////////////////////////// var pLink1120=new Node_Link(); var pNode1120=new Node_Program(); pNode1120.ID="1120"; pNode1120.Function="表达式计算"; pNode1120.Type="send"; pNode1120.Param_Count=0; pNode1120.Run=function(x,y){ return x; } pLink1120.pData=pNode1120; ////////////////////////////////// var pLink1174=new Node_Link(); var pNode1174=new Node_Program(); pNode1174.ID="1174"; pNode1174.Function="@清空面板"; pNode1174.Type="function"; pNode1174.Param_Count=0; pNode1174.Run=function(x,y){ return Clear_InputBox(); } pLink1174.pData=pNode1174; ////////////////////////////////// var pLink1165=new Node_Link(); var pNode1165=new Node_Program(); pNode1165.ID="1165"; pNode1165.Function="@文本框"; pNode1165.Type="function"; pNode1165.Param_Count=0; pNode1165.Run=function(x,y){ return Show_InputBox("输入要计算的表达式:"); } pLink1165.pData=pNode1165; ////////////////////////////////// var pLink1166=new Node_Link(); var pNode1166=new Node_Program(); pNode1166.ID="1166"; pNode1166.Function="@按钮"; pNode1166.Type="function"; pNode1166.Param_Count=0; pNode1166.Run=function(x,y){ return Show_Button("计算","1163");; } pLink1166.pData=pNode1166; ////////////////////////////////// var pLink1163=new Node_Link(); var pNode1163=new Node_Program(); pNode1163.ID="1163"; pNode1163.Function="计算按钮事件"; pNode1163.Type="send"; pNode1163.Param_Count=0; pNode1163.Run=function(x,y){ return x; } pLink1163.pData=pNode1163; ////////////////////////////////// var pLink1121=new Node_Link(); var pNode1121=new Node_Program(); pNode1121.ID="1121"; pNode1121.Function="@读取"; pNode1121.Type="function"; pNode1121.Param_Count=0; pNode1121.Run=function(x,y){ return Read_InputBox("输入要计算的表达式:"); } pLink1121.pData=pNode1121; ////////////////////////////////// var pLink1169=new Node_Link(); var pNode1169=new Node_Program(); pNode1169.ID="1169"; pNode1169.Function="@计算"; pNode1169.Type="function"; pNode1169.Param_Count=0; pNode1169.Run=function(x,y){ return eval(x);; } pLink1169.pData=pNode1169; ////////////////////////////////// var pLink1123=new Node_Link(); var pNode1123=new Node_Program(); pNode1123.ID="1123"; pNode1123.Function="@显示"; pNode1123.Type="function"; pNode1123.Param_Count=0; pNode1123.Run=function(x,y){ return FB_Show(x);; } pLink1123.pData=pNode1123; ////////////////////////////////// var pLink1172=new Node_Link(); var pNode1172=new Node_Program(); pNode1172.ID="1172"; pNode1172.Function="@组合zzz"; pNode1172.Type="function"; pNode1172.Param_Count=0; pNode1172.Run=function(x,y){ return "http://www.wolframalpha.com/input/?i="+x; } pLink1172.pData=pNode1172; ////////////////////////////////// var pLink1170=new Node_Link(); var pNode1170=new Node_Program(); pNode1170.ID="1170"; pNode1170.Function="@显示IFrame zzz"; pNode1170.Type="function"; pNode1170.Param_Count=0; pNode1170.Run=function(x,y){ return Show_Iframe(x,1200,600);; } pLink1170.pData=pNode1170; ////////////////////////////////// var pLink1164=new Node_Link(); var pNode1164=new Node_Program(); pNode1164.ID="1164"; pNode1164.Function="因式分解"; pNode1164.Type="send"; pNode1164.Param_Count=0; pNode1164.Run=function(x,y){ return x; } pLink1164.pData=pNode1164; ////////////////////////////////// var pLink1173=new Node_Link(); var pNode1173=new Node_Program(); pNode1173.ID="1173"; pNode1173.Function="@清空面板"; pNode1173.Type="function"; pNode1173.Param_Count=0; pNode1173.Run=function(x,y){ return Clear_InputBox(); } pLink1173.pData=pNode1173; ////////////////////////////////// var pLink1124=new Node_Link(); var pNode1124=new Node_Program(); pNode1124.ID="1124"; pNode1124.Function="@文本框"; pNode1124.Type="function"; pNode1124.Param_Count=0; pNode1124.Run=function(x,y){ return Show_InputBox("输入要要因式分解的表达式:"); } pLink1124.pData=pNode1124; ////////////////////////////////// var pLink1161=new Node_Link(); var pNode1161=new Node_Program(); pNode1161.ID="1161"; pNode1161.Function="@按钮"; pNode1161.Type="function"; pNode1161.Param_Count=0; pNode1161.Run=function(x,y){ return Show_Button("因式分解","1167");; } pLink1161.pData=pNode1161; ////////////////////////////////// var pLink1167=new Node_Link(); var pNode1167=new Node_Program(); pNode1167.ID="1167"; pNode1167.Function="因式分解按钮"; pNode1167.Type="send"; pNode1167.Param_Count=0; pNode1167.Run=function(x,y){ return x; } pLink1167.pData=pNode1167; ////////////////////////////////// var pLink1168=new Node_Link(); var pNode1168=new Node_Program(); pNode1168.ID="1168"; pNode1168.Function="@读取"; pNode1168.Type="function"; pNode1168.Param_Count=0; pNode1168.Run=function(x,y){ return Read_InputBox("输入要计算的表达式:"); } pLink1168.pData=pNode1168; ////////////////////////////////// var pLink1122=new Node_Link(); var pNode1122=new Node_Program(); pNode1122.ID="1122"; pNode1122.Function="@组合"; pNode1122.Type="function"; pNode1122.Param_Count=0; pNode1122.Run=function(x,y){ return "factor "+x; } pLink1122.pData=pNode1122; ////////////////////////////////// var pLink1171=new Node_Link(); var pNode1171=new Node_Program(); pNode1171.ID="1171"; pNode1171.Function="@转化"; pNode1171.Type="function"; pNode1171.Param_Count=0; pNode1171.Run=function(x,y){ return encodeURIComponent(x); } pLink1171.pData=pNode1171; ////////////////////////////////// var pLink1234=new Node_Link(); var pNode1234=new Node_Program(); pNode1234.ID="1234"; pNode1234.Function="@调用wolframalpha"; pNode1234.Type="function"; pNode1234.Param_Count=0; pNode1234.Run=function(x,y){ return FunnyBox_1229(x); } pLink1234.pData=pNode1234; ////////////////////////////////// var pLink1133=new Node_Link(); var pNode1133=new Node_Program(); pNode1133.ID="1133"; pNode1133.Function="求导"; pNode1133.Type="send"; pNode1133.Param_Count=0; pNode1133.Run=function(x,y){ return x; } pLink1133.pData=pNode1133; ////////////////////////////////// var pLink1175=new Node_Link(); var pNode1175=new Node_Program(); pNode1175.ID="1175"; pNode1175.Function="@清空面板"; pNode1175.Type="function"; pNode1175.Param_Count=0; pNode1175.Run=function(x,y){ return Clear_InputBox(); } pLink1175.pData=pNode1175; ////////////////////////////////// var pLink1176=new Node_Link(); var pNode1176=new Node_Program(); pNode1176.ID="1176"; pNode1176.Function="@文本框"; pNode1176.Type="function"; pNode1176.Param_Count=0; pNode1176.Run=function(x,y){ return Show_InputBox("输入要要因式分解的表达式:"); } pLink1176.pData=pNode1176; ////////////////////////////////// var pLink1177=new Node_Link(); var pNode1177=new Node_Program(); pNode1177.ID="1177"; pNode1177.Function="@按钮"; pNode1177.Type="function"; pNode1177.Param_Count=0; pNode1177.Run=function(x,y){ return Show_Button("求导","1162");; } pLink1177.pData=pNode1177; ////////////////////////////////// var pLink1162=new Node_Link(); var pNode1162=new Node_Program(); pNode1162.ID="1162"; pNode1162.Function="求导按钮事件"; pNode1162.Type="send"; pNode1162.Param_Count=0; pNode1162.Run=function(x,y){ return x; } pLink1162.pData=pNode1162; ////////////////////////////////// var pLink1178=new Node_Link(); var pNode1178=new Node_Program(); pNode1178.ID="1178"; pNode1178.Function="@读取"; pNode1178.Type="function"; pNode1178.Param_Count=0; pNode1178.Run=function(x,y){ return Read_InputBox("输入要计算的表达式:"); } pLink1178.pData=pNode1178; ////////////////////////////////// var pLink1179=new Node_Link(); var pNode1179=new Node_Program(); pNode1179.ID="1179"; pNode1179.Function="@组合"; pNode1179.Type="function"; pNode1179.Param_Count=0; pNode1179.Run=function(x,y){ return "derivative of "+x; } pLink1179.pData=pNode1179; ////////////////////////////////// var pLink1180=new Node_Link(); var pNode1180=new Node_Program(); pNode1180.ID="1180"; pNode1180.Function="@转化"; pNode1180.Type="function"; pNode1180.Param_Count=0; pNode1180.Run=function(x,y){ return encodeURIComponent(x); } pLink1180.pData=pNode1180; ////////////////////////////////// var pLink1232=new Node_Link(); var pNode1232=new Node_Program(); pNode1232.ID="1232"; pNode1232.Function="@调用wolframalpha"; pNode1232.Type="function"; pNode1232.Param_Count=0; pNode1232.Run=function(x,y){ return FunnyBox_1229(x); } pLink1232.pData=pNode1232; pNode1120.pNext1=pNode1174; pNode1174.pNext1=pNode1165; pNode1165.pNext1=pNode1166; pNode1163.pNext1=pNode1121; pNode1121.pNext1=pNode1169; pNode1169.pNext1=pNode1123; pNode1172.pNext1=pNode1170; pNode1164.pNext1=pNode1173; pNode1173.pNext1=pNode1124; pNode1124.pNext1=pNode1161; pNode1167.pNext1=pNode1168; pNode1168.pNext1=pNode1122; pNode1122.pNext1=pNode1171; pNode1171.pNext1=pNode1234; pNode1133.pNext1=pNode1175; pNode1175.pNext1=pNode1176; pNode1176.pNext1=pNode1177; pNode1162.pNext1=pNode1178; pNode1178.pNext1=pNode1179; pNode1179.pNext1=pNode1180; pNode1180.pNext1=pNode1232; pStart = pLink1164; var pNode_Input=new Node_Program(); pNode_Input.ID="-1"; pNode_Input.Value=Input_X; pStart.pData.pInput1=pNode_Input; pStart.pData.Param_Count=1; pLast = pStart; var iDebug=0;//=1为调试模式 var Count_Step=0; //运行 var Max_LOOP=20000; while(pStart!=null){ var pNode=pStart.pData; var x=0; var y=0; if (pNode.pInput1!=null) x=pNode.pInput1.Value; if (pNode.pInput2!=null) y=pNode.pInput2.Value; if (pNode.pInput1==null && pNode.pInput2==null){ x=pNode.Value; } if (pNode.Function=="@输出"){ pNode.Run(x,y); break; } Count_Step+=1; if (Count_Step>Max_LOOP){ alert("break:"+Max_LOOP); break; } if (pNode.Param_Count==2){ if (pNode.pInput1!=null && pNode.pInput2!=null)//如果两个输入都有了就转到下一步 { pNode.Value=pNode.Run(x,y); if (iDebug==1){ strBody+=pNode.ID+"="+pNode.Value+",x="+x+",y="+y+"\n"; } }else{ if (iDebug==1){ strBody+=pNode.ID+"=wait\n"; } } }else{ pNode.Value=pNode.Run(x,y); if (iDebug==1){ strBody+=pNode.ID+"="+pNode.Value+",x="+x+",y="+y+"\n"; } } var pNext=null; var pLink_Tmp=null; switch (pNode.Type){ case "switch": if (pNode.Param_Count==2){ if (pNode.pInput1!=null && pNode.pInput2!=null)//如果两个输入都有了就转到下一步 { if (pNode.Value) { pNext=pNode.pNext1; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; }else{ pNext=pNode.pNext2; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; } pNode.Value=x;//Value原先是布尔值,换为x }else{ //wait } }else{ if (pNode.Value) { pNext=pNode.pNext1; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; }else{ pNext=pNode.pNext2; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; } pNode.Value=x;//Value原先是布尔值,换为x } break; case "function": if (pNode.Param_Count>=2) { if (pNode.pInput1!=null && pNode.pInput2!=null)//如果两个输入都有了就转到下一步 { pNext=pNode.pNext1; if (pNext!=null) Calculate_Next(pNode,pNext); pNext=pNode.pNext2; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; } }else{ if (pNode.pInput1!=null) { pNext=pNode.pNext1; if (pNext!=null) Calculate_Next(pNode,pNext); //激活过的,把输入变为空 pNode.pInput1=null; pNode.pInput2=null; } } break; default: pNext=pNode.pNext1; if (pNext!=null) Calculate_Next(pNode,pNext); pNext=pNode.pNext2; if (pNext!=null) Calculate_Next(pNode,pNext); break; } pStart=pStart.pNext; } }