扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
卡西欧计算器有很多种的,,每一种卡西欧计算器编程语言都大不一样,就比如卡西欧4800和卡西欧5800计算器,编程语句和关键字很多不一样的了,如果你问的仅仅是进入计算器编程界面的话,对于卡西欧5800计算器那就是:“MODESRTUP”——5号键,PROG——1号键,NEW——输入程序名称——选择程序模式(一般情况下都是在COMP模式下)——进入代码输入界面,输入程序代码再运行就行了。
创新互联主要从事做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务延吉,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
一、使用简单,最大的一个优点就是只要具有初中水平会运用数学公式对函数有一般的了解的人,能基本理解casio4x00的内装函数即可进行简单的编程。非常适合测量初学者和数学程序爱好者学习,也适合专业的测量人员的使用和能力提高。不像其它的专业一定要具有较高的专业技术水平才能进行电脑编程。
二、成本低廉,价格在400元左右。
三、携带方便,体积很小可随时放在口袋里随拿随用。casio系列较好的编程型号有casio4500(以下简称4500)、casio4800(以下简称4800),(好象近来还推出了一款casio4850)前者较内存小,只有1103个字节,能应付一些较为简单的公式计算和科学计算,但由于内存有限,对一些较复杂或子程序过多的程序就力不从心了,不能出色的完成测量任务。4800就比4500有较大的改进,4800内存达到的4500个字节,而且显示屏是4500的几倍大,能更准确的显示数据,内装函数字符一目了然。且具有简单的人机对话功能,出现了菜单子菜单。4800还在4500增加了啊佛加德罗常数、万有引力长常数、详见《操作说明书》。4800有很多很实用的功能如他有一个公式解答功能,其原理是用牛顿法解方程。
举个例子:有一方程式:a=2b-c求当a=2、c=5时的b值。将该方程式存入公式存贮器中,:先按按解答键“SOLVE”a输入2、c输入5,再按解答键“SOLVE”计算器就会显示:b=3.5。此项功能被称为自动解答功能。同时它也是非常实用的,在实际工作中通常要有一个经常使用的小公式,可借助它来完成。4800使用的程序语言可以算做简单的BASIC语言,有的命令如GOTO(转移到)、PAUSE(暂停)就与BASIC语言的一模一样。现在4800的程序语言来说说。其主要命令有:
1、=??条件转移成立符号,其用法相当于BASIC中的IF??THEN(假设语句相当于假如??然后,IF相当于条件??THEN相当于结果)语句
2、≠??条件转移不成立符号,其用法相当于BASIC中的IF??ELSE语句通常二者连用,相当于BASIC中的IF??THEN??ELSE语句(它的英语形式一般为ifa>bthenc>delseifb>athe??)
3、_??条件转移结束符号,与=和≠配合使用,放在条件语句最后面。
4、LbI??标记命令。用于将一段语句作转换标记。后可接字母、数字、符号,但不能超过两个字节,如不能用≥10的数字作行标,否则会出现出错信息。
5、Goto??(条件)转移命令。前面可加条件语句,与BASIC中的GOTO作用相同。通常与LbI一起用,如果所转移的行号无效,则会显示:GOERROR(详见说明书)出错信息
6、Dsz??减量循环命令。可减少未知数的数量。
7、Isz??增量循环命令。
8、Pause??暂停命令。后可接0~9之间的整数n,可使某一数据显示n/2秒钟,然后继续运行下面的程序。它被认为是一个语句。
9、Fixm??变量锁定命令。该命令能使其所有变量值(A~Z)均当成定数处理。当程序运行时,将不需要输入变数(“{}”内的变数除外),而是将存贮器中原有的数值来完成计算。
10、{}??变量输入命令。只程序在循环使用时经常发生改变的数字,如里程、和宽度。它的输入方式可以使很多种如{AB}{A,B}{AB}都可以。注意“{”和“}”必需成对输入。否则会出现SynERROR(详见说明书)出错信息。
11、=、≠、、
12、Prog??在正常情况是下打开程序的快捷键。在编程过程中是运行子程序命令,后接子程序名(一定要加引号,且要注意空格,否则会出现SynERROR(详见说明书)的出错信息。
13、↓??换行,只保留计算过程不显示计算结果。当不想对其换行时也可用:代替。
14、_??数据显示命令。该命令输入后会自动换行。保留计算过程并显示计算结果。有一条总原则即:①学会运用程序的语言,尽可能使程序变得简明扼要;我们编写程序应该尽可能地使程序变得简明扼要,能省略的要一定省略。烦琐的语句过多的字节只能使计算器的运算速度变慢没有任何好处,而且相当站用内存。学会节省字节和使用符号是相当重要的。尤其要灵活运用计算器语句因为它会使你更多的节省字节达到预期效果。比如下程序就灵活运用了Dsz(减量循环命令)。比如使其能输入10个数值,并计算10个数值的平均值。一般程序求10个数字的平均值需要有11个数字的提示符号。但学会灵活运用了Dsz(减量循环命令)那么只要有三个就可以了,这样就大大节省了字节的占用。例程序如下:
A=10
C=0
Lbi1
{B}
C=B+C
DszA
Goto1
C÷10
但要注意的是:如果你是初学者或你对程序的编程不熟练,首先一定要先按照你的思路把程序步骤一步一步的列好在确定它能正确的计算后在想办法对其进行精简修改,否则只会使程序出现过多的错误;②尽可能使程序所包含的子程序减少;子程序过多就会造成程序结构松散,有的计算器主程序需要三个或四子程序,过多的子程序只会引起程序之间紊乱、混淆。子程序过多对在使用时查找也比较麻烦。而且子程序过多如果其中某个环节出现错误很难发现其错误所在,在编写程序时要尽量的少编写子程序,即使要编写子程序时也要注意尤其在容易出错的地方要多加注意。有弊就有利如果你对子程序了解得多了那么可以几个主程序合用一个之程序也到到了要求的减少程序的字节使程序更简化。例程序如下:
CXCD
Lbi1Lbi1
Prog”V”Prog”V”
B=L-(K-S)_B=L+(K-S)_
Goto1Goto1
V
Y=√A2B2+B2X2÷A
③尽量少用或不使用扩充变数存贮器,如A[1]、A[2]等:使用扩充存贮器是一个利少弊多的做法。每扩充一个存贮器就要减少10个字节的容量,而每个扩充存贮器至少要占四个字节,比一个A~Z变量净增三个。有时你会觉得变量存贮器不够用。其实不尽然,一般程序变量数很少会超过26个,只是你不懂得去使用。一般来说,两个相对独立的程序步骤之间根本不需要考虑变量重复问题。针对某一个程序,只要不是固定变量({}内的变量),也就是那些通过计算出来的用于下一步计算的数值。我们就可以通过重复赋值来得到某些计算量。反正在下一轮循环中该量是变化的。明白了各种命令的含义和注意事项就可以编程了。举例有公式如下:
CX程序名称
Lbl0↓起始标记命令语句
QMNFJ↓数据输入语句(指公式循环运算时的不变量)
{KDE}↓数据输入语句(指公式循环运算时变量)
S=K—Q:G=F+J↓公式运算命令
X=M+ScosF↓公式运算命令
Y=M+SsinF↓公式运算命令
Prog”j”↓运行子程序命令
Goto0↓循环运算语句
J子程序名称
H=X+DcosG_公式运算、数据显示语
I=Y+DsinG_公式运算、数据显示语
T=X—EcosG_公式运算、数据显示语
U=Y—EsinG_公式运算、数据显示语
最后计算器状态设定语句是大家最容易忽视的。如果将单位进行预设那么计算器就会默认其使用单位在进行下一单位换算时要一定要进行单位转换,否者会使计算结果错误。在显示屏幕的左下角可以清楚地发现小提示符号:如D代表度为现在的缺省单位、R代表弧度为现在的缺省单位、G代表梯度为现在的缺省单位。
#includestdio.h
int main() {
double num1 = 0; //输入1
double num2 = 0; //输入2
char ch; //操作
double ret = 0; //结果 printf( "输入第一个数:" );
scanf( "%lf", num1 );
printf( "输入第二个数:" );
scanf( "%lf", num2 );
printf( "操作[+ - * /]:" );
getchar();
scanf( "%c", ch ); switch( ch ) {
case '+':
ret = num1 + num2;
break;
case '-':
ret = num1 - num2;
break;
case '*':
ret = num1 * num2;
break;
case '/':
ret = num1 / num2;
break;
default:
break;
}
printf( "结果:%.2lf\n", ret ); return 0;
} 写个简单易懂的,你操作计算器的步骤就是编写程序的思路呀
GO语言由Google公司开发,并于2009年开源,对比Java、Python、C等语言,GO尤其擅长并发编程,性能堪比C语言,开发效率比肩Python,被誉为21世纪的C语言。GO语言在云计算、大数据、微服务、高并发领域,应用非常广泛。BAT大厂正在把GO作为新项目开发的首选语言。
verilog是有加法器乘法器的。也直接识别 + - * / 符号。
module kjasdja(a,option,b,result);
input option,a,b;
output result;
always @(a,b,option)
begin
result_r=0; //结果寄存器清零
case(option)
+:result_r=a+b;
-:result_r=a-b;
*:result_r=a*b;
/:result_r=a/b;
assign result =result_r;
endmodule
大概算法就这样。写的仓促,语法可能有误。另外除法reg类型只能存储整数部分,小数通过移位操作实现,比较麻烦。比如3/5=0.6
做的时候先3=30,然后30/5=6,然后对6在数码管的显示进行调整就好。把6显示在小数点后面1位就好
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Calculator implements ActionListener{
private double data1=0.0,data2=0.0;
private String t_content;
boolean number=false;
short key=-1;//key用来标示用户所按下的按钮即加减乘除。key为0标示+,为1表示-,为2表示*,为3表示
short pkey=-1;//pkey的取值为-1--5,pkey为-1表示第一次按下=按钮,为5说明不是第一次按下=按钮,pkey为其他值0,1,2,3时分别代表+,-,*
Frame frame=new Frame("Calculator");//定义标题为Calculator的窗体
TextField textfield=new TextField(30);//定义计算器的输入
Button backspace=new Button("Backspace");//定义backspace,ce,c0按钮
Button ce=new Button("CE");
Button c0=new Button("C");
Panel p1=new Panel();//定义面板,其中backspace,ce,c0按钮和计算机兰textfeild放在面板p1中
Panel p2=new Panel();//其余按钮放在面板p2中,为GridLayout布局,4行5列
String names[]={"7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="};//定义界面上的按钮数组,即除去backspace,ce,c0按钮的所有按钮
Button bb[]=new Button[names.length];
public static void main(String[] args){
Calculator cal=new Calculator();//实例化Calculator对象
cal.go();
}//函数入口
public void go(){
frame.setSize(300,200);//设置窗体大小
frame.setLayout(new BorderLayout());//设置布局为边框布局
Font fonts=new Font("楷体_GB2312",Font.PLAIN,12);
//设置面板p1的字体和布局管理类型,将textfeild对象添加到面板中
p1.setFont(fonts);
p1.setLayout(new GridLayout(2,1,5,10));
textfield.setFont(fonts);
p1.add(textfield,null);
//backspace,ce,c0按钮注册addActionListener方法
backspace.addActionListener(this);
ce.addActionListener(this);
c0.addActionListener(this);
//将backspace,ce,c0按钮添加到p1面板中
p1.add(backspace,null);
p1.add(ce,null);
p1.add(c0,null);
p2.setLayout(new GridLayout(4,5,5,5));//设置面板p2的布局管理器类型为GridLayout
//为按钮组中的按钮注册addActionListener方法
for(int i=0;inames.length;i++){
bb[i]=new Button(names[i]);
p2.add(bb[i]);
bb[i].addActionListener(this);
}
//设置面板p1和面板p2在窗体中的位置//面板p1在窗体的North方向,面板p2在窗体的South方向
frame.add(p1,BorderLayout.NORTH);
frame.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
//当单击关闭按钮时退出系统
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent ae){
String s=ae.getActionCommand();//定义了一个Sting类的变量s,将getActionCommand方法得到的值传递给参数ae
//通过ActionEvent类的getActionCommand()方法,得出动作是由哪个按钮触发的。 //用户单击一次,计算栏里便去掉一个字符,先将计算栏里的字符清空,再添加除最好一个字符的字符串
if(s.equals("Backspace")number){
t_content=textfield.getText();
textfield.setText("");
for(int i=0;it_content.length()-1;i++){
char c=t_content.charAt(i);
textfield.setText(textfield.getText()+c);
}
}
//用户单击的是CE按钮,计算栏清空
if(s.equals("CE")){
textfield.setText("");
number=false;
}
//用户单击的是C按钮
if(s.equals("C")){
textfield.setText("");
data1=data2=0.0;
number=false;
}
//用户单击的是sqrt按钮,其中负数不能被开方
if(s.equals("sqrt")number){
t_content=textfield.getText();
if(t_content.charAt(0)=='-'){
textfield.setText("负数不能被开方");
number=false;
}else{
textfield.setText(Double.toString(java.lang.Math.sqrt(Double.parseDouble(t_content))));
}
}
//用户单击的是1/x求倒数按钮,求倒数时分母不能为0
if(s.equals("1/x") number){
t_content=textfield.getText();
if(t_content.equals("0")){
textfield.setText("零不能求倒数");
number=false;
}else{
textfield.setText(Double.toString(1/Double.parseDouble(t_content)));
}
}
//用户单击的是%按钮
if(s.equals("%")number){
if(data2==0){
t_content=textfield.getText();
textfield.setText(t_content);
}else{
boolean g=false;
for(int i=0;itextfield.getText().length();i++)
if('.'==textfield.getText().charAt(i)){
g=true;
break;
}
//如果是Double 数,除100
if(g=true){
double dtemp=Double.parseDouble(textfield.getText());
dtemp=dtemp/100.0;
textfield.setText(Double.toString(dtemp));
}
//如果是int数但能被100整除,则去掉末尾两个0
else{
if(Integer.parseInt(textfield.getText())%100==0){
int itemp=Integer.parseInt(textfield.getText());
itemp/=100;
textfield.setText(Integer.toString(itemp));
}
//如果是int数,但不能被100整除,则按Double数处理
else{
double dtemp=Double.parseDouble(textfield.getText());
dtemp=dtemp/100.0;
textfield.setText(Double.toString(dtemp));
}
}
}
}
//对正负数字的处理
if(s.equals("+/-")){
t_content=textfield.getText();
if(t_content.charAt(0)=='-'){
textfield.setText("");
String content;
for(int i=1;it_content.length();i++){
textfield.setText(textfield.getText()+t_content.charAt(i));
}
}else{
textfield.setText("-"+t_content);
}
}
//所按下的按钮为+按钮
if(s.equals("+")){
switch(pkey){
case 0:
data2+=Double.parseDouble(textfield.getText());
break;
case 1:
data2+=Double.parseDouble(textfield.getText());
break;
case 2:
data2+=Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=0;
textfield.setText("");
}
//第五页
//所按下的按钮为-按钮
if(s.equals("-")){
switch(pkey){
case 0:
data2+=Double.parseDouble(textfield.getText());
break;
case 1:
data2+=Double.parseDouble(textfield.getText());
break;
case 2:
data2+=Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=1;
textfield.setText("");
}
//所按下的按钮为*按钮
if(s.equals("*")){
switch(pkey){
case 0:
data2+=Double.parseDouble(textfield.getText());
break;
case 1:
data2+=Double.parseDouble(textfield.getText());
break;
case 2:
data2+=Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){ // 第六页
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=2;
textfield.setText("");
}
//所按下的按钮为/按钮
if(s.equals("/")){
switch(pkey){
case 0:
data2+=Double.parseDouble(textfield.getText());
break;
case 1:
data2+=Double.parseDouble(textfield.getText());
break;
case 2:
data2+=Double.parseDouble(textfield.getText());
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
default:
data2=Double.parseDouble(textfield.getText());
}
pkey=key=3;
textfield.setText("");
} //第七页
//所按下的按钮为=,求结果
if(s.equals("=")number){
//如果不是第一次按下=按钮
if(pkey==5){
switch(pkey){
case 0:
data2+=data1;
textfield.setText(Double.toString(data2));
break;
case 1:
data2-=data1;
textfield.setText(Double.toString(data2));
break;
case 2:
data2*=data1;
textfield.setText(Double.toString(data2));
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
data2/=data1;
textfield.setText(Double.toString(data2));
break;
}
}
}
//如果是第一次按下=按钮
else{
data1=Double.parseDouble(textfield.getText());
switch(key){
case 0:
key=-1;
data2+=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
case 1:
key=-1;
data2-=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2)); //第八页
break;
case 2:
key=-1;
data2*=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
case 3:
if(textfield.getText().equals("0")){
textfield.setText("除数不能为零");
number=false;
}else{
key=-1;
data2/=Double.parseDouble(textfield.getText());
textfield.setText(Double.toString(data2));
break;
}
}
}
pkey=5;
}
//按下的按钮时数字按钮
else{
switch(s.charAt(0)){
case'0':
case'1':
case'2':
case'3':
case'4':
case'5':
case'6':
case'7':
case'8':
case'9':
number=true;
textfield.setText(textfield.getText()+s);
break;
//对.的处理
case'.':
t_content=textfield.getText();
boolean g=false; //第九页
//对计算机栏中的数据进行检验
//如果其中有小数点,则用户单击该按钮时不在添加小数点
for(int i=0;it_content.length();i++){
if(t_content.charAt(i)=='.'){
g=true;
break;
}
}
//数据中已经有小数点
if(g==true)
break;
// 数据中没有小数点,当用户单击小数点时添加小数点
if(g==false)
textfield.setText(t_content+".");
}
}
}
private String Integer(String string) {
// TODO Auto-generated method stub
return null;
}
}
#includestdio.h
void main() { float x,y,z; char c;
scanf("%f%c%f",x,c,y);
switch ( c ) {
case '+': z=x+y; break;
case '-': z=x-y; break;
case '*': z=x*y; break;
case '/': z=( y==0 )?(0):(x/y); break;
default: z=0; break;
}
printf("%f%c%f=%f\n",x,c,y,z);
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流