




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机编程导论课件计算机编程导论课件计算机编程导论程序设计的3种基本结构(1)顺序结构(2)选择结构(3)循环结构顺序结构 是指程序流程按先后顺序执行,只有执行了前一步,才能执行后一步。例如火车在轨道上行驶,只有过了上一站点才能到达下一站点。 选择结构 又称分支结构,是指程序流程可以分几条路径执行。例如在一个十字路口处,可以选择向东、南、西、北几个方向行走。 循环结构 又称重复结构,是指程序流程重复执行某一段代码。例如万米跑,围着足球场跑道不停地跑,直到满足条件时(25圈)才停下来。计算机编程导论程序设计的3种基本结构(1)顺序结构(2)选择计算机编程导论语句A语句B顺序结构流程图条件判断语句
2、A真语句B假选择结构流程图条件判断循环体真假循环结构流程图3种基本结构的流程图计算机编程导论语句A语句B顺序结构条件判断语句A真语句B假选计算机编程导论4.1循环结构设计问题【问题4-1】用户输入一个列表,求出列表中所有正偶数之和。分析:由于不知道用户输入的具体数据及个数,因此需要在循环结构中进行判断和累加。计算机编程导论4.1循环结构设计问题【问题4-1】用户输入一计算机编程导论#ques4_1.pyli=input(请输入一个列表:)sum=0for x in li: if x0 and x%2=0: sum+=xprint sum=,sum程序输入及运行结果:请输入一个列表:2, 3,
3、4, -5, 6, 12sum= 24计算机编程导论#ques4_1.py计算机编程导论4.2 循环结构概述循环结构是一种重复执行的程序结构。实际应用中,常会碰到一些需要重复执行的步骤,如级数求和、统计报表等等。例如: (1)计算 1 + 2 + 3 + + 100,这是一个级数求和问题,需要重复执行100次,对100个数依次进行累加。 (2)假设1个班级中有n名同学,统计男同学和女同学各有多少名。该问题的求解需要重复执行n次,对每1个同学依次进行判断,同时统计男同学和女同学的人数。计算机编程导论4.2 循环结构概述循环结构是一种重复执行的程计算机编程导论4.2 循环结构概述(3)给定2个整数
4、,求它们的最大公约数和最小公倍数。例如:给定6和9,求最大公约数时,循环过程从6依次递减至1,当循环到3时,判断得6和9都能被3整除,于是终止循环,求得最大公约数是3.;求最小公倍数时,循环过程从9依次递增至54,当循环到18时,判断得18同时能被6和9整除,于是终止循环,求得最小公倍数是18。 Python提供了两种基本的循环结构语句while语句、for语句。计算机编程导论4.2 循环结构概述(3)给定2个整数,求它们计算机编程导论4.3 while语句while 表达式:循环体表达式循环体真(非零)假(零)while 表达式:循环体else:else子句计算机编程导论4.3 while语
5、句while 表达式:表计算机编程导论(1)while语句是一个条件循环语句,即首先计算表达式,根据表达式值的真、假来决定是否继续循环。 (2)while语句的语法与if语句类似,要使用缩进来分隔子句。(3)while语句的条件表达式不需要用括号括起来,但是表达式后面必须有冒号。(4)使用while语句编程通常会遇到两种题型,一种是循环次数事先确定的问题;一种是循环次数事先不确定的问题。说明:计算机编程导论(1)while语句是一个条件循环语句,即首先计算机编程导论4.3.1 while语句用于有限循环【分析】该问题使用循环结构解决,由于不确定用户即将输入几个正整数,因此属于不确定循环次数的问
6、题。【例4-1】编程从键盘输入若干正整数,求所有输入整数之和。当输入整数为负数时,结束该操作。计算机编程导论4.3.1 while语句用于有限循环【分析计算机编程导论#Exp4_1.pyprint 请输入若干正整数进行求和操作,当输入负数时结束: s = 0 x = input(请输入一个整数: )while x = 0: s = s + x x = input(请输入一个整数: )print 整数之和=, s程序:程序运行结果:请输入若干正整数进行求和操作,当输入负数时结束: 请输入一个整数: 10请输入一个整数: 20请输入一个整数: 30计算机编程导论#Exp4_1.py程序:程序运行结
7、果:计算机编程导论【例4-2】编程从键盘输入若干个字符,一边输入一边输出,当输入“#”字符时终止该操作。【分析】(1)本题使用循环结构解决,每次循环从键盘输入一个字符,直到输入为“#”字符时停止循环。(2)由于输入的字符个数无法确定,因此循环次数不确定。 是否计算机编程导论【例4-2】编程从键盘输入若干个字符,一边输入计算机编程导论a = raw_input(请输入字符,如果输入 # 号则结束输入操作: )while a != #: #判断输入的是否是井号print 您输入的字符是:, a #打印输入的字符#以下语句是再次输入一个新的字符a = raw_input(请输入字符,如果输入 # 号
8、则结束输入操作: )else:print 输入结束程序:提问:(1)循环结束后,变量 a 中的值是什么?(2)如果循环体中没有下面这条语句会怎么样?a = raw_input(请输入字符,如果输入 # 号则结束输入操作: )计算机编程导论a = raw_input(请输入字符,如计算机编程导论4.3.2 while语句解决确定循环次数的问题 确定循环次数的问题是指循环之前可以预知循环即将执行的次数,为了控制循环次数,通常在程序中设置一个计数变量,每次循环,该变量进行自增或自减操作,当变量值自增到大于设定的上限值或者自减到小于设定的下限值时,循环自动结束。计算机编程导论4.3.2 while语句
9、解决确定循环次计算机编程导论4.3.2 while语句解决确定循环次数的问题【例4-3】 编程计算1+2+3+100 的值。分析:本题使用循环结构解决,每循环一次累加一个整数值,整数的取值范围为1100。由于整数的范围是确定的,因此循环次数也是确定的。计算机编程导论4.3.2 while语句解决确定循环次计算机编程导论4.3.2 while语句解决确定循环次数的问题程序:#Exp4_3.pyi, s = 1, 0while i = 100 :s = s + ii += 1print 1+2+3+.+100 = , s框图:计算机编程导论4.3.2 while语句解决确定循环次计算机编程导论4.
10、3.2 while语句解决确定循环次数的问题分析:本题使用循环结构解决,每循环一次输出一个列表元素值,由于列表定义后,其长度是已知的,因此循环次数也是确定的。【例4-4】 编程依次输出列表中每个元素的值。计算机编程导论4.3.2 while语句解决确定循环次计算机编程导论4.3.2 while语句解决确定循环次数的问题程序:#Exp4_4.pya_list = a, b, mpilgrim, z, examplea_len = len(a_list)i = 0while i a_len: print 列表的第, i+1, 个元素是:, a_listi i += 1计算机编程导论4.3.2 wh
11、ile语句解决确定循环次计算机编程导论4.3.3 while语句用于无限循环当while语句的“表达式”永远不会为布尔假时,循环将永远不会结束,形成无限循环,也称死循环。使用while语句构成无限循环的格式通常为:while True:循环体可以在循环体内使用break语句强制结束死循环。计算机编程导论4.3.3 while语句用于无限循环当计算机编程导论【例4-5】使用无限循环的方法编程实现例4-2。a = input(请输入字符,如果输入 # 号则结束输入操作: )while True:print(您输入的字符是:, a)a = input(请输入字符,如果输入 # 号则结束输入操作: )
12、if a = #:break程序:计算机编程导论【例4-5】使用无限循环的方法编程实现例4-2计算机编程导论【例4-6】求以下表达式的值,其中n值从键盘输入。参考值:当n = 11时,s = 1.833333 。计算机编程导论【例4-6】求以下表达式的值,其中n值从键盘输计算机编程导论【分析】(1)以上问题属于数学中的级数求和问题,是使用循环结构解决的一类常见问题。(2)级数求和问题编程的重点在于通过观察表达式的规律,分析每次循环都要完成的事件。通常将这些事件进行局部分解,称为“通式”。 该题的通式有以下几个:(1)分母的通式:(2)变量i的通式:(3)当前项的通式:(4)求和的通式:mu =
13、 mu + ii = i + 1t = 1.0 / mus = s + t计算机编程导论【分析】该题的通式有以下几个:mu = mu 计算机编程导论i=1mu = 0s = 0.0n = input(请输入n值: ) #或用书上的代码while i = 1e-8:s = s + t zi = zi * imu = mu * ( 2 * i + 1)t = zi * 1.0 / mui += 1print PAI = , (2 * s)计算机编程导论程序:计算机编程导论【例4-8】求1 100之间能被7整除,但不能同时被5整除的所有整数 。【分析】(1)本题需要对1 100范围内的所有数一一进行
14、判断。(2)本题的循环次数确定是100次。 (3)在每次循环过程中需要用 if 语句进行条件判断。因此本题是循环嵌套选择的结构。计算机编程导论【例4-8】求1 100之间能被7整除,但计算机编程导论i = 1 # i 既是循环变量,同时又是被判断的数print(1100之间能被7整除,但不能同时被5整除的所有数是:)while i = 100: #判断循环是否结束 if i % 7 = 0 and i % 5 != 0: #判断本次的i是否满足条件 print i, t #打印满足条件的i i += 1 #每次循环 i 应自增程序:提问:请问语句“i += 1”可以和语句 “print i,
15、t ”对齐吗?计算机编程导论i = 1 # i 既是循环变量,同时又是计算机编程导论【例4-6】输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为153 = 13 + 53 + 33 。【分析】(1)本题需要对100 999范围内的所有数一一进行判断。(2)本题的变量 i 既是循环变量,同时也是被判断的数。(3)每次循环过程中需要用 if 语句进行条件判断。因此本题也是循环嵌套选择的结构。计算机编程导论【例4-6】输出“水仙花数”。所谓水仙花数是指计算机编程导论提问:变量 i 是一个三位整数,例如 i = 123(1)请写出分离 i 的百位数的表达式。(2)请写出分离 i 的十位数的表达式。(3)请写出分离 i 的个位数的表达式。i = 100print(所有的水仙花数是:)while i = 999: #判断循环是否结束
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司奖金活动策划方案
- 公司好新闻大赛活动方案
- 2025至2030年中国高压驱动芯片行业市场发展潜力及前景战略分析报告
- 2025至2030年中国雪场硬件设备行业市场现状分析及发展策略分析报告
- 2025至2030年中国锂电池硅碳负极材料行业竞争战略分析及投资前景规划报告
- 2025至2030年中国醒脑安神片行业运行动态及投资机会预测报告
- 2025至2030年中国配电开关控制设备制造行业市场行情动态及发展前景展望报告
- 2025至2030年中国视力训练仪行业市场现状分析及未来前景分析报告
- linux的面试题及答案
- 创意编导面试题及答案
- 初中八年级数学同步作业判断题练习1840道
- 2023年秋季国家开放大学-02154-数据库应用技术期末考试题带答案
- 中国工业清洗协会职业技能证考试(化学清洗)试题
- 山东省德州市宁津县房地产市场报告
- 苏州市五年级下学期期末数学试题题及答案
- CPK分析表的模板
- 《敬畏生命向阳而生》的主题班会
- 中华护理学会精神科专科护士理论考试试题
- 中职生职业生涯规划课件PPT
- 《和谐与梦想》作业设计
- 企业清产核资报表
评论
0/150
提交评论