Pascal循环结构的回顾上.ppt

上传人:sh****n 文档编号:8622322 上传时间:2020-03-30 格式:PPT 页数:17 大小:224.50KB
返回 下载 相关 举报
Pascal循环结构的回顾上.ppt_第1页
第1页 / 共17页
Pascal循环结构的回顾上.ppt_第2页
第2页 / 共17页
Pascal循环结构的回顾上.ppt_第3页
第3页 / 共17页
点击查看更多>>
资源描述
08年上学期基础班讲稿 第三讲循环结构回顾 上 for循环 程序设设计基础班 A班 08年上学期基础班讲稿 知识点回顾 在程序设计中我们是通过循环语句来实现程序的逻辑判规律性的重复运算功能 在本讲中我们将回顾循环结构的各种语法格式以及该结构在我们程序设计中的重要应用 在Pascal语言中 循环结构程序通常由三种的循环语句来实现 它们分别为FOR循环 当循环和直到循环 循环结构具体分成三种1 FOR循环结构 2 当型循环while条件do 3 直到型循环repeat until条件 通常将一组重复执行的语句称为循环体 而控制重复执行或终止执行由重复终止条件决定 因此 重复语句是由循环体及重复终止条件两部分组成 08年上学期基础班讲稿 循环应用总结 1 一般说来 用for循环比较简明 只要能用for循环 就尽量作用for循环 只在无法使用for循环时才用while循环和repeat until循环 而且while循环和repeat until循环是可以互相替代的 for循环在大多数场合也能用while和repeat until循环来代替 一般for循环用于有确定次数循环 而while和repeat until循环用于未确定循环次数的循环 OR循环 对于for循环有时也称为计数循环 一般只有于预先知道循环的次数的应用中2 当循环次数未知 只能根据某一条件来决定是否进行循环时 用while语句或repeat语句实现循环要更方便 while语句的形式为 whiledo 其意义为 当布尔表达式的值为true时 执行do后面的语句 3 用repeat until语句可以实现 直到型循环 repeat until语句的含义是 重复执行循环 直到指定的条件为真时为止 直到循环语句的一般形式 Repeat until 08年上学期基础班讲稿 循环结构的流程图 在实际应用中 会经常遇到许多有规律性的重复运算 这就需要掌握本章所介绍的循环结构程序设计 在Pascal语言中 循环结构程序通常由三种的循环语句来实现 它们分别为FOR循环 当循环和直到循环 通常将一组重复执行的语句称为循环体 而控制重复执行或终止执行由重复终止条件决定 因此 重复语句是由循环体及重复终止条件两部分组成 右图表示1 2 100的循环结构 I 100 NUM 0I 1 NUM NUM II i 1 Y N Num 0 Fori 1to100doNum num I 08年上学期基础班讲稿 一 for语句的一般格式 for todo 递增for downtodo EG 1 num 0 fori 1to10donum num I i从1递增到100 2 num 1 fori 10downto1donum num i i从10递减到1 其中for to downto和do是Pascal保留字 表达式1与表达式2的值也称为初值和终值 对于for循环有时也称为计数循环 因为我们用循环控制变量来控制循环体执行的次数 循环体执行的次数是 初值和终值之差的绝对值 1 08年上学期基础班讲稿 注意下面几点 1 循环控制变量必须为顺序型 可以是整型 字符型 布尔型 枚举型 子界型 不能为实型 如 forI 1 5to4 5dowrite I 是错误的 2 循环体可以是一个基本语句 也可以是一个复合语句 例2 forI 1tondobeginreadln x writeln x 1 end 3 循环控制变量不得在循环体内再被赋值 如下例是错误的 例3 forx 1to10dobeginx 2 x 1 writeln x end 4 如果在循环次数没有到就提前退出循环用BREAK 如果在程序中想终止程序用exit 08年上学期基础班讲稿 四 应用例一 例1 输出1 100之间的所有偶数 Programoushu input output vari integer beginfori 1to100do 用记数形循环来实现穷举1 100之间的偶数 ifimod2 0thenwrite i 5 end 思考 统计1到1000之间能够同时被3和7整除的数的个数 并计算他们的和 08年上学期基础班讲稿 例二 例2 求N 1 2 3 N 这里N不大于10 分析 程序要先输入N 然后从1累乘到N 程序如下 varn i integer i为循环变量 S longint s作为累乘器 beginwrite Entern readln n 输入n s 1 fori 2tondo 从2到n累乘到s中 s s i writeln n s 输出n 的值 end 思考 编程完成求输入的10个整数的积 08年上学期基础班讲稿 例3 判断任意一个输入的整数n是否为素数 分析 素数的定义 除了1和本身没有其他因数 样例程序一 从2到n 1依此判断是否存在n的因子 Varn k integer flag boolean Beginwrite pleaseinputn readln n flag false fork 2ton 1doifnmodk 0thenflag true ifflagthenwriteln n bushiyigesushu elsewriteln n shiyigesushu end 08年上学期基础班讲稿 程序二Varn k integer Beginwrite pleaseinputn readln n flag false fork 2ton 1doifnmodk 0thenbeginflag true break end ifflagthenwriteln n bushiyigesushu elsewriteln n shiyigesushu end 08年上学期基础班讲稿 程序三Varn k integer Beginwrite pleaseinputn readln n flag false fork 2toround sqrt n doifnmodk 0thenbeginflag true break end ifflagthenwriteln n bushiyigesushu elsewriteln n shiyigesushu end 08年上学期基础班讲稿 进一步输出1 1000中所有的素数 知识链接 循环的嵌套 当一个循环体本身也是一个循环结构 就构成了嵌套循环 内层的循环变量不能和外层的循环变量相同 也就是说 嵌套的各层循环应当使用不同的变量作为循环变量 如 fori 1to100dofork 1to100dofort 1to100do 语句 构成了一个三重循环 循环变量I k t的的取值过程如下表格 08年上学期基础班讲稿 08年上学期基础班讲稿 例如 以下FOR循环输出5行 每行输出10个星号 FORi 1to5DOBEGINFORj 1TO10DOWrite writeln END 利用循环嵌套写出例4程序 08年上学期基础班讲稿 例5 求两个整数a与b的最大公约数 vara b i t integer beginwrite a b readln a b ifa bthenbegin 比较A B的大小 如果a b那么交换两个数字 t a a b b t end fori bdownto1do 从B开始判断 每次减少一个 直到找到为止 if amodi 0 and bmodi 0 thenbeginwriteln i readln break 找到了最大公约数 强行退出循环 end end 在以后的学习中我们将继续学习解这个问题的其他算法 比如辗转相除法等 08年上学期基础班讲稿 让我们再深入一步 通过数学推倒我们可以证明设M为 A B 的最大公约数 N为 A B 的最小公倍数满足下面定理 M N A B请编写程序求两个整数a与b的最大公约数和最小公倍数 08年上学期基础班讲稿 练习题 1 求s 1 4 7 298的值 难度 2 编写一个评分程序 接受用户输入10个选手的得分 0 10分 然后去掉一个最高分和一个最低分 求出某选手的最后得分 平均分 3 编程找出四位数abcd满足下面的关系的数 ab cd ab cd abcd 4 有一种Fibonaccl数列0 1 1 2 4 7 其规律为第一 二 三个数为0 1 1 从第四个数起 各数为其前面3个数之和 要求输出此数列中前60个数
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!