1、1代数思维与计算机解题代数思维与计算机解题教材第教材第3 3、4 4章章王瑀屏程序设计基础2练习练习1 1n完成一个计算器!3练习练习1 14练习练习1 1小结小结n好强大的计算器!这么快就能算出来,手算怎么也算不出来n好弱的计算器想计算不同的式子,还需要改程序n怎样让它更强大呢?变量!5练习练习2 2n输入角度a、b、c、d,计算下面的式子6练习练习2 2int main()初始化常量PI初始化a、b、c、d为0 输入整数a、b、c、d输出算式结果return 0;const double PI=3.14159;int a=0,b=0,c=0,d=0;cin a b c d;cout sin
2、(a)*cos(b)-cos(c)/tan(d)a b c d;cout sin(a)*cos(b)-cos(c)/tan(d)A B;cout A+B a b c d e f;a*x+b*y=c;d*x+e*y=f;cout x endl;cout y a b c d e f;int x=(c*e-b*f)/(a*e-b*d);int y=(a*f-c*d)/(a*e-b*d);cout x endl;cout y a b c d e f;double x=(c*e-b*f)/(a*e-b*d+0.0);double y=(a*f-c*d)/(a*e-b*d+0.0);cout x endl
3、;cout y n;sum=sum+i;cout sum n;cout “Y”;cout “N”;n%2 不等于 0 且 n%3 不等于 025关系运算符关系运算符意义意义写法写法混淆写法混淆写法小于小于小于等于小于等于=大于等于大于等于=等于等于=不等于不等于!=26逻辑运算符逻辑运算符意义意义写法写法混淆写法混淆写法a与与ba&ba&ba或或ba|ba|b非非a!aaa异或异或bN/Aa b27任务任务2 2int main()初始化n为0 输入整数n 如果n%2 不等于 0 且 n%3 不等于 0 输出“Y”否则 输出“N”return 0;int n=0;cin n;cout “Y”;
4、cout n;cout “Y”;cout n;if(n%2!=0)&(n%3!=0)cout“Y”endl;else cout“N”endl;return 0;31ifif语句语句n如果if之后、else之后的语句有多条怎么办?32复合语句复合语句 if(n%2!=0)&(n%3!=0)cout“Y”;cout endl;else cout“N”;cout endl;if(n%2!=0)&(n%3!=0)cout“Y”;/条件满足时执行 cout endl;/总是执行 else /找不到if,出错 cout“N”;cout endl;if(n%2!=0)&(n%3!=0)cout“Y”;cou
5、t endl;else cout“N”;cout endl;33ifif语句语句n如果if之后、else之后的语句中还有if、else怎么办?n遇到if时,认为是新的if语句开始n遇到else时,认为与最近的if语句对应34ifif语句语句if()if()else else if()else if()if()else if()else 错误!if()if()else if()else if()else if()else if()else 35任务任务3 3n输入两个数a、b,求一元方程ax+b=0的解,并输出36任务任务3 3int main()输入浮点数a、b 求解x=-b/a 输出x re
6、turn 0;37任务任务3 3int main()输入浮点数a、b 如果a等于0 如果b等于0 输出“解无穷多”否则 输出“无解”否则 求解x=-b/a 输出x return 0;cout 解无穷多 endl;cout 无解 endl;double x=-b/a;cout 解为 x a b;if(a=0)if(b=0)else else38任务任务3 3int main()double a=0.0,b=0.0;cin a b;if(a=0)if(b=0)cout 解无穷多 endl;else cout 无解 endl;else double x=-b/a;cout 解为 x endl;ret
7、urn 0;39任务任务4 4n输入一个分数,做如下判断90分及以上,输出“优”75分89分,输出“良”60分74分,输出“中”59分及以下,输出“差”40任务任务4 4int main()输入整数n 如果 n大于等于90 输出“优”否则 如果 n大于等于75 输出“良”否则 如果 n大于等于60 输出“中”否则 输出“差”return 0;cout 优 endl;cout 良 endl;cout 中 n;if(n=90)else if(n=75)cout 差=60)else 41任务任务4 4int main()int n=0;cin n;if(n=90)cout 优=75)cout 良=6
8、0)cout 中 endl;else cout 差 n;sum=sum+i;cout sum n;mul=mul*i;cout mul endl;/初始i为1,每次加1,到n结束for(int i=1;i n;for(int i=1;i=n;i+)mul=mul*i;cout mul n;cout mul endl;int i=1;while(i n;int i=1;while(i=n)mul=mul*i;i=i+1;cout mul n;cout n n;do if(n%2!=0)n=n*3+1;else n=n/2;cout n n;sum=sum+i;cout sum endl;/循环if(i%2!=0)&(i%3!=0)for(int i=1;i n;for(int i=1;i=n;i+)if(i%2!=0)&(i%3!=0)sum=sum+i;cout sum endl;return 0;59结束结束