1、第2单元 编程计算第1单元 初识数据与计算第3单元 认识数据第4单元 计算与问题解决第5单元 数据分析与人工智能信息技术信息技术(必修必修1 1)学习目标学习目标1 1、了解计算、了解计算机解决问题的机解决问题的过程过程。2 2、了解流程图的规范表示方法,学会使用、了解流程图的规范表示方法,学会使用自然语言和流程图描述自然语言和流程图描述算法。算法。3 3、了解算法的三种基本、了解算法的三种基本结构。结构。最强大脑游戏规则:游戏规则:用十秒钟记忆十个物品以及他们的编号,之后根据提问回答物品的用十秒钟记忆十个物品以及他们的编号,之后根据提问回答物品的编号,看谁记住的物品编号数量多。编号,看谁记住
2、的物品编号数量多。思考:计算机如何实现游戏?思考:计算机如何实现游戏?算法:解决问题的方法与步骤算法是尼克劳斯.沃斯(N.Writh)提出的,他指出:程序=算法+数据结构(DATA STRUCTURE)(即算法不能单独构成程序,它必须和数据结构合二为一)算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程就是计算机解题的过程。算法的特征算法的特征 有穷性有穷性 执行有限步之后结束,且每一步都执行时间都是有限的。确定性确定性算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。输入项输入项有零个或多个输入。输出项输出项至少产生一个输出。可行性可行性
3、原则上能精确运行,用纸和笔做有限运算后可以完成。算法的描述方法算法的描述方法人们日常生活中使用的语言,汉语,英语,日语等都是自然语言,这些自然语言描述算法符合我们的表达习惯,且容易理解。也叫程序框图,是算法的一种图形化表示方法,与自然语言描述算法相比,用流程图描述算法形象、直观、更容易理解。计算机是人脑的延伸,要研究计算机解决问题的过程,首先要从人解决问题的角度谈起。你能用自已的话描你能用自已的话描述述“最强大脑最强大脑”游戏游戏的解决步骤吗?的解决步骤吗?要求:详细说明计算机处理的具体对象、每一步的准确处理过程活动一 使用自然语言描述算法环节环节自然语言自然语言出题1.显示游戏规则、物品及其
4、编号10秒2.清屏答题1.给出一个物品名称2.回答编号3.如果回答正确,答对的题数加14.重复以上步骤,直到答完5道题输出结果输出答对的题数显 示 游 戏 规 则、显 示 物 品 以及 编 号,屏 幕 停 留 1 0 秒;随 机 出 题,给 出 物 品,回 答编 号;判 断 回 答 是 否 正 确,如 果正 确,则 答 对 的 题 述 加 1。重 复 以 上 步 骤,直 到 答 完 5 道题,显 示 答 对 的 题 数。描述方法描述方法优点优点缺点缺点自然语言通俗易懂容易产生歧义,书写繁琐活动二 使用流程图描述算法图形符号名称功能起止框表示一个算法的起始和结束输入/输出框表示输入和输出的信息处
5、理框赋值、计算等处理判断框表示判断的条件流程线指向算法运行的方向连接符表示流程图的接续活动二 使用流程图描述算法三种基本结构的流程图顺序结构把 大 象 关 进 冰 箱 需 要 几 步?用自然语言描述用自然语言描述S1S1:拉开冰箱门;:拉开冰箱门;S2S2:大象进入冰箱;:大象进入冰箱;S3S3:关上冰箱门。:关上冰箱门。自上而下自上而下用流程图表示用流程图表示S1S2S3分支结构如 果如 果“大 象 太 大 无 法 进 入 冰 箱大 象 太 大 无 法 进 入 冰 箱”,怎 么 办?,怎 么 办?用自然语言描述用自然语言描述如果大象太大无法进入冰箱,如果大象太大无法进入冰箱,那么就换一只小象
6、进。那么就换一只小象进。做出判断做出判断用流程图表示用流程图表示象太大?进入换小象是否循环结构如 果 有 三 只 小 象 进 冰 箱,怎 么 解 决?如 果 有 三 只 小 象 进 冰 箱,怎 么 解 决?用自然语言描述用自然语言描述一只一只地进入,直到三只一只一只地进入,直到三只小象都进入冰箱,即完成。小象都进入冰箱,即完成。周而复始周而复始用流程图表示用流程图表示一只小象进入三只都进入冰箱了?是否你能用所学知识,你能用所学知识,完成完成“最强大脑最强大脑”流流程图吗?程图吗?活动二 使用流程图描述算法描述方法流程图优点形象、直观,容易理解缺点无法直接在计算机上运行活动三 用Python语言
7、实现游戏在在PythonPython语言开发环境中,调试运行程序,观察运行结果。语言开发环境中,调试运行程序,观察运行结果。import random import random#随机模块随机模块import time import time#导入时间导入时间import os import os#导入导入OSOS模块模块print(print(你好,现在你有你好,现在你有1010秒钟的时间记忆下列物品及其编号秒钟的时间记忆下列物品及其编号)things=things=苹果苹果,香蕉香蕉,橙子橙子,梨子梨子,猕猴桃猕猴桃,柚子柚子,猴魁猴魁,铁观音铁观音,彩蛋彩蛋,复活节复活节 for i i
8、n range(10):for i in range(10):print(i,:,thingsi)#print(i,:,thingsi)#在屏幕上显示编号及物品在屏幕上显示编号及物品time.sleep(10)#time.sleep(10)#延时延时1010秒秒os.system(cls)#os.system(cls)#清屏幕,隐去编号及物品清屏幕,隐去编号及物品n=0#n=0#记录答对的题数,初值为记录答对的题数,初值为0 0t2=random.sample(things,5)#t2=random.sample(things,5)#随机抽出随机抽出5 5个物品个物品 for i in t2:
9、#for i in t2:#出出5 5题题 ans=int(input(i+ans=int(input(i+的编号是的编号是:)#:)#输入编号答题输入编号答题 if i=thingsans:if i=thingsans:n=n+1#n=n+1#如果回答正确,答对的题数加如果回答正确,答对的题数加1 1print(nprint(n你一共答对了你一共答对了,n,n,次次)#)#屏幕显示答对的题数屏幕显示答对的题数input(ninput(n按回车键结束程序按回车键结束程序)尝试将流程图与代尝试将流程图与代码块进行匹配码块进行匹配t2=random.sample(things,5)for i in
10、 t2:ans=int(input(i+的编号是:)ans=int(input(i+的编号是:)if i=thingsans:n=n+1 time.sleep(10)os.system(cls)print(你好,请用10秒记忆物品及编号)things=苹果,香蕉,橙子,梨子,猕猴桃,柚子,猴魁,铁观音,彩蛋,复活节for i in range(10):print(i,:,thingsi)如何增加游戏难度呢?如何增加游戏难度呢?改变物品;减少时间打开最强大脑.py,动手试一试!原代码原代码修改过的代码修改过的代码程序运行的变化程序运行的变化time.sleep(10)time.sleep(10)
11、time.sleep(5)延时改为5秒print(print(你好,现在你有你好,现在你有1010秒秒钟的时间记忆下列物品及钟的时间记忆下列物品及其编号其编号)print(你好,现在你有5秒钟的时间记忆下列物品及其编号)提示的文字改变了t2=random.sample(things,5)t2=random.sample(things,5)t2=random.sample(things,3)随机出3题 学生尝试自行修改部分代码,观察程序运行的变化。例如:计计算算机机解解决决问问题题的的过过程程分析问题分析问题设计算法设计算法编写程序编写程序 顺序结构顺序结构 自上而下自上而下 分支结构分支结构
12、做出判断做出判断 循环结构循环结构 周而复始周而复始调试运行调试运行Python语言0和1构成,计算机直接执行;但难以理解和操作符号化的机器语言,为特定的计算机系统而设计Java、C、VB、C+可读性更强,便于修改和维护程序设计语言的发展机器语言汇编语言高级语言课堂练习课堂练习1.计算机解决问题的过程()1)分析问题分析问题 2)设计算法)设计算法3)编写程序)编写程序 4)调试运行调试运行 2.算法是解决问题的()和()3.描述算法可以有多种方法,比如可以用()或()进行描述。4.算法的三种基本结构()()()要求:能画出流程图。顺序结构 分支结构 循环结构5.程序设计语言发展的过程()()
13、()机器语言 汇编语言 高级语言练习6.下列关于算法的特征描述不正确的是()A、有穷性:算法必须在有限步之内结束B、确定性:算法的每一步必须有确切的含义C、输入:算法至少有一个输入D、输出:算法至少有一个输出7.以下不属于算法基本特征的是()A、可执行性 B、确定性 C、有穷性 D、无限性8.下面说法正确的是()A、算法+数据结构=程序 B、算法就是程序 C、数据结构就是程序 D、算法包括数据结构9.右侧图形符号“在算法描述流程图中表示()A、算法的开始或结束B、输入输出操作C、处理或运算的功能D、用来判断条件是否满足需求10.在使用流程图描述算法中,表示变量的计算与赋值的符号框为()A、矩形框 B、菱形框 C、平行四边形框 D、椭圆形框11.下列关于算法说法不正确的是()A、算法独立于任何具体的语言,BASIC算法只能用BASIC语言来实现 B、解决问题的过程就是实现算法的过程C、算法是程序设计的灵魂 D、算法可以通过编程来实现C CD DA AB BD DA A课堂小结课堂小结1、计算机解决问题的4 4个步骤个步骤:分析问题设计算法编写程序运行与调试2、描述算法的2 2种方法种方法:使用自然语言和流程图描述算法3、三种基本结构的流程图4、用Python语言实现游戏5、程序设计语言的发展:机器语言、汇编语言、高级语言