function FunnyBox_1133(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 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 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 pLink1172=new Node_Link(); var pNode1172=new Node_Program(); pNode1172.ID="1172"; pNode1172.Function="@组合"; 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"; pNode1170.Type="function"; pNode1170.Param_Count=0; pNode1170.Run=function(x,y){ return Show_Iframe(x,1200,600);; } pLink1170.pData=pNode1170; ////////////////////////////////// var pLink1134=new Node_Link(); var pNode1134=new Node_Program(); pNode1134.ID="1134"; pNode1134.Function="@显示"; pNode1134.Type="function"; pNode1134.Param_Count=0; pNode1134.Run=function(x,y){ return FB_Canvas();; } pLink1134.pData=pNode1134; ////////////////////////////////// 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; ////////////////////////////////// var pLink1181=new Node_Link(); var pNode1181=new Node_Program(); pNode1181.ID="1181"; pNode1181.Function="@组合"; pNode1181.Type="function"; pNode1181.Param_Count=0; pNode1181.Run=function(x,y){ return "http://www.wolframalpha.com/input/?i="+x; } pLink1181.pData=pNode1181; ////////////////////////////////// var pLink1182=new Node_Link(); var pNode1182=new Node_Program(); pNode1182.ID="1182"; pNode1182.Function="@显示IFrame"; pNode1182.Type="function"; pNode1182.Param_Count=0; pNode1182.Run=function(x,y){ return Show_Iframe(x,1200,600);; } pLink1182.pData=pNode1182; ////////////////////////////////// var pLink1183=new Node_Link(); var pNode1183=new Node_Program(); pNode1183.ID="1183"; pNode1183.Function="解方程"; pNode1183.Type="send"; pNode1183.Param_Count=0; pNode1183.Run=function(x,y){ return x; } pLink1183.pData=pNode1183; ////////////////////////////////// var pLink1184=new Node_Link(); var pNode1184=new Node_Program(); pNode1184.ID="1184"; pNode1184.Function="@清空面板"; pNode1184.Type="function"; pNode1184.Param_Count=0; pNode1184.Run=function(x,y){ return Clear_InputBox(); } pLink1184.pData=pNode1184; ////////////////////////////////// var pLink1185=new Node_Link(); var pNode1185=new Node_Program(); pNode1185.ID="1185"; pNode1185.Function="@文本框"; pNode1185.Type="function"; pNode1185.Param_Count=0; pNode1185.Run=function(x,y){ return Show_InputBox("输入方程,如:x^2-1=0"); } pLink1185.pData=pNode1185; ////////////////////////////////// var pLink1186=new Node_Link(); var pNode1186=new Node_Program(); pNode1186.ID="1186"; pNode1186.Function="@按钮"; pNode1186.Type="function"; pNode1186.Param_Count=0; pNode1186.Run=function(x,y){ return Show_Button("解方程","1187");; } pLink1186.pData=pNode1186; ////////////////////////////////// var pLink1187=new Node_Link(); var pNode1187=new Node_Program(); pNode1187.ID="1187"; pNode1187.Function="解方程 按钮事件"; pNode1187.Type="send"; pNode1187.Param_Count=0; pNode1187.Run=function(x,y){ return x; } pLink1187.pData=pNode1187; ////////////////////////////////// var pLink1188=new Node_Link(); var pNode1188=new Node_Program(); pNode1188.ID="1188"; pNode1188.Function="@读取"; pNode1188.Type="function"; pNode1188.Param_Count=0; pNode1188.Run=function(x,y){ return Read_InputBox("输入要计算的表达式:"); } pLink1188.pData=pNode1188; ////////////////////////////////// var pLink1189=new Node_Link(); var pNode1189=new Node_Program(); pNode1189.ID="1189"; pNode1189.Function="@组合"; pNode1189.Type="function"; pNode1189.Param_Count=0; pNode1189.Run=function(x,y){ return "solve "+x; } pLink1189.pData=pNode1189; ////////////////////////////////// var pLink1190=new Node_Link(); var pNode1190=new Node_Program(); pNode1190.ID="1190"; pNode1190.Function="@转化"; pNode1190.Type="function"; pNode1190.Param_Count=0; pNode1190.Run=function(x,y){ return encodeURIComponent(x); } pLink1190.pData=pNode1190; ////////////////////////////////// var pLink1233=new Node_Link(); var pNode1233=new Node_Program(); pNode1233.ID="1233"; pNode1233.Function="@调用wolframalpha"; pNode1233.Type="function"; pNode1233.Param_Count=0; pNode1233.Run=function(x,y){ return FunnyBox_1229(x); } pLink1233.pData=pNode1233; pNode1163.pNext1=pNode1121; pNode1121.pNext1=pNode1169; pNode1169.pNext1=pNode1123; pNode1164.pNext1=pNode1173; pNode1173.pNext1=pNode1124; pNode1124.pNext1=pNode1161; pNode1167.pNext1=pNode1168; pNode1168.pNext1=pNode1122; pNode1122.pNext1=pNode1171; pNode1171.pNext1=pNode1172; pNode1172.pNext1=pNode1170; pNode1133.pNext1=pNode1175; pNode1175.pNext1=pNode1176; pNode1176.pNext1=pNode1177; pNode1162.pNext1=pNode1178; pNode1178.pNext1=pNode1179; pNode1179.pNext1=pNode1180; pNode1180.pNext1=pNode1232; pNode1181.pNext1=pNode1182; pNode1183.pNext1=pNode1184; pNode1184.pNext1=pNode1185; pNode1185.pNext1=pNode1186; pNode1187.pNext1=pNode1188; pNode1188.pNext1=pNode1189; pNode1189.pNext1=pNode1190; pNode1190.pNext1=pNode1233; pStart = pLink1133; 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; } }