程序控制结构是指以某种顺序执行的一系列动作,用于解决某个问题。理论和实践证明,无论多复杂的算法均可通过顺序、选择、循环3种基本控制结构构造出来。每种结构仅有一个入口和出口。由这3种基本结构组成的多层嵌套程序称为结构化程序。
二、结构化程序设计(一)结构化基本原则1、自顶向下- 程序设计时,应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化。
- 逐步求精是人类解决复杂问题时采用的基本方法,也是许多软件工程技术的基础。将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。在每个阶段有不同的规则和标准,产生出不同阶段的文档资料。
- 一个复杂问题,肯定是由若干稍简单的问题构成。模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
- 在程序比较简单是用goto语句是比较灵活,但是当程序比较复杂时很容易造成程序流程的混乱。利用goto语句对以后的后别人看程序是很难理解。调试程序的过程也会变得很困难。
- 注意:C语言和Java语言保留了goto关键字,而Python语言没有goto关键字。
1、顺序结构(Sequence Structure)2、选择结构(Selection Structure)3、循环结构(Loop Structure)(1)前测试条件循环
- 前测试条件循环:先检票后上车(有可能一次循环操作也不执行)
(2)后测试条件循环
- 后测试条件循环:先上车后检票(无论如何至少要执行一次循环操作)
- 注意:C语言和Java语言提供了前测试和后测试循环结构,但是Python语言只有前测试循环结构
有一个入口和一个出口,按从上向下依的顺序执行各语句。
(一)顺序结构示意图(二)顺序结构案例演示任务1、计算三角形面积
- 利用海伦公式计算三角形面积
- 编写程序 - 计算三角形面积.py
# -*- coding: utf-8 -*-
"""
功能:计算三角形面积
"""
from math import sqrt
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
p = (a b c) / 2
area = sqrt(p * (p - a) * (p - b) * (p - c))
print('area = {:.2f}'.format(area))
运行程序,查看结果
任务2、求解一元二次方程
- 编写程序 - 求解一元二次方程.py
# -*- coding: utf-8 -*-
"""
功能:求解一元二次方程
"""
from math import sqrt
a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
delta = b**2 - 4 * a * c
x1 = (-b sqrt(delta)) / (2 * a)
x2 = (-b - sqrt(delta)) / (2 * a)
print('x1 = {}\nx2 = {}'.format(x1, x2))
运行程序,查看结果
再运行程序,查看结果
(三)顺序结构小结
- 顺序结构很简单,按照语句书写次序,依次从上往下执行。上述两个案例,大家可以看到,遇到不能求解的情形,就会抛出一个错误(ValueError……),那并不是我们想要的结果。
- 我们需要事先对能否求解进行判断,如果能求解,那么我们就计算给出结果;如果不能求解,我们就给出相应提示,告诉用户不能求解,这样处理,对用户比较友好。怎么根据情况不同来执行不同的操作呢?这就是我们下一讲的内容——选择结构。
最后,小编想说:我是一名python开发工程师,整理了一套最新的python系统学习教程,想要这些资料的可以关注私信小编“01”即可(免费分享哦)希望能对你有所帮助
,