第 8 课 程序设计入门

    什么是编程、计算机思维、程序结构及流程图绘制等知识,实践灯效顺序充能、循环闪烁等项目来培养学生基本的程序设计能力。Scratch、Python、C++等,编程在大数据、网页设计等方向都会有所应用。


    编程是什么
    计算机为解决某个问题使用某种程序设计语言编写代码,最终得到相应结果的过程叫做编程。①使用计算机来解决某种问题
    ②使用某种设计语言编写代码
    ③得到相应结果的过程

    早期编程历史

    了解编程历史的大致时间线
    差分机和分析机∶
1822年,英国机械工程师和发明家查尔斯·巴贝奇(Charles Babbage)提出了差分机的概念∶基本的想法是利用机器将计算到印剧的过程全部自动化,去除人为的计算和抄写校对等错误,当时英国政府投资,项目预计需要25000个零件,重达4吨,可计算到第六阶差,最高储存存16位数(相当于千兆的数),由于精密零件制造困难,投入巨大,最后项目还是不了了之了。1837年,当查尔斯·巴贝奇研究差分机时也在研究分析机,这台机器有望成为第一台电脑,可以运行包含”条件””循环”等语句,并且有寄存器储存数据,不过同样没有完成。世界上第一位程序员是给分析机写程序的埃达·洛夫莱斯(Ada King-Noel),是英国的一位数学家以及作家,她最早发现了分析机在计算处理上的潜力。
在 20世纪60年代,IBM打孔卡设立了标准,这个标准就是打孔卡的宽度为 80列。后来在1880年代美国,美国用穿孔制表机完成了全美人口普查。穿孔制表机由美国统计专家霍列瑞斯博士(H.Hollerith)发明,平均每台机器可以代替500人工作。
    2.2 程序设计入门 - 图1
    计算机思维∶分解、抽象、模式、算法

    分解∶把数据、过程或问题分解成更小的、易于管理或解决的部分
    模式∶观察数据的模式、趋势和规律
    抽象∶识别模式形成背后的一般原理
    算法∶为解决某一类问题撰写一系列详细的指令
    常见的编程语言

    常见的编程语言有∶C、C++、Python、Java、JavaScript、Scratch
    举以下例子∶

    可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达”世界你好”的意思∶
    汉语∶世界你好
    英语∶Hello World

    法语∶Bonjour tout le monde

    在编程语言中,同样的操作也可能使用不同的语句。
    例如,在屏幕上显示”Hello”∶
    C语言∶puts(”Hello);
    PHP: echo “Hello”;

    Java: System.out.printIn(“Hello”);

    编程语言其实就是机器语言,如果把机器比作人的话,就是我们要和机器人聊天,那我们就需要和它说它们的语言——编程语言。(类比遇到美国人说英语,日本人说日语)
    条件、循环、变量、列表、函数
    条件、循环、变量和常量、列表、函数∶
    ●条件

    条件判断就是在判断在特点条件设定下,做某件事情的语句。
    ●循环

    循环包括无限循环和有限循环。无限循环(一直做)、有限循环(达成某种条件就停止)计算机程序经常会遇到需要将一件任务重复很多次的情况,为了避免重复地书写代码,我们需
要用到循环。
    ●变量和常量

    变量∶在程序运行的过程中,这个值是可以改变的。
    常量∶在程序运行的过程中,这个值是不可以改变的。
    ●列表

    列表是一些相似元素和信息的汇总。
    ● 函数
    
函数类似于具有特定功能的流水线,我们把需要加工的原料放在一端,经过函数一步步的处理,输出的就是我们想要的产品。一般我们以这个函数的功能命名这个函数。(可直接类比初中数学中的函数)

    举以下例子∶
    ● 条件
    
如果你按时完成了作业,我就奖励你一顿大餐。按时完成了作业就是条件。
    ●循环

    无限循环∶太阳每天都早上升起,晚上落下。每天周而复始就是无限循环。
有限循环∶比如当老师喊停前,一直绕着操场跑圈;即当老师碱停,则停止跑步。也就是当条件成立时跳出循环,执行下一条命令。
    ●变量和常量

    变量∶如果一个值是变量,那就相当于你拿了一个杯子,其中可以装水,也可以装咖啡,也可以装牛奶。给杯子中倒入液体的过程我们叫做给变量赋值。在程序运行的过程中,这个值是可以改变的。
    
常量∶比如我们设定程序运行 10次,那么 10就是常量。
    ●列表
列
    表是一些相似元素和信息的汇总。· 函数
可直接类比初中数学中的函数。给定一个输入然后通过函数会有相对应的输出。
    什么是流程图
    流出图就是把事情的步骤和流程以图表的形式呈现出来,按照
流程图执行会把解决问题的思路变得清晰,方便其他人理解。但是流程图并不能满足所有的使用场合,如果某个环节变动了就需要修改流程图。


    什么是程序流程图

    ①程序流程图是一个思路的指引,适用于任何语言。

    ②当程序流程图被正确画出即表示使用者将需要解决的问题已经基本考虑清楚。
    ③严格按照程序流程图编写的程序也很难一次性解决问题,学生通常需要多次调试、修改代码才能让程序地完美实现功能。并且学生还需要根据代码逻辑反推修正程序流程图,看看是不是最初设计流程图时逻辑不够缜密,哪里环节有缺失,这是对学生进行思维闭环训练的一个过程。

    ④顺序、选择、循环指的是程序流程图的三种基本结构。


    如何绘制程序流程图

    图片.png

    ●案例上学路线规划
    绘制小明一周如何上学流程图,主要以生活化的案例教会学生使用流程图
    图片.png
    多彩呼吸灯
    呼吸灯是指模仿动物一呼一吸使灯光由亮到暗逐渐变化,给人以安静沉稳的感觉。电子产品中经常会使用不同色彩的呼吸灯,起到很好的视觉提醒效果。
    先来感受一下程序的书写与流程图的关,看看能不能读懂程序。
    图片.png
    图片.png
    图片.png

    运行结果:红灯会逐渐亮起然后暗下,并且持续进行下去。
    2.变色灯:
    如何让呼吸灯显示更多的颜色呢?尝试制作能显示3种颜色的呼吸灯,变化的顺序是:—渐变—绿—渐变—

    参考程序:
    2.2 程序设计入门 - 图7
    运行结果:掌控板上的LED灯以红、绿、蓝的颜色顺序做呼吸状变化。

    上面的程序按照功能可以分为3段,如程序图中黑色方框标注,每个方框中程序段的作用是显示一种颜色的呼吸灯。为了避免主程序过长,不容易理解,我们可以使用函数来划分程序中不同指令块的作用,简化主程序。
    参考程序如下:
    2.2 程序设计入门 - 图8
    2.2 程序设计入门 - 图9

    1. 多彩呼吸灯:

    让呼吸灯在一呼一吸之间显示更为丰富的色彩,这就是多彩呼吸灯。参考程序如下。在比较复杂的程序旁边加入了流程图便于理解程序。
    2.2 程序设计入门 - 图10
    2.2 程序设计入门 - 图112.2 程序设计入门 - 图12