文档详情

Python语言程序设计(第二版) 课件 3-1 程序结构.pptx

发布:2025-04-26约1.77千字共16页下载文档
文本预览下载声明

Python程序设计结构

什么是程序设计?一个解决问题的程序主要描述两部分内容:描述问题中每个数据对象和数据对象之间的关系(数据结构)描述对这些数据对象进行操作的规则(算法)程序设计的任务:选择描述问题的数据结构,设计解决问题的算法(方法和步骤),再将算法用程序设计语言来描述。

算法计算机解决问题的方法和步骤,就是计算机解题的算法。算法具有如下基本特征:①有穷性(Finiteness)。②确定性(Definiteness)。③输入项(Input)。一个算法有0个或多个输入。④输出项(Output)。一个算法有一个或多个输出。⑤可行性(Effectiveness),也称有效性。

算法描述方法自然语言表示方法流程图表示方法(常用)伪代码N-S流程图UML(统一建模语言)

程序设计步骤一个程序包括数据输入、数据处理和数据输出三个步骤,其中输入、输出反映了程序的交互性,一般是一个程序必需的步骤,数据处理是指对数据要进行的操作与运算,根据解决的问题不同而需要使用不同的结构来实现。分析问题,确定数学模型或方法。设计算法,画出流程图。选择编程工具,按算法编写程序。调试程序,分析输出结果。

程序基本结构

——顺序、选择(或分支)、循环 ABA顺序结构条件BA选择结构TrueFalse条件FalseTrue循环结构

算法示例例1利用公式实现华氏温度到摄氏温度转换算法设计如下:1)输入华氏温度。用f表示华氏温度。2)代入公式,计算出对应的摄氏温度。用c表示摄氏温度。3)输出摄氏温度。思考:已经摄氏温度求华氏温度?如何实现不同温度互转?

算法示例例2求解两个正整数的最大公约数(欧几里得算法)的算法设计如下:①对于已知两个正整数a,b,使得ab;②以大数a作被除数,小数b作除数,a除以b得余数r;③若r≠0,a←b,b←r,继续执行步骤(2);④若r=0,则b即为所求的a与b的最大公约数,算法结束。

欧几里得算法流程图表示

顺序结构——代码按顺序依次执行例从键盘上输入一个3位正整数n,输出其逆序数m。例如输入n=123,则m=321。分析:程序分为以下三步。①输入一个三位数n②求其逆序数m③输出m思考:如何判断3位数?

顺序结构关键在第二步。分离各位、十位、百位数:设个位数存入a,十位数存入b,百位数存入c,则按m=100a+10b+c重新组合即可分离方法很多,其中之一可用取余数运算符“%”和整除运算符“//”实现,即: n%10可取出n的个位数; n=n//10去掉n的个位数,再用n%10取出原来n的十位数; n//100可以取出百位。

顺序结构程序如下:n=int(input(n=))a=n%10#分离个位b=n//10%10#分离十位c=n//100#分离百位m=100*a+10*b+cprint(n,的逆序数是,m)

顺序结构例求一元二次方程ax2+bx+c=0的实数根。(假设判别式=0)分析:1)输入系数a、b、c2)计算判别式值,按求根公式求实数根3)输出思考:如何把判别式判断也考虑进来?——程序完整性

顺序结构例求解“鸡兔同笼”问题。(我国古代数学问题)鸡兔同笼是中国古代的数学名题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有几只鸡和兔?分析:1)输入脚数f,头数h2)求解鸡和兔的只数(方法多样)3)输出鸡和兔的只数注意:变量的使用,以不变应万变

顺序结构程序如下:h=35f=94x=(4*h-f)/2y=h-xprint(鸡的个数位:,x,兔子的个数位:,y)

显示全部
相似文档