程序设计思维
程序是啥?
生活中的程序:
(1)宿舍报修:填写保修单→上报宿舍管理员→联系物业→找维修师傅上门维修→反馈。
(2)银行开户:客户填写开户申请单→提交证件资料→审核资料真实性(1是否是本人、资料真实齐全则通过;2其他人代办、有委托书、资料真实齐全则批准,不满足这些条件则拒绝)→录入系统开户→设置密码→发放卡、存折。
解决生活中问题的步骤(流程)描述。
计算机中的程序:
解决问题的不走描述,但用的是计算机语言描述
程序 | 执行者 | 描述语言 | 执行速度 |
生活中的程序 | 人 | 自然语言 | 相对慢 |
计算机中的程序 | 计算机 | 计算机语言(比如JS) | 非常快 |
当前最快的计算机是中国“神威·太湖之光”计算机系统
什么是编程?
根据业务需要,制定或编制解决问题的流程。编制程序的人应该是非常熟悉或精通业务。
如果编制计算机程序的要求:
(1)精通业务
(2)精通计算机语言
明确我们的学习内容和方向:
(1)解决问题的思路
(2)计算机语言
(3)思维方式的转变
重点是解决问题的思路,而思路和计算机语言是没有关系的。所以我们虽然学习的是JS,但更多更重要的又并不是JS的内容。
难点是思维方式的转变,也就是说从现在开始,需要站在计算机的角度去思考和描述问题。
案例:计算一个三位数的各位数字之和,比如415的各位之和就是4+1+5=10。
415→加工过程 →10
<script>
/*
* 解决问题的思路:
* (1)提示用户输入一个三位数,接收输入存放于num中
* (2)计算百位b100,除以100取整
* (3)计算十位b10,对100求余,除以10取整
* (4)计算个位b1,对10求余
* (5)计算b100+b10+b1
* (6)输出结果
* */
var num = 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);
</script>
通过这个案例,我们学到程序设计的套路:
(1)程序设计分为两个步骤:思路、编码
(2)思路可以使用自然语言、流程图等一切能描述清楚解决方案的形式来描述
(3)将思路翻译成对应的代码
案例:根据三角形的三边长计算三角形的面积
<script>
/*
* (1)获取三角形的三边长a、b、c
* (2)计算半周长s=(a+b+c)/2;
* (3)海伦公式计算面积area
* (4)输出结果
* */
var a = Number(prompt("请分别输入三角形的第一条边长"));
var b = Number(prompt("请分别输入三角形的第二条边长"));
var c = Number(prompt("请分别输入三角形的第三条边长"));
var s = (a+b+c)/2;//计算三角形的半周长
var area = Math.sqrt(s*(s - a)*(s - b)*(s - c));
alert(area);
</script>
注意:prompt()函数输入的是一个字符串类型,比方“345”,注意“345”和345的区别;如果你想输入345,那么应该强制转换,虽然JS有时会帮我们自动转换,但有时不靠谱。
案例:话费计算器,根据通话时长(单位为秒)计算话费,资费标准为0.5元/分钟。
<script>
/*
* (1)输入秒数
* (2)将秒数除以60向上取整
* (3)计算话费0.5*通话时间(分钟)
* (4)输出话费
* */
var second = Number(prompt("请输入通话时长(单位:秒)"));
var minute = Math.ceil(second/60);//按分钟收费,不满1分钟的部分按1分钟计费
var money = 0.5*minute;
alert("此次通话产生的话费"+money+"元");
</script>
选择结构
2.1选择结构基本概念
2.2if语句
If语句的套路:
(1)一个选择依据(条件)
(2)两个选项
它的规则是if括号后面的内容条件为真就执行if花括号后面的代码,不满足条件就执行else后面花括号中的代码。