第4章 程序设计语言
第4章 计算机程序设计与语 言主要内容 程序设计的基本概念 模型的建立、算法的设计和表达 程序的编写、测试和维护 程序文档的建立 程序设计语言的应用
大学IT(第五版) 中国石油大学出版社
4.1 概述4.1.1 计算机程序设计语言 4.1.2 程序设计步骤 4.1.3 程序设计语言
大学IT(第五版) 中国石油大学出版社
4.1.1 计算机程序设计语言 数据与信息
数据是原始事实的数字记录,它本身并没有什么意义;而 信息是经过处理后的数据,信息有实际的含义。 数据处理(信息处理) 数据转化为信息的过程就是数据处理,也称为信息处理。 网页利用CGI、ISAPI、ASP、PHP、JSP等技术来实现。 程序 是计算机为完成某一任务所必须执行的一系列指令。除了 少量存储在ROM等存储器中的特殊程序外,程序大多以文 件的形式存储在磁盘等外存储器上。
大学IT(第五版) 中国石油大学出版社
4.1.2 程序设计步骤 程序设计
编写一系列的指令指挥计算机完成特定的工作。 程序设计过程 1)建模:由实际问题的描述抽象出数学模型,用形式化方 法描述现实世界。 2)算法设计:给出解决问题的步骤,即算法。一个问题多 种算法。 3)算法表达:选择算法表达工具,对算法进行清晰的表达。 4)编程:选择一种程序设计语言,把算法程序化。 5)程序调试:对编写好的程序进行调试,修改程序中的错 误。 6)程序文档编写与程序维护:整理和编写程序文档,以便 更好地维护程序。大学IT(第五版) 中国石油大学出版社
4.1.3 程序设计语言语言分类:自然语言、人工语言。 计算机语言是属于人工语言,是人与计算机传递信息的媒 介。 程序设计语言是随着计算机的出现而出现的,并且向着易 学、易用、描述问题的能力也越来越强的方向发展着。 发展经历了三个阶段:机器语言、汇编语言和高级语言。 机器语言是计算机能直接执行的二进制形式的语言;汇编 语言是符号化的机器语言;高级语言更接近自然语言和数 学语言,不能直接被计算机识别,必须经过转换才能被执 行,它的下一个发展目标是面向应用,如VB、C++、Java、 Perl等均属高级语言。大学IT(第五版) 中国石油大学出版社
4.2 模型与算法4.2.1 建立模型 4.2.2 算法设计 4.2.3 算法表达
大学IT(第五版) 中国石油大学出版社
4.2.1 建立模型模型是对现实系统的一种描述,是对现实系统的抽象和简 化。模型由现实系统的有关元素组成,能够反映这些元素 之间的关系,从而反映现实系统的本质。是现实系统的抽 象和简化 。 模型分类:物理模型和数学模型。物理模型由物理元
素构 成,故又称形象模型。数学模型由关系、函数等数学对象 符号组成,又称逻辑模型或抽象模型。 模型建立:物理模型对客观存在的事物进行形象的描述, 列出已知的所有物理元素及关系,明确需要解决的问题; 数学模型是在物理模型的基础上,忽略其非重要的细节, 抓住本质性的元素,对其符号化后,用数学的方法描述出 来。大学IT(第五版) 中国石油大学出版社
4.2.1 建立模型 举例:
鸡兔同笼,看头36个,看脚96只,问笼中 有鸡和兔各几只? 设鸡为x只,兔子为y只,则有:
x + y = 36 2 x + 4 y = 96需要解决的问题就转化为求解二元一 次方程组的问题,这就是数学模型。大学IT(第五版) 中国石油大学出版社
4.2.2 算法设计 算法:解决问题的方法和步骤。 算法设计涉及三个方面:程序功能、应用界面和数据结构。 鸡兔同笼的通用算法
列出一般二元一次方程组
a1 x + b1 y = c1 a 2 x + b2 y = c2
(1) ( 2)
若a1b2-a2b1≠0,方程组有惟一解。
x=
c1b2 - c2 b1 a1b2 - a 2 b1
y=
a1c2 - a 2 c1 a1b2 - a 2 b1大学IT(第五版) 中国石油大学出版社
4.2.2 算法设计设计算法:根据解二元一次方程组的数学方法,记录下解 决问题的实际步骤,就可以方便地设计出计算机算法: 1)输入系数a1、b1、c1、a2、b2、c2; 2)计算d=a1b2-a2b1; 3)如果d=0,打印“方程组无解或有无穷组解”,转(7); 4)计算x=(c1b2-c2b1)/ d; 5)计算y=(a1c2-a2c1)/ d; 6)输出:x、y; 7)输入是否继续解其他方程组的标记s(s=“Y”或s=“N”); 8)如果s=“Y”,转(1); 9)结束。大学IT(第五版) 中国石油大学出版社
4.2.2 算法设计 评价算法的基本标准
时间标准(时间复杂度):即执行这个算法需要多少时间, 基本的原则是时间越短越好。 空间标准(空间复杂度):即执行这个算法需要占用多少 资源(可以理解为占用了多少计算机存储单元),基本的 原则是资源的占用越少越好。 另外,随着计算机技术的发展,硬件性能不断提高,程序 的规模越来越庞大,算法的清晰程度和算法的易懂性也是 衡量一个算法好坏的重要指标。 设计算法时注意的3个问题 通用性 确定性 有限性 大学IT(第五版) 中国石油大学出版社
4.2.2 算法表达 常用算法描述工具 图4-1所示:流程图(程序框图)
流程图,N-S图,PAD图, 伪码等。(1)流程图(程序框图)
最常用的一种表示法, 是描述计算机一步一步 完成任务的图表,直观 地描述程序执行的控制 流程。 1)方框表示“处理” ; 2)菱形框表示“判 断” ; 3)有向线段表示“控制 流”。
大学IT(第五版) 中国石油大学出版
社
4.2.2 算法表达(2) N-S图(盒图)S=“Y” 输入a1,b1,c1,a2,b2,c2 D=a1b2-a2b1 否 x=(c1b2-c2b1)/d y=(a1c2-a2c1)/d 显示x,y 继续吗(s=)?输入(y/n) D=0 是 显示无解 或无穷解
(3)PAD图(问题分析图)
大学IT(第五版) 中国石油大学出版社
4.2.2 算法表达(4)伪码伪码表示法好比是算法的注 释系统,由编程语言(语法 规则)和自然语言(描述处 理功能)混合而成。 计算机不能执行,易读易写, 不必考虑语法规定,有利于 设计者把精力放在描述算法 的逻辑上。PROCEDURE 求解二元一次方程组 TYPE a1,b1,c1,a2,b2,c2,x,y IS REAL TYPE s IS CHAR DO WHILE TRUE/* 输入方程组
d=a1*b2-a2*b1 IF d=0 THEN WRITE 方程组无解或有无穷组解 ELSE/* 求方程组的惟一解并输出
BEGIN x=(c1*b2-c2*b1)/ d y=(a1*c2-a2*c1)/d WRITE X,Y ENDENDIF /* 控制循环是否结束
READ a1, b1, c1, a2,b2,c2
WRITE若继续循环输入Y,否则输入N READ S IF S≠“Y ”THEN EXIT ENDIF ENDDO 大学IT(第五版) 中国石油大学出版社 END
4.3 模型与算法4.3.1 程序举例 4.3.2 编写程序 4.3.3 算法表达
大学IT(第五版) 中国石油大学出版社
4.3.1 程序举例
用Visual FoxPro语言编写的鸡兔同 笼问题的程序。
* 求解二元一次方程组
DO WHILE .T. CLEAR && 清屏 ? '输入方程组的系数' INPUT 'a1=' TO a1 INPUT 'b1=' TO b1 INPUT 'c1=' TO c1 INPUT 'a2=' TO a2 INPUT 'b2=' TO b2 INPUT 'c2=' TO c2 d = a1*b2-a2*b1 IF d = 0 ? "方程组无解或有无穷组解" ELSE
* 求方程组的唯一解并输出 x =(c1*b2-c2*b1)/d y =(a1*c2-a2*c1)/d ? '鸡为‘,x,' 只 ‘,' 兔为‘,y,' 只' ENDIF * 控制循环是否结束 INPUT '若继续循环输入Y,否则 输入N' TO s IF upper(s)≠'Y' EXIT ENDIF ENDDO RETURN
大学IT(第五版) 中国石油大学出版社
…… 此处隐藏:1984字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




