师:同学们,今天我们来学习广州版初中信息技术第二册第二章第一节程序设计语言与流程图基础第一课时。首先,大家跟着老师一起来欣赏几位同学自己设计的作品:计算圆的面积以及猜猜我的生日。
生:大家好,我是小陈同学。今天我来给大家介绍一下我在学习编程之后自己设计的一个小程序,这是一个计算圆的面积的程序。首先我们输入圆的半径,运行一下就可以得出圆的面积,这个程序可以很好地帮助我们计算圆的面积。
生:大家好,我是小林。我也编写了一段计算机程序,我的作品是一个猜生日的小游戏,有没有同学想来试一试?
生:我想试试你的程序。
生:那你来猜一猜我的生日在1 - 30号是哪一天吧?
生:嗯,那我先取中间十五号,是不是你的生日呀?
师:那我们先将15输入,再看看运行结果。
生:嗯,你猜的号数太大了,再猜一个吧。
生:那我再猜猜8号。
师:我们再输入8号,再看看运行的结果。
生:嗯,猜的号数还是太大了。
生:那4号呢?
师:我们再输入4号,再看看运行的结果。
生:这次你猜的号数太小了。
生:嗯,那我想想,你的生日应该是7号吧。
师:我们再输入7号。
生:嗯,恭喜您,猜了4次,猜中了。
生:呃,我最近也学了程序设计,我做了一个小礼物给你,想看看吗?这是送给你的生日蛋糕。
生:哇,好棒,还有颜色,五彩斑斓。他现在画了两根蜡烛,这是送给你的笑脸。
师:这几位同学通过信息技术课堂知识的学习,编写了自己的计算机程序作品。那么,什么是计算机程序呢?我们来听听同学们的看法。
生:嗯,我觉得计算机程序是像我做的猜生日这样的小游戏,从键盘中输入一个数,然后计算机再运行,得到我想要的结果。
生:我认为计算机程序就是控制计算机完成我给它的任务。
师:同学们各有各的理解。什么是计算机程序,今天我们一起来学习。目标是了解计算机程序与程序设计语言,认识算法和流程图,理解计算机程序、程序设计语言、算法与流程图之间的关系。下面我们先来了解什么是计算机程序。计算机程序是人们使用指定的程序设计语言,根据需要事先编写的一系列控制计算机工作的命令。这个概念有点长,我们可以这样来理解:计算机程序是人们编写的一系列控制计算机工作的命令,但这个命令不是毫无目的、随心所欲编写的,而是根据一定的需要事先编写并且存储下来的命令。
刚刚欣赏的同学作品分别实现了不同的功能,是比较简单的计算机程序。我们使用过的所有软件都是计算机程序,比如Windows,它是一个强大的管理平台,可以管理计算机的所有软硬件资源;又比如腾讯QQ,它可以让我们根据需要收发信息;再比如WPS,它可以制作电子表格,并且具有强大的数据计算与统计功能。不管功能简单还是复杂,它们都是计算机程序。概念中还告诉我们,计算机程序是人们使用指定的程序设计语言来编写的,那么什么是程序设计语言呢?下面我们通过视频一起来了解。
程序设计语言是指人们用于编写计算机程序所用的计算机语言。总的来说,可简单把程序设计语言分为机器语言、汇编语言和高级语言等。常用的高级程序设计语言有近百种,如Python、C++、Java、VB等。计算机唯一能直接识别的是机器语言,使用高级程序语言编写的源程序,计算机无法直接识别,需经过编译或解释才能被计算机执行。
通过视频的学习,我们知道程序设计语言是人们用于编写计算机程序所使用的计算机语言,它可以分为机器语言、汇编语言、高级语言三种。下面我们来通过图示了解各自的特点。第一种机器语言由二进制编码组成,初一我们学习计算机工作原理的时候知道计算机只能识别和处理二进制编码,因此计算机唯一能够直接识别的计算机语言就是机器语言,如图所示,只有0和1组成,非常抽象难懂。第二种汇编语言已经符号化表示,但它的本质与机器语言一样,如图所示,同样很抽象,已经很少人用了。第三种高级语言,使用高级语言编写的源程序,计算机无法直接识别,需要经过编译或解释,但它接近人类日常表达。如图所示,它可以包含英文字符、数字符号、英文单词、中文等等,通俗易懂,容易掌握。高级语言有很多,常见的有Python,C,C++等。刚刚欣赏了同学制作的作品,就是使用Python来编写的。我们使用程序设计语言最主要的目的是编写程序,而计算机执行程序,因此我们需要使用计算机的程序逻辑来编写程序,计算机才能按照程序执行,进而解决我们的问题。那么什么是计算机的程序逻辑呢?我们来举个例子,例如计算6 + 7.5的值。人的逻辑很简单,我们根据大脑经验可以直接计算6 + 7.5 = 13.5,而计算机的程序逻辑需要按照下列步骤完成:第一步,输入6;第二步,输入7.5;第三步,将6 + 7.5的结果输出对应的计算机程序。
如图所示,计算机并没有思考能力,因此我们需要告诉计算机非常详细的步骤,不能有模棱两可的内容。因此,程序设计最重要的工作就是将解决问题的步骤详细地描述出来,这就是算法。下面我们通过视频一起来了解算法。
程序设计最重要的工作就是将解决问题的步骤详细地描述出来,这就是算法。简单来说,算法就是计算机能理解与识别的解决问题的方法和步骤。这些步骤是有限的、可行的,而且没有模棱两可的情况,我们可以直接使用自然语言、流程图或伪代码进行描述。用自然语言描述算法直接使用生活中的语言文字描述执行步骤,优点是通俗易懂,但缺乏直观性和简洁性,并且容易产生歧义。
用伪代码描述算法,对于已具有程序基础的人,也可以使用接近程序语言的方式来描述,只是不用拘泥于语法的正确性,并且很容易转化为程序语言代码。缺点是不如流程图描述的算法直观,出现逻辑错误不易排查。用流程图描述算法使用标准图形符号来描述执行过程,以各种不同形状的图形表示不同的操作,箭头表示流程执行的方向。流程图描述算法形象直观,更容易理解。
通过视频的学习,我们知道算法就是解决问题的方法和步骤,这些步骤必须是有限的、可行的,不能有模棱两可的情况,我们可以直接使用自然语言、伪代码或流程图来描述算法。下面我们通过表格来进一步了解各自的特点。用自然语言描述算法,使用生活中的语言文字来描述执行过程,通俗易懂,但容易产生歧义。用伪代码描述算法,对于有一定编程基础的人来说便于理解,但不如流程图描述的算法直观,出现逻辑错误后不易排查。自然语言或伪代码都是用文字内容来描述执行步骤,而用流程图来描述算法是以图形化的方法来描述解决问题的步骤。如图所示,以不同形状的图形来表示不同的操作,形象直观,容易理解。虽然复杂的算法对应的流程图很繁琐,但对于初学编程的同学们来说,流程图是一种最适合描述算法的工具。下面我们通过视频来重点了解用流程图描述算法。
