9057224

当前课程知识点:大学计算机基础 >  第六章 算法与程序设计 >  6-8 程序设计应用举例 >  6-8 程序设计应用举例

返回《大学计算机基础》慕课在线视频课程列表

6-8 程序设计应用举例在线视频

下一节:第六章 讲义

返回《大学计算机基础》慕课在线视频列表

6-8 程序设计应用举例课程教案、知识点、字幕

本节我们通过几个应用实例来说明

完整的程序设计

例一,编写程序

求任意两个正整数的最大公约数

求解该问题的算法

我们称为欧几里得算法

其算法描述我们已经在前面讲解过

基本思想是假设任意两个正整数为A和B

求最大公约数的步骤为

第1步比较A和B的大小

将较大的数设为A较小的数设为B第

2步

将A÷B得到的余数C.如果C为0

则最大公约数就是B.否则将B赋值给A

C赋值给B,重复进行第2步,第3步

对应此算法的源程序如下

在这里我们看到,第一行用#号开始为

单行注释

第2行,第3行

接收用户输入的任意两个正数

分别赋值给变量M和N

从第4行到第9行

是用一个if分支语句实现的一个

选择结构

如果M>=N我们将M赋值给A

N赋值给B.否则的话将N赋值给A

M赋值给B.其实现的结果就是将较大的

数存入变量A中较小的存入B中

第10行

我们将A除以B的余数赋值给变量r

第11行到第14行

是用一个while循环语句实现的辗转相除

当上面的余数R不等于0的时候

我们反复执行语句

将B赋值给A,R赋值给B,A除以B的余数

赋值给R.再翻回去

判断R是否等于0

直到R为0

整个while循环结束

此时输出变量B的值

用户输入的两个正数的最大公约数

这就是我们用Python语言编写的求任意

两个正整数的最大公约数的程序

程序的一次执行结果

如右图所示

假设我们从键盘输入的第1个正数为

36

第2个正数为8

执行之后输出36和8的最大公约数

是4

例2

编写程序求N的阶乘

求解此问题有两种方法

方法一

求N的阶乘可以等价为

求1×2×3

一直乘到N.此次重复做的就是一个

乘法操作

所以我们可以用循环语句来实现

方法2

N的阶乘可以看成为当N大于0的时候

N的阶乘等于N乘以N-1的阶乘

而求N-1的阶乘与

求N的阶乘是性质相同的

只是规模减小直到N等于0

0的阶乘等于1

像这种通过一个对象自身的结构来

描述或部分描述

该对象就称之为递归

所以我们也可以用递归来实现求N的

阶乘

对应以上两种求N的阶乘的方法

源程序如下图

同样我们看到从第3行到第7行

我们定义了一个函数fact1是��上述

的方法一

通过1×2×3

一直乘以N连乘的方法来实现的求N

的阶乘的方法

在这个函数当中

我们通过一个for循环语句来实现的

1到N的累积相乘

第9行到第13行

定义了第2个函数fact2

其是方法二的一个实现

通过if语句

分支语句

将求N的阶乘转化为先求N-1的阶乘

直到N等于0

递归返回

在第16行

我们将用户输入的求阶乘的数

赋值给变量M.第17行调用fact1来实现

求M的阶乘并输出

第18行调用函数fact2来求M的阶乘

这两种分别是我们用两个不同的方法

一个是累积相乘

一个是递归的方法来实现的求N的阶

乘的方法

程序的一次执行结果

如右图所示

假设我们输入的N的值等于3

分别用方法一和方法二

求出N的阶乘为6

例3

编写程序

计算阶乘的和.求解此程序的源程序

代码如下图所示

我们通过一个for循环语句来实现

累积相乘和相加

当N分别为3或者4的时候

运行的结果如图所示

假设我们输入的N的值为3

程序执行之后求的结果1的阶乘加

2的阶乘,一直加3的阶乘等于9

假设我们键盘输入N的值为4

则求出1的阶乘,加2的阶乘,加3的阶乘

加4的阶乘等于33

例四

例4要求先编写一个函数

实现汉诺塔金片的移动

然后再编写程序

输入汉诺塔上面金片的个数

调用上述编写的函数

输出金片移动的过程

首先我们看一下什么是汉诺塔金片的

移动

此为汉诺塔问题的一个初始模型

假设有ABC 3个时针

在A上插好了

由大到小的金片

要求一次只能移动一片金片

并且要保持始终小片

在大片的上面

要将所有的金片移到另外一个指针C上

我们需要编写程序来求出金片具体的

移动过程

下面是针对这一问题的具体的程序

实现

在第2行到第8行之间

我们通过一个递归函数来实现了金片

的移动

函数的作用是针对于N个金片

从A上指针上面借助于B指针

移动到C指针上面

当N大于1的时候

我们求解的问题转化为先求解

N减1个金片

借助于C指针

从A指针上面全部移动到B指针上面

然后把A指针上剩下的最后一个大的

金片放到C上面

下一步转化为求N减1个金片

从B指针上面借助于A指针

再移动到C指针上面

以此类推进行递归

直到N等于1的时候

直接将A上面的一个金片移动到

C上面

此为通过递归函数实现的金片的一个

移动

下面当输入一个具体的盘片数目的时候

我们可以通过调用上面定义的递归

函数来求解金片具体的移动过程

右边给出了一个例子

假设我们输入盘片的数目是三个

下面给出了三个金片

具体的移动过程

来实现汉诺塔金片的移动

本节我们简单的介绍了几个程序设计

的应用实例

谢谢观看

大学计算机基础课程列表:

第一章概述

-1-1 计算机的诞生

--1-1 计算机的诞生

--第一章 习题1

--计算机的诞生1

--计算机的诞生2

-1-2 计算机的分类

--1-2 计算机的分类

--第一章 习题2

--计算机的分类

-1-3 计算机的应用领域

--1-3 计算机的应用领域

--第一章 习题3

--计算机的应用领域1

--计算机的应用领域2

-1-4 计算机系统组成

--1-4 计算机系统组成

--第一章 习题4

--计算机系统组成1

--计算机系统组成2

-1-5 计算机思维的定义

--1-5 计算思维的定义

--第一章 习题5

--计算思维1

-1-6 计算思维的特点

--1-6 计算思维的特点

--第一章 习题6

--计算思维2

-1-7 计算思维的应用案例

--1-7 计算思维的应用案例

--第一章 习题7

--计算思维3

-第一章 章测试

-第一章 讲义

第二章 数据的表示与运算

-2-1 进位计数制表示方法

--2-1 进位计数制表示方法

--第二章 习题1

-2-2 进位计数制的相互转换

--2-2 进位计数制的相互转换

--第二章 习题2

--进位计数制2

-2-3 整数的表示方法

--2-3 整数的表示方法

--第二章 习题3

--整数的表示1

-2-4 浮点数表示方法

--2-4 浮点数表示方法

--第二章 习题4

--浮点数的表示1

-2-5 BCD格式表示法

--2-5 BCD格式表示法

--第二章 习题5

--BCD码

-2-6 算术运算

--2-6 算术运算

--第二章 习题6

-2-7 运算溢出及判断

--2-7 运算溢出及判断

--第二章 习题7

--运算的溢出

-2-8 逻辑运算

--2-8 逻辑运算

--第二章 习题8

--逻辑运算

-2-9 ASCII编码

--2-9 ASCII编码

--第二章 习题9

-2-10 Unicode编码

--2-10 Unicode编码

--第二章 习题10

--ASCII 和 Unicode编码

-2-11汉字编码

--2-11汉字编码

--第二章 习题11

--汉字编码

-2-12数据校验编码

--2-12数据校验编码

--第二章 习题12

--数据校验编码

-第二章 章测试

-第二章 讲义

-信息和数据

第三章 计算机硬件

-3-1中央处理器

--3-1中央处理器

--第三章 习题1

--中央处理器

-3-2 存储器

--3-2 存储器

--第三章 习题2

--存储器1

--存储器2

--存储器3

-3-3 总线和接口

--3-3 总线和接口

--第三章 习题3

--总线

-3-4 外部设备

--3-4 外部设备

--第三章 习题4

--外部设备

-3-5 冯.诺依曼体系结构

--3-5 冯.诺依曼体系结构

--第三章 习题5

--冯.诺依曼体系结构1

--冯诺依曼体系结构2

-3-6 计算机常用性能指标

--3-6 计算机常用性能指标

--第三章 习题6

--性能指标1

--性能指标2

-3-7嵌入式系统

--3-7 嵌入式系统

--第三章 习题7

--嵌入式系统

-3-8哈佛体系结构

--3-8哈佛体系结构

--第三章 习题8

--哈佛体系结构

-3-9 DSP简介

--3-9DSP简介

--第三章 习题9

--DSP

-3-10 虚拟台式计算机模拟器

--3-10 虚拟台式计算机模拟器

--虚拟桌面架构

-3-11 4位计算机模拟器

--3-11 4位计算机模拟器

-第三章 章测试

-第三章 讲义

第四章 计算机软件

-4-1计算机软件分类

--4-1计算机软件分类

--第四章 习题1

--软件分类

-4-2软件的工作模式

--4-2软件的工作模式

--第四章 习题2

--软件的工作模式

-4-3软件的安装方法

--4-3软件的安装方法

--第四章 习题3

--软件安装

-4-4计算机软件生命周期

--4-4计算机软件生命周期

--第四章 习题4

--生命周期1

--生命周期2

--生命周期3

--软件测试1

--软件测试2

-4-5计算机软件开发过程模型

--4-5计算机软件开发过程模型

--第四章 习题5

--软件开发过程模型1

--软件开发过程模型2

- 4-6 常用软件介绍-办公软件

--4-6 常用软件介绍-办公软件

--第四章 习题6

-办公软件实例1 文字处理软件

--办公软件实例1 文字处理软件

-办公软件实例2 电子表格软件

--办公软件实例2 电子表格软件

-办公软件实例3 演示文稿软件

--办公软件实例3 演示文稿软件

-4-7 常用软件介绍-多媒体创作软件

--4-7 常用软件介绍-多媒体创作软件

--第四章 习题7

-多媒体创作软件实例1 音频处理软件

--多媒体创作软件实例1 音频处理软件

-多媒体创作软件实例2 图像处理软件

--多媒体创作软件实例2 图像处理软件

-多媒体创作软件实例3 动画制作软件

--多媒体创作软件实例3 动画制作软件

-多媒体创作软件实例4 视频处理软件

--多媒体创作软件实例4 视频处理软件

-4-8 常用软件介绍-网页制作软件

--4-8 常用软件介绍-网页制作软件

--第四章 习题8

-第四章 章测试

-第四章 讲义

第五章 操作系统

-5-1 操作系统概述

--5-1 操作系统概述

--第五章 习题1

--操作系统

--操作系统分类

--操作系统管理

-5-2 Windows 7基本操作

--5-2 Windows 7基本操作

--第五章 习题2

--windows快捷键

-5-3 Windows 7文件管理

--5-3 Windows 7文件管理

--第五章 习题3

--windows文件后缀名

-5-4 Windows 7程序管理

--5-4 Windows 7程序管理

--第五章 习题4

-5-5 Windows 7系统安全

--5-5 Windows 7系统安全

--第五章 习题5

--操作系统安全

-5-6 Windows 7计算机管理

--5-6 Windows 7计算机管理

--第五章 习题6

-5-7 Dos命令

--5-7 Dos命令

--第五章 习题7

--dos

-5-8 Windows 7常用软件

--5-8 Windows 7常用软件

--第五章 习题8

-5-9 Linux操作系统

--5-9 Linux操作系统

--第五章 习题9

--Linux

-5-10 手机操作系统

--5-10 手机操作系统

--第五章 习题10

-5-11 虚拟机及Vmware介绍

--5-11 虚拟机及Vmware介绍

--第五章 习题11

--虚拟机

--虚拟机使用

-第五章 章测试

-第五章 讲义

第六章 算法与程序设计

-6-1 算法基础

--6-1 算法基础

--第六章 习题1

-6-2 程序设计语言分类

--6-2 程序设计语言分类

--第六章 习题2

-6-3 程序设计过程

--6-3 程序设计过程

--第六章 习题3

-6-4 程序设计方法

--6-4 程序设计方法

--第六章 习题4

-6-5 程序设计语言基本要素(一)

--6-5 程序设计语言基本要素(一)

--第六章 习题5

-6-6 程序设计语言基本要素(二)

--6-6 程序设计语言基本要素(二)

--第六章 习题6

-6-7 Python简介及编程环境配置

--6-7 Python简介及编程环境配置

--第六章 习题7

-6-8 程序设计应用举例

--6-8 程序设计应用举例

--第六章 习题8

-第六章 章测验

-第六章 讲义

第七章 数据库技术

-7-1 数据库技术概述

--7-1 数据库技术概述

--第七章 习题1

--信息和数据

-7-2 数据库管理系统

--7-2 数据库管理系统

--第七章 习题2

--数据库管理系统

-7-3 数据库系统的组成与功能

--7-3 数据库系统的组成与功能

--第七章 习题3

--独立性

--数据库系统分类

-7-4 关系模型的数据结构

--7-4 关系模型的数据结构

--第七章 习题4

--E-R图

--三级模式结构

-7-5 关系模型的数据操作及完整性约束

--7-5 关系模型的数据操作及完整性约束

--第七章 习题5

--关系模型

--数据库范式

--完整性约束

-7-6 Access数据库的建立

--7-6 Access数据库的建立

--第七章 习题6

--Access

-7-7 Access的数据查询

--7-7 Access的数据查询

--第七章 习题7

-第七章 章测试

-第七章 讲义

第八章 计算机网络

-8-1计算机网络概述

--8-1计算机网络概述

--第八章 习题1

--定义

-8-2网络分类

--8-2网络分类

--第八章 习题2

--分类

-8-3数据传输

--8-3数据传输

--第八章 习题3

--数据传输

-8-4网络拓扑结构

--8-4网络拓扑结构

--第八章 习题4

--网络拓扑结构

-8-5网络体系结构

--8-5网络体系结构

--第八章 习题5

--网络体系结构

-8-6网络互连

--8-6网络互连

--第八章 习题6

--网络互连

-8-7Internet基础:TCP╱IP协议结构

--8-7Internet基础:TCP╱IP协议结构

--第八章 习题7

--TCP/IP模型

--IP协议

-8-8Internet基础:IP地址

--8-8Internet基础:IP地址

--第八章 习题8

--IP地址

-8-9Internet基础:域名系统

--8-9Internet基础:域名系统

--第八章 习题9

--域名

-8-10Internet基础:Internet的基本服务

--8-10Internet基础:Internet的基本服务

--第八章 习题10

--Internet

-8-11Internet基础:Internet的接入

--8-11Internet基础:Internet的接入

--第八章 习题11

--Internet接入

-第八章 章测试

-第八章 讲义

第九章 信息安全

-9-1信息安全的基本概念

--9-1信息安全的基本概念

--第九章 习题1

--信息安全的CIA

--攻击与防御

-9-2 密码技术及应用

--9-2 密码技术及应用

--第九章 习题2

--对称加密与非对称加密

--数字签名

-9-3防火墙技术

--9-3防火墙技术

--第九章 习题3

--防火墙的分类

--防火墙的基本特性

-9-4恶意软件

--9-4恶意软件

--第九章 习题4

--恶意软件类型

--分布式拒绝服务攻击

-9-5入侵检测技术

--9-5入侵检测技术

--第九章 习题5

--入侵检测概念原理

--入侵检测分类

-第九章 章测试

-第九章 讲义

第十章 IT前沿技术

-10-1 云计算

--10-1 云计算

--第十章 习题1

-10-2大数据

--10-2大数据

--第十章 习题2

-10-3物联网

--10-3物联网

--第十章 习题3

-10-4机器学习

--10-4机器学习

--第十章 习题4

-10-5人工智能

--10-5人工智能

--第十章 习题5

-10-6物联网应用

--10-6物联网应用

-第十章 章测验

-第十章 讲义

实验教程 1 计算机组装

-1-0 准备步骤

--1-0 准备步骤

-1-1 台式机组装

--1-1 台式机组装

-1-2 笔记本电脑组装

--1-2 笔记本电脑组装

实验教程 3 文字处理

-3-1 启动和退出Word

--启动和退出Word

-3-2 创建、编辑和保存Word文档

--创建、编辑和保存Word文档

-3-3 封面的制作

--封面的制作-1

--封面的制作-2

--封面的制作-3

--封面的制作-4

-3-4 长文档编辑

--长文档编辑

-3-5 页面插入与目录

--页面插入与目录-1

--页面插入与目录-2

-3-6 页眉页脚与页码

--页眉页脚与页码-1

--页眉页脚与页码-2

-3-7 完成文档

--完成文档与打印预览

实验教程 4 电子表格

-4-1 创建和编辑Excel表格

--4-1 创建和编辑Excel表格

-4-2 简单公式和函数

--4-2 简单公式和函数

-4-3 插入图表

--4-3 插入图表

-4-4 电子表格中数据的管理

--4-4 电子表格中数据的管理

实验教程 5 演示文稿

-5-1 创建演示文稿与添加幻灯片

--5-1 创建演示文稿与添加幻灯片

-5-2 编辑演示文稿

--5-2 编辑演示文稿

-5-3 设置演示文稿外观

--5-3 设置演示文稿外观

-5-4 交互式演示文稿的设置

--5-4 交互式演示文稿的设置

-5-5 设置演示文稿动画和音乐

--5-5 设置演示文稿动画和音乐

-5-6 演示文稿放映

--5-6 演示文稿放映

实验教程 6 图像处理

-6-1 图像的修饰

--6-1 图像的修饰

-6-2 淡黄色的记忆

--6-2 淡黄色的记忆

-6-3 心形贺卡

--6-3 心形贺卡

-6-4 燃烧字

--6-4 燃烧字

-6-5 闻味的小狗狗

--6-5 闻味的小狗狗

-6-6 换脸

--6-6 换脸

实验教程 7 动画制作

-7-1 逐帧动画的制作

--7-1 逐帧动画的制作

-7-2 动作补间动画的制作

--7-2 动作补间动画的制作

-7-3 形状补间动画的制作

--7-3 形状补间动画的制作

实验教程 8 网页制作

-8-1 网站制作前期工作

--8-1 网站制作前期工作

-8-2 在Dreamweaver中建立和管理站点

--8-2 在Dreamweaver中建立和管理站点

-8-3设计制作网站主页

--8-3 设计制作网站主页

-8-4 制作网站导航栏

--8-4 制作网站导航栏

-8-5 修饰美化页面

--8-5 修饰美化页面

-8-6 填写页面内容

--8-6 填写页面内容

-8-7 设计制作次级页面并建立链接

--8-7 设计制作次级页面并建立链接

实验教程 9 程序设计

-9-1 Python的下载

--9-1 Python的下载

-9-2 Python的安装

--9-2 Python的安装

-9-3 IDLE的使用

--9-3 IDLE的使用

-9-4 求矩形的周长和面积

--9-4 求矩形的周长和面积

-9-5 求三角形的面积

--9-5 求三角形的面积

-9-6 求素数

--9-6 求素数

实验教程 10 Access数据库系统

-10-1 数据库的建立

--10-1 数据库的建立

-10-2 SQL的应用

--10-2 SQL的应用

实验教程 11 计算机网络

-11-1 Packet Tracer简介及下载方法

--11-1 Packet Tracer简介及下载方法

-11-2 有线网络的组网与配置

--11-2 有线网络的组网与配置

-11-3 无线网络的组网及无线路由配置

--11-3 无线网络的组网及无线路由配置

实验教程 12 无线网络安全配置

-12 无线网络安全配置

--12 无线网络安全配置

6-8 程序设计应用举例笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。