




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、pascal程序的基本知识一、pascal程序的组成1. 一个pascal程序分为两个部分:(1) 程序首部(2) 程序体2. 程序首部是程序的开头部分它包括:(1) 程序标志用program来标志(2) 程序名称只能由字母和数字组成,第一个字符必须是字母;而且程序名内不允许出现空格3程序体是程序的主体在一般的pascal程序中程序体包括两个部分:说明部分和执行部分.(1) 说明部分用来描述程序中用到的数据的属性.执行部分执行部分以begin开始,以end结束它们之间包含若干个语句,语句之间以分号 隔开.4. 在程序中,一对大括号或(*)之间的文字称为注释。注释的内容可以用英语或汉语表示。二.
2、 常量在程序运行过程中,其值不能被改变的量称为常量。数,字符,字符串,逻辑值(“真”和“假”)等都是常量,如123,惱be,等。1 .整型常量釆用我们平常使用的十进制整数表示。:integer如:13,0,24等都是整型常量,而25, 314都不是整型常量。2. 实型常量:包括正实数、负实数、实数0两种表示形式汀eal(1)小数形式:必须包含一个小数点,而且小数点两侧都应该有数字,如:12,683o而10和34不 认为是合法的实数形式.(2) 科学记数法e来表示这个底数,12e8表示12*10»3符号常量一个常量既可以直接用字面形式表示,也可以用一个标识符来代表一个常量,称为“符号常
3、量”。 但符号常量必须在程序中的说明部分定义,也就是说:先定义,后使用。例如:constpi=3.14159;zero=0;(其中pi,zero均为符号常量)fl:三、变在程序运行过程中,其值可以改变的量,称为变量。一个变量有一个名字,用一个合法的标识符代 表一个变量。变量的类型在程序中的说明部分的var区(变量说明区)中定义,如:varage,day:integer; (*定义整型变量*) a,b:real; (*定义实型变量*) p:char; (*定义字符型变量*)flag:boolean其中age,day为整型变量,a,b为实型变量四、标准函数1.算术函数函数含义自变量类型函数值的类型
4、abs(x)|x|实(整)与x相同sqr(x)x2实(整)与x相同sqrt(x) ox实(整)实型sin(x)sinx实(整)实型cos(x)cosx实(整)实型arctan(x)tan-1x实(整)实型exp(x)ex实(整)实型ln(x)inx实(整)实型2. 转换函数(1)截尾函数trunc(x):将实数的小数部分截去.eg: trunc(6.8)=6trunc(-7.2)= -7其中自变量为实型,函数值为整型.(2)舍入函数round(x):将实数x的小数部分四舍五入取整.eg: round(7.8)=8round(-7.8)= - 83前趋函数、后继函数(1)前趋函数(pred函数)
5、:取x前面的一个数据.eg: pred(5)=4pred(-6)= -7 pred(ib,)=<a,(2)后继函数(succ函数):取x后面的一个数据. eg: succ(8)=9succ(-7)= 6succ('a')="b,4.逻辑判断函数如:odd函数是奇数函数eoln函数是行结束函数eof函数是文件结束函数五、算术表达式2.算术运算符(6个)+ (加)(减)* (乘)/(实数除,得到的结果为实型,即使除数和被除数都是整数,结果仍为实型)女口 :50/20二25, 2/1=2.0div (整除,它要求除数和被除数均为整型,结果也为整型,运算只取商的整数部分
6、)如:5 div 10=0, -15 div 4=-3 ,10 div 3=3mod (求余或求模)运算符 求余取整除后的余数(如果有a mod b,则所得结果的符号与a相同,其值(绝对值)在(mbl-1 之间.a>0a mod b=a mod ba<0a mod b=-(|a| mod b)a=0ms完全没意义eg: 10 mod 4=2 ,-17 mod 4= -1, -3 mod 4=3,4 mod (-3)=1, -4 mod 3= -1(2)求模规定a mod b中的b不能为负数.有三种运算规则:i当a>b时,与求余结果相同8 mod 3=2ii当a<b且a&
7、gt;0时,结果为a3 mod 8=3iii当a<b且a<()时將b不断地加到a上,直到结果是一个小于b的非负数为止.3 mod 4=1,-4 mod 3=2六. 赋值语句-:=1. 作用是对变量赋值2. 先计算(表达式的值),后赋值3. 赋值语句具有计算和赋值的双重功能注意:不要与等号混淆,只有在赋值语句中才能用赋值号。七. write语句和writein语句(两者在功能上大体相同,输出格式上略有差别)1. write语句将输出项连续输出,输出不换行;write(a);write(b);write(c)如果a,b,c的值为2, 4, 6时,输出结果为:2462. writein语
8、句将输出项换行输岀writeln(a);writeln(b);vvriteln(c)如果a,b,c的值为2, 4, 6时,输出结果为:2463. write语句必须带有输出项(用括弧括起来的部分)如: write (x,y)而writein语句可以不带输出项一个空行)如:writein ; (它是一个空语句,它的作用是输出 输入语句读语句八.read语句和readln语句1. read语句一个接一个地读数据;read (a,b);read (c,d);read(e);如果输入的数据如下:123456a1 b 2c-3d 4 e 52.readln语句是指读入一个数据行readln(ab);re
9、adln(c,d);readln(e);如果输入数据为以下三行:i 2345678910ii 12则:a1 b2c7 d8e11九pascal中的逻辑运算(布尔运算)pascal中只有两个布尔常量:true (真)和false (假) 布尔运算符和布尔表达式:pascal中有三个布尔运算符:not 逻辑非and 逻辑与or 逻辑或十if语句(如果语句)的应用:1. if 布尔表达式 then语句1else语句22. if语句中使用复合语句:if a>b thenbegint:=a;a:=b;b:=tendelsebegin end;3if语句中使用嵌套:if布尔表达式1 thenif 布
10、尔表达式2 then语句21else语句22else语句12;ho case 语句if语句只能两种中选择其中之一,而case语句能从多种可能情况中选择其中之一。case a of1, 2:语句1;3, 4, 5:语句 2;6, 7:语句3endeg:某幼儿园只收2至6岁的小孩,23岁入小班,4岁入中班,56岁入大班,输入年龄,要求打出入什么班。program classify(inputoutput);varage: integer;beginwriteln(hnput a agef)readln(age);writeln(the age is :,,age);case age of2, 3:
11、 writeln(enter lower class,);4: writeln(enter middle class');5, 6: writeln(enter higher class');end;writeln(<refuse,)end.十二.循环结构的程序设计1. 用for语句实现循环结构:(1.)递增循环:eg: for i:=l to 10 dowrlte(i);执行此语句将打印出:1 2 3 45 6 7 8 9 10(2.)递减循环:eg: for i:=10 downto 1 dowrite(i);执行此语句将打印出:10 98765432 1 注意:(1
12、) 循环变量必须为顺序类型(可以是整型、字符型、枚举型和子界类型),不能为实型。eg: for k:=4a9 to 'c' do write(k);将打印出 abc(2) 递增和递减的规律:递增:按succ (i )规律变化递减:按pred (i )规律变化(3)循环体可以是一个基本语句,也可以是一 个复合语句eg:for i:=l to n dobeginreadln(n);writeln(i)end;(4) 循环变量不得在循环体内再被赋值(5) 循环变量的初值和终值一经确定,循环次数就确定不变了eg:a:=l;b:=5;for i:=a to b dobegina:=3;b
13、:=6;writeln end;结果不因a和b的值在循环体内改变而影响循环次数,执行时仍输出:1 2 3 452. for循环的嵌套:在一个for循环中又包括另一个for循环。eg: for i:=l to 9 dobeginfor j:=l to 9 dowrite(i:6 严'j:2,'=",i*j:2);writelnend;3.用while语句实现循环结构(当型循环)3while布尔表达式do语句;执行过程:(1) 判断布尔表达式的值,值为真执行(2),否则执行(4)(2) 执行循环体语句(3) 返回(1)(4)结束循环,eg:programvar执行下一语句
14、特点:先判断,后执行qh(input,output);i,sum : integer; beginsum:=0;while i<=100 dobegin sum:=sum+i; i:=i+lend; writeln(6sum=sum) end<4.用repeat-until语句实现循环结构 (直到型循环)repeat 语句1;语句2; 语句nuntil布尔表达式特点:先执行,后判断十二.一维数组当数组中每个元素只带有一个下标时,我们称这样的数组为一维数组. 有两种方法表示:1 type数组类型名二array下标类型of数组元素类型;eg:typerowtype=arrayl.50o
15、f real;a,b:rowtype;2.直接在var区中定义数组var数组名:arrayt标类型of数组元素类型;eg:a,b:airayl“50of real;其中:12下标类型可以是任何顺序类型(可以为整型/布尔型/字符型/枚举型等顺序类型) 所有的数组元素的类型都相同,即由相同的类型的元素组成例1 入的10个数,按输入时的逆序(即相反的顺序)打印出来program m(inputoutput);vara:arrayl>.10 of integer;i: integer;beginwrite(mnput 10 numbers:');for i:=l to 10 doread
16、(ai);readln;for i:=10 downto 1 dowrite(ai)end.例2数组numbers包含了 10()个元素編程序计算相邻两个数的差,并把它们放进数组different中. program diff(input9output);varnumbers:arrayl.100 of real;differences:array1.99 of real;i:integer;beginwriteln(4nput the real number of arrayf);for i:=l to 100 do read(numberi);readln;for i:=l to 99 d
17、odifferencesi :=numbersi+l-numbersi;writeln(output the result:,);for i:=l to 99 dowrite(differencesi);end.十三。二维数组二维数组的定义中,在array后的一对方括号中必须指定两个下标类型二维数组也可以用两种方式进行定义:1 type数组类型名二array下标类型,下标类型of数组元素类型;eg: typetable:arrayl.>44-5 of real;vars:table;2.直接在var区中定义数组var数组名:arrayf下标类型,下标类型of数组元素类型;eg:s:arr
18、ay1.4,1.5of real; 例1.输入4名学生的五门成绩,要求输出每位学生的单科成绩和平均成绩 program chengji(input5output);varij:integer;t:real;s:arrayl<4;l<5of real;ave:arrayl>.4of real;beginwrite(4nput grade:9);for i:=l to 4 dobeginfor j:=l to 5 do read(sij); readlnend;for i:=l to 4 dobegint:=0;for j:=l to 5 do t:=t+sij;aveil:=t
19、/5end;for i:=l to 4 dobeginfor j:=l to 5 dowrite( sij);writeln (avei)end;end.第十三节数在计算机中的表示计算机中的数的表示人们习惯用十进制数,它有两个特点:基数为10.逢十进-(其它数制特点亦类似厂可表示为(a)i0=e ki*10i=-m一)、数制计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利 的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。一般计数都采用进位计数,其特点是:(1) 逢n进一,n是每种进位计数制表示一位数所需要的符号数日为基数。(2) 采用
20、位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值 是确定的,这个固定位上的值称为权。在计算机屮:d7 d6 d5 d4 d3 d2 di do只有两种()和1二)、数制转换不同进位计数制z间的转换原则:不同进位计数制z间的转换是根据两个冇理数如相等,则两 数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相 等。要求以下四种进制:i 进制:有10个基数:09 ,逢十进一二进制:有2个基数:01 ,逢二进一八进制:有8个基数:07 ,逢八进一十六进制:有 16 个基数:0 9, a, b, c, d, e, f(a= 10,b= 11
21、 ,c= 12,d= 13,e= 14,f= 15),逢十六进一1、数的进位记数法n=an-1 *pn-l +an-2*pn-2+a2*p2+a 1 *p 1 +ao*po2、十进制数与p进制数之间的转换十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2 取整法。例如,将(30)10转换成二进制数。将(30)10转换成二进制数2130.0最右位21152172131.1最左位(30)10= (11110)2将(30)10转换成八、十六进制数81306最右位3最左位(30)10=(36)8161 30 14(e)-最右位1 最左位(30) 10= (1e) 163、将
22、p进制数转换为十进制数把一个二进制转换成十进制采川方法:把这个二进制的最后一位乘上20,倒数第二位乘上 21,,一直到最高位乘上2n,然后将各项乘积相加的结果就它的十进制表达式。把二进制11110转换为十进制(11110) 2 = 1 *2(4)+1 *2(3)+1 *2(2)+1 *2(1 )+0*2(0)=16+8+4+2+0=(30) 10把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数笫二位乘上81,,一直到最高位乘上然后将各项乘积相加的结果就它的十进制表达式。把八进制36转换为十进制(36) 8=3*8(1)+6*8(0)=24+6= (30) 10把一个i六进
23、制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘 上161,,一直到最高位乘上16n,然后将各项乘积相加的结果就它的十进制表达式。把十六制1e转换为十进制(1e) 16=1*16(1)+14*16(0)=16+14= (30) 103、二进制转换成八进制数(1) 把二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不 够三位时,在高位左1侨添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从 小数点开始,自左向右每三位一纽进行转换即可完成。例如:将二进制数1101001转换成八进制数,则(001 101 001)2i i i(15
24、1)8(1101001)2=(151)8(2) 八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如, 把八进制数(643.503)8,转换成二进制数,贝ij(6 4 3.5 0 3)8iii iii(110 100011 . 101 000 011)2(643.503)8=(1101(x)011.10100()011)24、二进制与十六进制之间的转换(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法, 将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转 换,小数部分从小数点开始h左向右每四位一
25、组进行转换。(2) 十六进制转换成二进制数如将十六进制数转换成二进制数,只要将毎一位十六进制数用四位相应的二进制数表示,即可 完成转换。例如:将(163.5b)16转换成二进制数,则(1 63.5b)16iii 11(0001 0110 0011.0101 1011 )2(163.5b)16=(101100011.01011011)2小结数制问题:(1)注意下列规律的应用:2(0)= (1) 2 2(1)= (10) 2 2(2)= (100) 22(3)= (1000) 2(4)= (10000) 2 2(n)= (100000) 2(2) 8进制的个位数与3位二进制数建立一个一一对应关系;
26、16进制的个位数与4位二进制数建立一个一一对应关系;(3) 十进制的纯小数转换为n进制数的方法是:小数点位置不变,乘n取整。(4) 十进制的整数转换为n进制数的方法是:除n取余数,反读;(5) n进制的整数转换为十进制数的方法是:(amam-1 am-2-.a2a 1 a() n = (am*n m+am-l*n m -l+-*+a2*n 2+al*n 1 +a()*n 0) 1()(6) 如果小数点不在ao的后面,而在辺后面时,展开式又怎样呢?四) 计算机的编码问题1)bcd编码原理2)汉字编码原理3)原码表示与补码表示五) 练习:约定(amam-1 am-2a2a 1 a() n来表示n进
27、制的一个数,而且am不为零,试做下列各问题:(1) 当该数冇三位小数位时,试写出(amam-1 am-2a2a 1 a0) n展开式(2) 当n=8吋且该数的小数点在ao后面时,试求该数可以表达的最大的及最小的二进制数、十进 制数、十六进制数。要做好做对这道综合题,还不是一件简单的事悄,需要应试者对数制方而的知识熟练掌握,然后进 行综合应用,才能完整地做好这道综合题。该题的难度与普通高考的综合题难度相当。是一类考核 学生信息技术范畴知识点综合应用能力的题目。希望同行共同探讨,其它方而的知识点,是不是也 可以,以此为借鉴,收集更多类似的题目,为进一步完善中小学信息技术课程教育教学的科学而全 面的
28、评价出点力!参考答案:1、理解(amam-1 am-2a2a 1 a0) n是表示n进制数一个数的序列,或者说一个n进制数的表 示通式。2、如果该数有三位小数位时,则表示小数点在数字序列中的a3a2这两数字之间,则从am到a3是 该数中整数部分的数字序列,而a2a 1 ao是该数中小数部分的数字序列。3、故(amam-lam-2a2a 1 a() n= amxn m-2 +am-l x n m-3+a3 x n 0+a2 xn-l+alxn-2 +a() x n 3“二”等号的右边的式子的计算结果就是该n进制数对应的十进制数。4、当n=8吋且该数的小数点在ao后面时,该数所表示的就是一个8进制
29、整数的数字序列,而且 am不为零,所以该8进制整数最大的和最小的数字序列分别如下:最大数(8进制):(777777)8(括号中有m+1个7),记为a数最小数(8进制):(100000)8(括号中有m个0),记为b数a数所对应的二进制数为:(111111)2(括号中有3m+3个1)b数所对应的二进制数为:(100000)2 (括号中有3m个0)a数所对应的十进制数为:(2的3m+3次方-1 )10b数所对应的十进制数为:(2的3m次方)1()下列式子中的m,k都为自然数,则有:当3m+3=4k时,a数所对应的十六进制数:(ffff )16其中有3 (m+1 )/4个f;当3m+3=4k+1时,a所对应的十六进制数:(1fff)16其中有(3m+2)/4个f;当3m+3=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年社区工作者试题
- 初中语文写作教学中情绪交互策略研究
- 智能硬件产品合规性与风险管理的解决方案研究-洞察阐释
- 园区内外部合作与共享经济模式探索
- 提升市场竞争力强化品牌塑造能力
- 江高截洪渠高塘排涝站新建工程可行性研究报告
- 2025至2030年中国牛奶包装膜行业投资前景及策略咨询报告
- 2025至2030年中国热熔不织布行业投资前景及策略咨询报告
- 2025至2030年中国涤纶网片行业投资前景及策略咨询报告
- 2025至2030年中国活性石灰窑电控系统行业投资前景及策略咨询报告
- 高级思辨英语视听说(浙江越秀外国语学院)知到智慧树章节答案
- 110kv变电站电气一次系统设计毕业设计论文管理资料
- 理疗免责协议书范本
- 场地平整施工组织设计-(3)模板
- 13J927-3 机械式停车库设计图册
- 河北工程项目的劳务分包
- 食品报废处理合作协议书
- 《六国论》理解性默写
- DB11∕T 1017-2022 乘用车单位产品综合能源消耗限额
- JJF1069-2012法定计量检定机构考核规范
- 2022-2023学年广东省广州市番禺区八年级下学期期末数学试题及答案
评论
0/150
提交评论