1.程序设计基本方法
1.1 计算机的概念
计算机是根据指令操作数据的设备
具有特性:功能性,可编程性
- 功能性:对数据的操作,表现为数据计算输入输出处理和结果存储等
- 可编程性:根据一系列的指令自动地,可预测地,准确的完成操作者的意图
1.2 计算机的发展
计算机的发展参照摩尔定律,表现为指数方式
摩尔定律是由英特尔(Intel)创始人之一戈登·摩尔(Gordon Moore)在1965年提出的,它描述了半导体芯片上晶体管数量的增长趋势,即每18到24个月,晶体管的数量会增加一倍,同时性能也会提升一倍,价格则相应下降一半。
1.3 程序设计语言
程序设计语言,亦称编程语言,是一种用于人交互(交流)的人造语言。
2.编程与解释
2.1 编程语言的执行方式
计算机执行源程序的两种方式:编译和解释
- 源代码:采用某种编程语言编写的计算机程序,人类可读。如:sum = 1 + 2
- 目标代码:计算机可直接执行,人类不可读(专家除外),如11010100 01011010
2.2 编译与解释
编译:将源代码一次性转化为目标代码的过程(编译器 compiler)
解释:将源代码逐条转换为目标代码,同时逐条运行的过程(解释器 interpreter)
两者对比:
- 编译:一次性翻译,之后不再需要源代码(类似于英文翻译)
- 解释:每次程序运行时随翻译随执行(类似于同声传译)
2.3 静态语言与脚本语言
根据执行方式不同,编程语言分为两类:
- 静态语言:使用编译执行的编程语言,如c/c++语言,java语言
- 脚本语言:使用解释执行的编程语言,如python语言,JavaScript语言,php语言
对比:
- 静态语言:一次性生成目标代码,优化更充分,程序运行速度更快
- 脚本语言:执行程序时需要源代码,维护更加灵活,源代码在维护灵活,跨多个操作系统平台
3.程序基本编写方法
3.1 基本编写方法
IPO方法
I input输入,程序的输入
P process处理,程序的主要逻辑
O output输出,程序点输出
详细解释:
- I:输入数据是程序的起点。输入数据可以通过各种方式获得,例如从用户输入、文件读取等
- P:处理是程序对输入数据进行计算产生输出结果的过程。处理方法统称为算法。
- O:输出是程序展示运算结果的方式。例如控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。
3.2 编程解决问题的步骤
具体步骤:
- 分析问题:分析问题的计算部分,想清楚
- 划分边界:划分问题的功能边界,规划IPO
- 设计算法:设计问题的求解算法,关注算法
- 编写程序:编写问题的计算程序,编程序
- 调试测试:调试程序使正常运行,运行调试
- 升级维护:适应问题的升级维护,更新完善
精简步骤:
- 确定IPO:明确计算部分及功能边界
- 编写程序:将计算求解的设计变成现实
- 调试程序:确保程序按照正确逻辑能够正确运行
4.python语言概述
4.1 python基本概述
Python(译为蟒蛇)是一种解释型、面向对象、动态数据类型的高级程序设计语言,由Guido van Rossum于1989年创建,并首次发布于1991年。
4.2 python下载及环境搭建
python官方环境:python解释器+IDLE开发环境(轻量级,功能丰富)
- 具体下载步骤及环境搭建可见:Python 环境搭建 | 菜鸟教程
4.2 python两种编程方式
- 交互式:对每个输入语句即时运行结果,适合语法学习
文件式:批量执行一组语句并运行结果,编程的主要方式
- 实例:
不用python IDE开发工具,仅用python解释器
交互式:在python安装路径打开交互式python解释器或者win+R输入python进入交互式python解释器,依次输入python代码
文件式:win+R输入cmd进入命令行界面,cd命令切换到包含.py的目录下,输入python 文件名.py运行(可以先在.txt文件下编写程序后更改文件后缀为.py)
(1)圆面积的计算
交互式:
(2)同切圆的绘制
文件式:切到所在目录,输入python tongqieyuan.py(代码中添加turtle.done()可使完成绘图后不退出绘制窗口)
5.实例1温度转换
温度的刻画的两种不同体系
摄氏度:以1标准大气压下的水的结冰点为0度,沸点为100度,将温度进行等分刻画
华氏度:以1标准大气压下的水的结冰点为32度,沸点为212度,将温度进行等分刻画
- 需求: ①摄氏度转换为华氏度②华氏度转换为华氏度
- 问题分析:
理解1 直接将温度值进行转换[简单]
理解2 将温度信息发布的声音或图像形式进行理解和转换(用程序去处理获取到的声音或图像等不同的输入格式,用程序进行转换并输出)[进阶1]
理解3 监控温度信息发布渠道,实时获取并转换温度值(可以使用程序自动的监控会爬取网上温度信息发布渠道,并且通过程序进行实时转化,并可视化呈现出)[进阶2]
①若采用理解1
温度数值需标明温度体系,即摄氏度或华氏度转换后也需给出温度体系
我们根据编程解决问题的步骤来进行分析:
确定IPO(划分边界):
输入 带华氏或摄氏标志的温度值
处理 根据温度标志选择适当的温度转换算法
输出 带摄氏或华氏标志的温度值
输入输出格式设计:标识放在温度后,F表示华氏度,C摄氏度,例:88F表示华氏88度,26C表示摄氏26度(可变)
设计算法:根据华氏和摄氏温度定义,利用转换公式如下:
C=(F-32)/1.8 F=C*1.8+32
- 编程:
TempStr = input("请输入带有符号的温度值")
if TempStr[-1] in ['F', 'f']:
C = (eval(TempStr[0:-1]) - 32) / 1.8
print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['C', 'c']:
F = 1.8*(eval(TempStr[0:-1])) + 32
else:
print("输入的格式错误")
输出:
请输入带有符号的温度值55F
转换后的温度是12.78C
- 列表的切片:list[起始:结束:步长],列表从0开始,不取结束值,步长:每几个取一个,代码中就是去最后一个元素,后续会详细说明
- eval(表达式):用于执行一个字符串表达式并返回表达式的值,将字符串还原为数字类型
- format格式化数字:{:.保留几位小数f}.format(参数),format还有其他作用后续会详细说明
输入输出的改变:
- 标识改变为在温度数值之前:C88,F26(把if TempStr[-1] in ['F', 'f']:改为if TempStr[0] in ['F', 'f']:,eval(TempStr[0:-1])变为eval(TempStr[1:-1]))
- 标识字符改变为多个字符:99CE,28f,同理改即可