高中信息技术 奥林匹克信息学竞赛班进阶篇 pascal-02 循环语句课件.ppt

上传人:xt****7 文档编号:2945397 上传时间:2019-12-05 格式:PPT 页数:16 大小:314.50KB
返回 下载 相关 举报
高中信息技术 奥林匹克信息学竞赛班进阶篇 pascal-02 循环语句课件.ppt_第1页
第1页 / 共16页
高中信息技术 奥林匹克信息学竞赛班进阶篇 pascal-02 循环语句课件.ppt_第2页
第2页 / 共16页
高中信息技术 奥林匹克信息学竞赛班进阶篇 pascal-02 循环语句课件.ppt_第3页
第3页 / 共16页
点击查看更多>>
资源描述
PASCAL基本语句,For 语句,循环语句,(1)for 语句,s := 0; s置初值0 for i := 1 to 100 do s := s + i ; writeln(s=,s); 输出累加和s,For 语句,for 语句,s := 0; for i := 100 downto 1 do s := s + i ; writeln(s=,s);,For 语句,for 语句注意事项,控制变量不能为real型,for语句的步长是一定的,不要在循环体内改 变循环控制变量,如: for k := 1 to 100 do begin k := 3; 循环体中改变了循环变量k的值 end,For 语句,for 语句注意事项,for语句执行完,控制变量无定义, 因此for语句的后续语句不能认为控制变量的值是终值而加以利用。,当初值超过终值时,不执行循环,循环次数为0。,例1:换零钱,例:换零钱 把一张一元钞票换成一分、二分和五分的硬币(每种至少一枚),问有哪几种换法?,分析 采用穷举法解决: 令五分钱硬币的个数为k,k的取值范围为119 ; 二分钱硬币的个数为j,j的取值范围为149 ; 一分钱硬币的个数则为100k5j2 ; n为计数器,累计兑换方案的总数。 这样利用二重循环就可以得到每一种组合。,例1:换零钱,program s100; var i , j , k , n : integer; begin n := 0; 计数器n清0 for k := 1 to 19 do 五分硬币的个数 for j := 1 to 49 do begin 二分硬币的个数 i := 100k * 5j * 2 ; 一分硬币的个数 if i 1 then begin 想想:为什么要加这一判断 writeln ( 1 fen: , i , 2 fen:, j , 5 fen: , k ); n := n + 1; 计数器加1 end; if end; writeln ( total = , n ); end.,For 语句,for 语句嵌套,打印 * 阵,while 语句,While语句,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,输出: 1 4 7 10 13 16 ,while 语句,不小心出现死循环怎么办? 按Ctrl+Break强制中断程序运行。,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,注意防止死循环,循环体中必须有修改WHILE后面的循环终止条件操作,while 语句,例:求最大公约数,辗转相除法,如果 x可以被 y 整除(即 x mod y=0),则 y 为 x 和y 的最大公约数; 否则,设 z为x除以y的余数( z:=x mod y),再设 x:=y; y:=z; 看x可以被 y 整除,若能整除,则y为x 和y 的最大公约数; 否则,继续辗转相除下去,while 语句,例:求最大公约数,辗转相除法,例如: x=24 y=15 x y z,24 15 = 1 9,15 9 = 1 6, 6 = 1 3,6 3 = 2 0,while 语句,例:求最大公约数,辗转相除法,var a, b, c : longint ; begin readln(a,b); while a mod b0 do begin c:=a mod b; a:=b; b:=c; end; writeln(b); end.,repeat 语句,repeatuntil语句,repeat 语句,repeatuntil语句,var i : longint; begin i:=1; while i50 do begin writeln ( i ); i:=i+3; end; end.,var i : longint; begin i:=1; repeat writeln ( i ); i:=i+3; until i=50; end.,repeat 语句,试商法判断质数,输入一个大于1的整数N,若为质数,输出T,否则输出F。,var x,i: integer; f : boolean; begin readln(x); f:=true; i:=2; if x2 then repeat if x mod i=0 then f:=false; i:=i+1; until (isqrt(x) or (f=false); if f=true then writeln(T) else writeln(F); end.,i能否被x整除,没必要从2检测到n-1,x=a*b (a=b),24=2*12 =3*8 =4*6,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 高中资料


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

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


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