😄二师兄他师哥
zhengtao94364
关注数: 67
粉丝数: 41
发帖数: 1,582
关注贴吧数: 40
variable A=["q" variable A=["q","w","e","r","u","m"] variable B=["m","w","e"] 怎样编程求得A与B不同项的集合,得数组C=["q","r","u"]
//主程序function i //主程序 function iphone6_rl()//盘点iphone6 variable p="/storage/emulated/0/盘点文件/"//Excel(.csv)格式的Code39条形码文件所在路径 ls(p) variable k=input("输入已显示文件(夹)号☞\t\t","%") variable a=list_files(p)[k-1]+"/" ls(p+a) variable j=input("输入已显示文件(夹)号☞\t\t","%") variable b=list_files(p+a)[j-1] variable fd=fopen(p+a+b,"r","utf8") printf("%s\"%s\"%s\n","☞{当前的文本是:",p+a+b,"}") variable m=alloc_array([f_nds(p+a+b)])//读取Excel(.csv)格式的Code39条形码<数组> variable x=0 do x=x+1 variable str=to_string(freadline(fd)) m[x-1]=strsub(str,0,12) //printf("%s\n",m[x-1]) until(feof(fd)) fclose(fd) variable rl=["G5MC","G5MD","G5MF","G5MG","G5MH","G5MJ","G5MK","G5ML","G5MM","G5MN","G5MP","G5MQ","G5MR","G5MT","G5MV","G5MW","G5MY","G5M0"]//后四位区分码<数组> variable co=["A1549_16G_灰","A1549_16G_银","A1549_16G_金","A1549_64G_灰","A1549_64G_银","A1549_64G_金","A1549_128G_灰","A1549_128G_银","A1549_128G_金","A1586_16G_灰","A1586_16G_银","A1586_16G_金","A1586_64G_灰","A1586_64G_银","A1586_64G_金","A1586_128G_灰","A1586_128G_银","A1586_128G_金"]//型号_容量_颜色<数组> variable new=p+a+"pandian_"+b f_xj_or_qk(new) variable fp=fopen(new,"a","UTF-8") for variable k=0 to size(m)[0]-1 step 1 variable s=strsub(m[k],strlen(m[k])-4,strlen(m[k])) for variable j=0 to size(rl)[0]-1 step 1 if(s==rl[j]) printf("№%d:%s,\t\t%s\n",k+1,m[k],co[j]) fprintf(fp,"№%d:%s,\t\t%s\n",k+1,m[k],co[j])//存储盘点结果文件至内存 endif next next fclose(fp) printf("%s\"%s\"%s\n","☞{盘点结果文件存储路径是:",p+a+"pandian_"+b,"}") endf
数据比较 variable a=[1,2,8,9] variable b=[1,2,7,6] variable az=0,bz=0 for variable j=0 to size(a)[0]-1 step 1 az=az+a[j] bz=bz+b[j] if(a[j]==b[j]) printf("a与b相同项:%s%d%s%s%d%s%d\n","a[",j,"]=","b[",j,"]=",a[j]) else printf("a与b不相同项:%s%d%s%d\t;\t%s%d%s%d\t;\t两者相差数:%d\n","a[",j,"]=",a[j],"b[",j,"]=",b[j],a[j]-b[j]) endif next printf("数组a各项之和为:%d\n",az) printf("数组b各项之和为:%d\n",bz) printf("两者相差数为:sum(a)-sum(b)=%d",az-bz)
虾米格式音乐.xoa全改为.mp3 function f_search(strPath,strhz) //strPath⇒文件夹路径字符串(如:"/storage/emulated/0/AnMath") //strhz⇒文件后辍字符串(如:".txt"或".mfps"等) Variable af = [] Variable afd = [strPath] Variable fid = 0 While(fid < size(afd)[0]) Variable tf = list_files(afd[fid]) For variable idx = 0 to size(tf)[0] - 1 step 1 Variable f1 = tf[idx] f1 = afd[fid] + get_file_separator()+ f1 If(is_directory(f1)) afd = set_array_elem(afd,size(afd),f1) Elseif and(stricmp(strsub(f1, _ strlen(f1)-strlen(strhz)), strhz) == 0,is_file_normal(f1)) af = set_array_elem(af,size(af),f1) Endif Next fid = fid + 1 Loop return af endf
@webster_lehaha
√15 function genshu(m) //m==a**2*b //12==(2)**2*(3) //variable m=input("m") if(is_int(sqrt(m))) return [to_string(sqrt(m))] else variable g=alloc_array([floor(sqrt(m),0)]) for variable a=1 to floor(sqrt(m),0) step 1 for variable b=1 to m/(a**2) step 1 if(and(is_int(a),is_int(b),m==a**2*b)) g[a-1]=a //printf("%s",[a,b]) break else continue endif next next //return [armax(g)+"*√"+m/(armax(g)**2)] return [armax(g)+"*"+m/(armax(g)**2)+"**0.5"] endif endf
清空数组数据 function clear_array(m) m=set_array_elem("",[size(m)[0]-1],"") return m endf
数组元素之和 function sum_arr(m) variable sum=0 for variable k=0 to size(m)[0]-1 sum=sum+m[k] next return sum endf
关于12d18m16.3155556s四舍五入 variable pa="12d18m16.3155556s",a0=3 variable a=split(pa,"m") variable m=split(a[size(a)[0]-1],"s") variable b1=m[0] variable b2=evaluate(b1) variable b3=round(b2,a0) variable b=to_string(b3) variable new_pa=strsub(pa,0,strlen(pa)-1-strlen(b1))+b+"s" return new_pa
能不能实现:在输入字符串前加入 能不能实现:在输入字符串前加入(类似?的功能,按?能自动加help于某需帮助的命令前) 如先输入:copy_file( 再输入:? 显示:help copy_file(
我发表了一篇图片贴,大伙来看看吧~
图1原函数内容图2要执行函数文 图1原函数内容 图2要执行函数文件 图3要执行函数内容 图4运行结果
对所有.mfps文件,文首,文尾批量加相同的文字 variable path="/storage/emulated/0/AnMath/scripts/TXT" list_files(path) //sleep(6000) for variable k=0 to size(ans)[0]-1 if(strsub(ans[k],strlen(ans[k])-5,strlen(ans[k]))==".mfps") list_files(ans[k]) endif next //sleep(6000) for variable k=0 to size(ans)[0]-1 variable fo=fopen("/storage/emulated/0/AnMath/scripts/TXT/"+ans[k],"r","utf_8") variable fo1=fopen("/storage/emulated/0/AnMath/scripts/TXT*/"+ans[k],"w","utf_8") fprintf(fo1,"%s\n\n","citingspace::{myfunc}") do variable st=freadline(fo) fprintf(fo1,"%s\n",st) until(feof(fo)) fprintf(fo1,"\n%s","endcs") fclose(fo1) fclose(fo) next return
❓❓❓❓❓ 对<任意的字符串>进行提取,数字,英文进行重排汇总。如: variable s="sg17jk我们98f" 提取数字后重排汇总4,字符串为:"1798" 提取字母后重排汇总5,字符串为:"sgjkf" 提取汉字后重排汇总2,字符串为:"我们"
✅❎pd() function pd() f_sc("pdt&.txt") f_sc("pdf&.txt") f_sc("pdt.txt") f_sc("pdf.txt") variable n0=0 while n0<=9 n0=n0+1 variable a1=input("№_"+n0+":? ","s") print("»»"+iff(evaluate(a1)==True,"✅","❎")+"\n") if(evaluate(a1)==True) f_cc("pdt.txt","✅") else f_cc("pdf.txt","❎") endif loop frd_trim("pdt.txt","utf_8") variable j=f_zs("pdt&.txt") return "得分:"+(10*j) endf function f_cc(s,str) variable fp=fopen(s,"a","UTF-8") fprintf(fp,"%s\n\n",str) fclose(fp) endf function f_cc_trim(s,str) variable fp=fopen(s,"a","UTF-8") fprintf(fp,"%s",str) fclose(fp) endf function frd_trim(s,p) variable fp=fopen(s,"r",p) variable str=trim(freadline(fp)) f_cc_trim("new.txt",str) while(!feof(fp)) variable t=trim(freadline(fp)) f_cc_trim("new.txt",t) loop variable new_s=strsub(s,0,strlen(s)-4)+"&"+".txt" f_gm("new.txt",new_s) fclose(fp) endf function f_gm(s,t)//改名文件 copy_file(s,t) delete_file(s) endf function f_sc(s)//删除文件 return delete_file(s) endf
有没有某一函数,要输入"acd",可直接输入acd而不用加""
search Help @language:simplified_chinese search(strPath,strhz) //strPath⇒文件夹路径字符串 (如:"/storage/emulated/0/AnMath") //strhz⇒文件后辍字符串 (如:".txt"或".mfps"等) @end endh function search(strPath,strhz) //strPath⇒文件夹路径字符串(如:"/storage/emulated/0/AnMath") //strhz⇒文件后辍字符串(如:".txt"或".mfps"等) f_xj("files_catalog.txt") f_qk("files_catalog.txt") Variable all_mfps_files = [] Variable all_folders = [strPath] Variable folder_idx = 0 While(folder_idx < size(all_folders)[0]) Variable these_files = list_files(all_folders[folder_idx]) For variable idx = 0 to size(these_files)[0] - 1 step 1 Variable this_file_name = these_files[idx] this_file_name = all_folders[folder_idx] + get_file_separator() _ + this_file_name If(is_directory(this_file_name)) All_folders = set_array_elem(all_folders, _ size(all_folders), _ this_file_name) Elseif and(stricmp(strsub(this_file_name, _ strlen(this_file_name)-strlen(strhz)), strhz) == 0, _ is_file_normal(this_file_name)) all_mfps_files = set_array_elem(all_mfps_files, _ size(all_mfps_files), _ this_file_name) Endif Next folder_idx = folder_idx + 1 Loop print("………………………正在查找("+strhz+")路径……………………"+"\n") For variable idx = 0 to size(all_mfps_files)[0] - 1 step 1 Variable fd1 = fopen("temporary_src_file","w", "UTF-8") print(all_mfps_files[idx] + "\n") variable catalog=fopen("files_catalog.txt","a","utf_8") fprintf(catalog,"%s\n",all_mfps_files[idx]) fclose(catalog) Variable fd = fopen(all_mfps_files[idx], "r", "UTF-8") Variable idxLine = 0 while (!feof(fd)) idxLine = idxLine + 1 Variable strLine = freadline(fd) Variable strarray1 = split(strline, "\\(") If and(size(strarray1)[0] >= 2, _ Stricmp(trim(strarray1[0]), "set_array_elem") == 0) Variable strarray2 = split(strarray1[1], ",") If size(strarray2)[0] >= 2 print("\tset_elem_array calling statement to change at" _ + " Line " + idxLine + "\n") print("\tBefore change is : " + strLine + "\n") StrLine = strarray2[0] + " = " + trim(strLine) print("\tAfter change is : " + strLine + "\n") Endif EndIf fprintf(fd1, "%s\n", strLine) Loop fclose(fd1) fclose(fd) f_sc("temporary_src_file") Next printf("\n%s\n%s\n%s","恭喜!","("+strhz+")文件已查找完","打印查找的结果,其存储路径是:/storage/emulated/0/AnMath/files_catalog.txt\n") endf
我发表了一篇图片贴,大伙来看看吧~
自定义函数☞(缺省值)怎么设置? 自定义函数如:function myf(x,y,z), 调用该函数,当y,z缺省,只输入x值,即:myf(x)时,有意义
为什么中文不显示? function f_xs(s) variablef1 = fopen(s, "rb","UTF-8") variable n=get_file_size(s) variable mat = alloc_array(n) fread(f1, mat, 0, n) fclose(f1) variable str = conv_ints_to_str(mat) printf("%s\n",str) endf
☞盈亏问题 help @language:simplified_chinese ykq(0)计算盈亏问题 @end endh function ykq() print( "//注意[大/小/亏缺/盈多]的计算单位要统一//"+"\n") variable n0=input("每组元素数1or2:") if(and(n0!=1,n0!=2)) return ykq() endif variable a=input("[每大]值:") variable b=input("[亏缺]值(取负):") variable c=input("[每小]值:") variable d=input("[盈多]值(取正):") if(n0==1) return ykq1(a,b,c,d) endif if(n0==2) variable a0=input("与[每大]的同组另一元素值:") variable c0=input("与[每小]的同组另一元素值:") return ykq2(a,a0,b,c,c0,d) endif endf function ykq1(a,b,c,d) variable m= abs(d-b)/abs(a-c) variable v="个体(时间)数为:"+m+"\n物质(距离)数为:" variable n=a*m+b=c*m+d return v+n endf function ykq2(a,a0,b,c,c0,d) variable m= abs(d-b)/abs(a-c) variable v="个体(时间)数为:"+m+"\n物质(距离)数为:" variable n=(a+a0)*m+b=(c+c0)*m+d return v+n endf
☞文氏图_容斥问题 function rc(x) if(x==2) print("AB容斥:A∪B=A+B-A∩B\n") print("AB容斥:A∪B=A+(B-A∩B)\n") print("AB容斥:A∪B=(A-A∩B)+B\n") variable bj=input("属于A并B的集合bj:") variable a=input("属于A的集合总数a:") variable b=input("属于B的集合总数b:") variable jj=input("属于A交B的集合jj:") variable ay=input("只属于A的集合ay:") variable by=input("只属于B的集合by:") variable j1 if(jj!="x") j1=jj elseif(jj=="x") j1=a+b-bj endif select ay case "x" print("ay="+(a-j1)+"\n") ends select by case "x" print("by="+(b-j1)+"\n") ends return rcq2(bj,a,b,jj) endif if(x==3) print("AB容斥:A∪B∪C=A+B+C-A∩B-B∩C-C∩A+A∩B∩C\n") variable b3=input("属于A并B并C的集合b3:") variable a=input("属于A的集合总数a:") variable b=input("属于B的集合总数b:") variable c=input("属于C的集合总数c:") variable jab=input("属于A交B的集合jab:") variable jbc=input("属于B交C的集合jbc:") variable jca=input("属于C交A的集合jca:") variable j3=input("属于A交B交C的集合j3:") return rcq3(b3,a,b,c,jab,jbc,jca,j3) endif if(x==31) print("AB容斥:A∪B∪C=(3白之和)+(3灰之和)+(1黑)\n") variable d=input("总数:") variable a=input("3白之和:") variable b=input("3灰之和:") variable c=input("1黑:") return rcq31(d,a,b,c) endif if(x==32) print("AB容斥:A∪B∪C=(3集数之和)-(3灰之和)-2*(1黑)\n") variable d=input("总数:") variable a=input("3集数之和:") variable b=input("3灰之和:") variable c=input("1黑:") return rcq32(d,a,b,c) endif endf function rcq31(d,a,b,c) select d case "x" return a+b+c ends select a case "x" return d-b-c ends select b case "x" return d-a-c ends select c case "x" return d-b-a ends endf function rcq32(d,a,b,c) select d case "x" return a-b-2*c ends select a case "x" return d+b+2*c ends select b case "x" return a-d-2*c ends select c case "x" return 0.5*(a-d-b) ends endf function rcq2(bj,a,b,jj) select bj case "x" return a+b-jj ends select a case "x" return bj+jj-b ends select b case "x" return bj+jj-a ends select jj case "x" return a+b-bj ends endf function rcq3(b3,a,b,c,jab,jbc,jca,j3) select a case "x" return b3-j3+jca+jbc+jab-b-c ends select b case "x" return b3-j3+jca+jbc+jab-a-c ends select c case "x" return b3-j3+jca+jbc+jab-b-a ends select jab case "x" return b3-j3+jca+jbc-a-b-c ends select jbc case "x" return b3-j3+jca+jab-a-b-c ends select jca case "x" return b3-j3+jab+jbc-a-b-c ends select j3 case "x" return b3+jab+jca+jbc-a-b-c ends select b3 case "x" return j3-jab-jca-jbc+a+b+c ends endf
☞溶液的浓度问题 function ld_s(x) select x case 0 print("//ldhh(m1,c1,m2,c2,c):已知m1,c1,m2,c2,c求某项x\n") variable x0=input("ldhh:mat[m1,c1,m2,c2,c]⇒") return ldhh(x0[0],x0[1],x0[2],x0[3],x0[4]) case 1 print("//ldhk(m1,c1,m2,c2,c):已知m1,k,m2,x,c或m1,x,m2,k求c1,c2\n") variable x1=input("ldhk:mat[m1,kc1,m2,kc2,c]⇒") return ldhk(x1[0],x1[1],x1[2],x1[3],x1[4]) case 2 print("//ldjs(m12,c12,m13,c13,m23,c23,c3):已知两两溶液混后的质量及浓度(m12,c12,m13,c13,m23,c23)和三者混后的浓度c3,求加水量s\n") variable x2=input("ldjs:mat[m12,c12,m13,c13,m23,c23,c3]⇒") return ldjs(x2[0],x2[1],x2[2],x2[3],x2[4],x2[5],x2[6]) case 3 print("//ldkn(c0,k,n):已知初始浓度c0,每次倒出比例k再加满清水,重复n次,求最后浓度c\n") variable x3=input("ldkn:mat[c0,k,n]⇒") return ldkn(x3[0],x3[1],x3[2]) case 4 print("//lddls(c1,c2)已知每次(加)或(减)等定量的清水,先由浓度c1变为c2求变化水量,同样操作后再由浓度c2变为c求最后浓度c\n") variable x4=input("lddls:mat[c1,c2]⇒") return lddls(x4[0],x4[1]) ends endf function ldhh(m1,c1,m2,c2,c) if(m1=="x") variable m1=(c2-c)*m2/(c-c1) return m1 endif if(c1=="x") variable c1=((m1+m2)*c-m2*c2)/m1 return c1 endif if(m2=="x") variable m2=(c1-c)*m1/(c-c2) return m2 endif if(c2=="x") variable c2=((m1+m2)*c-m1*c1)/m2 return c2 endif if(c=="x") variable c=(m1*c1+m2*c2)/(m1+m2) return c endif endf function ldhk(m1,c1,m2,c2,c) variable k if(c1=="x") k=c2 variable c1=(m1+m2)*c/(m1+k*m2) return [c1,k*c1] endif if(c2=="x") k=c1 variable c2=(m1+m2)*c/(m2+k*m1) return [k*c2,c2] endif endf function ldjs(m12,c12,m13,c13,m23,c23,c3) variable s=0.5*((m12*c12+m13*c13+m23*c23)/c3-(m12+m13+m23)) return s endf function ldkn(c0,k,n) variable c=c0*(1-k)**n return c endf function lddls(c1,c2) variable j=iff(c1>c2,1,-1) variable m=100*c1,n=100*c2 variable s=100*j*abs(gbs(m,n)/m-gbs(m,n)/n) variable c=gbs(m,n)/(100*gbs(m,n)/n+s) return c endf
☞测量_坐标转换 help @language:simplified_chinese 统一坐标系XOY:横轴为Y轴(右+,左-),纵轴为X轴(上+,下-) 施工坐标系X'O'Y':左手系(纵X+轴顺旋90°至横Y+轴);右手系反之。 夹角dms(°'"):X+顺转θ(0°~360°)至X'+的夹角 zbzh()平面坐标系转换计算程序变量清单 x0(m)施工坐标系原点在统一坐标系中的x坐标 y0(m)施工坐标系原点在统一坐标系中的y坐标 dms(°'")统一坐标系的X轴顺时针旋转至施工坐标系的X轴的角值 left(1),right(else)左手与右手的判别码 xpp(m)待换算点在施工坐标系中的X坐标 ypp(m)待换算点在施工坐标系中的Y坐标 @end endh function cl2_zbzh() variable a,b,e,f,c,d,g,mat_a,mat_b,mat_c,mat_d a=input("x0»") b=input("y0»") e=input("dms»") f=input("left(1),right(else)»") c=input("xpp»") g=input("ypp»") mat_a=[[a],[b]] mat_b=[[cosd(e),-sind(e)],[sind(e),cosd(e)]] iff(f!=1,d=-g,d=g) mat_c=[[c],[d]] mat_d=mat_a+mat_b*mat_c return mat_d endf
☞测量_直线上任一点的中桩坐标,左右边桩坐标 help @language:simplified_chinese 已知直线的坐标方位角Q和直线起点坐标(Xo,Yo),求直线上任一点的中桩坐标(X, Y),左右边桩坐标(XL,YL)、(XR,YR): 公式:X =Xo+L*cosQ ;Y=Yo+L*sinQ @end endh function cl_zmlr() //[起点x0坐标c,起点y0坐标d,切线方位角q,起点桩号z,左边距u,右边距t,偏转角v] variable c,d,q,z,u,t,v variable m=input("\n"+"?[起点x0坐标c,起点y0坐标d,切线方位角dms(q),起点桩号z,左边距u,右边距t,偏转角dms(v)]"+"\n") c=m[0] d=m[1] q=m[2] z=m[3] u=m[4] t=m[5] v=m[6] variable a0=input("?计算结果保留小数点后位数:Fix»") return fx(a0,c,d,q,z,u,t,v) endf function fx(a0,c,d,q,z,u,t,v) variable l=input("\n"+"?待求桩号:") variable w=abs(l-z),x=c+w*cosd(q),y=d+w*sind(q) print("»»Z+0_("+round(x,a0)+","+round(y,a0)+")"+"\n") if(u<=0) return fx(a0,c,d,q,z,u,t,v) else variable a=x-u*cosd(q+v),b=y-u*sind(q+v),e=x+t*cosd(q+v),f=y+t*sind(q+v) print("»»Z-"+u+"_("+round(a,a0)+","+round(b,a0)+")"+"\n") print("»»Z+"+t+"_("+round(e,a0)+","+round(f,a0)+")"+"\n") endif sleep(3000) variable k0=input("\n"+"?输入k0值;结束(=0)|主程序(≠0):"+"k0=") if(k0!=0) print("‥修改初始数据‥"+"\n") return cl_zmlr() else return "‥Function Over‥" endif endf
☞测量_偏角法:已知座标,求平距和方位角(座标反算) help @language:simplified_chinese 一、已知座标,求平距和方位角(座标反算): 公式: D=((Xp-Xo)**2+(Yp-Yo)**2 )**0.5;α=arctan(Yp-Yo)/(Xp-Xo) @end endh function pju() variable a,b,c,d,m,n,x,y a=input("?测站点坐标:x0=") b=input("?测站点坐标:y0=") variable a0=input("?计算结果保留小数点后位数:Fix»") print("\n") return zbf(a0,a,b,x,y) endf function zbf(a0,a,b,x,y) x=input("?待测点坐标:x1=") y=input("?待测点坐标:y1=") variable g=input("?输入g值;输出角度值(0)|输出度分秒值(else):"+"g=") variable m=x-a,n=y-b,d,c,z,q,t solve d,c d==ceil(sqrt((m**2+n**2)),a0+1) c==atand(n/m) slvreto z if(m<0) q=180+z[0,1] elseif(n>0) q=z[0,1] else q=360+z[0,1] endif t=iff(g==0,round(q,a0),dms_(round(q,a0))) print("»»平距d="+round(d,a0)+"\n"+"»»方位角j°="+t+"\n") sleep(3000) variable k=input("\n"+"?输入k值;结束(0)|继续(else):"+"k=") if(k!=0) return zbf(a0,a,b,x,y) else return "Function Over" endif endf
☞牛吃草问题 function nccq() print("//数量_n1,时_t1,数量_n2,时_t2,系数_k(↑+1,↓-1),系数_k0(求数量0,求时间它值)\n") variable v=input("[n1,t1,n2,t2,k,k0]⇒") variable n1=v[0] variable t1=v[1] variable n2=v[2] variable t2=v[3] variable k=v[4] variable k0=v[5] if(k0==0) variable t=input("问题时间t:") return nccqt(n1,t1,n2,t2,k,t) else variable n=input("问题数量n:") return nccqn(n1,t1,n2,t2,k,n) endif endf function nccqt(n1,t1,n2,t2,k,t) variable da=abs(n1*t1-n2*t2)/abs(t2-t1) variable a=t1*(n1-k*da)=t2*(n2-k*da) variable n=a/t+k*da variable nx="[单位增量_da,原有量_a,数量_n]"+"⇒\n" variable ny="[单位减量_da,原有量_a,数量_n]"+"⇒\n" if(k==1) print(nx) endif if(k==-1) print(ny) endif return [da,a,n] endf function nccqn(n1,t1,n2,t2,k,n) variable da=abs(n1*t1-n2*t2)/abs(t2-t1) variable a=t1*(n1-k*da)=t2*(n2-k*da) variable t=a/(n-k*da) variable tx="[单位增量_da,原有量_a,可用时_t]"+"⇒\n" variable ty="[单位减量_da,原有量_a,可用时_t]"+"⇒\n" if(k==1) print(tx) endif if(k==-1) print(ty) endif return [da,a,t] endf
1
下一页