当前位置:文档之家› 程序设计基本

程序设计基本

scanf(“%d”, &max); i=1; do
{ scanf(“%d”, &x); if (x>max) max=x; i=i+1; }
while ( i<=9) ; printf(“max=%d” , max) ; }
45
1.3 程序设计方法
一、 结构化程序设计(SP方法)
1. 程序的基本单元是函数。 2. SP方法主张使用顺序、选择、循环三种基本结构来嵌套
30
1.1.4 算法概述
4、算法设计与分析常用的方法
➢ 递推法 ➢ 递归法 ➢ 穷举搜索法 ➢ 贪婪法 ➢ 分治法 ➢ 动态规划法 ➢ 迭代法
31
1.2 算法表示方法
一、 算法的表示方法
常用的算法表示方法:自然语言、流程图、N-S图、 伪代码、程序语言等。
1、自然语言表示法
用自然语言描述的算法。 例1-2:用自然语言表示求两个数的和(如2+3) Step1:将输入的第一个数2存入x
29
1.1.4 算法概述
例1-1:对于给定的有序数列 {3,5,11,17,21,23,28,30,32,50}, 如何查找30这个数据元素。
算法一:将30按顺序与给定数列逐一比较直到找到为止。这种 算法在最坏的情况可能需要比较整个序列。
算法二:查找过程中采用跳跃式方式查找,即先以有序数列 的中点位置为比较对象,如果要找的元素值小于该中点元素, 则将待查序列缩小为左半部分,否则为右半部分。通过一次 比较,将查找区间缩小一半。
通俗易懂,
比较冗余, 容易出现歧

Step2:将输入的第二个数3存入y
Step3:将x和y相加的结果存入z
Step4:输出结果z
32
1.2 算法表示方法
2、流程图表示法
用图框表示各种操作,用箭头表示算法流程
名称
符号
含义
箭头
流向或路径
矩形
处理功能
圆形
连接点
平行四边形
输入或输出
菱形
判断
圆弧边框
流程的起点或终点
7
1.0 计算机简介
计算机硬件组成 主机 输入设备: 输入程序和数据,如键盘、鼠标 输出设备: 输出计算结果,如显示器、打印机
8
输入设备
9
输入设备
10
输出设备
11
外部存贮器(外存):储存各种数据,如硬盘、 软盘、U盘
存储设备:硬盘和软盘
12
存储设备:光盘和优盘
13
1.0 计算机简介
不能直接执行
汇编语言
机器语言 编译
较为简单,一一对应替换
22
1.1.2 程序设计
3. 高级语言 接近于自然语言的计算机程序设计语言。不能直接运行,
需要转换为机器语言。通常有解释和编译两种。
使用较普遍的高级语言:FORTRAIN, ALGOL, BASIC, PASCAL, C, C++, JAVA, Delphi等。
一、计算机主机的组成控制计算机各部分协调工作
1、中央处理器(CPU) 运算器 控制器 寄存器组
存放指令和数据等
对数据进行运算
14
1.0 计算机简介
2、存储器(内存): 存放程序代码及数据 3、主板、声卡、显卡、数据线、电源等
15
16
1.0 计算机简介
二、计算机基本结构
地址总线
中央处理器 (CPU)
循环体
不满足
循环条件 满足吗?
满足
(a) 流程图表示
ห้องสมุดไป่ตู้
循环体 直到循环条件满足为止
(b) N-S图表示
41
1.2.3 N-S图表示法
2、N-S流程图表示法
①顺序结构 ②选择结构
A
P
成立
不成立
B
AB
③循环结构
“当型”循 环
“直到型”循 环
A
当P成立
A
直到P不成立
42
1.2.3 N-S图表示法
例 描述求n!的值的算法
25
1.1.3 数据结构
数据结构(Data Structure):计算机存储、组织数据 的方式。 数据结构一般包括三个方面的内容:
1. 数据之间的逻辑关系,也称数据的逻辑结构(Logical Structure)
2. 数据元素及其关系在计算机存储器内的表示,称为数据 的存储结构(Storage Structure)
判断条件 成立吗?
K=?
K1 K2

Kn
A1块
A2块

An块
(a) 流程图表示
A1块 A2块 …
An块
(b) N-S图表示
39
1.2.3 N-S图表示法
3、循环结构
a.当型循环结构:先判断循环条件是否满足,当条件满足,执行 一遍循环体,再判断循环条件,仍满足再执行一遍循环体……直 到不满足条件,则退出循环,执行循环体后的下一语句。若第一 次判断条件就不满足,则一次也不执行循环体。
19
1.1.1 程序设计语言
四、程序设计语言
程序设计语言是用于书写计算机程序的语言。 基本成分: 1. 数据成分:描述程序所涉及的数据 2. 运算成分:描述程序所包含的运算 3. 控制成分:表达程序的控制构造 4. 传输成分:表达程序的数据传输 判断
程序设计语言 = 软件语言
20
1.1.1 程序设计语言
计算机是20世纪40年代人类的伟大创造。 当今计算机应用日益普及,它广泛应用于科学计算、过程 控制、信息传递和数据处理,而且已渗透到办公、教育、 家庭等许多领域。 计算机系统能够按人的要求接收和存储信息,能对信息进 行处理并提供所需结果,其结果(输出信息)取决于所接 收的信息(输入信息)及相应的处理算法。 计算机系统包括计算机硬件和计算机软件两大部分。 计算机硬件是借助电、磁、光、机械等原理构成的各种物 理部件的组合,是系统赖以工作的实体。 计算机软件一般指计算机系统中的程序及其文档,用于指 挥和管理整个系统按指定的要求进行工作。
1、顺序结构
A模块 B模块
A模块 B模块
(a) 流程图表示
(b) N-S图表示
37
1.2.3 N-S图表示法
2、选择结构(分支结构)
A模块
判断条件 成立吗?
B模块
成立
判断条件 成立吗?
不成立
A模块
B模块
(a) 流程图表示
(b) N-S图表示
38
1.2.3 N-S图表示法
由分支结构派生出来的多分支结构
2
导言
如何学好程序设计基础(仅供参考)
➢ 勤学——课内、课外;中文、英文…… ➢ 多练—— 实践是检验真知的唯一标准 ➢ 好问——不“知”下问 ➢ 善于思考——“学而不思则罔”
3
教学要求
通过课堂授课与上机实验相结合的方式,使 学生能够 深刻理解结构化程序设计的思想与方法 掌握C语言的基础知识 能够在计算机上熟练使用C语言的编辑环境来 编写、调试、运行程序 具有一定实践体会和相关的编程能力,能编写 超过1000行的C语言应用程序 。
①顺序结构 ②选择结构
A
成立
不成立
P
③循环结构
“当型”循 环
“直到型”循 环
A
A
B
A
B
P 成立
不成立
P 成立
不成立
35
传统的程序流程图例图
开始
输入a,b,c
Y
a>b?
N
Y
a>c?
N
Y
b>c?
N
输出a
输出c
输出b
输出c
结束
36
1.2.3 N-S图表示法
即结构化程序设计流程图,提供了描述三种基本逻辑 结构的图形工具,与传统的程序流程图对照描述如下:
➢用户源程序
高 操作系统 编





裸机

18
1.1.1 程序设计语言
一、程序的概念
程序是计算任务的处理对象和处理规则的描述。 1. 计算机处理的任务都是计算任务。 2. 处理对象是数据。 3. 处理规则是指处理的动作和步骤。
二、计算机软件
计算机软件 = 程序 + 文档
三、软件语言
软件语言是书写计算机软件的语言
尖头框
循环
双边矩形框
调用子程序
33
1.2 算法表示方法
2、流程图表示法
用图框表示各种操作,用箭头表示算法流程
用流程图表示求两个数的和
直观形象, 易于理解
流程线没 有严格限
制。
开始 输入x 输入y Zx+y 输出z 结束
34
1.2.2 流程图表示法
C语言是一种结构化程序设计语言,结构化程序 设计主要采用自上而下、逐步细化的方法。结构化程 序有三种基本结构:
27
1.1.4 算法概述
著名计算机科学家沃思提出的一个公式:
数据结构+算法=程序
对数据的描述
对操作的描述
2、计算机算法的分类:
(1) 数值运算算法 ---- 用于求数值解,如求解一个多元方程 (2) 非数值运算算法 ---- 多用于管理领域,如图书管理
28
1.1.4 算法概述
3、算法的五大特性
➢ 有穷性: 空间有穷:一个算法包含有限的操作步骤; 时间有穷:算法可以在合理的时间内运行完。 ➢ 确切性:算法中的每一个步骤是确定的,含义是唯一的 ➢ 可行性:算法中每一个步骤是可行的。 ➢ 有零个或多个输入 ➢ 有一个或多个输出
程序设计基础(上)
主讲:袁宁 计算机软件教研室 邮箱地址: ise_yuann@
相关主题