?课题:,程序设计简介,
教材:,Qbasic程序设计,
程序设计初步
1,利用计算机处理问题的过程
2,算法的概念和算法的表示方法
3,结构化程序设计方法人与人的交流通过人的自然语言人与计算机交流通过人设计的计算机语言关于计算机语言
第一代,机器语言 。完全由二进制的,0”,,1”组成的一些数字信息,只有计算机专业人员才能掌握它的编写规则,但计算机可以非常方便的读懂;
第二代,汇编语言 。这种语言增加了一些容易记忆的英文缩写来表示命令,它编制出来的程序计算机无法直接读懂,必须翻译成计算机语言。虽然比机器语言容易掌握,仍需要大量的计算机知识;
第三代,高级语言 。这些语言的编程规则比较接近人的自然思考规则,所以比较容易被一般人掌握,也需要翻译为机器语言。常用的高级语言如,BASIC,C,FORTRAN,LISP,PROLOG,PASCAL,
COBOL etc.
BASIC语言的发展初期 BASIC
微机 BASIC
结构化 BASIC
Visual BASIC
QBASIC属于第三代 BASIC 语言
BASIC:
Beginner’s All-
Purpose Symbolic
Instruction Code
初学者通用符号指令代码为什么选 QBASIC?
贴近初学者(我们是初学者);
功能丰富:不仅可以用于数值计算,也提供作图和音乐功能。
,如果今天你能用
BASIC写程序,明天你就可能用 C++写程序,
QBASIC工作环境简介
如何运行 QBASIC;
QBASIC的工作窗口:
程序窗口或观察窗口;
命令窗口或直接窗口;
帮助窗口( Shift+F1打开,Esc关闭);
光标位置提示行;
菜单条;
功能提示行。
编辑和运行 QBACIC程序
输入 QBASIC程序;
运行 QBASIC程序;
从键盘按 SHIFT+F5(重新开始 )或 F5(从当前中断位置开始 );
单击功能提示行的 <F5=RUN>;
菜单 Run的 Start菜单项;
从命令窗口(直接窗口)键入 RUN命令。
修改和编辑源程序;
删字符,Delete and BackSpace;
删除行 ;
新建、保存和调入程序:文件名可以是数字、字母或某些标点符号。
结构化程序设计
---问题的提出
A Bowl of Spaghetti,一碗面条结构化程序设计的要点
程序的质量标准是“清晰第一、效率第二”;
要求程序设计者按一定的规范书写程序,而不能随心所欲地设计程序。程序不再是表现个人技巧的“艺术品”,而应当是采用“工程”
的方法,按照一定的规范生产出的产品。
结构化程序设计方法规定了几种具有良好特性的“基本结构”,是程序设计的“标准件”,包括顺序结构、选择结构和循环结构。
一个大的程序应当采取“自顶而下、逐步细化和模块化”的方法。
利用计算机处理问题的过程提出问题编写程序确定处理方案确定操作步骤调试和运行程序输出整理结果算法设计算法的概念
解决一个问题要采取的步骤就是 算法 。
几个算法的例子:
烧水喝:烧水 → 沏茶 → 喝水一套太极拳的打法解一个二元一次方程有的算法目前计算机可以实现,有的则不能!
算法的表示方法
自然语言表示算法;
伪代码表示算法;
用传统流程图表示算法;
用 N-S(I,Nassi and B,
Schneiderman)结构化流程图表示的算法;
用传统流程图表示算法
(引例)
求一个班学生的平均成绩。 A( 85分) 12人,B
( 70分) 16人,C( 60分) 6人,D( 50分) 5人。
开始
A=12,B=16,C=6,D=5
Sum=85*A+70*
B+60*C+50*D
Aver=Sum/
(A+B+C+D)
输出 Aver的值结束起止框一般处理框判断框 流程线输入输出框用传统流程图表示算法
(举例)问题

输入
10
个数

打印出其中正数
N≥10

X>0 否输入 x
n=n+1
是否终止开始打印 x
优点:直观形象,
流程清晰,各种操作一目了然,不易产生歧义;
缺点:流程图占面积大,由于允许使用流程线,使流程任意转移,容易使人弄不清流程的思路。
n=0
用 N-S结构化流程图表示算法
( I)


顺序结构
A块
B块
A块
B块
( a)传统流程图表示的顺序结构
( b) N-S图表示的顺序结构用 N-S结构化流程图表示算法
( II)


选择结构 A块 B块 A块 B块
( a)传统流程图表示的选择结构
( b) N-S图表示的选择结构条件 P
条件 P
满足 不满足满足 不满足用 N-S结构化流程图表示算法
( III)


循环结构
A块
A块条件 P
当给定条件 P满足满足不满足
A块
A块条件 P 直到给定条件 P满足满足不满足当型循环结构直到型循环结构两种不同流程图表示的算法
(举例)问题

输入
50
个数

统计出不及格人数
n=0,m=0
n=n+1
n<50
当 n<50是
g<60 否输入成绩 g
n=n+1
m=m+1
是输出 m
否终止开始输出 m的值
n=0,m=0
输入学生成绩
g<60
m=m+1
是 否
n:存放输入人数
m:存放不及格人数用程序实现算法
---计算机编程( I)
开始
A=12,B=16,C=6,D=6
Sum=85*A+70*
B+60*C+50*D
Aver=Sum/
(A+B+C+D)
输出 Aver的值结束
QBASIC 程序:
LET A=12
LET B=16
LET C=6
LET D=5
LET Sum= 85*A+70*B+60*C+50*D
LET Aver=Sum/(A+B+C+D)
PRINT Aver
END
几点说明:
LET:赋值语句
PRINT:显示语句,将结果显示在屏幕上
END:程序结束
n=0,m=0
n<50

g<60 否输入成绩 g
n=n+1
m=m+1
是输出 m
否终止开始用程序实现算法
---计算机编程( II)
QBASIC 程序:
LET n=0,LET m=0
WHILE n<50
INPUT g
IF G<60 THEN LET m=m+1
LET n=n+1
WEND
PRINT m
END
QBASIC 程序:
LET n=0,LET m=0
WHILE n<50
INPUT g
IF G<60 THEN LET m=m+1
LET n=n+1
WEND
PRINT m
END
QBASIC程序的结构
LET n=0
LET m=0
语句,让计算机执行一个操作
LET n=0 LET m=0:
语句行,包含一个或及格语句程序又若干语句行构成语句定义符,告诉计算机做什么除了 LET外,不能没有语句定义符
LET m=0
语句体,要执行的具体内容
掌握算法的概念和常用算法的设计及表示方法;
了解结构化程序设计的要点;
熟悉 QBASIC的工作环境;
掌握程序的输入、编辑、运行和存储。
基本要求