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

上传人:b****1 文档编号:13168202 上传时间:2022-10-07 格式:DOC 页数:76 大小:423KB
下载 相关 举报
惠阳中山中学计算机奥赛培训讲义文档格式.doc_第1页
第1页 / 共76页
惠阳中山中学计算机奥赛培训讲义文档格式.doc_第2页
第2页 / 共76页
惠阳中山中学计算机奥赛培训讲义文档格式.doc_第3页
第3页 / 共76页
惠阳中山中学计算机奥赛培训讲义文档格式.doc_第4页
第4页 / 共76页
惠阳中山中学计算机奥赛培训讲义文档格式.doc_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

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

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

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

编程序(软件)给别人用;

国际信息学(计算机)奥林匹克竞赛——全国中学生信息学奥赛——广东省中学生信息学奥赛;

比赛的内容就是编程比赛;

这也是我们的学习目的和内容;

计算机程序设计语言:

人类语言——>

用程序设计语言(如Pascal语言)表示——>

再翻译成机器语言;

二、计算机解决问题的步骤

做任何一件事都要有一定的的步骤,如求1+2+3+4+5+6+7+8+9+10;

计算机解题步骤:

分析问题

——>

确定解决问题的方法和步骤(即算法)

——>

选择一种计算机语言,根据算法编写计算机程序

——>

让计算机执行这个程序获得结果

三、算法的概念

1、为解决某一个问题而采取的方法和步骤,称为算法。

或者说算法是解决一个问题的方法的精确描述。

如:

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

算法读入半径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;

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

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1