如何用计算机解决问题课件.ppt_第1页
如何用计算机解决问题课件.ppt_第2页
如何用计算机解决问题课件.ppt_第3页
如何用计算机解决问题课件.ppt_第4页
如何用计算机解决问题课件.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、揭开计算机解决问题的神秘面纱,第一节 计算机解决问题的过程,什么是程序?,计算机的任何动作都是在执行人给它的指令。人们针对某一需要而为计算机编制的指令序列称为程序 。 指示计算机如何去解决问题或完成任务的一组可执行的指令。,用于书写计算机程序的语言称为程序设计语言。 如vb、c、c+、pascal等。 机器语言是一串由“0”和“1”构成的二进制代码。 汇编语言实际是一种符号化的机器语言,它采用英文助记符代替机器指令,比机器语言容易识别和记忆,从而提高了程序的可读性。,什么是程序设计语言,什么是软件?,程序、数据连同有关的资料文档称为软件。,高级语言是更接近于自然语言(英语)和数学语言的编程语言

2、,它并不特指某一种语言,也不依赖于特定的计算机系统,因而更容易掌握和使用,通用性也更好。 比较流行的高级语言有BASIC、C/C+、FORTRAN、PASCAL、COBOL、JAVA等。,系统软件 是在计算机应用中,为了实现系统功能、充分利用资源、提高使用效率、便于使用而设计的与计算机系统资源有关的软件。 操作系统是重要的系统软件。 应用软件 是为用户应用目的而开发的软件。,程序设计语言从机器语言到高级语言的抽象,带来的主要好处是: 1.高级语言接近算法语言,易学、易掌握,一般工程技术人员只要较短时间的培训就可以胜任程序员的工作 。 2.高级语言为程序员提供了结构化程序设计的环境和工具,使得设

3、计出来的程序可读性好,可维护性强,可靠性高 。 3.高级语言远离机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可移植性好,重用率高 。 4.由于把繁杂琐碎的事务交给了编译程序去做,所以自动化程度高,开发周期短,且程序员得到解脱,可以集中时间和精力去从事对于他们来说更为重要的创造性劳动,以提高程序的质量。,一、 单项选择题 1.利用计算机解决问题的过程中,“找出已知和未知,明确它们之间的关系,列出数学表达式”属于以下哪一个步骤( )。 A.设计算法 B.分析问题C.编写程序D.调试运行程序,B,阅读教材27页,思考下列问题,2.要进行元旦晚会比赛,学校请你设计一个能够对元旦晚会节目分数

4、自动排序的软件,你接到任务后,准备开始设计此软件,比较好的方法和步骤是?( )。 A.设计算法,编写程序,提出问题,调试程序B.分析问题,编写程序,设计算法,调试程序C.分析问题,设计算法,编写程序,调试程序D.设计算法,提出问题,编写程序,调试程序,C,3.程序编好以后,计算机无法检查出来的错误是?( )。 A. 编译错误 B. 执行错误 C. 逻辑错误 D. 语法错误,C,一、人解决问题的一般过程,二、用计算机解决问题的一般过程,第一步:需求分析。 (确定计算机要“做什么”),求一元二次方程x2+3x+2=0的两个实数根。,第二步:设计算法。 (确定计算机要“如何做”),方程的系数是常量,

5、分别用a,b,c表示,可运用数学上现成的求根公式求方程的根。 先求出d=b2-4ac;(求根公式中需用开方运算的那部分) 再用求根公式算出x1,x2的值。(x1,x2 = ? ) 输出x1,x2.,第三步:编写程序。 (翻译将算法编写成计算机程序),Pascal程序: program Ex16; Const a=1; 常量说明 b=3; c=2; a,b,c表示方程系数 Var d : integer; d为整型变量 X1,X2: Real; X1,X2为实型变量 Begin d:=b*b-4*a*c; x1:=(-b+sqrt(d)/(2*a); 求方程的根 x2:=(-b-sqrt(d)/

6、(2*a); Writeln(X1=,X1,:6,X2=,X2);输出结果 Readln 等待输入一个回车键 End. 本程序中的a,b,c均为常量;变量d是整数类型,而变量x1,x2则是实数类型,因为运算式中的Sqrt(d)开平方运算和(/)除法运算使结果为实数。Sqrt( ) 是开平方函数,是Pascal系统的一个标准函数。,第四步:调试与维护。 (运行程序,验证结果),总结:计算机解决问题流程图,第二节 算法描述与设计,实例:“打电话” 的过程。,拿 起 听 筒,拨 号,打不通,通了,把听筒放下,通话,结束,把听筒放下,等会儿再拨,无人接听,把听筒放下,等会儿再拨,什么是算法?,算法是解

7、决问题的方法和步骤。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。,著名的计算机科学家尼克劳斯沃思指出:算法是程序设计的“灵魂”。 算法+数据结构=程序,算法独立于任何具体的程序设计语言,一个算法可以用多种程序设计语言来实现。,算法的特征:,算法要有一个清晰的起始步,表示处理问题的起点,且每一个步骤只能有一个确定的后继步骤(1算法的确定性),从而组成一个步骤的有限序列(2算法的有穷性);要有一个终止步(序列的终止)表示问题得到解决或不能得到解决;每条规则必须是确定的、可行的(3算法的可行性)、不能存

8、在二义性。算法总是对数据进行加工处理,因此,算法的执行过程中通常要有数据4输入( 0个或多个)和数据5输出(至少一个)的步骤。,描述算法的方法,1、自然语言:即用人们日常使用的语言和数学语言描述的算法。 2、流程图:即用一组标准的图形符号来描述算法。 3 、伪代码:伪代码是一种非正式代码,常用自然语言、数学语言和符号来描述算法的操作步骤。,1、用自然语言描述算法,用自然语言描述算法,就是把算法的各个步骤,依次用人们所熟悉的日常会话的语言表示出来。 例:求出两个数的和。 计算机处理的具体步骤为: 输入两个加数num1、num2; 将两数相加并将求出的和赋给某一个变量sum; 显示运算结果sum。

9、,2、用流程图描述算法,用流程图描述算法,就是用含义确切的图形符号描述算法。,例:求出两个数的和。,实例分析 韩信点兵算法:,从1开始,取出一个自然数判断它被3、5、7整除后的余数是否为2、3、2,如果是,则这个数即是所求的数,求解结束。否则,用下一个数再试,直到找到这个数为止。(假设人数N100),相传我国汉代有位大将军叫韩信,他在点兵时让士兵分别从13、15、17报数,然后报告各次的余数,这样,就知道总共有多少士兵。然后韩信就凭这些数,可以求得这队士兵的总人数。,自然语言描述,1、将N的初始值赋为1 2、如果N100并且N被3、5、7整除后余数为2、 3、2,则输出N的值,转入第4步 3、

10、将N的值加1,转到第2步 4、结束程序,流程图描述,用伪代码描述算法,For I=1 to N if n能被3、5、7整除余数为2、3、2 then 输出n exit for end if Next I,(1)表示条件判断:If条件 Then 执行语句一Else 执行语句二End If,(2)表示循环处理:Do While 条件 循环处理语句Loop,完整的源程序,Private Sub Command1_Click() 算法:使用穷举法确立一个范围1,100然后从自然数1开始尝试,找到满足条件的数即输出 Dim i As Integer For i = 1 To 100 If i Mod 3

11、 = 2 And i Mod 5 = 3 And i Mod 7 = 2 Then MsgBox 答案是: & i End If Next End Sub,例:判断一个四位数的年份是否为闰年。 算法分析: 我们知道,如果2月是28天,则这一年是平年;如果是29天,则这一年是闰年。判断闰年的条件是:如果该年份能被4整除但不能被100整除,或者能被400整除,则该年为闰年。,算法描述(伪代码): 输入年份y IF y能被4整除 THEN IF y 不能被100整除 THEN 输出“是闰年” ELSE IF y 能被400整除 THEN 输出“是闰年” ELSE 输出“不是闰年” END IF EN

12、D IF ELSE 输出“不是闰年” END IF,课堂练习: 分别用自然语言和流程图描述求解 1、所有水仙花数的问题。水仙花数是指一个三位数,它的各位数的立方和正好等于该数本身。如153=13+53+33。,水仙花数自然语言描述,1、将N的初始值赋为100 2、如果N的个位数的三次方加上N的十位数的三次方再加上N的百位数的三次方等于N,输出N值,否则转入第3步 3、如果N=999,将N的值加1,转到第2步,否则转入第4步 4、输出运算结果,结束程序,水仙花数流程图描述,开始,N=N+1,结束,N,Y,N的个位数的三次方 +N的十位数的三次方+N的百 位数的三次方=N ?,N=100,输出N值

13、,N=999,Y,N,用伪代码描述水仙花数算法,For N=100 to 999 if N的个位数的三次方+N的十位数的三次方+N的百位数的三次方=N then 输出n end if next1,Private Sub Command1_Click() Dim i As Integer For i = 100 To 999 If Int(i / 100) 3 + (Int(i / 10) Mod 10) 3 + (i Mod 10) 3 = i Then Print (i) End If Next End Sub,水仙花数源程序,1.3初始身手,体验编程,VB界面的初步了解,1.主窗口 应用程

14、序窗口,由标题栏、菜单栏和工具栏组成 2.窗体(Form)窗口(编辑器) 设计VB程序的 界面 3.代码(Code)窗口 编辑窗体、标准模块中的代码 4.属性(Properties)窗口 所有窗体或控件的属性设置 5.工程资源管理器(Project Expror)窗口 保存一个应用程序所有的文件 6. 工具箱(toolbox)窗口 显示各种控件的制作工具,供用户在窗体上设计,1.3.1小时钟程序编写尝试,Private Sub Form_Activate() Me.BackColor = RGB(0, 78, 152) Me.Move Screen.Width - Me.Width, 0 En

15、d Sub Private Sub lblShow_Click() tmrClock.Enabled = Not tmrClock.Enabled End Sub Private Sub lblShow_Dblclick() End End Sub Private Sub tmrClick_Timer() lblShow.Caption = Time() End Sub,VB中不区分大小写,但在编程的时候要养成好的习惯,变量大写或首字母大写.方便以后查错,1.3.2 认识程序设计语言,算法、程序设计与程序设计语言之间的关系,算法提出问题:什么是算法?算法有哪些特征?程序设计寻求解决问题的方法,并将其实现 步骤写成计算机可执行的程序的过程。程序设计语言泛指一切用于书写计算机程序的语言。算法是程序设计的前提,它包含方法和步骤;程序是实现算法中的思想的过程;程序设计语言把算法转化为计算机认识的语言。,认识程序设计语言,1、发展过程机器语言:由一串“0”和“1”构成二进制代码。汇编语言:是一种符号化(英文助记符)的机器语言。高级语言:如Basic、C/C+、Fortran、Pascal、Cobol、Java等。,低级语言:机器语言、汇编语言。,高级语言:BASIC语言、FORTRAN语言、C语言。,分类,2、分类(按转换方式不同分类),3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论