书签 分享 收藏 举报 版权申诉 / 80
上传文档赚钱

类型第三课赋值和输入输出语句课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4515676
  • 上传时间:2022-12-16
  • 格式:PPT
  • 页数:80
  • 大小:930KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第三课赋值和输入输出语句课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第三 赋值 输入输出 语句 课件
    资源描述:

    1、08信息奥赛暑假集训信息奥赛暑假集训8.9上午复习n第一环节第一环节复习复习 1、基本知识(、基本知识(保留字、标识符、函数、运算符保留字、标识符、函数、运算符)2、基本语句(输入、输入出、赋值)、基本语句(输入、输入出、赋值)3、分支(多路分支)、分支(多路分支)4、循环、循环n第二环节第二环节 新课(数组)新课(数组)freepascaln界面与基本操作Freepascal调试软件界面介绍光标所在光标所在行列行列滚动块滚动块关闭当前关闭当前文件文件当前文件名称当前文件名称n新建文件:方法1:单击菜单“File-New”。方法2:组合键:Alt+F,然后用方向键移动到New,再按回车键。n保

    2、存文件。方法1:F2方法2:菜单“File-Save”n运行:方法1:Ctrl+F9 方法2:菜单“Run-Run”n查看操作结果:方法1:Alt+F5 方法 方法2:菜单“Debug-User screen”。n退出:方法1:Alt+X 方法2:菜单“File-Open”n打开文件:方法1:F3方法2:菜单“File-Open”基本操作、新建、新建、保存、保存、Ctrl+F9 运行运行、Alt+F5切换到用界切换到用界面看运行结果面看运行结果编辑操作 n光标的移动:方向键进行左右上下移动。Home:移动到行首End:移动到行尾。n删除:Delete:删除光标所在位置字符Backspace删除

    3、光标左侧的一个字符Ctrl+Y:删除光标所在行。n断行:n1、前空一行:将光标移动到行首回车n2、后空一行:将光标移动到行末回车n3、一行分两行:将光标移动至行中回车n接行:将两行内容连接成一行(利用删除键接行)n1、将光标移至第1行末,按Delete键n2、将光标移至第2行首,按Backspace相关概念 保留字保留字是是PASCAL选定的,选定的,具有固定意义和用法的专用单词或缩写,具有固定意义和用法的专用单词或缩写,这些单词不允许作其它使用。这些单词不允许作其它使用。我们不能再用我们不能再用“program”、“const”来作为其它变量、常量等的名来作为其它变量、常量等的名字。字。标识

    4、符标识符是标识符的定义:以字母或下划线开头的字母、数字、下划线序列,是标识符的定义:以字母或下划线开头的字母、数字、下划线序列,有效长度为有效长度为63个字符,并且大小写等效。可以用来表示常量、变量、程序、个字符,并且大小写等效。可以用来表示常量、变量、程序、函数等。函数等。标准Pascal语言中的保留字一共有36个可以分为六种类型:1、程序、函数、过程的符号:program 程序 function 函数 procedure 过程 2、说明部分的专用定义符号 array 定义数组 const 常量说明 file 文件类型 lable 标号说明 packed 指令(记录)var 变量说明 rec

    5、ord 记录类型 set 集合类型 type 类型说明 3、语句专用符号 case 分情况语句 do downto(见for)else(见if、case)for 计数循环语句 goto 语句 if then else repeat 直到型循环语句 until while 当循环语句 forward 函数指令 4、运算符号 and 与 div 整除 in 集体运算符,判断一个元素是否在集合中 mod 求余 not 非 or 或 xor异或异或5、分隔符号 begin 块标记,开始 end 块标记,结束 6、空指针符号 nil 空指针常用的标准标识符有:常用的标准标识符有:n标准常量:标准常量:f

    6、alse true maxint maxlongintn标准类型:标准类型:integer boolean real char textn标准文件:标准文件:input outputn标准函数标准函数:abs actan chr cos eof elon exp ln oddord pred round sin sqr sqrt succ truncn标准过程:标准过程:assign get new dispose pack put readnreadln reset rewrite unpack write writelnMaxint的值为的值为32767标识符的分类:标识符的分类:标准标识

    7、符:指标准标识符:指Pascal语言预先定义的标识符,具有特殊含义。语言预先定义的标识符,具有特殊含义。用户字定义标识符:由用户根据需要定义用户字定义标识符:由用户根据需要定义标准函数1.abs(x)求x的绝对值(|x|);Abs(-2)=2 Abs(-2.0)=2.0000000000E+002.exp(x)求ex的值;(e为无理数2.71828)3.frac(x)求x的小数部分;4.int(x)求x的整数部分(不舍入,函数值为实型);int(3.6)=3.05.ln(x)求以e为底的x的对数(log ex);6.odd(x)判断x的奇偶数(当x为奇数时odd(x)值为true,否则为fal

    8、se);7.pi 值(3.1415926535897932);8.pred(x)求x(有序类型)的前趋值;9.succ(x)求x(有序类型)的后继值;10.random 随机函数,产生01的随机值;0,1)11.random(n)产生0,x)的随机数(n为word类型,先执行randomize,才能得到随机整数);12.round(x)求x的四舍五入 结果为整数;如:Round(2.8)=3 Round(-2.8)=-313.trunc(x)求x的整数部分(截掉小数部分,结果为整型);如:Trunc(3.85)=314.sqr(x)求x的平方值(x2);15.sqrt(x)求x的开平方根值()

    9、;Sqr(4.0)=1.6000000000E+01 Sqr(4)=1616.sin(x)求x的正弦函数(x为弧度);17.cox(x)求x的余弦函数(x为弧度);18.arctan(x)正切的反三角函数(x为数值);19.Ln(X)对数函数 即求x的自然对数logex20.幂运算 xy=eylnx ,xy=Exp(y*ln(x)21.Ord(x)序数函数:,函数结果为整型,求字符对应的ASCII码如:Ord(A)=6522.Chr(x)字符函数,x为整型,函数结果为字符型,,求ASCII码对应得字符如:Chr(65)=A23.Upcase(x)小写字母转为大写字母,如:Upcase(a)=A

    10、24.LPcase(X)大写字母转为小写字母,如:Upcase(A)=a25.val 函数 将字符串转换为整型值,如val(123)=123a的的b次幂可表示为次幂可表示为 exp(b*ln(a)还可能用还可能用power函数函数,使用此函数前使用此函数前,要打开数学库要打开数学库,方法如下方法如下nPascal的System单元提供了两个与随机数有关的子程序:Randomize和Random。Randomize过程用于初始化随机种子,其初始值取决于当前的系统时钟。Random函数用于获取随机数,它有两种调用形式:nRandom,返回一个0到1之间(不包括1)的随机实数;nRandom(N),

    11、返回0至N之间(不包括N)的随机整数,N为Word类型整数。可以试一下,随机产生几个一定范围内的数可以试一下,随机产生几个一定范围内的数变量常见类型变量常见类型整型整型integer、实型、实型real、字符型、字符型char、布尔型、布尔型boolean、字符串型、字符串型string整型整型短整型短整型 Shortint-128127 1整形整形 Integer-32768327672长整型长整型 Longint-2147483648 21474836474字节型字节型 Byte 0255 1字型字型 Word 065535 2 实型实型单精度实型单精度实型 Single 1.5e-453

    12、.4e+38 4 78实型实型 Real 2.9e-391.7e+38 6 1112双精度实型双精度实型 Double 5.0e-3241.7e+308 8 1516Pascal的运算符n表达式是用运算符号或小括号将常量、变量、函数连接成的式子。表达式是用运算符号或小括号将常量、变量、函数连接成的式子。Pascal表达表达式中只有小括号。式中只有小括号。运算符也称为算符,算符的操作对象称为操作数运算符也称为算符,算符的操作对象称为操作数。n运算符按带操作数的个数分为两类:运算符按带操作数的个数分为两类:1.单目运算符:对一个操作数操作。单目运算符:对一个操作数操作。-(负号),(负号),+(正

    13、号)(正号)2.双目运算符:对两个操作数操作。双目运算符:对两个操作数操作。n根据运算符运算的意义不同分为算术运算、布尔运算、逻辑运算、关系运算根据运算符运算的意义不同分为算术运算、布尔运算、逻辑运算、关系运算。n根据运算符的优先级可以将运算符分为单目运算、根据运算符的优先级可以将运算符分为单目运算、“乘乘”的关系运算、的关系运算、“和和”的关系运算、关系运算。的关系运算、关系运算。算术运算符n一共有一共有8个。操作数都是数值型,结果也是数值型。单目运算符有()个。操作数都是数值型,结果也是数值型。单目运算符有()取正、()取负。双目运算符有()加、()减、()乘、取正、()取负。双目运算符有

    14、()加、()减、()乘、(/)除、()除、(DIV)取商、()取商、(Mod)取模。)取模。n“/”左右的操作数是数值型,结果是左右的操作数是数值型,结果是实型数实型数。nDiv 左右的操作数是左右的操作数是整型整型,结果是,结果是整型整型(两数之商)。(两数之商)。nMod 左右的操作数是整型数,结果是整型数(两数相除之余)。左右的操作数是整型数,结果是整型数(两数相除之余)。n在在PASCAL只有上面只有上面8种数学运算。其它的就只能利用这种数学运算。其它的就只能利用这8种运算的组种运算的组合通过语句来实现。如合通过语句来实现。如a2(a的平方)可以化成的平方)可以化成a*a。XY 可写成

    15、可写成exp(y*ln(X)例:n(实数除)得到结果为实型.如5.0/2.0=2.5,5/2=2.5,4/2=2.0而不等于2。nDIV(整除)DIV它要求除数和被除数均为整型,结果也为整型。如10 DIV 2=5,10 DIV 3=3,5 DIV 10=0.-15 DIV 4=-3。DIV运算只取商的整数部分,参与DIV运算的两个对象不能为实型。nmod(求余),也只能用于整数运算,结果为整数。例如:10 mod 4=2,-17 mod 4=-1,4 mod(-3)=1,-4 mod 3=-1,即 a mod b=a-(a div b)*b。关系运算符n关系运算是指同一类型的两个数据进行比较

    16、,结果是一个布尔类型值。n用小括号、=、=、=、将两个算术表达式连接起来的式子就称为关系表达式(比较式)。如:3+78,x+y10,2*7=13等都是关系表达式。n关系表达式的值 true,false n23 87.5=100 Aa FalseB C=D E=A 对于这样的表达式结果只有两种对或错。这样的表达式就叫做逻辑表达式布尔常量只有两个:TRUE(真)、FALSE(假)布尔运算符n布尔运算是对布尔型数据进行运算,即操作数都是布尔型数据,结果是布尔型。n布尔型运算符共有4个:not(取反)and(与)or(或)xor(异或)nnot:结果是与操作数相反的布尔值nand:两个操作数都为真,结

    17、果为真,否则为假nor:两个操作有一个为真,结果为真,否则为假nXor:两个操作数不一样为真,否则为假1 xor 1=0 0 xor 0=0 1 xor 0=1 0 xor 1=1 运算符的优先级1、内层小括号先计算、内层小括号先计算2、函数先求值、函数先求值3、单目运算符(、单目运算符(,not)4、乘的关系双目运算符(、乘的关系双目运算符(*,/,div,mod,and)5、加的关系双目运算符(、加的关系双目运算符(,or)6、关系运算符(、关系运算符(,=,=,)在同级运算中,按从左到右的顺序计算。在同级运算中,按从左到右的顺序计算。(a=0)and (ac)and(b+ca)and(c

    18、+ab)then begin s:=(a+b+c)/2;area:=sqrt(s*(s-a)*(s-b)*(s-c);writeln(area=,area:6:2);end else begin writeln(a:6:2,b:6:2,c:6:2);writeln(input data error);end;end.提示:提示:要判断是否能构成一个三角形要判断是否能构成一个三角形如果如果s为三边和的一半,那么面积为为三边和的一半,那么面积为sqrt(s*(s-a)*(s-b)*(s-c)IF语句的嵌套语句的嵌套 在在if语句中,如果语句中,如果then子句或子句或else子句仍是一个子句仍是一

    19、个if语句,语句,则称为则称为if语句的嵌套。语句的嵌套。语句有三种嵌套形式:()、在部分嵌套语句,格式是:表达式表达式表达式语句语句语句语句第三层第二层第一层 ()、在部分嵌套语句,格式是:表达式语句表达式表达式语句语句语句第三层第二层第一层 ()、前面两种的综合,即在和部分都嵌套语句,格式是:表达式表达式语句语句表达式语句语句必须要注意的一个问题是:因为结构的语句可以省略语句,这个时候就有可能出现个数少于语句的嵌套个数的情况,当出现这种情况的时候只要记住一个规则就可以了:总是与它最近的语句配对!通过下面的这个简单的程序来理解这个规则:;:;:;上面的程序有两个语句,而且嵌套,但只有一个,属

    20、于谁呢?写程序,根据输入的值,输出写程序,根据输入的值,输出1、-1和零。和零。根据输入的根据输入的x值,先分成值,先分成x0与与x0两种情况,然后对于情况两种情况,然后对于情况x0,再,再区分区分x是小于是小于0,还是等于,还是等于0program ex;var x:real;y:integer;begin wrtie(Input x:);readln(x);if x0 then y:=1else x0时时if x=0then y:=0else y:=-1;writeln(x=,x:6:2,y=,y);end.X0X=0Y:=1Y:=-1Y:=0输入x开始结束YY输出x、y输入年月求天数输入

    21、年月求天数当多分支选择的各个条件由同一个表达式的不同结果值决定时,当多分支选择的各个条件由同一个表达式的不同结果值决定时,可以用可以用casecase语句实现。语句实现。program day_case;var year,month,days:integer;beginreadln(year,month);case month of1,3,5,7,8,10,12:days:=31;4,6,9,11:days:=30;2:if(year mod 400=0)or(year mod 1000)and(year mod 4=0)then days:=29 else days:=28;end;writ

    22、eln(day=,day);readln;end.用用case语句来写语句来写31302928case语句语句 当多分支选择的各个条件由当多分支选择的各个条件由同一个表达式的不同结果同一个表达式的不同结果值决定时值决定时,可以用,可以用case语句来实现。语句来实现。它的选择过程,很象一个多路开关,即由它的选择过程,很象一个多路开关,即由case语句的语句的选择表达式的值,决定切换至哪一语句去工作。选择表达式的值,决定切换至哪一语句去工作。在实现多分支控制时,用在实现多分支控制时,用case对某些问题的处理和设对某些问题的处理和设计,比用计,比用if语句写程序更简洁、更清晰。语句写程序更简洁、

    23、更清晰。case month ofnCase 表达式表达式 of常量表常量表1:语句:语句1;常量表常量表n:语句:语句n;else 语句语句n+1;end;n格式说明:常量表为格式说明:常量表为有序类型数据有序类型数据。表达式要与常量类型表达式要与常量类型一致。一致。n常量后的语句为一条语句。如果要完成多条语句功能,要将这些常量后的语句为一条语句。如果要完成多条语句功能,要将这些语句写成复合语句。语句写成复合语句。Case语句语句输入两个实数,再输入+、-、*或/号,根据运算符输出这两个数的和、差、积或商。Program xx;var a,b,s:real;operator:char;beg

    24、in readln(a,b);read(operator);case operator of +:s:=a+b;-:s:=a-b;*:s:=a*b;/:s:=a/b;end;writeln(a,operator,b,=,s:5:4)end.注意事项注意事项 Case语句执行表达式值相匹配的语句执行表达式值相匹配的case常量所指向的常量所指向的那条语句,如果没有相匹配的值,则执行那条语句,如果没有相匹配的值,则执行else后的语句后的语句n+1或什么也不做(无或什么也不做(无else语句)。语句)。Case常量必须惟一确定且必须与表达式同类型,每常量必须惟一确定且必须与表达式同类型,每一个常量

    25、只能在常量表中出现一次且仅出现一次。一个常量只能在常量表中出现一次且仅出现一次。表达式只能是序数类型。序数类型包括表达式只能是序数类型。序数类型包括整型、字符型、整型、字符型、布尔型、枚举型、子界型布尔型、枚举型、子界型。n根据学生的成绩给予相应的等低,对应关系如下:根据学生的成绩给予相应的等低,对应关系如下:以下以下析:利用析:利用case语句进行程序设计语句进行程序设计,关键在于巧妙地构造情况表达式关键在于巧妙地构造情况表达式 program chengji;var n:integer;ch:char;beginwrite(input the score:);readln(s);case

    26、n div 10 of10,9:ch:=A;8:ch:=B;7,6:ch:=C;else ch:=D;end;writeln(n,-,ch);end.n值是整型n值是实型表达式的值是子界型表达式的值是子界型判断输入的字符是大写、小写、数字还是其它判断输入的字符是大写、小写、数字还是其它思考题n例例2 根据根据x的值,求函数的值,求函数Y的值:的值:n分析:利用分析:利用casecase语句进行程序设计语句进行程序设计,关键在于巧妙地构造情况表达关键在于巧妙地构造情况表达式。本例中三种情况可用一个表达式区分出来:式。本例中三种情况可用一个表达式区分出来:Trunc(x/100)Trunc(x/1

    27、00)。因。因为为x x在在(0(0100)100)之间时表达式值为之间时表达式值为0 0;x x在在100,200)100,200)时表达式值为时表达式值为1 1;其余部分可用其余部分可用elseelse子句表示子句表示 拓展题 期未来临了,班长小期未来临了,班长小Q决定将剩余班费决定将剩余班费X元钱,用于购买若干支钢笔奖元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为为6元、元、5元和元和4元。小元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他想买尽量多的笔(鼓励尽量多的同学),同时他

    28、又不想有剩余钱。请您编一程序,帮小又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。制订出一种买笔的方案。n分析:对于以上的实际问题,要买尽量多的笔,易知都买分析:对于以上的实际问题,要买尽量多的笔,易知都买4元的笔肯定元的笔肯定可以买最多支笔。因此最多可买的笔为可以买最多支笔。因此最多可买的笔为x div 4支。由于小支。由于小q要把钱用完,要把钱用完,故我们可以按以下方法将钱用完:故我们可以按以下方法将钱用完:n若买完若买完x div 4支支4元钱的笔,还剩元钱的笔,还剩1元,则元,则4元钱的笔少买元钱的笔少买1支,换成一支支,换成一支5元笔即可;若买完元笔即可;若买完x div

    29、4支支4元钱的笔,还剩元钱的笔,还剩2元,则元,则4元钱的笔少买元钱的笔少买1支,换成一支支,换成一支6元笔即可;若买完元笔即可;若买完x div 4支支4元钱的笔,还剩元钱的笔,还剩3元,则元,则4元元钱的笔少买钱的笔少买2支,换成一支支,换成一支5元笔和一支元笔和一支6元笔即可。元笔即可。program pen;var a,b,c:integer;x,y:integer;beginwrite(x=);readln(x)输入输入xc:=x div 4;4元笔最多买的数目元笔最多买的数目y:=x mod 4;求买完求买完c支支4元笔后剩余的钱数元笔后剩余的钱数ycase y of0:begin

    30、 a:=0;b:=0;end;1:begin a:=0;b:=1;c:=c-1;end;2:begin a:=1;b:=0;c:=c-1;end;3:begin a:=1;b:=1;c:=c-2;end;end;writeln(a=,a,b=,b,c=,c);end.a,b,c分别表示在买笔方案中,分别表示在买笔方案中,6元、元、5元和元和4元钱笔的数目元钱笔的数目x,y分别表示剩余班费和买完最多的分别表示剩余班费和买完最多的4元笔后剩的钱元笔后剩的钱循环语句(循环语句(For)通常将一组重通常将一组重复执行的语句称为复执行的语句称为循环体循环体,而控制重复执行或终止执行,而控制重复执行或终止

    31、执行由由重复终止条件重复终止条件决定。因此,决定。因此,重复语句是由循环体及重重复语句是由循环体及重复终止条件两部分组成。复终止条件两部分组成。forfor语句的一般格式语句的一般格式for:=to do;for:=downto do;1.其中其中for、to、downto和和do是是Pascal保留字。保留字。2.表达式表达式1 与表达式与表达式2的值也称为的值也称为初值初值和和终值终值。3.对于对于for循环有时也称为循环有时也称为计数循环计数循环,因为我们用循环控制变量来控,因为我们用循环控制变量来控制制 循环体执行的次数。循环体执行的次数。4.循环体执行的次数是循环体执行的次数是(初值

    32、和终值之差的绝对值初值和终值之差的绝对值+1),for循环的特点是循环的特点是我们明确知道循环体执行的次数我们明确知道循环体执行的次数想一想:如果想输出6个*号,下一行输出5个#,以上动作反复3次程序应当如何改动Program fort1;Var i:integer;Begin for i:=1 to 10 do writeln(*);End.Program fort1_2;Var i:integer;Begin for i:=1 to 3 do begin writeln(*);writeln(#);end;End.观察一下观察一下i的变化情况的变化情况再想一想:如果想1到100之间的所有整

    33、数,应当如何改动Program fort2;Var i:integer;Begin for i:=1 to?do write(?);End.反复做的事:输出整数反复做的事:输出整数做的次数:做的次数:100如果想a到z之间的所有字符呢,应当如何改动?想一想:以下程序改动后对循环体有什么影响Program fort1;Var i:integer;Begin for i:=1 to 10 do writeln(*);End.Program fort1;Var i:integer;Begin for i:=10 downto 1 do writeln(*);End.Num:=0;For i:=1 t

    34、o 100 doNum:=num+I;I=100I:=1NUM:=NUM+IYNNUM:=0I:=i+1循环结构流程图循环结构流程图求求:1+2+100的和的和应用举例一应用举例一 输出1100之间的所有偶数。Program oushu(input,output););var i:integer;beginfor i:=1 to 100 do用记数形循环来实现穷举用记数形循环来实现穷举1100之间的偶数之间的偶数if i mod 2=0 then write(i:5);writeln;end.思考:我们还有什么方法来实现这个题目思考:我们还有什么方法来实现这个题目;输出输出100-999中所有

    35、能被中所有能被3或被或被5整除的数字;整除的数字;应用举例二应用举例二求求N!123N,这里,这里N不大于不大于10。分析:程序要先输入N,然后从1累乘到N。程序如下:var n,i:integer;i为循环变量S:longint;s作为累乘器/思考:为什么要把S设置成 longint类型beginwrite(Enter n=);readln(n);输入n s:=1;/赋初值 for i:=2 to n do从从2到到n累乘到累乘到s中中s:=s*i;writeln(n,!=,s);输出n!的值end.练习题1.编程找出四位整数编程找出四位整数abcd中满足下述关系的数中满足下述关系的数(ab

    36、+cd)(ab+cd)=abcd提醒:这题属于搜索问题,四位数,范围从提醒:这题属于搜索问题,四位数,范围从1000到到9999,还要考虑到如何将四,还要考虑到如何将四位数高两位与低两位分开。位数高两位与低两位分开。2.有一种有一种Fibonaccl数列数列0,1,1,2,4,7.其规律为第一、二、三个数为其规律为第一、二、三个数为0,1,1,从从第四个数起,各数为其前面第四个数起,各数为其前面3个数之和,要求输出此数列中前个数之和,要求输出此数列中前60个数。个数。for j:=1 to 50 do write(*);writeln;beginend;for i:=1 to 10 doPro

    37、gram ex_forsc;Var i,j:integer;beginEnd.思考n输出如下图形。12345行数13579个数WHILE循环格式:while do;其意义为:当布尔表达式的值为true时,执行do后面的语句。While i=100 do begin num:=num+i;i:=i+1;End;直到循环(直到循环(REPEATuntil语句)语句)用用while语句可以实现语句可以实现当型循环当型循环,用,用repeat-until 语句可以实现语句可以实现直到型循环直到型循环。repeat-until语句的含义是:语句的含义是:重复执行循环,直到指定的条件为真时为止重复执行循环

    38、,直到指定的条件为真时为止。直到循环语句的一般形式直到循环语句的一般形式:Repeat;:;until;其中其中Repeat、until是是Pascal保留字,保留字,repeat与与until之间的所有语句称为循环体。之间的所有语句称为循环体。repeat num:=num+i;i:=i+1;until i100;求100(包括)以内所有数之和while i100;思考:从键盘输入若干数字从键盘输入若干数字,对它们求和对它们求和,直到从键盘读入直到从键盘读入的数是的数是#时结束时结束While a#dountil a=#三种循环结构的比较三种循环结构的比较n以上我们已介绍了三种循环语句。一般

    39、说来,用以上我们已介绍了三种循环语句。一般说来,用for 循环比较简明,只要能循环比较简明,只要能用用for循环,就尽量作用循环,就尽量作用for循环。循环。n只在无法使用只在无法使用for循环时才用循环时才用while循环和循环和repeat-until循环,循环,而且而且 while 循循环和环和repeat-until循环是可以互相替代的。循环是可以互相替代的。nfor 循环在大多数场合也能用循环在大多数场合也能用while和和repeat-until循环来代替。循环来代替。一般一般for循环循环用于有确定次数循环,而用于有确定次数循环,而while和和repeat-until循环用于未

    40、确定循环次数的循循环用于未确定循环次数的循环。环。n当一个循环的循环体中又包含循环结构程序时,我们就称之为循环嵌套当一个循环的循环体中又包含循环结构程序时,我们就称之为循环嵌套 补充补充 (1)inc(x)等同 x:=x+1;(2)inc(x,n)等同 x:=x+n;(3)dec(x)等同 x:=x-1;(4)dec(x,n)等同 x:=x-n;题一题一 编写程序,求1001000之间能被7整除的数,每行输出10个。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 th

    41、en writeln(x);End;End.解:解:用用for循环列举出所有的两位数,循环列举出所有的两位数,x为循环变量;为循环变量;用公式用公式a:=x div 10分离出分离出x的十位数字;的十位数字;用公式用公式b:=x mod 10分离出分离出x的个位数字;的个位数字;用公式用公式y:=b*10+a合成新数合成新数y;用式子用式子y-x=36筛选出符合条件的数筛选出符合条件的数x并输出。并输出。有个两位数有个两位数x,将它的个位数字与十位数字对调后得到一个新数,将它的个位数字与十位数字对调后得到一个新数y,此时,此时y恰好比恰好比x大大36,请编程求出所有这样的两位数。,请编程求出所

    42、有这样的两位数。题二题二 把整数把整数3025从中剪开分为从中剪开分为30和和25两个数,此时再将这两数之和平方,两个数,此时再将这两数之和平方,(30+25)2=3025计算结果又等于原数。求所有符合这样条件的四位数。计算结果又等于原数。求所有符合这样条件的四位数。解解:设符合条件的四位数为设符合条件的四位数为N,它应当是一个完全平方数,用,它应当是一个完全平方数,用(a*a)表示。表示。为了确保为了确保N=(a*a)在四位数(在四位数(10009999)范围内,可确定)范围内,可确定a在在3299循环;循环;计算计算N=a*a;将四位数;将四位数N拆分为两个数拆分为两个数n1和和n2;若满

    43、足条件若满足条件(n1+n2)*(n1+n2)N 就输出就输出 Nprogram 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.百钱买百鸡:今有钱百钱买百鸡:今有钱100元,要买元,要买100只鸡,公鸡只鸡,公鸡5元元一只,母鸡一只,母鸡1元一只,小鸡元一只,小鸡1元元3只

    44、,若公鸡、母鸡和小只,若公鸡、母鸡和小鸡都至少要买鸡都至少要买1只,请编程求出恰好用完只,请编程求出恰好用完100元钱的所有元钱的所有的买鸡方案。的买鸡方案。这是一个标准的枚举算法,分别用三个变量表示这是一个标准的枚举算法,分别用三个变量表示公鸡、母鸡、小鸡的只数,对各种鸡可能的只数进行公鸡、母鸡、小鸡的只数,对各种鸡可能的只数进行检测,如果它们的总数为检测,如果它们的总数为100只,并且总钱数是只,并且总钱数是100就就符合条件。符合条件。题三题三求1100之间的所有素数分析:我们可对1100之间的每一整数进行判断,判断它是否为素数,是则输出。而对于任意整数i,根据素数定义,我们从2开始,到

    45、,找i的第一个约数。若找到第一个约数,则i必然不是素数。否则i为素数。program dasf;var n,m,i:integer;f:boolean;begin f:=true for n:=2 to 100 do begin for m:=2 to n-1 do if n mod m=0 then f:=false;if f=true then write(n);end;end.除了除了1与本身外再没有其它约数与本身外再没有其它约数 var n,m,i:integer;f:boolean;begin f:=true for n:=2 to 100 do begin for m:=2 to

    46、trunk(sqrt(n)do begin if n mod m=0 then f:=false;break;end;if f=true then write(n);end;end.改进改进参考程序var i,x:integer;beginfor i:=1 to 100 dobeginx:=2;while(x=trunc(sqrt(i)and(i mod x0)dox:=x+1;if x=trunc(sqrt(i)then write(i:8);end;end.求两个整数求两个整数a a与与b b的的最大最大公约数公约数Var a,b,i,t:integer;begin readln(a,b)

    47、;if ab then begin 比较比较A,B的大小,如果的大小,如果ab那么交换两个数字那么交换两个数字t:=a;a:=b;b:=t;end;for i:=b downto 1 do 从从B开始判断,每次减少一个,直到找到为止开始判断,每次减少一个,直到找到为止 if(a mod i=0)and(b mod i=0)then begin writeln(i);break;找到了最大公约数,强行退出循环找到了最大公约数,强行退出循环 end;end.穷举法穷举法program exam4;var m,n,a,b,t,r:integer;beginreadln(m,n);if mn then begin t:=m;m:=n;n:=t end;(使m放大数,n放小数)r:=a mod b;while r0 do begin m:=n;n:=r;r:=m mod n;end;writeln(The greatest common divide is:,n:8);end.辗转相除判余法辗转相除判余法分别用分别用m,n,r表示被除数、除数、余数。表示被除数、除数、余数。求求m/n的余数的余数r.若若r=0,则则n为最大公约数为最大公约数.若若r0,执行第执行第步步.将将n的值放在的值放在m中中,将将r的值放在的值放在n中中.返回重新执行第返回重新执行第步。步。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第三课赋值和输入输出语句课件.ppt
    链接地址:https://www.163wenku.com/p-4515676.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库