2.8程序设计思维
程序是啥
宿舍报修:填写报修→上报宿舍管理员→联系物业→找维修工→上门维修→反馈
银行开户:客户填写开户申请单→提交证件资料→审核资料的真实性(本人资料真实齐全通过。其他人代办,有委托书,资料真实齐全通过。不满足拒绝通过)→录入系统开户→设置密码→发放卡、存折
程序是解决生活中问题的步骤(流程)描述
计算机中的程序
解决问题的步骤描述,但用的是计算机语音描述
程序 | 执行人 | 描述语言 | 执行速度 |
生活中的程序 | 人 | 自然语言 | 相对慢 |
计算机中的程序 | 计算机 | 计算机语言 | 非常快(十兆次每秒) |
什么是编程
根据业务需求,制定或编制解决问题的流程,编制程序的应该是非常熟悉或精通业务的人
如果编制计算机程序
需要精通业务、精通计算机语言
明确我们的学习方向
解决问题的思路
计算机语言
思维方式的转变
重点是解决问题的思路,而思路和计算机语言是没有关系的。所以我们学习的是js,但更重要的又不是js的内容
难点是思维方式的转变,要从现在开始,需要站在计算机的角度去思考和描述问题
计算一个三位数的各位数之和
解决问题的思路:
提示用户输入一个三位数
接收输入存放于num中
计算百位b100,除于100取整
计算十位b10,对100求余,除于10取整
计算个位b1,对10求余
计算b100+b10+b1
输出结果
var num = prompt("请输入一个三位数") var b100 = Math.floor(num/100); var b10 = Math.floor((num%100)/10); var b1 = num%10; alert(b100+b10+b1);
通过这个案例,学会 程序设计的套路
程序设计分为两个步骤:思路,编码
思路可以使用自然语言、流程图等一切能描述清楚解决方案的形式来描述
将思路翻译成对应的代码
Math.floor函数
计算成整数
根据三角形的三边之长,计算三角形的面积
三边长a、b、c
提示用户输入三边长
接收输入存放a、b、c
计算三角形是否成立
a+b>c
a+c>b
b+c>a
计算三角形半周长s,(a+b+c)/2
计算三角形面积√s*(s-a)*(s-b)*(s-c)
var a = Number(prompt("请输入第一条边长")); var b = Number(prompt("请输入第二条边长")); var c = Number(prompt("请输入第三条边长")); var s = (a+b+c)/2;/*计算周长的一半*/ var p = Math.sqrt(s*(s-a)*(s-b)*(s-c));/*海伦公式计算面积*/ alert(p);
prompt函数输入的是字符串类型
Number函数强制转换成数字类型
话费计算器,根据通话时长(单位为秒)计算话费,资费为0.5元/分钟
输入通话时长(秒)sec,强制转换Number
计算通话分钟min
sec/60
Math.floor按分钟收费,不满1分钟部分按1分钟收费向上取整
计算话费0.5*min
输出结果
<script> var sec = Number(prompt("输入通话时长(秒)")); var min = Math.ceil(sec/60);/*按分钟收费,不满1分钟部分按1分钟收费*/ alert("此次通话话费"+min*0.5+"元"); </script>