一、实验目的

(1) 熟悉常用的详细设计表达工具
(2) 掌握利用visio等CASE工具设计程序流程图,NS图,PAD图的画法
(3) 掌握利用visual studio 等IDE完成实现代码的编写和调试

二、实验内容

从以下几个程序要求中任选其中的一个进行详细设计和编码实现。
1) 求一组数组中的最大数,数组表示为A(n),n=自然数1,2……。
2) 对输入的两个正整数a和b求其最大公约数,1<=a,b<=10000
3) 对输入的两个正整数a和b求其最小公倍数, 1<=a,b<=10000
4) 编程找出N以内的雷劈数。雷劈数的定义为:若正整数X的平方可以分割为二个数字,而这二个数字相加后恰等于X,那么X的平方就是(n进位下的)一个雷劈数,又称卡布列克数。例如55^2=3025,而30+25=55,那么3025就是一个雷劈数。10<=N<1000000

(1) 用visio画出该程序的程序流程图。PS:画程序流程图可以说是软件人员在进行程序设计时最通用最基本的技能,必须掌握。Visio中用“基本流程图”为模具绘制。
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
从visio中复制出该程序的程序流程图粘贴在下面:
求一组数组中的最大数,数组表示为A(n),n=自然数1,2……。
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
(2) 画出该程序的NS图。
说明:visio中没有专门的NS图,可以考虑用基本流程图结合前面学习过的自制模具来解决。
从visio中复制出该程序的程序流程图粘贴在下面:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
(3) 画出该程序的PAD图。
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客

求一组数组中的最大数,数组表示为A(n),n=自然数1,2……
在Code Block环境下编程
新建项目:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
选择C语言编写,项目名为test3:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
点击next构建完成:再test3项目下面有一个Sources文件夹,下面有一个main.c文件就是编程文件
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
编写代码:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
调试执行,观察max以及i的变化,最初max的值为第一个数组元素:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
循环执行10次之后,max = 18 ; i = 10,退出循环:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
更换测试数组数据:a[10]= {15,34,6,5,24,15,34,61,47,31}
运行结果:
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客
再次更换测试数组数据:
a[10]= {15,45,68,4556,154,6322,487,11354,1455,1234};
软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客软件工程NS图_软件工程软件结构图怎么画(腾讯软件中心)-风君雪科技博客