《信息技术》教案
第4章程序设计基础 习题 一、选择题 1. A 2.D 3.C 4. A 5. B 6.D 7.A 8.B 9.C 10. B 11. D 12. A 13.B 14.D 15.C 二、简答题 1.结构化程序设计的思想是什么? 答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。 2.结构化程序设计的原则是什么? 答:结构化程序设计的原则是: (1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。 (2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。 (3)严格控制GOTO语句的使用。 3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么? 答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是: (1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。 (2) 问题的划分决定了程序的结构。一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。分解的好坏就决定了设计的质量,也决定了程序的不同结构。 (3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。 4.简述面向对象和结构化程序设计的区别。 答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。 5. 从互联网上面搜索选择结构的使用方式。 答案略。 6.简述模块化方法的原理。
用计算机程序解决问题 一、教学目标: 1、知识与技能 (1)执行一段计算机程序,了解计算机程序的工作过程 (2)解剖程序实例,理解使用计算机程序解决问题的基本流程在完成学习任务的过程中,合理使用信息技术和方法实行简单的探究活动。 3、情感、态度与价值观 借助计算机程序解决问题的思想方法,养成严谨客观的学习习惯。 4、教学重点、难点: 本节内容的重点是:计算机程序解决问题的基本流程。 本节内容的难点是:计算机程序解决问题的方法。 5、课时安排:1课时 二、教学过程设计: 1、体验程序的运行过程及作用(活动) 执行“老鼠过街”游戏(分别请二个学生上台玩) 执行环境在VB中 过渡到画二次函数图像的程序。 2、剖析用计算机程序解决问题的过程 (1)分析问题 对于一个实际问题,首先需要分析该问题的需求情况及已知条件,来判断解决问题的可能性和目标要求,然后对需要解决的问题给出一
个精确的描述。 (2)设计算法 寻找解决问题的方法和步骤称为算法设计。 解决方法:利用描点法去画函数图像 算法设计: 1)给出画图框 2)给出程序执行按纽 3)定义坐标轴 4)定义纵坐标、横坐标 5)定义变量 6)给定颜色 7)描点法算法 8)结束算法 (3)编写程序 选择程序设计语言,通过程序设计语言实现算法,编写出程序(代码)。 (4)调试运行程序 1)打开程序设计语言软件Visual Basic(简称VB) 2)输入编写好的程序 3)运行程序,检验程序功能 4)调试修改错误 5)保存程序并生成“*.exe”编译文件
(5)检测结果 3、练习 (1)执行老师已给定的程序。 (2)修改老师给定的程序,画出已下函数的图像。Y=-x^2 Y=2^x Y=5*sin(x) (3)尝试自己编写加法程序。
教学过程 一、从生产方案选择问题开始 探究问题记录表 二、计算机解决问题的步骤 1、分析问题:读懂题意,找到已知和未知。 2、设计算法:根据分析的情况,从具体问题中找出一个适当的数学模型,然后设计一个解决此数学模型的算法,并理清解决问题的思路。 3、编写程序:根据语言规则编写程序代码。 4、调试程序:编好程序后,通过输入计算机,将程序执行并输出结果。如果有语法错误,计算机会给出提示信息,人们根据错误信息的提示进一步修改程序,直到没有错误为止。 (1)任何一个问题必须弄清楚内容、性质和规模,才能找到解决问题的方法。在程序设计开始时,必须收集与问题相关的资料,分析该问题所涉及的输入数据和要求的输出结果,确定该问题的功能要求、性质以及其他要求。
在分析问题的过程中,可以采用建立数学模型的方式使问题变得更明确、更容易理解。建立数学模型要根据不同的情况来进行,对理论上可遵循的公式方法进行适当的修正,使其适应计算机的运算模式,而对于非数值类的数据处理则无现成的公式可循,完全要靠分析问题来构成模型了。 (2)在模型建立起来以后,也就是确定了程序应该做什么,接下来的就是要为它寻找一个如何做的合适算法。一个算法给出一个求解某一问题求解的方法,它应该是精确的、确定是和有限的。算法要给出如何做的过程中所包含的精确步骤,并用适合的方式把它准确地描述出来。 (3)编写程序的任务就是用一种计算机能接受的程序设计语言来描述问题求解的算法。因此,在编写程序前,要先选定一种曾旭设计语言。因为一个良好的又适于解决问题的语言可以使程序的结构清晰简洁,有利于正确地描述待解决的问题,同时还可以正确地表示过程,以便数据的抽象和模块化。 (4)程序编好后,可以通过键盘敲入计算机进行检查和调试,调试程序的目的是查找和改正程序中存在的错误,使程序能顺利地执行,得出正确结果。程序调试的首要任务是查错。程序的错误一般分为编译错误、执行错误和逻辑错误。程序通过编译未发现错误不等于程序在执行过程中无误,程序在执行过程中无错不等于程序在逻辑上一定正确。程序调试的第二个任务是改错,即根据发现错误现象,找到错误的原因和位置,然后把错误改正。 当计算机计算的结果出来以后,还需要对结果进行分析和验证,因为如果程序有逻辑错误或计算方法上的错误,计算机是检查不出来的。而我们又不可能用穷举法来调试程序和检查结果,只能发现错误而不能证明程序是完全正确的,因此,如果结果不合理,还要返回到前几步进行修改,直到得到满意效果为止。 讨论:人工解题和计算机解题的相同点和不同点
《Java语言程序设计(基础篇)》(第10版梁勇著) 第十一章练习题答案 11.1 public class Exercise11_01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter three sides: "); double side1 = input.nextDouble(); double side2 = input.nextDouble(); double side3 = input.nextDouble(); Triangle triangle = new Triangle(side1, side2, side3); System.out.print("Enter the color: "); String color = input.nextLine(); triangle.setColor(color); System.out.print("Enter a boolean value for filled: "); boolean filled = input.nextBoolean(); triangle.setFilled(filled); System.out.println("The area is " + triangle.getArea()); System.out.println("The perimeter is " + triangle.getPerimeter()); System.out.println(triangle); } } class Triangle extends GeometricObject { private double side1 = 1.0, side2 = 1.0, side3 = 1.0; /** Constructor */ public Triangle() { } /** Constructor */ public Triangle(double side1, double side2, double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; }
第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。
它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,
教师学科教案[ 20 – 20 学年度第__学期] 任教学科:_____________ 任教年级:_____________ 任教老师:_____________ xx市实验学校
4.1 用计算机程序解决问题 本节的课程标准内容: (二)信息加工与表达(3)初步掌握用计算机进行信息处理的几种基本方法,认识其工作过程与基本特征。 本节课程标准分析: 1.通过具体实例,了解算法含义,理解算法是程序设计的核心。 2.了解计算机解决问题的基本过程,让学生体验用算法与程序设计解决问题的思想方法,即从遇到的问题出发,分析问题,发现问题的本质,选择、设计相应的算法,通过程序设计语言的使用来编制程序,最终实现问题的解决。 【教材分析】 本节位于《信息技术基础》(广东版)的第四章《信息的加工与表达》第一节,教材通过演示并解剖一段给文本文件加密和解密的计算机程序,来帮助学生了解利用高级语言解决实际问题的基本工作过程,然后以这段加密和解密的计算机程序为例,讲解用计算机程序解决问题的基本过程。使学生对计算机程序的结构和作用有初步的认识,为学生学习选修模块打下基础。但对学生来说,在短时间内编写加密解密的程序很困难,学生很难在一节课中完整地体验“用计算机程序解决问题”这一过程。 【学情分析】 编程对于高一学生来说,是高深而神秘的。即使学生在初中甚至小学已经接受过系统的信息技术学习,但对于利用计算机来进行编程方面,绝大多数学生还是不熟悉。部分地区的初中教材中有涉及VB,但一般放在9年级,学生面临中考,一般没有很好的学习。因此,老师就要选择最容易上手的编程工具,避开复杂的代码,引导这些零起点的学生编写最简单的程序,使其亲历如何利用编程来解决现实中的问题这一过程。 【任务分析】 算法教学和数学是密切联系的。《课标》指出:算法教学要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。所以教师选择的实例最好来源于生活,让学生深刻体会计算机是现代信息处理的基本工具。为此,我选择编写程序来分析“读心术”游戏为实例,该实例贴近生活,趣味性强,对学生具有一定的吸引力。 【教学目标】 1.知识与技能 掌握scratch的基本操作,能使用scratch来编写简单的程序; 初步了解什么是算法和常见的编程语言。
第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。
B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题
1-1节计算机解决问题的过程 一、教学目标 知识与技能 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 二、重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、教学环境 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备《计算机解决问题的过程》教学活动表。 四、教学过程 (一)引入 教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:” 学生观看约1分钟的电视剧《汉刘邦》片断,内容大致如下: “韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。” 片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。刘邦茫然而不知其数。你呢?” (二)问题 教师:“下面我们先助刘邦解决一个简单的问题。” 展示题目: “韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。 (三)探究 把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。如下: 探究问题记录表 给5分钟学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。