高一计算机算法教案,高一信息技术第六章“第一节程序设计的基本方法”教案设计...

一、教学目标

1.理解算法的概念;

2.知道两种算法的描述方法—语言描述法和流程图的区别

3.能初步利用算法解决简单的问题。

4.培养学生的理论联系实际能力和动手操作能力。

二、教学重难点

1.重点:算法的描述

2.难点:算法的描述

三、教材分析

本节所讲算法主要是指计算机解决问题的方法和步骤。美国著名计算机科学家克努特教授提出了”计算机科学就是研究算法的科学”的著名论断,说明了算法在设计程序中的重要性,解决任何问题都必须设计算法,所以本节内容起来统领全章的作用。

但是,对于初学者而言,本节内容属于理论知识,具有一定的抽象性。建构主义理论认为学习是新旧知识的联系,是学习者主动建构内在心理结构的过程。而在初学者原有的认知结构中没有关于算法的认知。如果直接讲算法,学生很难实现新旧知识的联系,无法做到意义建构和有意义的学习,对于算法的含义就难以做到真正理解。按照从感性到理性、从已知到未知的认知规律,我从学生的感性认知入手,从学生的兴趣出发,将第一节和第二节调整了顺序,先教VB的基本操作,在学生能掌握VB的基本操作,并能用VB解决简单问题的基础上,通过对具体问题的讨论,使学生明白解决任何问题都需要有清晰的解决思路和解题步骤,再通过人-机解决问题方法的比较,得出计算机解决问题和人解决问题一样都需要有明确的解题步骤,而计算机的解题步骤就称为算法,这样就很自然地引入了算法的概念。易于学生接受和理解。

对于本节内容的重难点,即算法的描述,主要是通过对实际问题的解决来突破的。本节所讲算法的实例,不在于程序的难易,而在于要易于学生接受。为了便于学生理解第一个算法-交换两个变量的值。我加了交换两个杯中液体的算法设计,通过这个简单的算法的设计,可以让学生了解变量的概念及计算机内部存诸数据的原理,这样,学生对于书中的例子就很容易接受了。关于语言描述算法及流程图描述算法的特点,我的做法是通过学生对二者的比较,既掌握了二者的区别,也知道了二者的优缺点。在突出重点、突破难点的基础上,我对本节内容进行了提升,学习算法不是为了单纯的学习概念,而是为了应用,为了理论联系实际,做到用理论解决实际问题。所以我将第三种算法的描述方法—程序向学生作了介绍,三种算法的描述方式的比较,使得学生对于算法的做用有了进一步的理解,根据算法可以写出代码,并解决问题。这样既解决了学理论难的问题,又做到了对同学们的引导,最后留一些时间给学生进行上机操作,让他们有成功的体验,学了就可以致用,而且用VB编程并不象他们想象的如此难于接受。这对于学生来说,可以帮助他们减少学习VB的畏惧心理,又可以提高学习的兴趣。对于学VB的语言规则起着承前启后的作用。

四、教学方法

讨论、讲解、操作相结合。

五、教具:多媒体电脑配合课件

六、教学过程

(一)算法的概念

【教师】通过前面的学习,我们已经会用VB来解决简单的问题,请同学们将下面问题的解决步骤写出来

【问题1】两个大人和两个小孩一起渡河,渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四人都会划船,但都不会游泳。请写一写你的渡河方案。

〖学生〗学生讨论回答。

【问题2】展示课件:写出求一元二次方程ax2+bx+c=0的实数根的解题步骤。

〖学生〗学生讨论回答。

【答案展示】

【问题3】如果让计算机来解决这个问题应该怎么做呢?

〖学生〗学生讨论回答。

【答案展示】

1、让计算机根据a、b、c的值,求出△(delta);

2、让计算机判断△(delta)的值;

3、让计算机求出x1;

4、让计算机求出x2 。

5、让计算机输出x1、x2的值

【教师】由此可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。而对于计算机而言,这种解题步骤就称为算法。

【课件展示】算法的概念:

我们解决问题都需要遵循一定的方法和思路并正确的列出各个求解步骤。计算机解决问题的求解步骤叫做算法。

或:

计算机处理程序的过程与我们平时解决问题的过程是十分相似的,也就是在规定的条件下完成一定的操作序列。而这样的操作序列对于计算机而言就是算法。

【课件展示】美国著名计算机科学家克努特教授(D.E.Knuth)提出了“计算机科学就是研究算法的科学”的著名论断

二、算法的描述

1、语言描述

【算法描述1】描述交换两个杯中液体的算法

〖学生〗学生讨论

【课件展示】动态显示交换过程。并展示文字描述。

【算法描述2】交换两个变量中的数据。

【教师】讲解计算机内部对于数据存储的原理。即按地址保存。

〖学生〗学生讨论

【课件展示】展示文字描述。并配以教师的讲解分析。

已知变量x和y中分别存放了数据,现在要交换其中的数据。为了达到交换的目的,需要引进一个中间变量m,其算法如下:

① 将x中的数据送给变量m,即x→m;

② 将y中的数据送给变量x,即y→x;

③ 将m中的数据送给变量y,即m→y。

【算法描述3】输入三个不相同的数,求出其中的最小数。

〖学生〗学生讨论

【教师】引导学生讨论解题思路:

先设置一个变量min,用于存放最小数。当输入a、b、c三个不相同的数后,先将a与b进行比较,把小者送给变量min,再把c与min 进行比较,若c【课件展示】展示文字描述。

【教师】引导学生讨论语言描述的特点:易于理解和接受。但对于复杂的问题描述太麻烦。

【教师】请说出下面这句话的含义:“这个人连老张也不认识”

〖学生〗学生讨论回答

【教师】由此可以看出语言描述有时有岐义,但计算机解决问题时每一步必须有清楚的定义,不能有二义性或模棱两可的解释,我们可以用另外一种方法来描述算法

2、流程图

【课件展示】算法2、3的描述流程图:

pic_221458.gif

pic_221459.gif

【课件展示】

流程图的概念:

流程图是用一组几何图形表示各种类型的操作,在图形上用简明扼要的文字和符号表示具体的操作,并用带有箭头的流线表示操作的先后次序。

图形符号

名称

含义

pic_221460.gif

起止框

表示算法的开始或结束

pic_221461.gif

输入、输出框

表示输入输出操作

pic_221462.gif

处理框

表示处理或运算的功能

pic_221463.gif

判断框

用来根据给定的条件是否满足决定执行两条路径中的某一路径

pic_221464.gif

流线

表示程序执行的路径,箭头代表方向

pic_221465.gif

连接符

表示算法流向的出口连接点或入口连接点,同一对出口与入口的连接符内必须标以相同的数字或字母

【课件展示】算法描述方法的比较:

(1)第一个算法描述方法的比较(语言描述法、流程图、程序)

pic_221466.jpg

【教师】引导学生讨论出算法的特点,并初步理解。

pic_221467.jpg

(2)第二个算法描述方法的比较(语言描述法、流程图、程序)

pic_221468.jpg

【教师】请同学们利用VB将这两种算法实现。

【思考题】输入三个不相同的数,求出其中的最大数。请分别用语言、流程图、程序进行算法描述。

〖学生〗学生上机操作实践

【教师】教师辅导

【教师】总结、下课。

作者简介:刘群,女,江苏省丰县中学一级教师,研究生在读。曾获市优质课一等奖、市优秀电教课一等奖、市教学技能比赛个人全能二等奖、市职工计算机比赛个人第五名、团体一等奖。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334103.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openshift安装_云幸福–如何在几分钟内安装新的OpenShift Container Platform 3.7

openshift安装此安装需要安装Red Hat Middleware产品流(预配置的容器选项)以及所有其他功能,例如源容器,映像容器和.Net Core容器。自OpenShift容器平台发布以来,我一直希望提供一个简单的方法。 ,完全配置…

python 实现语音转文字_python3实现语音转文字(语音识别)和文字转语音(语音合成)...

话不多说,直接上代码运行截图1.语音合成------->执行:结果:输入要转换的内容,程序直接帮你把转换好的mp3文件输出(因为下一步–语音识别–需要.pcm格式的文件,程序自动执行格式转换,同时生成17k.pcm文件…

Linux 命令之 7z(7-zip) -- 压缩/解压文件

文章目录 一、命令介绍(一)主要特征1.使用 LZMA 算法2.支持多种格式(二)退出代码的含义(三)关于通配符(四)关于覆盖文件的提示回应二、命令格式三、常用子命令四、常用选项五、命令示例(一)测试压缩档案的完整性(二)将指定的压缩档解压到指定的目录下(三)列出指定…

简单的计算机程序代码,优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能...

优秀程序员通过简单代码,窥探电脑编程中强大的数组操作功能。编程语言中,数组是一个非常重要的概念,也是一种很常用的类型。本文中通过javascript语言的代码实例,展现编程中数组的魅力。在javascript语言中,数组Array类…

java 示例_功能Java示例 第3部分–不要使用异常来控制流程

java 示例这是称为“ Functional Java by Example”的系列文章的第3部分。 我在本系列的每个部分中开发的示例是某种“提要处理程序”,用于处理文档。 在前面的部分中,我从一些原始代码开始,并应用了一些重构来描述“什么”而不是“如何”。…

Linux 命令之 gzip -- 压缩和解压文件

文章目录一、命令介绍二、常用选项三、命令示例(一)将指定目录下的每个文件压缩成 .gz 文件(二)解压指定目录下的每个压缩文件(三)显示指定目录下每个压缩文件的信息,并不解压(四&am…

python读取tiff数据_opencv-python读取tiff影像,并展示

pencv-python可以读取各类图片,然后对图像进行处理,结合矩阵操作,可以非常方便的对图像进行各类操作,下面就展示一个简单的demo,用opencv-python读取图像并展示出来。Opencv的库安装可能比较麻烦一点。# 导入cv模块imp…

win7 计算机定时关机脚本,win7怎么定时关机?win7定时关机设置两种方法

当我们在操作电脑的时候,有时会有需要定时关机,或者不在电脑前操作是需要过段时间自动关机,但是Win7系统没有自带的定时关机软件,很多电脑用户又不喜欢安装第三方软件来完成该操作。那么win7怎么定时关机?本文为大家介…

Linux 命令之 gunzip -- 用来解压缩文件

文章目录一、命令介绍二、常用选项三、命令示例(一)解压文件,删除原文件(二)解压文件,并保留原文件(三)解压文件到其它目录下(四)指定后缀名来解压文件一、命…

java面试spring_针对Java程序员的二十大Spring REST面试问题答案

java面试spring大家好,过去两周来,我一直在与Spring教程共享一些REST,今天,我将向申请Web开发人员角色的Java开发人员共享一些常见的Spring和REST采访问题。 由于Spring Framework是用于开发Java Web应用程序和RESTful Web Servic…

socket python实例_Python网络编程—第27课—Socket实例(0531)

一、创建套接字示例(服务端)import socket #导入模块import time #导入模块s socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建TCP套接字address (127.0.0.1, 8888)s.bind(address) #为TCP套接字绑定IP及端口s.listen(10) #启动TCP监听,同时接受10个sock…

Linux 命令之 bzip2 -- bz2文件的压缩程序

文章目录一、命令介绍二、常用选项三、命令示例(一)压缩指定文件(二)压缩指定目录下的文件(三)解压指定的文件一、命令介绍 Linux 系统中命令 bzip2 的英文是“bunzip2”,即.bz2 文件格式的压缩…

错误计算机怎么打开,电脑开机出错怎么回事

开机后出现这个错误,有没有大神教一下怎么办[Window Title]Error[Main Instruction]A JavaScript error occurred in the main process[Content]Uncaught Exception:Error: Unable to find a valid appat Object. (C:\Program Files (x86)\Thunder Network\Thunder\…

springboot jwt token前后端分离_「转」七个开源的 Spring Boot 前后端分离项目,建议收藏加转载...

其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想。很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一些前后端不分时候的开发思路,结果做出来的产品不伦不类&#…

基于Spring Boot配置文件的日志记录示例样本

我们希望在Spring Boot中为不同的配置文件使用不同的日志记录配置,例如在本地运行中,我们只希望控制台日志记录和用于生产,我们希望文件记录日志支持每天滚动日志文件。 我想出了一个示例logback配置,该配置将在所有应用程序中使…

Linux 命令之 bunzip2 -- bz2 文件的解压缩程序

文章目录一、命令介绍二、常用选项三、命令示例(一)解压 .bz2 文件一、命令介绍 bunzip2 可解压缩 .bz2 格式的压缩文件。bunzip2 其实是 bzip2 的符号链接,即软链接,因此压缩解压都可以通过 bzip2 实现。执行bunzip2 与 bzip2 -…

联想办公计算机,办公娱乐两不误!联想这些笔记本电脑不容错过

【PConline 海选导购】随着技术的进步,如今的笔记本电脑性能越来越强,尤其是笔记本电脑携带更加方便,可以让你摆脱使用场景的限制,能随时随地畅玩游戏或者进行日常办公,有着台式机无可比拟的优势,因此&…

python email模块写邮件_python常用模块email----创建简单的文本邮件并发送

email模块可以方便的用来构造邮件,今天我们通过一个简单的例子来实现文本邮件的构造的发送。先将要发送的内容写在文件里面:cat /tmp/email_test.txthello there!i love python!编写如下脚本:cat test.py#!/usr/bin/python#codingutf-8import…

java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法

java私有属性和私有方法介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展。在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Java 9中得到增强。 Java 8之前的接口 接口将具有一个或多个抽象方法,如下…

Linux 命令行中的文件名/文件路径中使用通配符的说明

文章目录支持通配符通配符表达式示例通配符使用限制使用通配符表示的路径示例带有空格的通配符或文件名必须加上引号支持通配符 * 表示任意数量的任意字符? 表示任意单个字符 通配符表达式示例 *.txt:这样会查找(添加、选定……)所有扩展名是“.txt”的文件?a*…