程序设计思维

程序设计思维
程序是啥?
生活中的程序:
(1)宿舍报修:填写报修单→上报宿舍管理员→联系物业→找维修师傅→上门维修→反馈
(2)银行开户:客户填写开户申请单→提交证件资料→审核资料(1.本人、资料齐全2.其他人代办、有委托书、资料真实齐全则通过,否则不满足这些条件则拒绝)→录入系统开户→设置密码→发放卡、存折。
解决生活中问题的步骤(流程)描述 。
计算机程序:
解决问题的步骤描述,用的是计算机语言描述
程序 执行者 描述语言 执行速度
生活中的程序 自然语言 相对慢
计算机中的程序 计算机 计算机语言(比如JS) 非常快
最快的计算机:
神威·太湖之光超级计算机安装了40960个中国自主研发的“申威26010”众核处理器,该众核处理器采用64位自主申威指令系统,峰值性能为12.5亿亿次/秒,持续性能为9.3亿亿次/秒。
什么是编程?
根据业务需要,制定或者编制解决问题的流程编制程序的人应该非常熟悉或者精通业务的人
面试题:CSS 选择符有哪些,以及写法
如果编制计算机程序要求:
(1)精通业务
(2)精通计算机语言
明确我们的学习内容和方向:
1)解决问题的思路
2)计算机语言
3)思维方式的转变
重点是解决问题的思路,而思路和计算机语言是没有关系的。
所以虽然我们学习的是JS,但更多更重要的又并不是JS的内容。也就是我们解决问题的思路
难点是思维方式的转变,也就是从现在开始,需要站在计算机的角度去思考和描述问题。
计算一个三位数的各位数字之和,比如415的各位之和就是4+1+5=10
415→ 加工过程 → 10
解决问题思路
*(1)提示并结束用户输入一个三位数,存放于num中
*(2)计算百位b100 ,除以100取整
*(3)计算十位b10 ,对100求余 ,除以10取整
*(4)计算个位b1  , 对10求余
*(5)计算b100+b10+b1
*(7)输出结果
var num = Number(prompt("请输入一个三位数"));
var  b100 = Math.floor(num/100);
var  b10 = Math.floor((num%100)/10);
var  b1 = num%10;
var  sum = b100 + b10 + b1;
alert(sum);
输入112得出4
通过这个案例,我们学到如下程序设计的套路:
1)程序设计分两个步骤:思路、编码
2)思路可以使用自然语言、流程图等一切能描述清楚解决方案的形式来进行描述
3)根据思路,翻译成相对应的代码
案例:根据三角形的三边之长计算三角形的面积
海伦公式:
    /*
    * 提示并且接收输入三角形的三边长:a,b,c
    * 判断两边之长大于第三边如果是走下一步,如果不是则停止
    *利用周长公式p =(a+b+c)/2得出三角形周长
    * 根据海伦公式  s = Math.sqrt(p * (p - a) * ( p - b)*(p -c));
    * 得到结果并输出
     * */
var a = Number(prompt("请输入三角形边长"));
var b = Number(prompt("请输入三角形边长"));
var c = Number(prompt("请输入三角形边长"));
if(a+b <= c | a+c <= b | b+c <= a) {
    alert("不是三角形")
}else{
    p = (a+b+c)/2;
    s = Math.sqrt(p * (p - a) * ( p - b)*(p -c));
}
   alert("三角形面积"+s)
prompt函数输入的数据是字符串类型,比方“345”注意“345”和345的区别:
如果你想输入345,那么应该强制转换,虽然js有时会帮我们自动转换,但有时不靠谱
案例:话费计时器,根据时长(单位为秒)计算话费,资费标准为0.5元/分钟
/*
* 提示用户输入通话时长秒数
* 把通话时长除以60然后向上取整得出分钟minute
* 在把minute乘以0.5
* 得出结果并且输出
* */
var  second = Number(prompt("请输入通话时长秒数"));
var  minute = Math.ceil(second / 60);//按分钟收费,不满一分钟的部分按一分钟收费
  price = minute * 0.5;
alert("此次通话产生" + price + "元");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值