西华师范大学 数学与信息学院 结构化程序设计(SP) 北京大学王选院士●清华大学潭浩强教授 没有GOTO语句 自顶向下、逐步求精 个入口一个出口 程序结构按功能划分 为模块化 自顶向下、逐步求 模块功能单一、简单 精的分解 模块由三种基本程序 主程序员组 结构组成 程序由函数、子程序 来实现 SP方法的基本思想是:把一个复杂问题的求解过程分 阶段进行,每个阶段处理的问题都控制在人们容易理解 和处理的范围内
"# $ Q i`#i`$ F ¡]G ¢£¤ ¥¦§¨©ª« 23456789 0:;*<=>? @AB @A<=CD6EC @AFGHIJ0 :;KL 0FMN6O0 PQR ¬®H¯(STDUV 8W0? XY .%ZXY[\ &]^_`abc\ d[\ efg
西华师范大学 数学与信息学院 三大基本程序结构 ●顺序结构的程序是按程序语句或模块 在执行流中的顺序逐个执行。 ●选择结构的程序是按设定的条件实现 程序执行流的多路分支。 ●循环结构的程序是按给定的条件重复 地执行指定的程序段或模块。 ●结论:理论上已经证明,用三种基本程 序结构可以实现任何复杂的算法
%& < (°Q±|} ²V ³´`²V => (°t/µ¶,- ²V ·¸]¹ -. (°º/µ¶»p 6²V)/¼±|} ?½¾¿ÀÁPÂî :ÄÅ,-ÆÇpq
西华师范大学 数学与信息学院 大基本结构示意图 ●顺序结构 ●循环结构|(当型循环) 模块(语句)A 条件?不成立 成立 模块(语句)B 语句序列 选择结构 成立 不成立 (直到型循环) 条件? 语句序列 语句序列1 语句序列2 成立 条件? 不成立
%&'() -:; hi:; jk:; jk:; !
西华师范大学 数学与信息学院 二、程序设计方法 ●自顶向下是将复杂、大的问题划分为小问 题,找出问题的关键、重点所在,然后用精确 的思维定性、定量地去描述问题 ●逐步求精是将现实世界的问题经抽象转化 为逻辑空间或求解空间的问题。复杂问题经抽 象化处理变为相对比较简单的问题。经若干步 抽象(精化)处理,最后到求解域中只是比较 简单的编程问题
*+ lUV6m >?n Zop qr6stu_Zvwx9 yz6{|}~ "#$% lRQ B +,8 UV B[\EC 9B[\Zw8 EC 0
西华师范大学 数学与信学1例21验证“哥德巴赫猜想” ●“哥德巴赫猜想”表述为:任何 个大于等于4的偶数均可以表验证哥德巴赫猜想 示为两个素数之和。 ●求解第一步提出问题 验证哥德巴赫猜想 X=4 ●第二步设一上限数M,验证 从4到M的所有偶数是否能被 X<M? 分解为两个素数之和。 是 1.定义一个变量X,初值为4。 验证x是否能被分解 为两个素数之和 2.每次令其加2,并验证X能否 被分解为两个素数之和,直到 X=X+2 X不小于M为止。 000
S¡¢ Dm£¤£ ¥N¦#' §¨©Nªd 8«D ¬p S ® «" ¯D°NZ® ± u¥N²=³ ?¨©Nªd D{Z´µ ¶·¸¹Zº®=² ³?¨©NªdZ» ¼n£½ "#$%&'() "#*+,-./ 012345 "#*+,-./ 012345 + *