您的当前位置:首页正文

文档实验八

2024-10-18 来源:威能网
第8章 程序设计基础

实验8-1 求两个正整数的最大公因数

1. 实验目的

(1)了解程序设计过程

(2)了解python语言的开发环境 (3)理解欧几里德算法 2. 实验任务与要求

(1) 将欧几里德算法编写成python语言的程序; (2) 将程序在python语言的平台上调试运行 (3) 了解python语言开发平台的使用方法; 3. 实验工具和方法

Windows7操作系统、python语言的开发环境 4. 实验步骤/操作指导

(1)单击“开始”→选中“python2.7”→选中“IDLE(python GUI)”单击,打开python语言程序开发平台,如下图8-1所示:

75

图8-1 选择运行python语言程序开发平台

(2)python语言程序开发平台界面如下图8-2所示:

图8-2 python语言程序开发平台界面

(3)单击菜单栏中的“File”,选择“New Window”单击,如下图8-3所示:

76

图8-3 New Window界面

(4)在图8-3中空白框中输入下面根据欧几里德算法编写成python语言的程序,输入完毕后单击“File”,选择“Save”,保存程序文件在你指定的目录下,假设程序名为p1.py,具体运行界面如图8-4所示:

m = int(raw_input('Please input the first positive integer: ')) n = int(raw_input('Please input the second positive integer: ')) if m < n:

m,n = n,m while n!=0: r = m % n m = n n = r print m

77

图8-4 输入程序及其保存程序运行界面

(5)在菜单栏中选择单击“Run”,选择“Run Module F5”,如下图8-5所示:

78

图8-5 选择运行程序界面

(6)在运行窗口中输入一个正整数78,回车,再输入另一个正整数24,回车,运行结果为6。如下图8-6所示:

图8-6 运行结果界面

5. 实验结果(实验报告要求) (1)画出算法流程图

(2)列出程序清单,并加以文字说明;

(3)任意输入两个正整数,采取截屏方式报告运行结果。

实验8-2 求二元一次方程组的根

1. 实验目的

(1)了解程序设计过程 (2)了解python语言平台 (3)设计二元一次方程组的算法 2. 实验任务与要求

本实验的具体任务和要求如下:

(1)设计求解求解二元一次方程组的算法

A1x + B1y= C1

A2x + B2y= C2

【解题方法】从以上两式可以求得:

x=

C1B2-C2B1AC-AC

y=1221

A1B2+A2B1A1B2+A2B1

设D=A1B2 + A2B1 Dx=C1B2 + C2B1 Dy =A1C2 + A2C1 ,则 x=

DxD y=y DD

79

(2)了解程序设计过程。

(3)了解编写具有选择结构的程序。 3. 实验工具和方法

Windows7操作系统、python语言的开发环境。 4. 实验步骤/操作指导

(1)按实验8-1前三步操作,打开python语言窗口 (2)输入下列程序,并保存: A1=float(raw_input('输入A1:')) B1=float(raw_input('输入B1:')) C1=float(raw_input('输入C1:')) A2=float(raw_input('输入A2:')) B2=float(raw_input('输入B2:')) C2=float(raw_input('输入C2:'))

D = A1 * B2 - A2 * B1 Dx = C1 * B2 - C2 * B1 Dy = A1 * C2 - A2 * C1

if D == 0 : print \"无解\"

elif Dx == 0 and Dy == 0 : print \"无穷多组解\" else:

print \"X=\

(3)运行测试程序 输入以下方程组的系数: 2x-3y=12 3x+7y=-5

将显示运算结果:

x=3 y=-2

若输入以下方程组的系数: 3x-4y=5 3x-4y=5

将显示运行结果:无解

80

5. 实验结果(实验报告要求) (1)总结实际做实验的具体步骤。 (2)列出程序清单,并加以文字说明。

(3)输入若干方程组数据,将求解的三种可能采取截屏方式报告运行结果。

实验8-3 计算开方值

1. 实验目的

(1)了解程序设计过程

(2)了解python语言的开发环境 (3)理解迭代算法 2. 实验任务与要求

(1)根据牛顿迭代公式求实数开方值 根据牛顿迭代公式:

假设计算:X牛顿迭代公式:XA

N1(XA/X)NN牛顿迭代公式结束条件为:|(XN+1-XN)/XN+1|<.٤。 的相对误差小于10-7(计算精度小数点后6位)。

(2)了解程序设计过程。

(3)了解编写具有选择结构和循环结构的程序。 3. 实验工具和方法

Windows7操作系统、python语言的开发环境。 4. 实验步骤/操作指导

(1)按实验8-1前三步操作,打开python语言窗口 (2)输入下列程序,并保存: x = float(raw_input('输入一个实数:')) x0 = 0.0 x1 = x if x >= 0.0: import math

while math.fabs((x0-x1)/x1)>=0.0000001: x0 = x1

2牛顿迭代方法只要思路是:循环求出一个数列X1,X2,……,XN,XN+1,直到XN与XN+1

81

x1 = (x0+x/x0)/2 y= x1 else: y= x if y < 0:

print \"负数\" , y , \"不能开方 !\" else:

print x , \"的开方值是\" , y

print \"库函数math.sqrt(x)=\(3)运行测试程序

输入正实数和负实数,验证程序的正确性。 5. 实验结果(实验报告要求) (1)总结实际做实验的具体步骤。 (2)列出程序清单,并加以文字说明。

(3)输入若干数据,将各种可能的开方值采取截屏方式报告运行结果。

实验8-4 数据选择排序方法

将教材中的选择排序程序调试运行。

实验8-5 数据折半查找方法

将教材中的折半查找程序调试运行。

实验8-6 凯撒尔数据加密方法

将教材中的凯撒尔数据加密程序调试运行。

实验练习题目

1、求一元二次方程的根。

2、根据三角形三条边求其面积。

3、求菲波那契数列第24项值,并将数列前24项数据求和。(菲波那契数列为0,1,1,2,3,5,8,……)

82

因篇幅问题不能全部显示,请点此查看更多更全内容