全国青少年信息学计算机奥林匹克竞赛.ppt
《全国青少年信息学计算机奥林匹克竞赛.ppt》由会员分享,可在线阅读,更多相关《全国青少年信息学计算机奥林匹克竞赛.ppt(86页珍藏版)》请在三一办公上搜索。
1、第一课 Free Pascal的基础知识及选择语句的认识,第一章 算法的初步认识,1.1 什么是算法?,算法就是一组有穷的规则,它规定了解决某一特定类型问题的一系列运动,通俗的说就是解决问题的方法与步骤。算法也可以理解为:程序(数据处理)+数据结构(数据组织),算法的性质:1.有限性,算法中的运算项是有限的,且每个运算都可在有限的时间内完成的;2.确定性,即算法中的每一项运算都有明确的定义,无二义性;3.输入输出,可以没有输入,但是一定要有输出运算项;4.可行性,即对于任意给定的合法输入均可得到相应的正确输出结果。,1.2 算法的描述,自然语言流程图(N-S流程图)程序语言 cobol,pas
2、cal,basic,c,c+,java,A,B,p,A B,不成立,成立,A,A,当P,直到P,【例1-1】交换A和B的值自然语言:(1)赋A和B的初值;(2)把A的值给X;(3)把B的值给A;(4)把X的值给B;(5)输出A、B的值;vcc,流程图:,程序设计语言:Program p1_1;Var a,b,x:integer;BeginA:=3;b:=4;X:=a;a:=b;b:=x;Writeln(a=,a,b=,b);End.,【练一练】用流程图表示将A和B两个数中较大的数给MAX;,第三章 Pascal语言基础知识,3.1 程序设计的入门语言Pascal3.2 Pacal基本符号3.3
3、 Pascal保留字3.4 Pascal标识符3.5 Pascal的数据类型3.6 常量和变量3.7 Pascal标准函数3.8 Pascal的运算符及表达式3.9 ASCII码3.10 Pascal程序的结构,3.1程序设计的入门语言Pascal,Pascal是世界上第一个结构化程序设计高级语言。,结构化,顺序结构,选择结构,循环结构,一个入口一个出口层次分明,例:结构化程序的结构由三种基本结构组成,下面()不属于这三种基本结构?(A)顺序结构(B)输入输出结构(C)分支结构(D)循环结构,B,Pascal程序的一般结构,Program 程序名(参数表);说明部分Begin语句部分End.,
4、(1)程序首部由保留字Program开头,后面跟一个程序名;其格式为:Program 程序名;程序名由用户自己取,它的第一个字符必须是英文字母或下划线,其后的字符只能是字母或数字和下划线组成,程序名中不能出现运算符、标点符和空格。,Pascal程序的说明部分,(2)说明部分程序中所用的常量、变量,或类型、及过程与自定义函数,需在使用之前预先说明,定义数据的属性(类型)。Var S,R,C:Real;是变量说明。只有被说明为某一类型的变量,在程序中才能将与该变量同类型的数值赋给该变量。变量说明的格式为:,Var 变量表:类型;,Pascal程序的语句部分,(3)语句部分指由保留字 Begin(开
5、始)至 End.(结尾)之间的语句系列,是解决问题的具体处理步骤,也是程序的执行部分。Pascal程序不管是哪部分,每句末尾都必须有分号(;),但允许最接近 End 的那个语句末尾的分号省略;程序结束的End末尾必须有圆点(.),是整个程序的结束标志。程序中花括号“”之间的部分为注释部分。,【练一练】1.Pascal程序的执行部分是_。A.程序体 B.语句 C.程序的说明部分和语句部分 D.整个程序2.标准pascal程序说明部分的正确顺序是_。A.lableconstvartype B.varconstlabletypeC.lableconsttypevar D.constvartypela
6、ble,B,C,3.2 Pascal基本符号,1.英文字母A Z a z 除字符串中的字母外,其他地方的字母不区分大小写。Var a:integer;var A:integer;2.数字0 1 2 3 4 5 6 7 8 93.特殊符号+-*/=():=.,;:.除规定的基本符号外,不允许使用其他的符号。,3.3 Pascal保留字,保留字:已被系统使用、有专门的用途。,1.程序、函数、过程的起始符号PROGRAM,FUNCTION,PROCEDURE2.说明部分的专用定义符号ARRAY,CONST,FILE,LABEL,PACKED,VAR,RECORD,SET,TYPE3.语句专用符号CA
7、SE,DO,DOWNTO,ELSE,FOR,GOTO,IF,OF,REPEAT,THEN,TO,UNTIL,WHILE,WITH,FORWARD4.运算符号AND,DIV,IN,MOD,NOT,OR5.分隔符号BEGIN,END6.空指针常量NIL,3.4 Pascal标识符,标识符:以字母或下划线开头的字母、数学、下划线序列。,1.常用的标准标识符:标准常量FalseMaxintTrue标准类型BooleanCharReal Integer Text标准函数AbsArctanChr CosEofEolnExpLnOdd Ord PredRoundSin SqrSqrt SuccTrunc标准
8、过程Get NewPack Page Put ReadReadln Reset RewriteUnpack WriteWriteln标准文件InputOutput2.用户自定义标识符:由你自己根据需要来定义。允许大小写混合,但不能与标准标识符或保留字同名。,【练一练】1.下列中合法的PASCAL标识符是()。A1B2C3(B)FOR(C)2AB(D)A12.下列是非法的标识符的是()。A.A23456 B.A_17 C.3X D.P5Q3.下例不是保留字的是()。A.NEW B.PROGRAM C.DIV D.VAR,A,C,A,3.5 Pascal的数据类型,1.标准数据类型,2.自定义类型
9、 枚举型、子界型,下面()是Pascal数。(A)73e4(B)-e4(C)36.74-e6(D)1,742,258下面()是实数。(A)10(B)0.0(C)0(D)0下面有效的Pascal字符型数据是()。(A)This is(B)6(C)Y(D),A,B,D,3.6 常量和变量,1.常量:在程序执行过程中其值不能改变的数据。,2.变量:相对于常量,在程序执行中值可变。,常量定义:常量定义出现在说明部分。它的语法格式是:const=;.=;例如:const a=12 隐含说明a是整型;,变量说明:变量说明出现在说明部分。它的语法格式是:var:;.:;,下面常量定义中正确的是()。(A)c
10、onst d=40 or d=100(B)const s:0.5(C)const s=2.15(D)const s:=(25);下列变量说明中,不合法的是()。(A)var a=real;(B)var r:Real(C)var red:Integer(D)var i1,i2:Integer;,C,A,3.7 Pascal标准函数,熟悉各个标准函数的用途注意函数的自变量的类型和函数值的类型,标准函数1.数学函数Abs(x)inc(x)sqr(x)sqrt(x)Abs(-1)=1 inc(5)=6 sqr(3)=9 sqrt(16)=4 2.转换函数chr(x)ord(x)round(x)trun
11、c(x)chr(97)=aord(A)=65 round(4.6)=5trunc(1.999)=13.顺序函数Pred(x)succ(x)Pred(b)=a succ(a)=b 4.逻辑函数Odd(x)eoln(x)eof(x)odd(5)=true,下列函数值是整型的是()。(A)chr(23)(B)ord(false)(C)succ(false)(D)odd(98)下列函数值不可能是布尔类型的是()。(A)odd(x)(B)ord(x)(C)pred(x)(D)succ(x),B,B,设有变量说明:VAR AA:(C,G,A,J,K);则函数SUCC(A)的取值是()。(A)G(B)3(C
12、)J(D)B,C,3.8 Pascal的运算符及表达式,1.运算符a.算术运算符+-*/divmod b.逻辑运算符not and or c.关系运算符=2.表达式 算术表达式、逻辑表达式、关系表达式,注意表达式中的运算符优先级别:(1)同级运算从左到右,不同级别运算从高到低运算;(2)括号优先级最高,从内到外逐层降低;(3)not优先级为4;(4)*,/,div,mod,and优先级别为3;(5)+,-,or优先级别为2。(6)关系运算符优先级别为1。,表达式35 div 3 mod 4的值是()。(A)0(B)2(C)3(D)6下列表达式中,其值为TRUE的是()。(A)150=150(B
13、)100150(C)ABS(-200)200(D)SUCC(A)SUCC(A)表达式10*4 mod 5*22/4*5的值是。i是j的整数倍的布尔表达式,m是偶数的布尔表达式是,y是闰年的布尔表达式是。,C,0,i mod j=0,Not(odd(m)或者m mod 2=0,(y mod 4=0)and(y mod 100 0)or(y mod 400=0),A,3.9 ASCII码,ASCII码:美国标准信息交换代码 8位二进制 右面7位表示字符 最高位检验错误,或空闲不用,常用字符的ASCII:字符 ASCII码0 48A 65a 97,有一编码规则如下:原码:A B C X Y Z密码:
14、Z Y X C B A已知原码变量为x,则密码的表达式是。,Chr(ord(A)+ord(Z)-ord(x),3.10 Pascal程序的结构,program exam1;var r,c,s:integer;begin readln(r);c:=3.14*2*r;s:=3.14*r*r;writeln(c,s);end.,执行部分,程序体,读入圆的半径r,求周长c,求面积s,输出周长与面积,第四章 顺序结构程序设计,4.1 赋值语句,变量标识符:=表达式;,注意:1.不要与=混淆,具有方向性2.先计算表达式的值,后赋值给变量3.两边类型应相同,例外:当表达式的值为整型时,能自动转变成实型后赋给
15、一个实型变量4.一个赋值语句只能给一个变量赋值5.变量可进行多次赋值6.赋值语句左边只能是单个变量,Program P4_1(input,output);Const a=128;Var b,d:integer;c:real;Begin b:=a div 16;先计算a div 16,得8,再赋给b c:=a/b;计算a/b得16,再自动变为实型16.0赋给c d:=a;d的值为128End.,Program P4_2(input,output);Var b,d:integer;Begin a:=1;b:=2;a:=b;b:=a;End.,在程序中,经常用a:=a+1作计数器,a:=a+x作累加
16、器,a:=a*x作累乘器。,下列()程序行是对的。(A)x:=y:=5;(B)a+b:=c3(C)y:=1;y:=y+1;(D)i:=x10;,C,已知R1,R2是实型变量,I1,I2是整型变量下列中错误的赋值语句是()。(A)I2:=I1+I2 DIV I1(B)I1:=I1/I2(C)R2:=3/5*SQR(R1+R2)(D)R1:=R2+I1,B,有变量说明:VAR I1,I2:INTEGER;R1,R2:REAL;B1,B2:BOOLEAN;设各变量均已赋值,下列语句中无语法错误的是()。(A)B2:=ORD(R1R2)(B)I2:=I1+R1(C)B1:=I1=I2(D)B1:=B1
17、+B2,C,4.2 输入(read、readln)语句,输入语句的格式:read(变量列表);readln(变量列表);,执行该语句时,程序进入等待状态,等待用户从键盘输入数据,输入的数据将依次赋给变量表中的变量。,注意:1.变量表中的变量可以是一个,也可以是多个,多个时,要以逗号分开。2.从键盘输入数据时,数据的个数不能少于变量的个数,否则系统仍处于等待状态。当数据多于变量个数时,对于readln语句便将其忽略。对于read语句,要么将其忽略,要么被下一个语句读入。3.输入数值型数据时,数据间用空格或回车键分隔,最后一定要按回车。输入字符型数据时,数据间不能用空格或回车分隔,必须连续输入。4
18、.从键盘输入的数据必须是常量,且与变量的类型要一致。5.Readln后可以没有变量名表,()中内容是可选项。此时该语句只相当读入“回车”符。,输入数值型的数据时,用空格间隔,直到输入回车。输入字符型时,就不能用空格间隔,也不能用回车分隔。,设x是整型变量,y是实型变量,ch1和ch2是字符型变量,输入语句写作:Read(x,y,ch1,ch2);若想得到的执行结果为:x=50,y=4.2,ch1=a,ch2=b。输入:50 4.2ab,如果出入:50 4.2 ab 结果会是怎么样的?,Read与Readln的区别:当输入的个数多于变量的个数时,readln忽略掉多余;read要么忽略,要么被下
19、一个输入语句读入。Read后面必须有变量表,且只能是变量;readln后允许没有变量表,若没有,其作用的是换行读取数据。,(1)Read(a);Read(b,c,d,e);Read(f,g);(2)Readln(a);Readln(b,c,d,e);Readln(f,g);如果两组语句输入相同的数据:1 2 34 5 67 8 9 那么两组语句的执行结果会怎样?,a=1b=2 c=3 d=4 e=5f=6 g=7,a=1b=4 c=5 d=6 e=7f=0 g=0,4.3 输出(write、writeln)语句,输出可以是一项,也可以是多项,输出多项时各项以逗号分隔。输出项可以是任何一个标准数
20、据类型。输出项可以是常量,变量,表达式,字符串,函数。Write语句输出完最后一项后不换行,此语句至少含有一个输出项。Writeln语句输出完最后一项后换行,该语句允许没有输出项,此时该语句不输出任何内容,只起换行作用。,输入语句的格式:write(变量列表);writeln(变量列表);,Program P4_3(input,output);Const a=1;b=2;Begin writeln(6);writeln(a);writeln(sqr(3);writeln(a+b);writeln(a+b,a+b);write(pi=);writeln(3.14);End.,输出项可以是常量,变
21、量,表达式,字符串。Write与writeln的区别Write输出后不换行,而writeln换行。Write至少有一个输出项,而writeln可以没有输出项,仅起换行作用。场宽场宽:数据输出时所占据的列数。1.标准场宽整型 12 实型 17(以科学计数法输出)字符型 1 布尔型 4(true)或5(false)默认时按标准输出,小于场宽时左侧补空格,2.自定义场宽(1)单场宽场宽可以是正整数,也可是值为正整数的整型表达式。输出超过场宽时,自定义场宽失效,按实际位数输出。输出项可以是:整型,布尔型和字符型,但不允许是实型。(2)双场宽双场宽:用来表示实数的输出格式。定义:输出项:总场宽:小数位数
22、没有达到场宽时,左侧补空格;超出时,按实际输出。双场宽的输出结果并未改变该数的精度。Writeln(-10.1195:9:3);输出:-10.120,设有程序 PROGRAM exam(Input,Output);Var ch1,ch2,ch3:Char;BEGIN Readln(ch1,ch2,ch3);Readln(ch1,ch2);Readln(ch1);Writeln(ch1,ch2,ch3)END.运行以上程序时,若输入为:abc def ghi 则输出是()。(A)abc(B)gec(C)ceg(D)adg,B,下面的输出语句中错误的语句是()(A)Writeln($is used
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国青少年 信息学 计算机 奥林匹克 竞赛
链接地址:https://www.31ppt.com/p-5233612.html