展开全部

回答即可62616964757a686964616fe59b9ee7ad9431333361303561得2分经验值第三章 循环程序在编程中经常遇到需要多次规律相同的重复处理,这就是循环问题。Turbo Pascal采用不同的循环方式来实现,常用的环循有三种: for、repeat、while. 第一节 for 循环for循环是一种自动计数型循环。[例3.1] 试打印出1~20的自然数。解:① 用a代表1~20各数,同时也用a兼作计数,以控制循环次数; ② 让a从1开始; ③ 输出a; ④ a自动计数(加1),如果未超越所规定的循环范围则重复步骤③,否则结束循环。Pascal程序:Program Exam12;Var a: byte;Begin for a:=1 to 20 do Writeln (a); ReadlnEnd.程序中 for a:=1 to 20 do Writeln (a); 是for循环语句。for 循环语句有两种格式:(1) for 循环变量:=初值 To 终值 do 语句; (2) for 循环变量:=初值 downto 终值 do 语句;第(1)种格式的初值小于等于终值,循环变量值按自动加1递增变化;第(2)种格式的初值大于或等于终值,循环变量值按自动减1递减变化。for 循环是 (以递增1或以递减1) 计数型循环。比如: 若将[例3.1]程序改为倒计数(递减)循环,则输出20~1的自然数数: Program Exam31;Var a: byte;Begin for a:=20 downto 1 doWriteln(a) ; ReadlnEnd.[例3.2]打印出30至60的偶数。]解:方法一: = 1 \* GB3 ①设a表示30至60的所有的数,可用for循环列出; = 2 \* GB3 ②用式子 a mod 2=0 筛选出其中的偶数并输出。Pascal程序:Program ex32;Var a : integer;Begin For a := 30 to 60 do If (a mod 2=0) then writeln(a); Readln;End.在这个程序中,for循环后的循环语句是一个条件分支语句。方法二:我们知道,在式子a=2*n中,若n取自然数1、2、3、…,时,则a依次得到偶数2、4、6、…。因此要想得到30至60的偶数,就可以让上面式子中的n取15至30的自然数就可以了。所以本题还可以按以下步骤处理: = 1 \* GB3 ①设n表示15至30的所有自然数,可用for循环列出; = 2 \* GB3 ②用式子 a := 2*n 求出其中的偶数; = 3 \* GB3 ③将结果输出至屏幕。Pascal程序:Program ex32;Begin For n := 15 to 30 do Begin a := 2*n; Writeln(a);End; Readln;End.[例3.3]自然数求和:编一个程序,求从1至100的自然数的和。解:① 令S=0; ② 令a表示1至100的自然数,用循环列出;③ 将这些自然数用公式S:=S+a 逐一累加到S中去; = 4 \* GB3 ④ 循环结束后,S即为1至100的自然数的和,输出即可。Pascal程序:Program ex33;var s,a : integer;Begin S := 0; For a := 1 to 100 do S := S+a; Writeln(‘S=’,S); Readln;End.[例3.4]一个两位数x,将它的个位数字与十位数字对调后得到一个新数y,此时y恰好比x大36,请编程求出所有这样的两位数。解:① 用for循环列举出所有的两位数,x为循环变量;② 用公式a:= x div 10分离出x的十位数字;③ 用公式b:= x mod 10分离出x的个位数字;④ 用公式y:= b*10+a合成新数y; = 5 \* GB3 ⑤ 用式子y-x=36筛选出符合条件的数x并输出。Pascal程序:Program ex34;Begin For x := 10 to 99 do Begin a := x div 10; b := x mod 10; y := b*10+a; if y-x=36 then writeln(x);End;Readln;End.[例3.5] 把整数3025从中剪开分为30和25两个数,此时再将这两数之和平方,(30+25)2=3025计算结果又等于原数。求所有符合这样条件的四位数。解:设符合条件的四位数为N,它应当是一个完全平方数,用(a*a)表示。 ① 为了确保N=(a*a)在四位数(1000~9999)范围内,可确定a在32~99循环; ② 计算N=a*a;将四位数N拆分为两个数n1和n2; ③ 若满足条件(n1+n2)*(n1+n2)=N 就输出 N 。Pascal程序:Program Exam35;Var N,a, x,n1,n2: Integer;Begin for a:=32 to 99 do begin N:=a*a; n1:= N div 100; {拆取四位数的前两位数} n2:= N-n1*100; {拆取四位数的后两位数} X:=n1+n2; if x*x=N then writeln (N); end; ReadlnEnd.[例3.6]用“*”号打印出如下的长方形图案。 ********* ********* ********* *********解:① 上面给出的图例共有4行,我们可以用一个循环控制行的变化;② 在每行中又有9列,我们可以在前面控制行的循环中再套一个循环来控制列的变化。Pascal程序:Program ex36;Begin For a := 1 to 4 do {外循环控制行的变化} Begin For b := 1 to 9 do {内循环控制列的变化} write(‘*’); Writeln; {输出一行的“*”后换行}End;Readln;End.程序中的循环对于a的每个值都包含着一个b=(1~9)次的内循环。外循环for a 将内循环for b 包含在里面,称为for循环的嵌套。嵌套形式如: for a:=n1 to n2 do for b:=m1 to m2 do 循环体语句; [例3.7] 打印出九九乘法表:解:设a为被乘数,范围为1~9;b为乘数,范围为1~a;乘式为a*b=(a,b的乘积),则 a=1: b=1~a 1*1=1 a=2: b=1~a 2*1=2 2*2=4 a=3: b=1~a 3*1=3 3*2=6 3*3=9 a=4: b=1~a 4*1=4 4*2=8 4*3=13 4*4=16 : : a=9 b=1~a 9*1=9 9*2=18 … 9*9=81⑴从上面分解的横行中看到共有9行,这里的“行”数变化与a的变化从1~9相同,可用a控制“行”的循环;⑵每“行”里面相乘的次数与b的范围相关,由b控制每“行”里面的“内部”循环;⑶内循环被包含在最里层,执行完每“行”的内部循环,就到下一“行”去执行新“行”里面的循环,每“行”都拥有形式相同的( b=1~a )内循环。即每到一“行”都要执行该“行”的内循环。这里所指的“行”可以理解成抽象的行,不一定是实际上具体对应的行,可以是一个处理“块”。Pascal程序:Program Exam37;Var a,b: byte;Begin for a:=1 to 9 do {外循环 } begin for b:=1 to a do {内循环 } write(a,’* ’,b,’= ’,a*b,’ ’:3); writeln end; ReadlnEnd.根据这种格式还可以实现多层循环嵌套,例如: for a:=n1 to n2 do for b:=m1 to m2 do for c:=k1 to k2 do 循环体语句; [例3.8]从七张扑克牌中任取三张,有几种组合方法?请编程输出所有组合形式。解:设每次取出三张分别为a,b,c。用三重循环分别从1~7的范围里取值;为了排除取到重号,用(a-b)*(b-c)*(a-c) >0进行判断。Pascal程序:program Exam38;const n=7;var a,b,c,t: integer;Begin t:=0; for a:=1 to n do for b:=1 to n do for c:=1 to n do if (a-b) * (b-c) * (a-c) >0 then Begin inc (t); writeln (a:3, b:3, c:3) End; writeln ( total:, t :5); readln End. [例3.9] 数学上把除了1和它本身,没有别的数能够整除它的自然数叫做素数(或质数)。现在由键盘输入一个自然数N,编程判断N是否是素数,是则输出“Yes”,否则输出“No”。解:根据定义,对于给定的自然数N,只需判断除1和它本身外,还有没有第三个自然数即可。① 令K从1循环至N;② 根据N mod K是否为0可统计K的约数的个数;③ 若N的约数的个数超过2个,则判定N不是素数。Pascal程序:Program Exam39;Var n,m,k,t: integer;Begin write(‘N=’); ReadLn(N);t:=0; for k:=1 to N do {外循环 } if N mod k=0 then t := t+1; {如果N是奇数 } if t>2 then writeln(‘No’) else writeln(‘Yes’); Readln;End.程序中的变量yse为布尔(或逻辑)类型(Boolean)。布尔值只有两个: True(真) False(假) 布尔值与条件判断结果为真(条件成立)或为假(条件不成立)的作用相同,常用于条件语句和循环语句中。上面程序中用 if yes and (t mod 7=0) then writeln;实现每行打印七个素数换行,程序中布尔变量yes为真,在逻辑上表示是素数;关系式(t mod 7=0) 的值为真时,表示该行输出素数巳是7个;用and将这两个“条件”连起来是作一种布尔(逻辑)运算。Pascal 共有四种逻辑运算符: ① and (与) 两条件都为True时,其结果值为True;否则为False; ② or (或) 两条件中只要有一个为True ;其结果值为True;否则为False; ③ xor (异或) 两条件的逻辑值不相同时,其结果值为True;否则为False; ④ not (非) 条件为True时,其结果值为False;否则为True;(取反)习题3.1:1.打印出1至20的平方数表。2.打印出100至200之间的奇数。3. 鸡兔同笼(用for循环程序完成)4.一辆快车和一辆慢车开往同一地点,快车票价为18元,慢车票价为13. 5元,共售出400张,共计5940元,求快车票和慢车票各多少张.5.求出能被5整除的所有四位数的和。6.在下面式子中的二个□内填入一个合适的同样的数字,使等式成立。□3*6528=3□*82567.有一个三位数,它的各位数字之和的11倍恰好等于它自身,请编程求出这个三位数。8.在自然数中,如果一个三位数等于自身各位数字之立方和,则这个三位数就称为是水仙花数。如:153=13+53+33,所以153是一个水仙花数。求所有的水仙花数。9.编程序打印出下列图案:平行四边形 等腰三解形 菱形 ****** * * ****** *** *** ****** ***** ***** ****** ******* ********* ********* *10.编程打印出如下图案: 1 222 33333 4444444 55555555511.有三种明信片:第一种每套一张,售价2元;第二种每套一张,售价4元; 第三种每套9张,售价2元。现用100元钱要买100张明信片,要求每种明信片至少要买一套,问三种明信片应各买几套?请输出全部购买方案。12.某人想把一元钱换成伍分、贰分、壹分这样的零钱, 在这三种零钱中每种零钱都至少各有一个的情况下,共有多少种兑换方案。并打出这些方案。13.14. 输出100 以内的全部素数,要求每行显示5 个。15.A、B两个自然数的和、差、积、商四个数加起来等于243,求A、B两数。16.百钱买百鸡:今有钱100元,要买100只鸡,公鸡3元一只,母鸡1元一只,小鸡1元3只,若公鸡、母鸡和小鸡都至少要买1只,请编程求出恰好用完100元钱的所有的买鸡方案。 ,回答被采纳可同步增加经验值和财富值

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

python使用循环结构编程打印出如下图案_使用双层for循环编写程序,在屏幕上打印输出如下图案...相关推荐

  1. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  2. python编程在哪里写程序-第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字. Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  3. 区分大小屏幕_第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字.Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  4. python程序-第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字. Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  5. 循环结构(打印图形专项练习)

    提示:初学者在学习编程时最大的坏习惯就是不用草稿纸,眼高手低,拿到题目还没有想好算法就动手写程序,走一步看一步,这样写出的程序往往会存在各种各样的问题,最终浪费大量的时间去进行调试,学习到后期当问题较 ...

  6. Java循环结构编程练习

    继续发些Java学习过程中的编程练习. 1.编程作业 猜字游戏:猜一个介于1到10之间的数字,然后将猜测的值与实际值继续比较,并给出提示,以便能更接近实际值,直到猜中为止. 2.编程要点分析 (1)随 ...

  7. python九九乘法口诀_Python打印出九九乘法口诀

    前几天看到一个Python交流群里的一个朋友问问题,在Python里如何打印出九九乘法口诀,要阶梯的形式显示出来,我突然想起了多年以前刚刚开始学习Delphi的时候也做过类似的题目,如今开始玩Pyth ...

  8. python遍历循环和无限循环结构_Python通过for、while等保留字提供遍历循环和无限循环结构...

    Python通过for.while等保留字提供遍历循环和无限循环结构 答:√ 血清和血浆的主要区别在于血清缺乏 答:纤维蛋白原 景区讲解员上岗前准备之一:佩戴好本景区导游证的标志 答:× ()决定着社 ...

  9. Python每日一题 - 11 - 打印出所有“水仙花数”

    前言: 本人因喜欢python和c语言等程序设计语言,希望能够在这里和大家共同学习共同进步. 因个人喜好喜欢做题,所以想出一个系列专栏关于python的习题专集,希望大家喜欢. 希望能在这里分享学习的 ...

最新文章

  1. 图片上加动图怎么弄_用PS把千张图片拼成心爱的人的样子,只需三步!
  2. 简介I/O向量、sendv、writev
  3. 在做TLS/SSL时报错
  4. 精通Spring Boot——第十一篇:使用自定义配置
  5. 2021年最新springcloud配置中心不生效的版本原因
  6. Java Set基础知识
  7. [程序猿感悟] [悟] 两篇不错的文章 (转载自 stay4it )
  8. Tempset 暴风射击
  9. 1002. 三角形 (
  10. mysql读写分离实战
  11. Java-static概述
  12. Ubuntu下的QQ-For-Linux 安装
  13. OpenSSL爆出严重bug漏洞 Heartbleed bug CVE-2014-0160
  14. AtCoder Beginner Contest 258 A~Ex 题解
  15. 串口通讯调试-串口调试助手
  16. OpenJudge - 红与黑(DFS)
  17. php gtk不更新了,[新人求助] gtk控件动态更新
  18. 引擎磨合 (Break In) 的秘密
  19. 迁移学习和微调深度卷积神经网络
  20. 笔记本电脑触控板失灵解决办法

热门文章

  1. Windows程序运行机制
  2. 【zz】rpm 卸载和安装opera软件
  3. urllib2 实现简单爬取12306网站
  4. 锤子手机连年亏损,罗永浩何时缴械投降?
  5. 第48篇 QML自定义控件 — 完成实现登入界面显示
  6. 使用Python调用ImageMagick将序列帧生成GIF
  7. Hennecke分选机马达控制板维修MCU电路板原理及特点
  8. #老杨说运维# 装了不少监控工具,比如Zabbix,告警信息和监控指标集中管理了吗?
  9. 第二届中国制造千人会在上海胜利召开 创新驱动转型成共识
  10. G4Studio行业应用二次快速开发平台简介 支持开源软件