- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
01-算法和流程图
算法和流程图
一、学习目的和学习内容 学习各种软件的使用——让计算机按照我们的意图去完成一件事——编程序(软件)给别人用;
国际信息学(计算机)奥林匹克竞赛——全国中学生信息学奥赛——江苏省中学生信息学奥赛;
比赛的内容就是编程比赛;这也是我们的学习目的和内容;
计算机程序设计语言:人类语言—— 用程序设计语言(如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;
2、A—— C、B—— D;
3、C—— B、D—— A;结束。
注意:一个算法往往具有代表性,能解决一类问题,如例一可以引申为:交换两个变量的值。
例二:输入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个人中挑出最高的人为例,让学生发挥想象。
算法1:“打擂台”或“比武招亲”,设MAX为大力士,T为计数器。
先输入1个数—— MAX,1—— T; (擂主)
再输入下一个数—— X,T+1—— T; (上一个挑战者)
比较X MAX ?; (比武)
④若X MAX成立,X—— MAX; (打败擂主,即新的大力士产生) 否则,MAX仍然是最厉害,即值不变;(败下阵来)
⑤判断T 10 ?; (看看还有没有挑战者)
⑥若T 10成立,则说明10个数已比较玩,最大的数在MAX中,输出MAX即可; (颁奖) 否则,转②继续找下一个挑战者比武。 (下一个)
算法2:两个两个打(淘汰赛)。
例五:计算1*2*3*4*5*6*7*8*9*10。
描述:阶乘10!
算法1:找两个容器T和I;T为累乘器,初值为1;I为计数器,初值为1。
1—— T,1—— I;
T*I—— T;
I+1—— I;
判断I 10 ?
成立,则输出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,如何办?让学生完成。
算法的表示形式
文字描述:二义性,如:甲叫乙把他的书拿来;小明连王刚都不认识;
伪代码:用符号,不直观;
流程图:简洁、直观、无二义性。有很多种,我们学N-S流程图。
结构化程序设计和N-S流程图
经过证明:任何一个算法都可以用以下3种基本结构表示:
1、顺序结构:例一;
2、分支结构:例二、例三中的②③、例四中的③④;
3、循环结构:例三中的④⑤、例四中的⑤⑥、例五; 两种循环:直到型和当型。
相应的N-S图:
注意:一个算法往往需要几个简单结构复合在一起才能表示,即复合结构。
练习:用N-S图画出以上5个例子的流程图,举例让学生模仿。 当型循环 例五 例四(算法一)
例一(算法1) 例二 例三
让学生将直到型循环和当型循环相互转换:关键是条件的取反。
课后作业
求1+1/2+1/3+1/4+……+1/10。
求两个自然数的最大公约数。
要求:写出算法,画出相应的N-S流程图。 第1题 第2题
A
B
C 条件
成立 不成立 A B
当条件成立时做
A
直到条件成立时为止
文档评论(0)