惠阳中山中学计算机奥赛培训讲义Word格式.doc

上传人:wj 文档编号:3985300 上传时间:2023-05-02 格式:DOC 页数:76 大小:423KB
下载 相关 举报
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第1页
第1页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第2页
第2页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第3页
第3页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第4页
第4页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第5页
第5页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第6页
第6页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第7页
第7页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第8页
第8页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第9页
第9页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第10页
第10页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第11页
第11页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第12页
第12页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第13页
第13页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第14页
第14页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第15页
第15页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第16页
第16页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第17页
第17页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第18页
第18页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第19页
第19页 / 共76页
惠阳中山中学计算机奥赛培训讲义Word格式.doc_第20页
第20页 / 共76页
亲,该文档总共76页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

惠阳中山中学计算机奥赛培训讲义Word格式.doc

《惠阳中山中学计算机奥赛培训讲义Word格式.doc》由会员分享,可在线阅读,更多相关《惠阳中山中学计算机奥赛培训讲义Word格式.doc(76页珍藏版)》请在冰点文库上搜索。

惠阳中山中学计算机奥赛培训讲义Word格式.doc

如:

已知半径,计算圆的面积的算法。

算法读入半径R的值——>

计算圆的面积S=π*R*R——>

输出圆的面积S。

注意:

算法不一定唯一,如求1+2+3+4+5+6+7+8+9+10的算法。

2、算法的特点:

①有穷性:

必须在执行了有穷个计算步骤后终止;

②确定性:

每一个步骤必须是精确的、无二义性的;

③可行性:

可以用计算机解决、能在有限步、有限时间内完成;

④有输入:

⑤有输出:

四、算法举例

例一:

交换两个大小相同的杯子中的液体(A水、B酒)。

算法1:

1、再找一个大小与A相同的空杯子C;

2、A——>

C;

3、B——>

A;

4、C——>

B;

结束。

或(B——>

C、A——>

B、C——>

A)

算法2:

1、再找两个空杯子C和D;

C、B——>

D;

3、C——>

B、D——>

注意:

一个算法往往具有代表性,能解决一类问题,如例一可以引申为:

交换两个变量的值。

例二:

输入1个数给计算机,若为正数则打印出来。

算法:

①输入1个数——>

X;

②判断X>

0?

③若X>

0,则打印X;

例三:

分别输入10个数,打印出其中的正数。

算法1:

设T为计数器。

①输入第一个数——>

X,1——>

T;

②判断X>

0?

③若X>

0,则打印输出;

④判断T>

10?

    ⑤若T>

10,则表示10个数已经处理完,结束。

否则,再输入下一个数——>

X,且T+1——>

T,然后转②继续执行。

例四:

从10个数中挑选出最大的一个数,打印输出。

诱导:

以从10个人中挑出最高的人为例,让学生发挥想象。

“打擂台”或“比武招亲”,设MAX为大力士,T为计数器。

①先输入1个数——>

MAX,1——>

(擂主)

②再输入下一个数——>

X,T+1——>

(上一个挑战者)

③比较X>

MAX?

(比武)

④若X>

MAX成立,X——>

MAX;

(打败擂主,即新的大力士产生)

否则,MAX仍然是最厉害,即值不变;

(败下阵来)

⑤判断T=10?

(看看还有没有挑战者)

⑥若T=10成立,则说明10个数已比较玩,最大的数在MAX中,输出MAX即可;

(颁奖)

否则,转②继续找下一个挑战者比武。

(下一个)

两个两个打(淘汰赛)。

2

3

4

5

7

6

1

10

9

8

例五:

计算1*2*3*4*5*6*7*8*9*10。

描述:

阶乘10!

找两个容器T和I;

T为累乘器,初值为1;

I为计数器,初值为1。

①1——>

T,1——>

I;

②T*I——>

③I+1——>

④判断I>

⑤成立,则输出T,结束。

否则,转②继续乘。

提问:

1、T的初值可不可以为0?

不能

2、I的初值可不可以放0?

3、I的初值可不可以放2?

可以

4、I可不可以放10?

可以,怎么改算法?

让学生完成。

5、可不可以先判断后执行?

6、现在要求1+2+3+4+5+6+7+8+9+10,如何办?

五、算法的表示形式

1、文字描述:

二义性,如:

甲叫乙把他的书拿来;

小明连王刚都不认识;

2、伪代码:

用符号,不直观;

3、流程图:

简洁、直观、无二义性。

有很多种,我们学N-S流程图。

六、结构化程序设计和N-S流程图

经过证明:

任何一个算法都可以用以下3种基本结构表示:

1、顺序结构:

例一;

2、分支结构:

例二、例三中的②③、例四中的③④;

3、循环结构:

例三中的④⑤、例四中的⑤⑥、例五;

两种循环:

直到型和当型。

相应的N-S图:

条件

成立不成立

AB

当条件成立时做

A

直到条件成立时为止

B

C

一个算法往往需要几个简单结构复合在一起才能表示,即复合结构。

练习:

用N-S图画出以上5个例子的流程图,举例让学生模仿。

将第一个数—>

MAX,将1—>

T

将下一个数—>

X,T+1—>

直到T=10为止

输出MAX

1—>

T,1—>

I

直到I>

10为止

输出T

T*I—>

T+1—>

X>

MAX

YN

X——>

MAX

当型循环

例五

例四(算法一)

输入第一个数——>

T

当T<

=10做

X>

0

YN

打印X

输入下一个数——>

X

T+1——>

输入1个数——>

X>

YN

找一个C

A——>

B——>

C——>

例一(算法1)例二

例三

让学生将直到型循环和当型循环相互转换:

关键是条件的取反。

七、课后作业

1、求1+1/2+1/3+1/4+……+1/10。

2、求两个自然数的最大公约数。

要求:

写出算法,画出相应的N-S流程图。

0——>

S,1——>

当T<

=10做

输出S

S+1/T——>

S

T+1——>

输入M,N

当N<

>

0时做

输出M

M除以N的余数—>

R

N—>

M

R—>

N

第1题

第2题

Pascal程序设计语言简介

Pascal语言是学习计算机程序设计首选的语言,它的数据类型丰富、程序结构清晰,对培训逻辑思维能力和结构化程序设计思想很有益。

是国际、国内比赛的首选语言,也是大学计算机专业的必修课程。

Pascal种类、版本较多。

我们学习的是TurboPascal7.0,即TP7.0。

计算机程序是什么:

程序是一些计算机能够读懂的命令或指令的有序集合,它的作用是按照编写者的意图完成一定的功能,编写这样的程序叫程序设计。

如:

下面是一个最简单的Pascal程序,它的作用是在屏幕上显示“HOWDOYOUDO!

PROGRAMEX1(INPUT,OUTPUT);

BEGIN

WRITELN(‘HOWDOYOUDO!

’);

END.

下面我们就开始讲解Pascal程序设计的基础知识。

一、一个完整的PASCAL程序的组成

再看一个简单的例子:

constp=3.1415926;

varr:

integer;

s:

real;

BEGIN

Readln(r);

S:

=p*r*r;

Write(s);

END.

从上面两个简单例子,我们归纳出:

PROGRAM——表示一个程序的开始

空格——不能省,但可以有多个

程序首部程序名——任意,但一般要有意义

(可以省略)(INPUT,OUTPUT)——参数,表示需要从键盘输入数据,在显示器上显示结果

——不能省,表示一个语句结束

说明部分:

说明程序中用到的标识符(如符号常量、变量)。

标识符必须以字母开头,后跟字母或数字,不许有空格。

PASCAL程序组成如:

B,TWO,X1,MY_1是正确的;

3X,MYFUNCTION,ABC.123是错误的。

用const说明常量;

constp=3.1415926;

用var说明变量;

varr:

BEGIN

语句;

——一个语句一般表示一个动作,语句之间要用“;

”分割

程序体END

句号“.”——表示一个程序的结束,不能省。

例二、已知梯形的上底、下底和高,求梯形的面积。

PROGRAMAREA(INPUT,OUTPUT);

说明:

1、标识符要先定义后使用,并且先说明常量再说明变量;

2、数据类型:

相同类型可以一起定义,用逗号割开;

3、赋值号:

不是等于号,是“:

=”

4、乘号:

“*”,不能省略,如AB一定要写成A*B

5、除引号里面的字符外,程序中的字母不分大小写;

6、按造格式写,注意对齐。

VARR1,R2,H,S:

REAL;

BEGIN

R1:

=4.5;

R2:

=8.1;

H:

=6;

S:

=(R1+R2)*H/2;

WRITEIN(S);

END.

二、关键字

又称保留字,是指PASCAL中具有固定意义的一批英文单词或其缩写,有专门的用途,

用在固定的位置,不能作为它用。

1、程序的起始符号:

PROGRAM、FUNCTION、PROCEDURE

2、说明部分的专用符号:

CONST、VAR、ARRAY、FILE、LABEL、TYPE、SET、RECORD、PACKED

3、专用语句:

CASE、DO、DOWNTO、ELSE、FOR、GOTO、IF、OF、REPEAT、THEN、TO、UNTIL、WHILE、WITH

4、运算符号:

AND、DIV、IN、MOD、NOT、OR

5、分隔符:

BEGIN、END

6、空指针变量:

NIL

单词不要写错,不分大小写。

三、标识符

用来标识(表示)程序、符号常量、变量、过程、函数等的名字的符号。

分为两类:

1、标准标识符:

PASCAL已经预先定义好的,有特定含义。

常量名:

FALSE,TRUE,MAXINT(系统中的最大整数,32767),

类型名:

BOOLEAN,CHAR,INTEGER,REAL,TEXT

文件名:

INPUT,OUTPUT

函数名:

ABS,ARCTAN,CHR,COS,EOF,ELON,EXP,LN,ODD,

ORD,PRED,ROUND,SIN,SQR,SQRT,SUCC,TRUNC

过程名:

DISPOSE,GET,NEW,PACK,PAGE,PUT,READ,READLN,

RESET,REWRITE,UNPACK,WRITE,WRITELN

2、自定义标识符:

在程序中需要,由用户自己定义的,要注意以下几个问题:

①禁止使用关键字、标准标识符作标识符;

②尽量做到“见名知义”;

③标识符要先说明后使用。

四、数据类型

1、计算机处理的对象就是数据,数据的一个重要特征就是它的类型,类型决定了它可以进行的运算、它可能取值的范围、它需要占用的计算机空间。

2、四种简单的标准数据类型:

①INTEGER:

整形,—32768~32767;

占用2个字节;

②REAL:

实形,10-38~1038,-1038~-10-38;

关于“溢出”;

占用4个字节;

③CHAR:

字符型,能显示和打印输出的字符,如“A”,“=”,“a”;

占用1个字节;

④BOOLEAN:

布尔型(逻辑型),TRUE(真)、FALSE(假);

占用1个字节;

五、常量

在程序运行过程中,其值不能被改变的量,称为“常量”。

如:

MAXINT(32767),PI=3.1415926,“A”,TRUE,FALSE。

1、整形常量:

MAXINT~—MAXINT—1

2、实形常量:

表示方法:

十进制表示法,如—123456.789,7.55,—0.012

科学计数法,如120000000,即1.2*108,应写成1.2E+8

—0.000000012,即—1.2*10—8,应写成—1.2E—8

3、字符常量:

ASCII码字符集,256个,记住几个关键的。

4、布尔常量:

FALSE<

TRUE

5、符号常量:

CONST标识符=值;

“先说明后使用”,“见名知义”;

六、变量

在程序的运行过程中,它的值可以改变的量。

变量有“三要素”:

1、变量名:

标识符,要正确、有意义;

2、变量的类型:

INTEGER,REAL,CHAR,BOOLEAN;

3、变量的值:

可变,在某一时刻是一个确定的值;

也要“先说明后使用”,说明方法:

VAR变量名:

类型名;

注意1:

一个程序只要一个VAR,相同类型的变量用逗号隔开一起定义。

2:

变量在定义的同时就确定了类型,也就确定了取值范围和可以进行的运算,

同时计算机也会为它开辟一个存储空间存放值。

解释T+1—>

T的含义。

七、标准函数

PASCAL预先写好的一些有用的小程序,供用户直接调用,称为标准函数。

函数的作用:

得到一个值;

调用方法:

函数名(参数);

函数的两个注意问题:

自变量的类型,函数值的类型;

1、算术函数:

8个

ABS(X):

X可以为INTEGER或REAL,作用求X的绝对值;

SQR(X):

X可以为INTEGER或REAL,作用求X的平方值;

SQRT(X):

X可以为非负整数或非负实数,作用求X的绝对值;

SIN(X):

正弦;

COS(X):

余弦;

ARCTAN(X):

反正切;

EXP(X):

指数,X可以为INTEGER或REAL,作用求e的X次方;

e=2.71828……

LN(X):

自然对数,X为正整数或正实数,作用求X的自然对数;

2、转换函数:

4个

TRUNC(X):

截尾,X为REAL,作用去掉X的小数部分;

ROUND(X):

舍入,X为REAL,作用为小数部分四舍五入;

ORD(X):

序号,X为INTEGER、CHAR、BOOLEAN,作用求X的序号;

CHR(X):

字符,X为INTEGER,作用求以X为序号的字符,是ORD函数的反函数;

ASCII码:

见表

将字符转换为数字:

ORD(‘X’)—ORD(‘0’);

记住“A”、“a”、“0”的ASCII码便行,其它可计算出。

3、顺序函数:

2个

PRED(X):

前驱,X为INTEGER、CHAR、BOOLEAN,作用取X的前一个数据。

SUCC(X):

后继,X为INTEGER、CHAR、BOOLEAN,作用取X的后一个数据。

第一个数没有前驱,最后一个数没有后继。

4、逻辑判断函数:

3个

ODD(X):

奇函数,X为INTEGER,判断X是奇数还是偶数,

若X为奇数则值为TRUE

(1),否则值为FALSE(0);

OLN(X):

行结束函数,判断一换是否结束;

EOF(X):

文件结束函数,判断文件是否结束;

八、算术运算符

加(+)减(-)乘(*)除(/):

运算数都可以是INTEGER或REAL;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2