第三章:算法与程序设计语言(2-3课时)20200522
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
下列问题不能用算法描述的是() 1. 求一元二次方程的两个实数解 2. 计算某班英语平均分 3. 求方程y=2x+的所有整数解 4. 已知圆锥的底面半径和高,求表面积的体积
下列流程图中能描述循环结构的是()
不属于计算机程序设计语言的是() A、高级语言B、自然语言 C、汇编语言D、机器语言
不属于程序基本结构的是() A、选择结构 B、循环结构 C、顺序结构 D、树形结构
.......九九重阳数,十全十美数
所谓水仙花数,是指一个三位数,其各位数字的立方和等于该数本身
计算机解决问题的过程
水仙花数 : 153,370,371,407 153=1^3+5^3+3^3
分析 问题
分析问题的需求情况、已知条件和需要解决的问题 用数学语言描述实际问题,构建数学模型 ✓ 100≤n≤999 ; a,b,c ; n=a^3+b^3+c^3
05 一名农夫要将一只狼、一只羊和一袋白菜运到河对岸,但农夫的船可很行小,性每:次只每能个载计下农算夫步本人骤和都狼在及羊有,限或者时农间夫与内白完菜成,但是,他不
能把羊和白菜留在岸边,因为羊会吃掉白菜;也不能把狼和羊留在岸边,因为狼会吃掉羊,那么,农夫如何将这三样东西送过河?
算法的描述
1 自然语言
设计 算法
给出解决问题的详细方法和步骤 ✓ 一个一个试,遍历,穷举法或枚举法
编写 程序
选择一种程序语言工具来编写程序
调试 运行 程序
出错:编写程序时与语法规则不一致 出错:程序中有逻辑或计算方法等错误 云淡风轻、气定神闲的感觉 每一位码农都是在修改错误的过程中成长的
备注:教材P69-70 “//”表示整除 “%”表示求余 “**”表示幂运算 “==”表示等于 “=”表示直接赋值 print()输出函数 P72
• 顺序结构表示程序中的各步操作按出现的先后顺序执行。 • 选择结构表示程序的处理步骤出现了分支,需要根据某一特定的
条件选择其中的一个分支执行(单选泽、双选择、多选择)。 • 循环结构表示程序反复执行某个或某些操作,直到判断条件为假
(或为真)时才可终止循环。
计算机程序设计语言:是指一组用来定义计算机程序的语法规则,简称编程语言。
操作(指出计算机应做什么)
它是第一代计算机语言被操作的对象(指出处理的数据或它的地址) 它是由0和1组成的二进制代码指令组
编译型语言和解释型语言
.C
编译型语言和解释型语言的比较表 编译型
语言
C C++ Delphi Pascal
.obj
STEP
语言种类
优势
.exe
不足
编译型语言 执行速度快,消耗的内存少
美比丑好,明比涩强。 简胜于繁,繁强于难。 平言莫绕,宜疏莫密。 行文如水,易懂为王。 勿提特例,皆循此规。 实虽胜纯,识错必究。 若需留证,亦要言明。 不明其理,追根问底。 必有一法,可解谜题。 汝非龟叔,求之故难。 立足当下,行必有方。 行难言喻,所思欠妥。 行易言表,所思可嘉。 名正易识,善莫大焉!
任务二:在一个风雨交加的夜里, 从某水库闸房到防洪指挥部的电话线路发生了故障, 这是一条10 km长的线路,如何迅速查出故障所在? 如果沿着线路一小段一小段查找,困难很多, 每查一点要爬一次电线杆子, 10 km长,大约有200多根电线杆子呢! 想一想,维修线路的师傅怎样工作最合理?
(提示:这里藏着一个经典的算法)
就是用人们日常所用的语言, 如汉语、英语等来描述算法。
2 流程图
3 伪代码
for n in range (100,1000): a=n//100 b=(n%100)//10 c=n%10 if n==a**3+b**3+c**3: 输出
算法的描述 任何复杂的算法,我们都可以通过顺序结构、 选择结构和循环结构的组合来完成。
Python的魅力
人工智能、大数据、云计算、神经网络、科学计算等方面的首选编程语言
简单
开源软件
01
02
源自文库
免费 Python之父:吉多,荷兰的 计算机程序员 很 多 人 都 为 python 的 完 善做出了贡献
跨平台 不同平台的解释器
03
04
可扩展性 可以嵌入c或c++等
Python之禅
Python 之禅 Tim Peters 著
• 关于算法的描述,下列选项中正确的是( )
1. 算法的每一步骤必须有确切的含义 2. 算法必须有输入 3. 算法的步骤可以是无穷的 4. 算法本身就是一种程序设计语言 5. 同一种算法只能用一种程序语言实现 6. 算法就是数值计算的方法 7. 描述算法的方法只有流程图 8. 算法是描述解决问题的方法和步骤 9. 算法的描述方法有:机器语言、流程图、伪代码 10. 一个算法可以没有输入 11. 一个算法,当没有输入时,也没有输出 12. 一个有效的算法至少要有一个或多个输入
算法
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。 算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。-----P48
请指出下列是算法的选项是()
01
有穷性:计算步骤是有限的(一个算法在执行有穷步后必须结束)
A、如何制作“土豆烧牛肉”的菜谱?死循环
B、说明书中0安2 装无线路由器确 棱定 两的性 可步: 的每情骤一况个。步骤必须有确切的定义,不能出现模
算C、法的一特个征一元二0次3 方程的求解数 算据 对步输 象骤入 的: 初一 始个 情算 况法 (必0个须输有入0个是或算多法个本数身据给输出入了,初以始刻条画件运)
D、早起刷牙的步骤
04
数据输出:一个算法有一个或多个数据输出,以反映
E、农夫与羊、狼和白菜渡河对 义输 的问入 。题数 ?据 无加 功工 而后 返的结束,没有输出的算法是毫无意
难写,代码大,平台依赖 性,松散的安全性
解释型语言
解释型
语言
极佳调试支持,易实现,平台独立性, 高度安全性,代码小 Java Basic PHP Python
占用内存、CPU更多,速 度慢
编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
小结
课堂任务
任务一:打开IDLE,输入import this,欣赏python之禅
03
高级语言
02
汇编语言
01
机器语言
高级 语言 9+8
Fortran、C 、 C++ 、 VC 、 VB ,Pascal、Delphi、Java、Python
更接近于数学语言和人的自然语言,且不再过渡地依赖某种 特定的机器和环境
汇编 语言 9+8
人们使用了助记符 指令码和操作数都采用符号形式
机器 语言 9+8
高一 信息技术
算法与程序设计语言
2019级信息技术学科组 疫情开学第一课
目录
Contents
体验计算机解决问题的过程 算法及其描述 计算机程序设计语言
问题:请输出所有的“水仙花数”
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
一位自幂数:独身数 两位自幂数:没有 三位自幂数:水仙花数 ,153,370,371,407 四位自幂数:四叶玫瑰数,1634,8208,9474 五位自幂数:五角星数,54748,92727,93084 六位自幂数:六合数,548834 七位自幂数:北斗七星数,1741725,4210818,9800817,9926315 八位自幂数:八仙数,24678050,24678051,8859347