数值计算方法小程序

合集下载

简易计算器小程序使用微信小程序开发工具和JavaScript开发

简易计算器小程序使用微信小程序开发工具和JavaScript开发

简易计算器小程序使用微信小程序开发工具和JavaScript开发微信小程序是一种基于微信平台的轻量级应用程序,可以在微信中使用。

它具有开发简便、使用方便、功能丰富等特点,在各行各业都得到了广泛的应用。

本文将介绍如何使用微信小程序开发工具和JavaScript开发一个简易计算器小程序。

一、准备工作在开始开发之前,我们需要准备一些基本的工具和环境。

首先,下载并安装微信小程序开发工具,该工具提供了一个可视化的界面,方便我们进行小程序的开发和调试。

其次,我们需要熟悉JavaScript语言的基本语法和特性,因为小程序的逻辑部分主要使用JavaScript来实现。

二、创建小程序项目打开微信小程序开发工具,点击新建项目,填写项目名称、项目目录和AppID等信息。

点击确定后,工具会自动生成一个基本的小程序项目结构。

三、编写界面在小程序项目的根目录下,找到和页面相关的文件夹。

新建一个名为"calculator"的文件夹,用于存放计算器页面的相关文件。

在该文件夹下新建三个文件:calculator.wxml、calculator.wxss、calculator.js,分别用于编写页面的结构、样式和逻辑。

在calculator.wxml文件中,我们可以使用一些基本的标签来构建计算器的界面,例如view、text、button等。

使用这些标签,我们可以创建一个包含数字键盘和运算符键的界面。

在calculator.wxss文件中,我们可以设置各个标签的样式,使界面看起来更加美观。

可以设置按钮的背景色、边框样式等。

四、编写逻辑在calculator.js文件中,我们需要编写计算器的逻辑代码。

首先,我们需要定义一些变量来保存计算器的状态。

比如,一个变量用于保存用户输入的表达式,一个变量用于保存计算结果等。

然后,我们可以通过监听用户的点击事件来获取用户输入的数字和运算符,并更新表达式变量的值。

接下来,我们需要编写一个计算函数,用于根据用户输入的表达式计算结果。

速算24求解器软件说明

速算24求解器软件说明

3
3、 其他 利用本软件进行大量的测试,很久之前一些困扰我的问题也可以得到解释。如:任意四个整 数都能算出得到 24 吗?也就是说游戏一定有解吗? 答案是否定的,譬如很简单的 4 个 1 就无解,4 个 2 也无解,那么四个不同的整数呢?答案 也是否定的, (4,6,7,13)就无解。但相比无解的情况,任取四个较小的整数有解的更多 些。 以下是几个经典的组合,因为难所以经典,而之所以难是因为只有一种算法。 (3,3,7,7) (4,4,10,10) (2,3,5,12) (3,3,3,3) (1,6,6,8) (1,4,5,6) (1,5,5,5) (4,4,7,7) (3,3,8,8) 算不出来就用软件试试吧,别说我难为你啊,哈哈!
1
3/(1/2/4) = 24 4/(1/2)*3 = 24 3*4/(1/2) = 24 2/1*3*4 = 24
2/1*4*3 = 24 3*4*2/1 = 24 (1+3+2)*4 = 24 (2+4)*(1+3) = 24 1*3*2*4 = 24 1*3*4*2 = 24 2*4*1*3 = 24 4/(1/3/2) = 24 2/(1/3)*4 = 24 2/(1/3/4) = 24 4/(1/3)*2 = 24 2*4/(1/3) = 24 3/1*2*4 = 24 3/1*4*2 = 24
4/(1/(2*3)) = 24 2*3*4*1 = 24 (1+3)*(2+4) = 24 2*4/1*3 = 24 3/(1/(2*4)) = 24 2*4*3*1 = 24 3*4/1*2 = 24 2/(1/(3*4)) = 24 3*4*2*1 = 24 ---- SUM ---Show All: 47

5个体积小巧、功能强大的微信小程序,不知道就太可惜了!

5个体积小巧、功能强大的微信小程序,不知道就太可惜了!

5个体积小巧、功能强大的微信小程序,不知道就太可惜了!
时间过的真快,一晃一周就这样过去了,到了周末,对于很多上班族来说,终于可以休息一下了,是不是感到很嗨皮呀,那你周末准备如何度过了?在家躺尸?还是出去游玩了?不过呀,不管是哪一种,都没关系,开心就好。

1.好奇心杂志
这款小程序中的文章内容是非常丰富多彩的,
在这里你可以了解到全国各地最有想法的最新动态,各行各业都有涉及,
你想看的趣事内容,
没有哪一个是不没有的啦。

2.劳动法计算器
这是一个功能十分齐全的小程序,
它包括加班工资计算、
工作日计算、医疗期计算、
经济补偿计算、个人所得税计算等实用功能,有了这个小程序,
再也不用担心会出错了,
是不是很不错呀。

3.迅捷PDF转换器
文件的转换,
是办公人员必备的技能,
你还在为转换PDF文件而烦恼吗?
不用担心,这个小程序,
简直就是你的救星,
不相信呀,
那你试试不就知道了,
放心用、免费为你转换文件哟!
4. 头像小助手
一款为自己制作各种有个性的头像助手,用它给自己制作有个性头像,
再也不用去百度中搜索了,
想要什么样的都可以,
样样不重复。

一款全能的旅游攻略小助手,
它罗列了全球的热点坐标、网红店,探店,这个都是爱好者必备的啦,
它还支持到店定位打卡,写点评,
而且界面风格也很不错!
以上就是今天的分享啦,
还有很多使实用的微信小程序,你都用过哪些了?。

简单WINDOWS小程序设计——四则运算计算器

简单WINDOWS小程序设计——四则运算计算器

简单WINDOWS小程序设计——四则运算计算器实验一:简单WINDOWS小程序——四则运算计算器题目基本要求:创建一个Windows程序,在文本框中输入两个整数,按“计算”按钮后输出这两个整数的和、差、积、商。

程序运行范例参见所提供的范例。

程序设计的具体要求如下:(1)用户在两个文本框中输入2个整数后单击“计算”按钮,可在标签框中显示计算结果。

(2)要求计算结果标签框中的内容分行显示(3)当除数输入为0以及输入的是非数值时,观察程序的运行状态,为什么?程序提示:(1)每个一在窗体中的控件都应该是一个对象,其中name属性为该控件在程序中的名字。

(不能使用汉字)(2)文本框控件为:Textbox,其中text属性即为用户输入的文本,其类型为字符串类型(3)字符串String 为系统已经定义的一个类,其中有很多可以直接使用的方法,如:字符串连接、字符串复制等等。

(4)通过文本框输入的数据类型是字符串,并不能直接用于数值计算,同理,计算之后的结果也不能直接显示在文本框或者标签中,需要转换!相关代码和使用到的方法如下:int.Parse(txtNumber1.Text)//将字符串txtNumber1.Text转换为相应的整数,不考虑字符串输入错误,不能转换为整数的情况。

int x = 5;txtNumber1.Text =x.ToString();//将整数转换成字符串并赋值给文本框的text属性。

(5)和C语言一样,在C#/C++中,整数和整数相除仍然得整数。

(6)要分行显示,可以使用回车,但它是转义字符,为\n,比如:string s1=”abc”+”\n”+”efg”,可以实现字母的分行显示(7)所谓文本框清空,也就是文本框的text属性值为空串。

也可以使用clear()事件(8)在Windows窗体程序中,经常使用label控件(标签)完成显示和输出,属性text 用于显示,类型为字符串。

(9)C#中,类的全部属性和方法定义都是放在类中的。

数值计算C语言常用小程序

数值计算C语言常用小程序

1、秦九韶算法2、二分法3、拉格朗日插值4、埃特金算法 5、复化梯形法6、复化辛甫生算法7、二阶龙格库塔方法8、四阶龙格库塔方法9、改进的欧拉方法10、迭代法11、埃特金加速方法:12、牛顿迭代法13、追赶法14、雅克比迭代15、蛋白质设计:17高斯消去法: 1、秦九韶算法利用秦九韶算法求多项式,在x=3时的值。

程序:#include<>#include<>void main(){float a[100],v,x;int n,i,k;scanf("%d%f",&n,&x);for(i=0;i<=n;i++)scanf("%f",&a[i]);v=a[n];k=1;do{v=x*v+a[n-k];k=k+1;}while(k<=n);printf("v=%f",v);}运行结果:2、二分法用二分法求方程法x*x*x-x-1=0在[1,2]内的近似根,要求误差不超过#include<>#include<>float fun(float);void main(){float a,b,c,x,y,y1;scanf("%f%f%f",&a,&b,&c);y1=fun(a);do{x=(a+b)/2;y=fun(x);{if(y*y1>0)a=x;elseb=x;}}while((b-a)>=c);printf("%f,%f\n",x,y);}float fun(float m){float n;n=m*m*m-m-1;return(n);}运行结果:3、拉格朗日插值程序:#include<>main(){float a,b,t,x[100],y[100]; int n,i,j,k;scanf("%f%d",&a,&n); for(i=0;i<=n;i++) scanf("%f%f",&x[i],&y[i]); k=0;b=0;for(k=0;k<=n;k++){t=1;for(j=0;j<=n;j++){if(j!=k)t=t*(a-x[j])/(x[k]-x[j]);}b=b+t*y[k];}printf("%f\n",b);}4、埃特金算法程序:#include<>#include<>main(){float a,b,c,x[100],y[100]; int i,j,n,k;scanf("%d%f",&n,&a);for(i=0;i<=n;i++)scanf("%f%f",&x[i],&y[i]);for(k=1;k<=n;k++){for(i=k;i<=n;i++)y[i]=y[k-1]+(y[i]-y[k-1])*(a-x[k-1])/(x[i]-x[k-1]);} printf("%f\n",y[n]);}5、复化梯形法设,用复化梯形法求积分的近似值程序:#include<>#include<>double fun(double);void main(){double a,b,h,s,x,y;int n,k;scanf("%lf%lf%d",&a,&b,&n);h=(b-a)/n;s=0;x=a;y=fun(x);for(k=1;k<=n;k++){s=s+fun(x);x=x+h;s=s+fun(x);}printf("s=%lf\n",s);}double fun(double m){double n;n=exp(-m)*sin(4*m)+1;return(n);}运行结果:6、复化辛甫生算法设,用复化辛甫生法求积分的近似值程序:#include<>#include<>double fun(double);void main(){double a,b,h,s,x,y;int n,k;scanf("%lf%lf%d",&a,&b,&n);h=(b-a)/n;s=0;x=a;y=fun(x);for(k=1;k<=n;k++){s=s+fun(x);s=s+4*fun(x);x=x+h/2;s=s+fun(x);}s=(h/6)*s;printf("s=%lf\n",s);}double fun(double m){double n;n=exp(-m)*sin(4*m)+1;return(n);}运行结果:7、二阶龙格库塔方法求解初值问题:取h=程序:#include<>#include<>float fun(float,float);void main(){float h,x0,y0,x1,y1,k1,k2;int n,N;scanf("%f%f%f%d",&x0,&y0,&h,&N); n=1;for(n=1;n<=N;n++){x1=x0+h;k1=fun(x0,y0);k2=fun(x0+h/2,y0+h/2*k1);y1=y0+h*k2;printf("%f,%f\n",x1,y1);x0=x1;y0=y1;}}float fun(float a,float b){float m;m=b-2*a/b;return(m);}运行结果:8、四阶龙格库塔方法求解初值问题:取h=程序:#include<>#include<>float fun(float,float);void main(){float h,x0,y0,x1,y1,k1,k2,k3,k4;int n,N;scanf("%f%f%f%d",&x0,&y0,&h,&N);n=1;for(n=1;n<=N;n++){x1=x0+h;k1=fun(x0,y0);k2=fun(x0+h/2,y0+h/2*k1);k3=fun(x0+h/2,y0+h/2*k2);k4=fun(x1,y0+h*k3);y1=y0+h/6*(k1+2*k2+2*k3+k4); printf("%f,%f",x1,y1);x0=x1;y0=y1;}}float fun(float a,float b){float m;m=b-2*a/b;return(m);}运行结果:9、改进的欧拉方法求解初值问题:程序:#include<>#include<>float fun(float,float);void main(){float x0,y0,h,x1,y1,yp,yc;int n,N;scanf("%f%f%f%d",&x0,&y0,&h,&N);for(n=1;n<=N;n++){x1=x0+h;yp=y0+h*fun(x0,y0);yc=y0+h*fun(x1,yp);y1=(yp+yc)/2;printf("%f,%f",x1,y1);x0=x1;y0=y1;}}float fun(float a,float b){float m;m=b-2*a/b;return(m);}运行结果:10、迭代法P131 例2 用迭代法求方程在附近的一个根,要求精度为程序:#include<>#include<>float fun(float);void main(){float x0,x1,c;int k,N;scanf("%f%f%d",&x0,&c,&N);for(k=1;k<=N;k++){x1=fun(x0);printf("%f\n",x1);if(fabs(x1-x0)<c) break;x0=x1;}if(k-1==N)printf("Failure!\n");}float fun(float m){float n;n=exp(-m);return(n);}运行结果:11、埃特金加速方法:程序:#include<>#include<>float fun(float);void main(){float x0,x1,x2,c;int k,N;scanf("%f%f%d",&x0,&c,&N); for(k=1;k<=N;k++){x1=fun(x0);x2=fun(x1);x2=x2-(x2-x1)*(x2-x1)/(x2-2*x1+x0); if(fabs(x2-x0)<c){printf("%f\n",x2);break;}x0=x2;}if(k-1==N)printf("Failure!\n");}float fun(float m){float n;n=exp(-m);return(n);}运行结果:12、牛顿迭代法:例5、用牛顿法解方程牛顿公式为:,取x=程序:#include<>#include<>float fun(float);float ff(float);void main(){float x0,x1,c;int k,N;scanf("%f%f%d",&x0,&c,&N); for(k=1;k<=N;k++){if(ff(x0)!=0){x1=x0-fun(x0)/ff(x0);printf("%f\n",x1);if(fabs(x1-x0)<c) break;x0=x1; }elseprintf("****");}if(k==N)printf("Failure!\n");}float fun(float m){float n;n=m-exp(-m);return(n);}float ff(float m){float n;n=1+m;return(n);}运行结果:13、追赶法:.用追赶法求解下列方程组:程序:#include<>#include<>void main(){float a[100],b[100],c[100],d[100],t;int i,n;scanf("%d",&n);for(i=2;i<=n;i++)scanf("%f",&a[i]);for(i=1;i<=n;i++)scanf("%f",&b[i]);for(i=1;i<=n-1;i++)scanf("%f",&c[i]);for(i=1;i<=n;i++)scanf("%f",&d[i]);c[1]=c[1]/b[1];d[1]=d[1]/b[1];for(i=2;i<n;i++){t=b[i]-c[i-1]*a[i];c[i]=c[i]/t;d[i]=(d[i]-d[i-1]*a[i])/t;}d[n]=(d[n]-d[n-1]*a[n])/(b[n]-c[n-1]*a[n]); printf("%f\n",d[n]);for(i=n-1;i>=1;i--){d[i]=d[i]-c[i]*d[i+1];printf("%f\n",d[i]);}}运行结果:14、雅克比迭代程序:#include<>#include<>#define N 50#define M 4void main(){double x[M],y[M],a[M][M],b[M],d[M],c,t; double ff(double [],int);int k,i,j,n;n=M-1;scanf("%lf",&c); for(i=0;i<=n;i++){scanf("%lf",&x[i]);scanf("%lf",&b[i]);}for(i=0;i<=n;i++)for(j=0;j<=n;j++)scanf("%lf",&a[0][i*M+j]);for(k=1;k<=N;k++){for(i=1;i<=n;i++){for(j=1,t=0;j<=n;j++){if(j==i)continue;elset=t+a[i][j]*x[j];}y[i]=(b[i]-t)/a[i][i];}for(i=1;i<=n;i++)d[i]=fabs(x[i]-y[i]);t=ff(d,n+1);if(t<c) break;elsefor(i=1;i<=n;i++)x[i]=y[i];}if(k==N)printf("Failure!\n");if(k<N){printf("k=%d\n",k); for(i=1;i<=n;i++) printf("y[i]=%f\n",y[i]);} }double ff(double a[],int n) {double p;int t;p=a[1];for(t=2;t<n;t++){if(p<a[t])p=a[t];}return(p);}运行结果:15、蛋白质设计:程序:#include <>#include <>#include <>void main(){printf("横坐标纵坐标竖坐标\n");FILE *fp;char c[100],x[3000][7],y[3000][7],z[3000][7];float a[3000],b[3000],d[3000],r[3000];int i,k=0,j,n=0,m,p;float X[3000],Y[3000],Z[3000],s1=0,s2=0,s3=0,av_x,av_y,av_z; fp=fopen("1a1c.pdb","r");for(i=0;i<=10000;i++){fgets(c,81,fp);if(c[0]=='A'&&c[1]=='T'&&c[2]=='O'&&c[3]=='M'){for(j=0;j<6;j++){x[k][j]=c[32+j];printf("%c",x[k][j]);}printf(" ");for(j=0;j<6;j++){y[k][j]=c[40+j];printf("%c",y[k][j]);}printf(" ");for(j=0;j<6;j++){z[k][j]=c[48+j];printf("%c",z[k][j]);}printf(" ");X[k]=atof(x[k]);s1+=X[k];Y[k]=atof(y[k]);s2+=Y[k];Z[k]=atof(z[k]);s3+=Z[k];printf("\n");k++;if(c[77]=='C') n++;}}av_x=s1/k;av_y=s2/k;av_z=s3/k;printf("共有:%d\n",k+1);printf("av_x=%f,av_y=%f,av_z=%f\n",av_x,av_y,av_z); printf("C原子个数为:%d\n",n);printf("平移原点后的坐标:\n");for(m=0;m<k;m++){a[m]=X[m]-av_x;printf("%f ",a[m]);b[m]=Y[m]-av_y;printf("%f ",b[m]);d[m]=Z[m]-av_z;printf("%f ",d[m]);r[m]=sqrt(a[m]*a[m]+b[m]*b[m]+d[m]*d[m]);printf("%f ",r[m]); printf("\n");}}17高斯消去法:#include ""#include""main(){double a[3][3]={1,1,1,0,4,-1,2,-2,1},b[3]={6,5,1},x[10]={0};int i,j,k,n=3;for(k=0;k<n-1;k++){ for(i=k+1;i<n;i++){ for(j=k+1;j<n;j++){ a[i][j]=a[i][j]-a[k][j]*a[i][k]/a[k][k];}b[i]=b[i]-b[k]*a[i][k]/a[k][k];}}x[n-1]=b[n-1]/a[n-1][n-1];for(i=2;i<=n;i++){ k=n-i;for(j=k+1;j<n;j++){ x[k]+=a[k][j]*x[j];}x[k]=(b[k]-x[k])/a[k][k];}for(k=0;k<n;k++)printf("x[%d]=%f",k,x[k]); }。

小程序实现简单的计算器

小程序实现简单的计算器

⼩程序实现简单的计算器本⽂实例为⼤家分享了⼩程序实现简单计算器的具体代码,供⼤家参考,具体内容如下#app.json{"pages": ["pages/index/index","pages/logs/logs"],"window": {"navigationBarBackgroundColor": "#000000","navigationBarTextStyle": "white","navigationBarTitleText": "智能计算器"},"tabBar": {"color": "#ff69b4","selectedColor": "#0000ff","backgroundColor": "#ffff00","list": [{"pagePath": "pages/index/index","text": "计算机"},{"pagePath": "pages/logs/logs","text": "⽇志"},{"pagePath": "pages/logs/logs","text": "回家"}]}}#app.wsxx/**app.wxss**/.container {height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: space-between;padding: 200rpx 0;box-sizing: border-box;}#index.wxml<template name="calculator-key"><button hover-start-time="{{5}}" hover-stay-time="{{100}}" hover-class="calculator-key-hover" data-key="{{className}}" class="calculator-key {{className}}">{{display}}</button> </template><view class="calculator"><view class="calculator-display"><view class="calculator-display-text">{{displayValue}}</view></view><view class="calculator-keypad"><view class="input-keys"><view class="function-keys" catchtap="onTapFunction"><template is="calculator-key" data="{{className: 'key-clear', display: clearDisplay ? 'C' : 'C'}}"/><template is="calculator-key" data="{{className: 'key-sign', display: '+/-'}}"/><template is="calculator-key" data="{{className: 'key-percent', display: '%'}}"/></view><view class="digit-keys" catchtap="onTapDigit"><template is="calculator-key" data="{{className: 'key-0', display: '0'}}"/><template is="calculator-key" data="{{className: 'key-dot', display: '●'}}"/><template is="calculator-key" data="{{className: 'key-1', display: '1'}}"/><template is="calculator-key" data="{{className: 'key-2', display: '2'}}"/><template is="calculator-key" data="{{className: 'key-3', display: '3'}}"/><template is="calculator-key" data="{{className: 'key-4', display: '4'}}"/><template is="calculator-key" data="{{className: 'key-5', display: '5'}}"/><template is="calculator-key" data="{{className: 'key-6', display: '6'}}"/><template is="calculator-key" data="{{className: 'key-7', display: '7'}}"/><template is="calculator-key" data="{{className: 'key-8', display: '8'}}"/><template is="calculator-key" data="{{className: 'key-9', display: '9'}}"/></view></view><view class="operator-keys" catchtap="onTapOperator"><template is="calculator-key" data="{{className: 'key-divide', display: '÷'}}"/><template is="calculator-key" data="{{className: 'key-multiply', display: '×'}}"/><template is="calculator-key" data="{{className: 'key-subtract', display: '−'}}"/><template is="calculator-key" data="{{className: 'key-add', display: '+'}}"/><template is="calculator-key" data="{{className: 'key-equals', display: '='}}"/></view></view></view>#index.jsPage({data: {value: null, // 上次计算后的结果,null表⽰没有上次计算的结果displayValue: '0', // 显⽰数值operator: null, // 上次计算符号,null表⽰没有未完成的计算waitingForOperand: false // 前⼀按键是否为计算符号},onLoad: function (options) {this.calculatorOperations = {'key-divide': (prevValue, nextValue) => prevValue / nextValue,'key-multiply': (prevValue, nextValue) => prevValue * nextValue,'key-add': (prevValue, nextValue) => prevValue + nextValue,'key-subtract': (prevValue, nextValue) => prevValue - nextValue,'key-equals': (prevValue, nextValue) => nextValue}},/* AC操作,⼀下回到解放前 */clearAll() {this.setData({value: null,displayValue: '0',operator: null,waitingForOperand: false})},/* 仅清空当前显⽰的输⼊值 */clearDisplay() {this.setData({displayValue: '0'})},onTapFunction: function (event) {const key = event.target.dataset.key;switch (key) {case 'key-clear':if (this.data.displayValue !== '0') {this.clearDisplay();} else {this.clearAll();}break;case 'key-sign':var newValue = parseFloat(this.data.displayValue) * -1this.setData({displayValue: String(newValue)})break;case 'key-percent':const fixedDigits = this.data.displayValue.replace(/^-?\d*\.?/, '')var newValue = parseFloat(this.data.displayValue) / 100this.setData({displayValue: String(newValue.toFixed(fixedDigits.length + 2))});break;default:break;}},onTapOperator: function (event) {const nextOperator = event.target.dataset.key;const inputValue = parseFloat(this.data.displayValue);if (this.data.value == null) {this.setData({value: inputValue});} else if (this.data.operator) {const currentValue = this.data.value || 0;const newValue = this.calculatorOperations[this.data.operator](currentValue, inputValue); this.setData({value: newValue,displayValue: String(newValue)});}this.setData({waitingForOperand: true,operator: nextOperator});},onTapDigit: function (event) {const key = event.target.dataset.key; // 根据data-key标记按键if (key == 'key-dot') {// 按下点号if (!(/\./).test(this.data.displayValue)) {this.setData({displayValue: this.data.displayValue + '.',waitingForOperand: false})}} else {// 按下数字键const digit = key[key.length - 1];if (this.data.waitingForOperand) {this.setData({displayValue: String(digit),waitingForOperand: false})} else {this.setData({displayValue: this.data.displayValue === '0' ? String(digit) : this.data.displayValue + digit })}}}})#index.wxsspage {height:100%;}.calculator {width: 100%;height: 100vh;border:solid 1px;background: rgb(238, 5, 5);position: relative;box-shadow: 0px 0px 20px 0px rgb(211, 41, 41);display: flex;flex-direction: column;box-sizing: border-box;}.calculator-display { /*显⽰器背景颜⾊*/background: #2c2a2c;flex: 1;}/*TODO:解决⽂本垂直居中问题,显⽰器数字颜⾊*/.calculator-display-text {padding: 0 30px;font-size: 3em;color: rgb(245, 245, 248);text-align: right;}.calculator-keypad {display: flex;}.calculator .function-keys {display: flex;color:rgb(245, 13, 13);}.calculator .digit-keys {background: #0808f7;display: flex;flex-direction: row;flex-wrap: wrap-reverse;}.calculator-key-hover { /*按钮按下以后的颜⾊*/box-shadow: inset 0px 0px 25vw 0px hsla(71, 90%, 48%, 0.898);}.calculator-key {background-color:aqua;display: block;width: 25vw;height: 25vw;line-height: 25vw;border-top: 1px solid rgb(6, 245, 78);border-right: 1px solid rgb(19, 241, 12);text-align: center;box-sizing: border-box;}.calculator .function-keys .calculator-key {font-size: 2em;}.calculator .digit-keys .calculator-key {font-size: 3em;}.calculator .digit-keys .key-0 {width: 50vw;text-align: left;padding-left: 9vw;}.calculator .digit-keys .key-dot {padding-top: 1em;font-size: 0.75em;}.calculator .operator-keys .calculator-key {color: rgb(248, 165, 10);border-right: 0;font-size: 3em;}.calculator .function-keys {background: linear-gradient(to bottom, rgb(6, 6, 240) 0%, rgb(52, 5, 240) 100%);}.calculator .operator-keys {background: linear-gradient(to bottom, rgba(252,156,23,1) 0%, rgba(247,126,27,1) 100%); }.input-keys {width: 100%;}.operator-keys {width: 100%;}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

微信小程序实现计算器案例

微信小程序实现计算器案例

微信⼩程序实现计算器案例本⽂实例为⼤家分享了微信⼩程序实现计算器的具体代码,供⼤家参考,具体内容如下项⽬展⽰页⾯设计分为上⾯输⼊的显⽰部分和下⾯按键部分<!--pages/index/index.wxml--><view class="result"><view class="result-num">{{num}}</view><view class="result-op">{{op}}</view></view><view class="btns"><view><view hover-class="bg" bindtap="resetBtn">C</view><view hover-class="bg" bindtap="delBtn">DEL</view><view hover-class="bg" bindtap="opBtn" data-val="%">%</view><view hover-class="bg" bindtap="opBtn" data-val="/">÷</view></view><view><view hover-class="bg" bindtap="numBtn" data-val="7">7</view><view hover-class="bg" bindtap="numBtn" data-val="8">8</view><view hover-class="bg" bindtap="numBtn" data-val="9">9</view><view hover-class="bg" bindtap="opBtn" data-val="*">×</view></view><view><view hover-class="bg" bindtap="numBtn" data-val="4">4</view><view hover-class="bg" bindtap="numBtn" data-val="5">5</view> <view hover-class="bg" bindtap="numBtn" data-val="6">6</view> <view hover-class="bg" bindtap="opBtn" data-val="-">-</view> </view><view><view hover-class="bg" bindtap="numBtn" data-val="1">1</view> <view hover-class="bg" bindtap="numBtn" data-val="2">2</view> <view hover-class="bg" bindtap="numBtn" data-val="3">3</view> <view hover-class="bg" bindtap="opBtn" data-val="+">+</view> </view><view><view hover-class="bg" bindtap="numBtn" data-val="0">0</view> <view hover-class="bg" bindtap="dotBtn">.</view><view hover-class="bg" bindtap="opBtn" data-val="=">=</view> </view></view>页⾯样式/* pages/index/index.wxss */page {display: flex;flex-direction: column;height: 100%;color: #555;}.result {flex: 1;background: #f3f6fe;position: relative;}.result-num {position: absolute;font-size: 27pt;bottom: 5vh;right: 3vw;}.result-op {font-size: 15pt;position: absolute;bottom: 1vh;right: 3vw;}.btns {flex: 1;}/* 按钮样式 */.bg {background: rgb(223, 44, 20);}.btns {flex: 1;display: flex;flex-direction: column;font-size: 17pt;border-top: 1rpx solid #ccc;border-left: 1rpx solid #ccc;}.btns > view {flex: 1;display: flex;}.btns > view > view {flex-basis: 25%;border-right: 1rpx solid #ccc;border-bottom: 1rpx solid #ccc;box-sizing: border-box;display: flex;align-items: center;justify-content: center;}.btns > view:last-child > view:first-child {flex-basis: 50%;}.btns > view:first-child > view:first-child {color: #f00;}.btns > view > view:last-child {color: #fc8e00;}页⾯逻辑util–>calc.js计算过程是将⼩数都乘以两数10的最⼤次幂化为整数,这样可进⾏⾼精度计算,最后再将得数除以相应的10的次幂例如// 精确计算module.exports = {// 加add: function(arg1, arg2) {var r1, r2, mtry {r1 = arg1.toString().split(".")[1].length} catch (e) {r1 = 0}try {r2 = arg2.toString().split(".")[1].length} catch (e) {r2 = 0}// 将⼩数都化为整数在进⾏计算 m是需要×的10的幂数m = Math.pow(10, Math.max(r1, r2))// 最后返回的时候再除以mreturn (arg1 * m + arg2 * m) / m},// 减sub: function(arg1, arg2) {var r1, r2, m, ntry {r1 = arg1.toString().split(".")[1].length} catch (e) {r1 = 0}try {r2 = arg2.toString().split(".")[1].length} catch (e) {r2 = 0}m = Math.pow(10, Math.max(r1, r2))//动态控制精度长度n = (r1 >= r2) ? r1 : r2return ((arg1 * m - arg2 * m) / m).toFixed(n)},// 乘mul: function(arg1, arg2) {var m = 0,s1 = arg1.toString(),s2 = arg2.toString()try {m += s1.split(".")[1].length} catch (e) {}try {m += s2.split(".")[1].length} catch (e) {}return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)},// 除div: function(arg1, arg2) {var t1 = 0,t2 = 0,r1, r2try {t1 = arg1.toString().split(".")[1].length} catch (e) {}try {t2 = arg2.toString().split(".")[1].length} catch (e) {}r1 = Number(arg1.toString().replace(".", ""))r2 = Number(arg2.toString().replace(".", ""))return (r1 / r2) * Math.pow(10, t2 - t1)}}index.js数字点击处理事件当点击数字不为零,并且指⽰不清空时候,将输⼊的num拼接到page⾥的num // 数字按钮事件处理函数numBtn: function(e) {var num = e.target.dataset.valif (this.data.num === '0' || this.isClear) {this.setData({num: num})this.isClear = false} else {this.setData({num: this.data.num + num})}},运算符处理事件// 运算符事件处理函数opBtn: function(e) {var op = this.data.op// 获取之前的数var num = Number(this.data.num)this.setData({op: e.target.dataset.val})if (this.isClear) {return}this.isClear = trueif (this.result === null) {this.result = numreturn}if (op === '+') {this.result = calc.add(this.result, num)} else if (op === '-') {......其他运算操作(详细代码看下⾯完整代码部分)......}this.setData({num: this.result + ''})},全部js// pages/index/index.jsconst calc = require('../../utils/calc.js')Page({/*** 页⾯的初始数据*/data: {num: '0',op: ''},// 结果result: null,// 是否清空数字⾏/*清空的情况(值为true)点击过运算符之后,改为true 以便下⼀次输⼊数字显⽰点击清空*/isClear: false,// 数字按钮事件处理函数numBtn: function(e) {var num = e.target.dataset.valif (this.data.num === '0' || this.isClear) {this.setData({num: num})this.isClear = false} else {this.setData({num: this.data.num + num})}},// 运算符事件处理函数opBtn: function(e) {var op = this.data.op// 获取之前的数var num = Number(this.data.num)this.setData({op: e.target.dataset.val})if (this.isClear) {return}this.isClear = trueif (this.result === null) {this.result = numreturn}if (op === '+') {this.result = calc.add(this.result, num)} else if (op === '-') {this.result = calc.sub(this.result, num)} else if (op === '*') {this.result = calc.mul(this.result, num)} else if (op === '/') {this.result = calc.div(this.result, num)} else if (op === '%') {this.result = this.result % num}this.setData({num: this.result + ''})},// ⼩数点事件处理函数dotBtn: function() {if (this.isClear) {this.setData({num: '0.'})this.isClear = falsereturn}if (this.data.num.indexOf('.') >= 0) {return}this.setData({num: this.data.num + '.'})},// DEL按钮处理函数delBtn: function() {var num = this.data.num.substr(0, this.data.num.length - 1)this.setData({num: num === '' ? '0' : num})},// C按钮事件处理函数resetBtn: function() {this.result = nullthis.isClear = falsethis.setData({num: '0',op: ''})}})案例下载:以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

数值计算C语言常用小程序

数值计算C语言常用小程序

数值计算C语言常用小程序以下是一些常见的数值计算的C语言小程序:1.计算两个整数的和:```c#include <stdio.h>int maiint num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;```2.计算两个实数的积:```c#include <stdio.h>int maifloat num1, num2, product;printf("请输入第一个实数:");scanf("%f", &num1);printf("请输入第二个实数:");scanf("%f", &num2);product = num1 * num2;printf("两个实数的积为:%f\n", product); return 0;```3.求解一元二次方程的根:```c#include <stdio.h>#include <math.h>int maifloat a, b, c;float discriminant, root1, root2;printf("请输入一元二次方程的系数:\n"); printf("a = ");scanf("%f", &a);printf("b = ");scanf("%f", &b);printf("c = ");scanf("%f", &c);discriminant = b * b - 4 * a * c; // 计算判别式//判断根的情况并计算if (discriminant > 0)root1 = (-b + sqrt(discriminant)) / (2 * a); root2 = (-b - sqrt(discriminant)) / (2 * a); printf("方程的根为:%f, %f\n", root1, root2);} else if (discriminant == 0)root1 = root2 = -b / (2 * a);printf("方程的根为:%f\n", root1);} elseprintf("方程无实数根。

小程序如何做数据分析方法大全

小程序如何做数据分析方法大全

精细化运营的核心就是数据驱动,这和《精益创业》中的「Build-Measure-Learn」框架不谋而合。

首先我们有一个好的想法,然后我们把它落地做成了产品,例如小程序。

有了产品,我们需要衡量效果如何;并且通过数据分析的方式进行评估,然后不断优化。

其中,围绕数据(Data)展开小程序的效果评估(Measure)与优化(Learn)是我们今天要介绍的重点。

二、小程序有哪些统计方法?现在有很多的统计方法和统计工具,那么如何找到我们需要的东西呢?我强烈建议大家要有精益分析的思维,从海量数据中找准核心指标,而这些指标往往就蕴藏在概览指标或者行为指标里面。

(一)小程序的数据指标1.运营概览数据微信官方提供了若干指标,这些指标大家都比较熟悉,和网页或者app里面的指标类似。

具体如下:▪打开次数:打开小程序总次数,用户从打开小程序到主动关闭小程序或超时退出计为一次,可理解为一个Session(会话)。

▪▪页面浏览量:访问小程序内所有页面的总次数,多个页面之间跳转、同一页面的重复访问计为多次访问。

▪▪访问人数:访问小程序内所有页面的总用户数,同一用户多次访问不重复计。

▪▪新访问用户数:首次访问小程序页面的用户数,同一用户多次访问不重复计。

▪▪入口页:用户进入小程序访问的第一个页面。

▪▪受访页:用户进入小程序访问的所有页面。

▪▪分享次数:分享小程序的总次数。

▪▪分享人数:分享小程序的总人数。

▪重点介绍一下「入口页」,小程序的每个页面都可以做成二维码推广,类似于「落地页」的概念。

用户扫不同的二维码,可能出现不同的入口页,这是一个比较新的指标。

回顾上面的指标,它们更多局限于运营概况、结果型的指标。

这些指标无法告诉你用户使用小程序的过程中发生了什么,缺乏行动的引导性。

比如说「分享人数」指标下跌了,但是为什么下跌了,上述指标是无法告诉你答案的。

2.有效的用户行为数据除了概览指标,用户的行为指标也是非常重要的,具体包括:点击、进入页面、下拉刷新、加载、分享等等。

Excel版小学数学四则混合运算练习小程序,分享给朋友圈可爱的老师和家长们!

Excel版小学数学四则混合运算练习小程序,分享给朋友圈可爱的老师和家长们!

Excel版小学数学四则混合运算练习小程序,分享给朋友圈可爱的老师和家长们!2020年11月27日周五【Excel情报局|文案回收站】思想不在一个高度不必相互说服,只需用沉默相互尊重,三观不在一个层面不必相互理解,只需用微笑相互包容不管学习哪一门学科,基础都尤为重要,这就犹如建筑师建房子一样,不打好良好的地基,如何建高楼大厦?所以说,小学生打好基础非常重要,特别是数学这一门连贯性非常强的学科。

四则运算知识对于小学生来说非常的重要,这是他们在这一阶段必须掌握的基础性知识。

如果在小学阶段将四则运算知识掌握,并且能够在此基础之上具备一定的计算能力,那么对于其日后学习和掌握更深层次的运算具有很大的帮助。

四则指的是加法、减法、乘法、除法这四种计算法则。

而四种混合运算指的就是由两个或两个以上的运算符号及括号,把多个数合并成一个数的运算。

相信很多家长或者老师对于孩子们出数学题都非常苦恼,今天小编就向大家介绍一个Excel版小学数学四则混合运算练习小程序。

希望可以减轻家长或者教师群体对于给孩子出题的压力。

Excel版小学数学四则混合运算练习小程序主要功能板块:1、加减乘除四则混合运算2、加减混合运算3、单式加减法混合运算4、连加减(3个数字)混合运算5、乘除混合运算6、单式加法乘法混合运算7、加法运算8、连加(3个数字)运算9、减法运算10、连减(3个数字)运算11、乘法运算12、连乘(3个数字)运算13、除法运算14、有余数的除法运算15、加、减、乘、除及混合运算(竖式)16、加减法混合运算17、乘除法混合运算18、小学数学常用单位换算19、小学数学常用单位换算-查询20、和为设定范围的加法运算21、被减数为设定范围的减法运算22、小数的加减混合运算23、整十加减混合运算24、整百加减混合运算Excel版小学数学四则混合运算练习小程序主界面:Excel版小学数学四则混合运算练习小程序部分功能展示:加减乘除四则混合:。

微信小程序实现简易计算器

微信小程序实现简易计算器

微信⼩程序实现简易计算器微信⼩程序之简易计算器,供⼤家参考,具体内容如下⼀、介绍1.中缀表达式中缀表达式是⼀种通⽤的算术或逻辑公式表⽰⽅法,操作符以中缀形式处于操作数的中间。

中缀表达式是⼈们常⽤的算术表⽰⽅法。

虽然⼈的⼤脑很容易理解与分析中缀表达式,但对计算机来说中缀表达式却是很复杂的,因此计算表达式的值时,通常需要先将中缀表达式转换为前缀或后缀表达式,然后再进⾏求值。

对计算机来说,计算前缀或后缀表达式的值⾮常简单。

2.后缀表达式从左⾄右扫描表达式,遇到数字时,将数字压⼊堆栈,遇到运算符时,弹出栈顶的两个数,⽤运算符对它们做相应的计算(次顶元素 op 栈顶元素),并将结果⼊栈;重复上述过程直到表达式最右端,最后运算得出的值即为表达式的结果。

例:(1)8+4-62⽤后缀表达式表⽰为:8 4+6 2-(2)2*(3+5)-4+7/1⽤后缀表达式表⽰为:3 5+2*7 1/4-+例如后缀表达式“3 4 + 5 × 6 -”:(1) 从左⾄右扫描,将3和4压⼊堆栈;(2) 遇到+运算符,因此弹出4和3(4为栈顶元素,3为次顶元素,注意与前缀表达式做⽐较),计算出3+4的值,得7,再将7⼊栈;(3) 将5⼊栈;(4) 接下来是×运算符,因此弹出5和7,计算出7×5=35,将35⼊栈;(5) 将6⼊栈;(6) 最后是-运算符,计算出35-6的值,即29,由此得出最终结果。

⼆、程序代码1.代码app.js配置代码如下:// app.jsApp({onLaunch() {// 展⽰本地存储能⼒const logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)// 登录wx.login({success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId}})},globalData: {userInfo: null},calculator:{express:'', //临时字符串strList:[], //中缀表达式存储(队列先进先出)strListP:[], //后缀表达式(队列先进先出)list:[], //存放运算符的堆栈(先进后出)calculate:[] //计算表达式堆栈(先进后出)}})2.逻辑代码calculator.js代码如下:// pages/calculator/calculator.jsconst app = getApp()Page({/*** 页⾯的初始数据*/data: {operators: ['AC', 'DEL', '%', '/', '7', '8', '9', '×', '4', '5', '6', '+', '1', '2', '3', '-', '0', '.'],res: '=',expression: '0',},clearAll() {this.setData({expression: '0',result: ''})},click: function (event) {const val = event.target.dataset.value;if (val == 'AC') {this.clearAll();} else if (val == 'DEL') {if (this.data.expression != '0') {const res = this.data.expression.substr(0, this.data.expression.length - 1);this.setData({expression: res})}} else {var len = this.data.expression.length;var s = this.data.expression.substring(len - 1, len);if ((this.checkOperator(s)) && this.checkOperator(val)) {const res = this.data.expression.substr(0, this.data.expression.length);this.setData({expression: res})} else {if ((this.data.expression == '0') && (val == '.')) {this.setData({expression: this.data.expression + String(val)} else {this.setData({expression: this.data.expression === '0' ? val : this.data.expression + String(val) })}}}},result() {app.calculator.strList.length = 0;app.calculator.strListP.length = 0;app.calculator.list.length = 0;app.calculator.calculate.length = 0;this.expressToStrList(this.data.expression);let tempList = app.calculator.strList;this.expressToStrListP(tempList);let tempP = app.calculator.strListPfor (let m in tempP) {if (this.checkOperator(tempP[m])) {let op1 = app.calculator.calculate[0];app.calculator.calculate.shift();let op2 = app.calculator.calculate[0];app.calculator.calculate.shift();app.calculator.calculate.unshift(this.countDetail(op2, tempP[m], op1));} else {app.calculator.calculate.unshift(tempP[m])}}this.setData({result: app.calculator.calculate[0]});},countDetail(num1, operator, num2) {let result = 0.0;try {if (operator == "×") {result = parseFloat(num1) * parseFloat(num2);} else if (operator == "/") {result = parseFloat(num1) / parseFloat(num2);} else if (operator == "%") {result = parseFloat(num1) % parseFloat(num2);} else if (operator == "+") {result = parseFloat(num1) + parseFloat(num2);} else {result = parseFloat(num1) - parseFloat(num2);}} catch (error) {}return result;},expressToStrListP(tempList) {//将中缀表达式集合转变为后缀表达式集合for (let item in tempList) {if (this.checkOperator(tempList[item])) {if (app.calculator.list.length == 0) {app.calculator.list.unshift(tempList[item]);} else {if (paerOperator(app.calculator.list[0], tempList[item])) {for (let x in app.calculator.list) {app.calculator.strListP.push(app.calculator.list[x]);}app.calculator.list.length = 0;app.calculator.list.unshift(tempList[item]);} else {app.calculator.list.unshift(tempList[item]);}}} else {app.calculator.strListP.push(tempList[item]);}}if (app.calculator.list.length > 0) {for (let x in app.calculator.list) {app.calculator.strListP.push(app.calculator.list[x]);}app.calculator.list.length = 0;}},compaerOperator(op1, op2) {if ((op1 == "%" || op1 == "×" || op1 == "/") && (op2 == "-" || op2 == "+")) {return true;} else {return false;}},expressToStrList(expression) { //将字符串表达式变成中缀队列let temp = '';for (let i = 0; i < expression.length; i++) {if (i == 0 && expression[i] == "-") {temp = temp + expression[i];} else {if (this.checkDigit(expression[i])) {temp = temp + expression[i];} else {if (temp.length > 0) {if (expression[i] == ".") {temp = temp + expression[i];} else {app.calculator.strList.push(parseFloat(temp));temp = '';app.calculator.strList.push(expression[i]);}} else {temp = temp + expression[i];}}}}if (temp.length > 0 && this.checkDigit(temp.substring(temp.length - 1))) {app.calculator.strList.push(parseFloat(temp));temp = '';}//判断是否是运算符checkOperator(input) {if (input == "-" || input == "+" || input == "/" || input == "%" || input == "×") {return true;} else {return false;}},//判断是否是数字checkDigit(input) {if ((/^[0-9]*$/.test(input))) {return true;} else {return false;}},})3.界⾯代码calculator.js代码如下:<!--pages/calculator/calculator.wxml--><view class="contaniner"><view class="displayer"><view class="text">{{expression}}</view><view class="result">={{result}}</view></view><view class="btnArea"><block wx:for="{{operators}}"><view class="btn" data-value="{{item}}" capture-bind:tap="click">{{item}}</view></block><view class="btn btn1" data-value="{{res}}" bindtap="result">{{res}}</view></view></view>4.样式代码calculator.js代码如下:/* pages/calculator/calculator.wxss */.container1{width: 100%;height: 100%;}.displayer{border: 1px solid #f1f3f3;width: 100%;height: 602![在这⾥插⼊图⽚描述](https:///20210328162054440.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzNDI4MjE5,size_16,color_FFFFFF,t_ rpx;font-size: 45rpx;background-color: rgba(241, 243, 243, 1.0);}.btnArea{display: flex;flex-flow: row wrap;justify-content: flex-start;padding: 3rpx;margin: 0;background-color: rgb(241, 243, 243);}.btn{width: 185rpx;display: flex;align-items: center;height: 120rpx;justify-content: center;border: 1rpx solid #e8eaeb;color: black;background-color: #F7F8F9;}.btn1{width: 370rpx;}.text{width: 100%;height: 10%;text-align: right;margin-top: 470rpx;background-color: rgba(241, 243, 243, 1.0);position: absolute;word-break: break-word;}.result{width: 100%;height: 58rpx;text-align: right;margin-top: 530rpx;background-color: rgba(241, 243, 243, 1.0);position: absolute;word-break: break-word;}三.程序截图四.总结使⽤数组来实现堆栈,然后将表达式转为中缀表达式,再转成后缀表达式,利⽤堆栈实现计算。

易语言四则运算小程序手把手教你编写

易语言四则运算小程序手把手教你编写

易语言四则运算小程序我用易语言做了个四则运算小程序,下面一步步的带大家编写。

目录第一部分界面制作 (1)第二部分程序编写 (6)第三部分实例演示 (7)第一部分界面制作第一步,打开易语言新建一个windows程序,进入下图界面。

第二步,点击下图框内程序选项卡第三步,点击下图框内启动窗口,进入下图界面第四步,点击下图框内组件,拖动到左边的窗口第五步,拖动四次,形成下图界面第六步,点击其中一个按钮,注意左边框内,可以修改名称第七步,我们从上往下依此修改为:加、减、乘、除,如下图第八步,我们选中右边,下图框内组件第九步,拖动然后复制3次,如下图第十步,选中右边下图框内组件第十一步,按照前面的经验,制作如下图界面第二部分程序编写第一步,双击下图框内加按钮,我们输入:编辑框2.内容=到文本 (到整数 (编辑框1.内容) +到整数 (编辑框3.内容))如图:第二步,我们按照同样的办法,把加、减、乘、除搞定如图:只是改变下运算符号第三部分实例演示第一步,我们点击下图框内图标,运行程序第二步,界面如下第三步,我们在分别在参数一、二输入数字第四步,我们点击加按钮,如图第五步,我们点击减按钮,如图第六步,我们点击乘按钮,如图第七步,我们点击除按钮,如图特别提醒:我这个四则运算有缺陷,就是做小数运算会出错,比如:1.2+1.2结果显示为2,如下图这个是因为,我是输入的是文本,易语言要转换成其他数据类型才能四则运算,我涂方便就转换成整数类型,结果1.2就转换成1,这样就出错了,我做这个教程是帮助大家入门的,后续教程会慢慢完善。

微信小程序实现计算器功能

微信小程序实现计算器功能

微信⼩程序实现计算器功能本⽂实例为⼤家分享了微信⼩程序实现计算器功能的具体代码,供⼤家参考,具体内容如下⼀、微信⼩程序开发⼯具界⾯⼆、⽬录结构第⼀次进到页⾯它的⽬录结构如下:三、需要注意的问题(1)添加的新页⾯⽂件,都需要在app.json中进⾏配置,否则页⾯报错。

(2)⼯作原理通过在<view></view>中添加事件 bindtap="btnClick" id="{{n9}}" 相当于click事件。

在js代码中,可以通过this.data.n9获取数据,这些数据的定义都是在js中通过在<view id="{{btn_a}}"><view>填写id,在具体的函数中,event.target.id去判断id是多少,进⾏区分。

就可以实现,不同标签的点击,然后进⾏业务逻辑。

如果需要访问数据,则是通过this.data.xx。

计算器的wxml页⾯<view class="content"><view class="xianshi">{{screenNum}}</view><view class="anniu"><view class="item blue" bindtap="btnClick" id="{{n9}}">9</view><view class="item blue" bindtap="btnClick" id="{{n8}}">8</view><view class="item blue" bindtap="btnClick" id="{{n7}}">7</view><view class="item blue" bindtap="btnClick" id="{{na}}">+</view></view><view class="anniu"><view class="item blue" bindtap="btnClick" id="{{n6}}">6</view><view class="item blue" bindtap="btnClick" id="{{n5}}">5</view><view class="item blue" bindtap="btnClick" id="{{n4}}">4</view><view class="item blue" bindtap="btnClick" id="{{nb}}">-</view></view><view class="anniu"><view class="item blue" bindtap="btnClick" id="{{n3}}">3</view><view class="item blue" bindtap="btnClick" id="{{n2}}">2</view><view class="item blue" bindtap="btnClick" id="{{n1}}">1</view><view class="item blue" bindtap="btnClick" id="{{nc}}">*</view></view><view class="anniu"><view class="item blue" bindtap="btnClick" id="{{n0}}">0</view><view class="item blue" bindtap="btnClear">AC</view><view class="item blue" bindtap="btnJs">=</view><view class="item blue" bindtap="btnClick" id="{{nd}}">/</view></view></view>// pages/cal/cal.jsPage({/*** 页⾯的初始数据*/data: {n0: 0,n1: 1,n2: 2,n3: 3,n4: 4,n5: 5,n6: 6,n7: 7,n8: 8,n9: 9,na: '+',nb: '-',nc: '*',nd: '/',screenNum: 0,screenStr: 0,is_num:1},/*** ⽣命周期函数--监听页⾯加载*/onLoad: function (options) {},/*** ⽣命周期函数--监听页⾯初次渲染完成*/onReady: function () {},/*** ⽣命周期函数--监听页⾯显⽰*/onShow: function () {},/*** ⽣命周期函数--监听页⾯隐藏*/onHide: function () {},/*** ⽣命周期函数--监听页⾯卸载*/onUnload: function () {},/*** 页⾯相关事件处理函数--监听⽤户下拉动作*/onPullDownRefresh: function () {},/*** 页⾯上拉触底事件的处理函数*/onReachBottom: function () {},/*** ⽤户点击右上⾓分享*/onShareAppMessage: function () {},btnClick:function(event){//console.log('你按得键是'+event.target.id);//console.log('上⼀次' + this.data.is_num);var op='';var data=0;var last_is_num = this.data.is_num;//这次输⼊的是什么if (event.target.id == '9' || event.target.id == '8' || event.target.id == '7' || event.target.id == '6' || event.target.id == '5' || event.target.id == '4' || event.target.id == '3' || event.target.id == '2' || event.target.id == '1' || event.target.id == '0') { data = event.target.id;this.setData({ is_num: 1 });}if (event.target.id == '+' || event.target.id == '-' || event.target.id == '*' || event.target.id == '/') {op = event.target.id;this.setData({ is_num: 0 });}if (last_is_num==1){//如果上⼀次是数字if (op == ''){//这⼀次是数字if (this.data.screenNum!=0){this.setData({ screenNum: this.data.screenNum + data });this.setData({ screenStr: this.data.screenStr + data });}else{this.setData({ screenNum: data});this.setData({ screenStr: data });}}else{this.setData({ screenNum: this.data.screenNum + op });this.setData({ screenStr: this.data.screenStr +',' +op+',' });}}else{//上次不是数字if (data != 0) {//这⼀次是数字this.setData({ screenNum: this.data.screenNum + data });this.setData({ screenStr: this.data.screenStr + data });} else {return;}}//console.log(op+'aaaaa'+data);//console.log('现在是'+this.data.is_num);//console.log('screenNum' + this.data.screenNum);//console.log(this.data.screenStr);},btnJs:function(){console.log(this.data.screenNum);console.log(this.data.screenStr);var result=0;var strs = new Array(); //定义⼀数组strs = this.data.screenStr.split(","); //字符分割for (var i = 0; i < strs.length; i++) {//console.log(strs[i] + i); //分割后的字符输出if (strs[i]=='+'){result = parseInt(strs[i - 1]) + parseInt(strs[i+1]);}if (strs[i] == '-') {result = strs[i - 1] - strs[i + 1];}if (strs[i] == '*') {result = strs[i - 1] * strs[i + 1];}if (strs[i] == '/') {result = strs[i - 1] / strs[i + 1];}}console.log('result:'+result);this.setData({ screenNum: result});this.setData({ screenStr: result });},btnClear:function(){//把标记恢复成默认状态this.setData({ screenNum: 0 });this.setData({ screenStr: 0 });this.setData({ is_num: 1 });}})总结,在⼩程序的布局⽅⾯引⼊了相对单位rpx,需要在学习⼀下弹性盒⼦flex布局。

Python入门级别的小程序(BMI计算器)

Python入门级别的小程序(BMI计算器)

Python⼊门级别的⼩程序(BMI计算器)我是⼤涵呐,⼀个刚⼊Python的菜鸟,想通过⾃⼰了解的告诉同样刚学Python或者想学的朋友们⼀些基础的东西,希望对你们有所帮助。

while True:# 1.输⼊⾝⾼(m)、体重(kg) ,转换为浮点类型数据height = input('请输⼊您的⾝⾼(m):')height = float(height)weight = float(input('请输⼊您的体重(kg):'))# 2.计算BMI值计算公式:BMI = 体重 / ⾝⾼^2# ** 阶乘运算# print(height**2)BMI = weight / height ** 2# 3.判断BMI值所在的阶梯,输出对应的结果if BMI <18.5:print('您的体重过轻,该增重了~')elif BMI <=23.9:print('您的体重正常,请继续保持~')elif BMI <= 27:print('您的体重过重,需要适当减肥~')elif BMI <= 32:print('您的体重肥胖,请及时减肥~')else:print('您的体重⾮常肥胖~')#这是⼀个BMI(⾝体质量指数,简称体质指数⼜或者体重)⾝体指数计算器,⼀共有三个步骤,⼀个while循环,⼀个计算公式,⼀个判断计算,然后输出(凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,凑字数,)。

推荐几款微信小程序,这个每天还能省钱

推荐几款微信小程序,这个每天还能省钱

推荐几款微信小程序,这个每天还能省钱
微信指数
微信官方提供的基于微信大数据分析的移动端指数小程序。

心算练习
“心算练习”是一款口算、心算、速算的训练小程序。

适合小学
一至三年级和学龄前大班孩子使用。

bigjpg人工智能
简介:免费无损放大图片,普通用户支持放大四倍,有降噪功能。

形色
简介:拍照识花,识别植物,鉴定多肉,了解各种花花草草知识,还可以为你拍的植物生成一张美图,发到朋友圈一定赏心悦目。

超省日记
这款小程序是给广大购物人群量身定做的
大家习惯使用了天猫和淘宝买东西
在买东西的时候可以把要购买的链接复制到这个小程序查看是否有优惠券领取
如果买一个200块的东西,查到有50块的优惠券,就相当于花了150,还是很划算的
小程序签到和转发都会送积分,还可以免费领取话费哦!
斗图表情包神器 or 斗图法宝
简介:顾名思义就是收集表情包必备小程序,妈妈再也不用担心我没有表情包了
题多多黄金版,前一阵子直播答题真的是风靡一时,这款小程序每天都可以答题,而且无限制的,之前有很多钱,不过现在钱少了许
多,看排行榜每天还是有大神赚五六十块的。

提现满1元即可,秒到账。

如何添加小程序?
具体操作:
1、打开最新版本微信-发现-小程序
2、直接在搜索框中搜索就可以了,点击就进行了添加
3、近期使用的小程序会显示在列表里,不需要的长按删除即可。

四则运算计算器的微信小程序_2运算

四则运算计算器的微信小程序_2运算

四则运算计算器的微信⼩程序_2运算js⽂件:function isOperator(value) {var operatorString = '+-*/()×÷';return operatorString.indexOf(value) > -1;}function getPrioraty(value) {if(value == '-' || value == '+') {return 1;} else if(value == '*' || value == '/' || value == '×' || value == '÷' ) {return 2;} else{return 0;}}function prioraty(v1, v2) {return getPrioraty(v1) <= getPrioraty(v2);}function outputRpn(exp) {var inputStack = [];var outputStack = [];var outputQueue = [];var firstIsOperator = false;exp.replace(/\s/g,'');if(isOperator(exp[0])){exp = exp.substring(1);firstIsOperator = true;}for(var i = 0, max = exp.length; i < max; i++) {if(!isOperator(exp[i]) && !isOperator(exp[i-1]) && (i != 0)) {inputStack[inputStack.length-1] = inputStack[inputStack.length-1] + exp[i] + '';} else {inputStack.push(exp[i]);}}if(firstIsOperator) {inputStack[0] = -inputStack[0]}while(inputStack.length > 0) {var cur = inputStack.shift();if(isOperator(cur)) {if (cur == '(') {outputStack.push(cur);} else if (cur == ')') {var po = outputStack.pop();while(po != '(' && outputStack.length > 0) {outputQueue.push(po);po = outputStack.pop();}} else {while(prioraty(cur,outputStack[outputStack.length - 1]) && outputStack.length > 0) {outputQueue.push(outputStack.pop());}outputStack.push(cur)}} else {outputQueue.push(Number(cur));}}if(outputStack.length > 0){while (outputStack.length > 0) {outputQueue.push(outputStack.pop());}return outputQueue;}function calRpnExp(rpnArr) {var stack = [];for(var i = 0, max = rpnArr.length; i < max; i++) {if(!isOperator(rpnArr[i])) {stack.push(rpnArr[i]);} else {var num1 = stack.pop();var num2 = stack.pop();if(rpnArr[i] == '-') {var num = num2 - num1;} else if(rpnArr[i] == '+') {var num = num2 + num1;} else if(rpnArr[i] == '*' || rpnArr[i] == '×') {var num = num2 * num1;} else if(rpnArr[i] == '/' || rpnArr[i] == '÷') {var num = num2/num1;}stack.push(num);}}return stack[0];}function calCommonExp(exp) {var rpnArr = outputRpn(exp);return calRpnExp(rpnArr)}module.exports = {isOperator: isOperator,getPrioraty: getPrioraty,outputRpn: outputRpn,calRpnExp: calRpnExp,calCommonExp: calCommonExp}function formatTime(date) {var year = date.getFullYear()var month = date.getMonth() + 1var day = date.getDate()var hour = date.getHours()var minute = date.getMinutes()var second = date.getSeconds()return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':') }function formatNumber(n) {n = n.toString()return n[1] ? n : '0' + n}module.exports = {formatTime: formatTime}//index.js//获取应⽤实例var rpn = require("../../utils/rpn.js");var app = getApp()data: {id1:"back",id2:"clear",id3:"negative",id4:"+",id5:"9",id6:"8",id7:"7",id8:"-",id9:"6",id10:"5",id11:"4",id12:"×",id13:"3",id14:"2",id15:"1",id16:"÷",id17:"0",id18:".",id19:"history",id20:"=",screenData:"0",lastIsOperator: false,logs: []},//事件处理函数onLoad: function () {},onReady: function () {},onShow: function () {},onHide: function () {},onUpload: function () {},history: function () {wx.navigateTo({url:'../list/list'})},clickButton: function (event) {console.log(event);var data = this.data.screenData.toString();var id = event.target.id;if(id == this.data.id1) {if(data == 0){return;}console.log(data);console.log("data.substring(0,data.length-1)"+data.substring(0,data.length-1)); var data = data.substring(0,data.length-1);console.log(data);} else if(id == this.data.id2) {data = 0;} else if (id == this.data.id3) {var firstWord = data.substring(0,1);if(firstWord != '-'){data = '-' + data;} else {data = data.substring(1);}} else if (id == this.data.id20){if(data == 0) {return;}var lastWord = data.substring(data.length-1, data.length);if(isNaN(lastWord)) {return;}console.log("parseFloat(data)"+parseFloat(data));console.log("data"+data)if(parseFloat(data) == data){return;}var log = data;var data = rpn.calCommonExp(data);log = log + '=' +data;this.data.logs.push(log);wx.setStorageSync('callogs',this.data.logs)console.log(wx.getStorageSync('callogs'));} else {if(id == this.data.id4 || id == this.data.id8 || id == this.data.id12 || id == this.data.id16) { if(stIsOperator || data == 0) {return;}}if(data == 0) {data = id;} else {data = data + id}if(id == this.data.id4 || id == this.data.id8 || id == this.data.id12 || id == this.data.id16) { this.setData({lastIsOperator:true});} else {this.setData({lastIsOperator:false})}}this.setData({screenData:data})}})//获取应⽤实例var app = getApp()Page({data: {logs:[]},onLoad: function () {var logs =wx.getStorageSync('callogs');this.data.logs=logs;}})(原项⽬作者:忽如寄(简书)原⽂链接:https:///p/47c1a65009a7)。

随机加减法小程序

随机加减法小程序

C语言编写随机加减法小程序主要功能:1、可以自己设置加减法的范围。

2、可以控制题目的数量。

#include "stdio.h"#include "stdlib.h"#include "time.h"void main(){char again='y'; //again表示是否终止int count=0,option; //count存储输入无效数字的次数,option存储输入的菜单项int sum,cha,a,k,sm,m,right=0,wrong=0,num1,num2;while(again=='y'){ system("cls"); //清屏printf("请输入加减法的范围最大值:\n");scanf("%d",&k);printf("请输入总题数:\n");scanf("%d",&sm);printf("===========欢迎你进行%d以内加减法练习============\n",k);printf("=================================================\n");printf(" 1.加法练习\n");printf(" 2.减法练习\n");printf(" 3.退出\n");printf("=================================================\n");printf("请输入1或2或3,并按回车键进入:"); //显示欢迎界面scanf("%d",&option);//接受用户的选择switch(option){case 1: // 加法练习system("cls");//清屏printf("=================================================\n");printf(" 1.加法练习本次练习共计%d道题\n",sm);printf("=================================================\n");printf("\n");srand(time(0));for (a=1;a<=sm;a++)//控制总题数{num1=rand()%k;num2=rand()%k;printf("%d+%d=",num1,num2);scanf("%d",&sum);if (sum==(num1+num2))right++;//存储答对的题数elsewrong++;//存储答错的题数printf("\n");}printf("=================================================\n");printf("你算正确了%d次,错误了%d次。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

① 根据运动学物理规律有:
瞬时加速度: a = dv dt
② 为了研究运动规律,需要根据数据作出汽车的������ − ������图:
1
数值计算方法建模实例—汽车动力性能分析
瞬时速度-m/s
35
30
25
20
15
10
5
0
1
2ห้องสมุดไป่ตู้
3
4
5
6
时间/t-s
v − t 图示例
③ 设 v-t 的关系表达式为: vt = f (t) 则当 f ' (t0 ) = 0 时有速度的最值,取 vmax = max f (t0 ) :即可求得最大速度
def getResult(x,y,m): n=np.size(x); # x 数组元素个数 x1= np.array(x).reshape((n,1)); # 把 Python 的 List 转为列向量(数
组) A = x1**0; for i in range(1,m): A=np.hstack((A,x1**i)); x,resid,rank,s=linalg.lstsq(A,y); return x;
plt.plot(x1,f(x1),"r"); plt.show(); #显示一阶导函数对应的图像
plt.plot(x1,g(x1),"g"); plt.show(); #显示二阶导函数对应的图像
def fun2(a,b,e): x=(a+b)/2 k=0 n=f(x); if(f(a)*f(b)<0): while(f(x)!=0): if(f(x)*f(a)<0): z=f(x) b=x k=k+1 if(math.fabs(b-a)<e): break; else: x=(a+b)/2; continue; else: a=x; y=f(x) k=k+1; if(math.fabs(b-a)<e): break; else: x=(a+b)/2; continue; print("\n"); else: print("方程无解"); return x;
2
数值计算方法建模实例—汽车动力性能分析
采用 m 次多项式拟合 v − t 曲线,设拟合函数为:
m
f (t ) = ait j j=0
n
令 [ f (ti ) − vi ]2 取最小值: i =1
求得: a0 , a1, a2 , a3 am 可得到拟合函数:
f (t ) = a0 + a1t + a2t2 + a3t3 + + amtn
#定义 v-t 的二阶导函数表达式为 g(x)
def fun1(a,b): list1=[a]; k=a; for i in np.arange(a,b,0.2): j=i+0.3; if(f(k)*f(j)<0): list1.append(j); k=j; else: continue; return list1;
#定义 fun1(a,b)为确定 f(x)的有根区间函数
def fun3(a,b): list1=[a]; k=a; for i in np.arange(a,b,0.2): j=i+0.3; if(g(k)*g(j)<0): list1.append(j); k=j; else: continue; return list1;
#定义 f(x)对应的二分法求根函数
def fun4(a,b,e): x=(a+b)/2 k=0 n=g(x);
6
数值计算方法建模实例—汽车动力性能分析
if(g(a)*g(b)<0): while(g(x)!=0): if(g(x)*g(a)<0): z=g(x) b=x k=k+1 if(math.fabs(b-a)<e): break; else: x=(a+b)/2; continue; else: a=x; y=g(x) k=k+1; if(math.fabs(b-a)<e): break; else: x=(a+b)/2; continue; print("\n");
3.1 数值方法 .................................................... 2
3.2 最小二乘法拟合 v −t 曲线 ......................................2
3.3 二分法求多项式方程的解 ......................................3 3.4 程序代码 .................................................... 4 3.5 结果分析 .................................................... 8 4、结束语.......................................................... 11 5、参考文献........................................................ 11
对 f (t) 求导得:
a(t) = f ' (t)=a1 + 2a2t + 3a3t2 + 4a4t3 + + mamtm−1
对 f (t) 求二阶导得:
a' (t) = f '' (t)=1 2a2 + 23a3t + 3 4a4t2 + 45a5t3 + (m −1)mamtm−2
3.3 二分法求多项式方程的解
3.2 最小二乘法拟合 v − t 曲线
设矩阵 T= [ ������1 ������2 ⋯ ������������−1 ������������ ]������ 是时间 t 的数值构成的矩阵、矩阵 V= [ ������1 ������2 ⋯ ������������−1 ������������ ]������ 是对应速度 v 的数值构成的矩阵;
建模实例作业
材料科学与工程学院
数值计算方法建模实例—汽车动力性能分析
目录
1.问题概述.......................................................... 1 2. 数学建模.........................................................1 3. 模型解答.........................................................2
#定义最小二乘法系数矩阵函数
x0=np.array([1,1.2,1.7,2.2,2.6,2.8,3.1,3.5,4.1,4.5,4.7]); y0=np.array([5,8,14,21,29,33,35,30,27,25,22]); #x0 表示时间 t 的值的数组 #y0 表示瞬时速度 v 的数组
原始数据表如下:
瞬时速度/������������
������1
������2
������3

������������
时刻/������������
������1
������2
������3

������������
因此:我们需要从通过该数据获取汽车在该时间段的最大速度,与最大加
速度等数据,以便于进行动力性能评估;
m=np.size(x0); result=getResult(x0,y0,m); def h(x):
y=result[0]*(x**0); for i in range(1,m):
y=y+result[i]*(x**i); return y; #定义 v-t 函数表达式为 h(x)
def f(x): y=0;
4
数值计算方法建模实例—汽车动力性能分析
for i in range(1,m): y=y+i*result[i]*(x**(i-1));
return y; #定义 v-t 的一阶导函数表达式为 f(x)
def g(x): y=0; for i in range(2,m): y=y+i*(i-1)*result[i]*(x**(i-2)); return y;
[ak , bk ]
当 f '(a + b / 2) 0 迭代区间缩小为[a, a + b / 2] ,继续迭代,直到精度符合 要求即可得出解;
否则:迭代区间缩小为[a + b / 2,b] ,继续迭代,直到精度符合要求即可得 出解;
多次使用二分法即可得出所有区间的根: t0,t1,t2 tk
3
数值计算方法建模实例—汽车动力性能分析
为了更加方便快速解决这些问题,现在我们对该问题建立一个数学模型, 使用数值计算方法来解决这个模型问题。
2. 数学建模
假设试车场在一段测试道路上使用了若干个传感器来检测汽车行驶时的瞬
时速度:
每个速度传感器对应测出的速度为������1, ������2, ������3 ⋯ ������������,对应的时刻为:������1, ������2 ������3, ⋯ ������������;
最高车速——是指汽车在平坦良好的路面上行驶时所能达到的最高速度。 数值越大,动力性就越好。
汽车的加速时间——表示汽车的加速能力也形象的称为反映速度能力,它 对汽车的平均行驶车速有很大的影响,特别是轿车,对加速时间更为重要。常 用原地起步加速时间以及超车加速时间来表示。
相关文档
最新文档