程序设计之模式介绍和案例

Posted firstreed

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序设计之模式介绍和案例相关的知识,希望对你有一定的参考价值。

一、程序设计

1.1程序设计IPO模式

  • I:Input 程序的输入

  • P:Process 程序的主要逻辑

  • O:OutPut 程序的输出
    输入
    程序的输入包括:文件输入、网络输入、用户手工输入、随机数据输入、程序内部参数输入等。
    输入是一个程序的开始。
    输出
    程序的输出包括:屏幕显示输出、文件输出、网络输出、操作系统内部变量输出等。
    输出是一个程序展示运算成果的方式。
    处理
    程序对输入进行处理,输出产生结果。
    处理的方法也叫算法,是程序最重要的部分。可以说,算法是一个程序的主要灵魂。
    算法是一个程序的灵魂。

    死循环

    死循环它是没有输入输出的程序。

    技术图片

死循环也有价值,它通过不间断执行,快速消耗CPU的计算资源,可以用来测试CPU性能。

举个栗子:
小王最近准备要去美国旅行,但是对于去美国以后每天需要穿什么衣服表示很困惑。
因为到了美国以后,对于小王来说会遇到一个苦恼的问题:美国地区的温度采用华氏温度度量,而我们中国的公民更为习惯使用摄氏温度,因此,在美国无论天气预报还是空调调节,小王都很难习惯。同样,对于来中国旅游的美国游客,也有温度习惯不同带来的烦恼。那么这个困惑小王的问题能否用Python编程语言来实现转换功能呢?

1.2 理解问题的计算部分

问题的计算部分:指一个待解决问题中,可以用程序辅助完成的部分。

1.3 分析问题的计算部分

通过计算技术解决温度转换

  • 方法1: 根据两种温度的换算公式,写一个温度转换程序,由人为输入温度度数,程序将转换后的温度输出。
  • 方法2:网络上有类似的在线程序,写一个网络程序,由人为输入的温度发送到互联网上,获得转换结果后输出。
  • 方法3:写一个程序,可以通过GPS定位,获得使用者当前的位置,再通过网络获取当前位置的温度信息,自动进行转换(不需要使用者输入)。
  • 方法4:写一个程序,可以通过程序监听温度信息发布渠道,比如收音机、电视等,通过语音识别、图像识别等方法自动获得温度信息的数值,自动完成转换。

1.4 程序编写的步骤

分析问题:分析问题的计算部分;
确定问题:将计算部分划分为确定的IPO三部分;
设计算法:完成计算部分的核心方法;
编写程序:实现整个程序;
调试测试:使程序在各种情况下都能正确运行;
升级维护:使程序长期正确运行,适应需求的微小变化;

2、华氏温度与摄氏度的互相转换

2.1 需求分析

王二小最近准备要去美国旅行,但是对于去美国以后每天需要穿什么衣服表示很困惑。
因为到了美国以后,对于王二小来说会遇到一个苦恼的问题:美国地区的温度采用华氏温度度量,而我们中国的公民更为习惯使用摄氏温度,因此,在美国无论天气预报还是空调调节,小王都很难习惯。同样,对于来中国旅游的美国游客,也有温度习惯不同带来的烦恼。那么这个困惑王二小的问题能否用Python编程语言来实现转换功能呢?

2.2 IPO模式设计程序

根据程序设计IPO模式,简化以上问题程序设计思路:

  • 步骤一:确定IPO

  • 步骤二:编写程序

  • 步骤三:调试程序

2.3 程序设计具体步骤

  • 1、分析问题的计算部分
    采用公式转换方式解决计算问题;

  • 2、确定功能

    输入: 华氏或者摄氏温度值、温度标识

    处理:温度转换算法

    输出:华氏或者摄氏温度值、温度标识

    F表示华氏度,99F代表华氏99度。

    C表示摄氏度,88表示摄氏度88度

  • 3、设计算法

    根据华氏度和摄氏度温度定义,转换公式如下:
    C=(F-32)/1.8

    F=C*1.8+32

    其中,C代表摄氏温度,F表示华氏温度

  • 4、编写程序

#TempConvert.py
TempConvert=input("请输入带有符号的温度值:")
print('您输入的温度数值为'+ TempConvert)
if TempConvert[-1] in ['F','f']:
   C=(eval(TempConvert[0:-1])-32)/1.8
   print("转换后的的温度是{:.2f}C".format(C))
elif TempConvert[-1] in ['C','c']:
   F=1.8*eval(TempConvert[0:-1])+32
   print("转换后的温度是:{:.2f}".format(F))
else:
   print("输入格式有误")
  • 5、调试、运行程序

在系统命令上运行如下命令

python TempConvert.py

或者:使用IDE打开上述文件,按F5运行,输入数值,输出结果。

技术图片

以上是关于程序设计之模式介绍和案例的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之代理模式

设计模式之构造器和模板方法

设计模式之二:Builder模式

Processing介绍及几个python模式下的案例

Processing介绍及几个python模式下的案例

设计模式回顾系列之总体介绍