第4章 结构化程序设计
第四章结构化程序设计
第四章结构化程序设计在计算机编程的领域中,结构化程序设计是一种重要的编程方法和理念。
它就像是为程序搭建起了一个清晰、有序的框架,使得程序更易于理解、维护和扩展。
那么,什么是结构化程序设计呢?简单来说,它是一种编程风格,强调程序的逻辑结构应该清晰、简单、模块化。
通过将复杂的问题分解成一个个较小的、易于管理的模块或函数,每个模块专注于完成一个特定的任务,从而使整个程序的逻辑更加清晰明了。
结构化程序设计的核心原则包括:自顶向下、逐步细化、模块化和结构化。
自顶向下的设计方法意味着我们首先从整体上考虑程序的功能和目标,然后逐步将其分解为更小的子问题。
就好像我们要盖一座房子,首先要规划整体的布局和风格,然后再考虑每个房间的具体设计。
逐步细化则是在自顶向下的基础上,对每个子问题进行更详细的分析和设计。
以盖房子为例,在确定了房间的布局后,我们会进一步考虑每个房间的装修细节、家具摆放等。
模块化是将程序划分为独立的模块,每个模块具有特定的功能。
这些模块可以被重复使用,就像我们可以在不同的房子中使用相同的门窗设计一样。
结构化则是通过使用顺序、选择和循环这三种基本的控制结构来组织程序的流程。
顺序结构是最简单的,按照语句出现的先后顺序依次执行。
比如说,我们先起床,然后刷牙洗脸,这就是一个顺序的过程。
选择结构则根据条件来决定执行不同的分支。
比如,如果天气好,我们就出门散步;如果天气不好,就留在家里看书。
循环结构用于重复执行一段代码,直到满足特定的条件为止。
像是我们每天都要吃饭,直到生命的结束,这就是一个循环的过程(当然,这个例子只是为了帮助理解)。
结构化程序设计带来了许多好处。
首先,它提高了程序的可读性。
清晰的结构和模块化的设计使得其他人更容易理解程序的逻辑和功能。
这对于团队合作开发项目非常重要,因为一个易于理解的程序可以减少沟通成本和错误。
其次,它增强了程序的可维护性。
当需要对程序进行修改或扩展时,我们可以很容易地找到相关的模块进行修改,而不会影响到其他不相关的部分。
C语言程序设计第4章
4.2.2 逻辑表达式
例:设a=3,b=4,x=0,y=0,求值: 结果:0 1、a < b && x > y 结果:1 2、a = = b || x = = y 3、! a || a > b 结果:0 4、! a && b || x > y 结果:0 5、int a=-1,b=1,c=2,d=3,m=5,n=2,k; k=(m=a+b)&&(n=c+d) k为0 ,m为0, n为2
当尝试对该程序进行编译时,C语言编译器会报告 "illegal else without matching if"的语法错误。 28
4.3.4使用if语句应注意的问题
void main() { int x; x=1; if(x==1) printf("x等于1\n"); else ; /*这里多加了个分号*/ printf("x不等于1\n"); }
if(表达式) 语句1 else 语句2
真 表达式 语句1 语句2 假
如果括号内的表达式为真,则执行括号后面的 语句1。如果表达式值为假,则执行else后面的 语句2;语句1和语句2只能有一个被执行。
21
4.3.2 else子句
【例4-2】输入两个整数,将较大者输出。 /*程序4-2*/ #include<stdio.h> void main () { int a, b, max; printf("Please input the data a and b:"); scanf("%d, %d",&a, &b); if(a>=b) max=a; else max=b; printf("The max is %d\n", max); }
004第4章结构化程序设计
4.3.1 条件语句
if (InputScore >= 70) { if (InputScore >= 80) { if (InputScore >= 90) { OutputScore = "优秀"; //优秀 } else { OutputScore = "良好"; //良好 } } else { OutputScore = "中等"; //中等 } }
if (Score >= 60) { Console.WriteLine("该成 绩合格。"); } else { Console.WriteLine("该成 绩不合格。"); } }
}
4.3.1 条件语句
如果程序的逻辑判定关系比较复杂,可以用if…else嵌套语句 形式如下: if(表达式1) if(表达式2) if(表达式3) ... 语句1; else 语句2; else 语句3; else 语句4;
}
4.3.1 条件语句
2. if…else语句 if…else语句是一种更为常用的选择语句。if…else语 句的语法如下: if(表达式) { 语句块A; }
else
{ 语句块B; }
【例4-3】根据输入的学生
成绩Score的值,显示 其是否及格。
using System; class Score { static void Main() { Console.WriteLine("请您 输入学生成绩:"); int Score = int.Parse(Console.ReadLi ne());//转换为整数
【例4-4】假设考查课的成绩按优秀、良好、中等、及格和不及
第四章 结构化程序设计的三种结构
第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。
printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。
格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。
(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。
转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。
格式字符串中的普通字符,原样输出。
例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。
2.输出项表输出项表是可选的。
如果要输出的数据不止1个,相邻2个之间用逗号分开。
下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。
结构化程序设计
结构化程序设计结构化程序设计结构化程序设计是一种软件开发方法,旨在通过模块化和顺序化的方式来设计和编写程序。
它强调程序应该被组织成一系列可重复使用和可维护的模块,以便增强开发效率和代码的可读性。
在结构化程序设计中,程序被划分为多个小的、相对独立的模块。
每个模块执行一个特定的任务,并且可以与其他模块进行通信和交互。
这种模块化的设计使得程序变得更加可靠和易于理解,因为每个模块都是独立的,它的功能可以被单独测试和验证。
,结构化程序设计还鼓励使用顺序、选择和重复等基本的控制结构来组织程序的执行流程。
顺序控制指的是按照代码的顺序依次执行语句,选择控制指的是根据条件选择执行不同的语句块,而重复控制则是通过循环执行一段代码多次。
结构化程序设计的目标是提高程序的可理解性和可维护性。
通过模块化的设计,可以将一个复杂的问题分解成多个简单的子问题,从而减少开发过程中的错误和bug。
结构化程序设计还使得程序的测试和调试变得更加容易,因为每个模块都是相对独立的,可以单独进行测试和调试。
在实践中,结构化程序设计可以通过使用编程语言中的函数、类和模块等概念来实现。
通过将程序划分为多个函数或者类,可以实现程序的模块化和重用。
而通过使用模块化的设计,可以将程序的不同部分放入不同的模块中,从而提高代码的可读性和可维护性。
,结构化程序设计是一种重要的软件开发方法,可以提高程序的可读性、可维护性和可重用性。
通过将程序划分为多个模块,并使用基本的控制结构来组织程序的执行流程,可以更好地管理和开发复杂的软件系统。
结构化程序设计是每个程序员都应该熟悉和掌握的软件开发技术。
第4章结构化程序设计
第 4章
结构化程序设计
重点:控制结构 、程序实例
东方学院 信息分学院 陈国顺
内 容 பைடு நூலகம் 航
学习提要 教学内容
要点回顾
习题/实验
2
学习提要与目标
理解结构化程序设计的概念 熟练掌握程序控制的基本结构 掌握控制结构嵌套
掌握过程与自定义函数
3
目 录
4.1 程序文件设计 4.2 程序控制的基本结构 4.3 子程序和用户自定义函数 4.4 本章小结
19
4.2.2
选择结构
1.二路分支选择结构
格式:IF <条件表达式> [THEN]
<语句序列1>
[ELSE <语句序列2>] ENDIF
20
4.2.2
选择结构
【例4.4】如果在例题4.2中,根据行李重量的不同,采用不同的收费标准。即当 重量不超过50kg时,按每千克0.60元收费;当重量超过50kg,超出50kg的 部分按每千克0.90元收费,而其中的50kg仍按每千克0.60元收费。试编写 程序计算托运费。 程序代码如下: *****CH4-4.PRG ***** SET TALK OFF CLEAR INPUT "请输入货物的重量(Kg):" TO W IF W<=50 F=W*0.60 ELSE F=50*0.6+(W-50)*0.9 ENDIF ?"货物重量"+ALLTRIM(STR(W,19,2))+" 千克需要的托运费为:"+ALLTRIM(S TR(F,19,2))+"元" 21 SET TALK ON
31
第4章 程序设计基础
计算机科学导论
2
4.1 程序设计
程序设计是指用计算机语言对所要解决的问题中的数 据以及处理问题的方法和步骤所做的完整而准确的描述的 过程。程序设计步骤如下: 1. 确定要解决的问题。 2. 分析问题。 高质量程序设计目标是结构 化程度高、可读性好、效率 3. 选择计算方法。 高、可靠性高、便于维护。 4. 确定数据结构和算法。 5. 绘制流程图。 6. 编写程序。 7. 调试并测试程序。 8. 整理资料,交付使用。
2019/3/10
计算机科学导论
34
4.3.1 基本概念
(2) 数据的物理结构
数据的物理结构是指逻辑结构在计算机存储 器中的表示。 数据的物理结构主要有四种,分别是顺序结 构、链表结构、索引结构及散列结构。
2019/3/10
计算机科学导论
35
4.3.1 基本概念
①顺序结构
把所有元素存放在一片连续的存储单元中,逻辑 上相邻的元素存储在物理位置相邻的存储单元中,由 此得到的存储表示称为顺序存储结构。 程序设计语言中的数组常使用顺序存储结构来实
2019/3ቤተ መጻሕፍቲ ባይዱ10
计算机科学导论
26
4.2.5 程序设计举例
例4.1 输入三角形的3个边长a,b和c ,求三角形面积。
area s(s a)(s b)(s c)
s ( a b c) / 2
则计算该三角形的面积的C语言源程序如下:
#include<stdio.h> #include<math.h> void main() { float a,b,c,s,area; //变量定义 scanf(“%f,%f,%f”,&a,&b,&c); //输入语句 s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n”,a,b,c,s); printf(“area=%7.2f\n”,area); //输出语句 27 } 2019/3/10 计算机科学导论
第四章 循环结构程序设计
while(i<=100)
{ i++;
程序运行结果: sum=5050
sum=sum+i;
}
6
4.3 do-while语句
do-while语句的结构 do 语句 while(表达式);
例如: do
x-=1; while(x>0);
功能:
1)执行“语句”。 2)计算“表达式”的值。如果值为非0,转1);否则转3)。
}
8
4.3 do-while语句
1)循环体如果包含一个以上的语句,要用复合语句表示。 2)在循环体中应有使循环趋于结束的语句。 3)while语句的特点是先执行循环体,然后判断表达式的值。 4)一般情况下,用while语句和用do-while语句处理同一 个问题时,若二者的循环体部分一样,其结果也一样。但如
18
4.7 goto语句以及用goto语句构成循环结构
goto语句的一般格式:
goto 语句标号;
例如: goto loop;
功能:程序执行到goto语句时,将程序流程转到语句标号指定的 语句去执行。
有标号的语句的格式:
语句标号: 语句
例如: loop: sum=sum+i;
19
4.7 goto语句以及用goto语句构成循环结构
【例4-9】用goto语句实现求1~100累加和。
#include <stdio.h>
main() { int n=1, sum=0; loop: sum += n; n++;
if(n<=100) goto loop;
printf("sum=%d\n",sum); }
第4章-实用软件工程(第4版)-陆惠恩-清华大学出版社
❖ 1、采用自顶向下、逐步求精的程序设计方法; ❖ 2、仅采用顺序、选择、重复三种基本控制结构,每种基本结构只有一个
入口、一个出口;将这三种基本控制结构根据程序的逻辑,嵌套或组合 成结构化程序,完成预定的功能。 ❖ 3、采用主程序员组的组织形式。
【例4.4】用因果图法设计测试用例
某规格说明规定:输入的第一列字符必须是A或B,第二列字符必须是一个数字。 第一、二列都满足条件时执行操作H;如果第一列字符不正确,则给出信息L; 如果第二列字符不正确,则给出信息R。
根据上述要求画出因果图,并设计测试用例。
例4.4 的因果图
例4.4的判定表
《实用软件工程(第3版)》陆惠恩编著
源程序文档编写规则 1.源程序文档书写规则:含义鲜明的标识符名称、适当的注解和程序布局阶梯式。 2. 数据说明:易于理解、便于查阅 3. 语句构造要简单明了 4. 输入输出语句要合理 5. 程序效率要满足用户需求。
▪ 程序设计主要应考虑的是程序的正确性、可理解性、可测试性和可维护性。
4.2 软件测试目标
《实用软件工程(第3版)》陆惠恩编著
8
程序流程图
《实用软件工程(第3版)》陆惠恩编著
9
程序图
《实用软件工程(第3版)》陆惠恩编著
10
计算程序的环行复杂度:
方法1:图中有4个线性无关的有向环:R1、R2、R3、R4。 在图4.4(b)中,实线弧数为14,节点数为12。因此,环行复杂度为 V(G)=14-12+2=4
《实用软件工程(第3版)》陆惠恩编著
5
4.5 设计测试方案
测试方案包括三个内容:
要测试的功能
第四讲结构化程序设计与面向对象程序设计
第四讲结构化程序设计与面向对象程序设计在当今的计算机编程领域,结构化程序设计和面向对象程序设计是两种非常重要的编程方法。
它们各自有着独特的特点和优势,适用于不同的应用场景。
接下来,让我们一起深入了解这两种编程设计方法。
结构化程序设计诞生于 20 世纪 60 年代,它的出现是为了解决当时程序设计中存在的混乱和难以维护的问题。
结构化程序设计强调程序的清晰结构和逻辑流程,通过顺序、选择和循环这三种基本控制结构来构建程序。
顺序结构是最基本的,程序按照语句的先后顺序依次执行。
比如,我们先定义变量,然后进行计算,最后输出结果,这就是一个简单的顺序结构。
选择结构则用于根据不同的条件来决定程序的执行路径。
常见的有ifelse 语句和 switch 语句。
假设我们要判断一个数是奇数还是偶数,就可以使用 ifelse 语句,如果这个数除以 2 的余数为 0,就是偶数,否则就是奇数。
循环结构则允许我们重复执行一段代码,直到满足特定的条件。
比如 for 循环和 while 循环,当我们需要计算 1 到 100 的和时,就可以使用循环结构来实现。
结构化程序设计的优点是显而易见的。
它使得程序的逻辑更加清晰,易于理解和调试。
而且,由于程序的结构比较规范,代码的可读性和可维护性都得到了很大的提高。
然而,随着软件规模的不断扩大和复杂性的增加,结构化程序设计也逐渐暴露出一些局限性。
当程序变得非常复杂时,单纯依靠结构化程序设计可能会导致代码的重复度较高,模块之间的耦合度较大,不利于代码的复用和扩展。
为了解决这些问题,面向对象程序设计应运而生。
面向对象程序设计将数据和对数据的操作封装在一起,形成一个个对象。
对象具有自己的属性和方法,可以与其他对象进行交互。
在面向对象程序设计中,最重要的概念包括类、对象、封装、继承和多态。
类是对象的模板,它定义了对象所具有的属性和方法。
比如,我们可以定义一个“汽车”类,这个类包含了汽车的品牌、颜色、速度等属性,以及加速、刹车等方法。
C语言程序设计第四章
运行情况: 1989↙ 1989is not a leap year.
2000↙
2000 is a leap year.
C程序设计
第五章
选择结构程序设计
例4.6 求
2 ax bx c 0 方程的解
#include "stdio.h" #include "math.h" main() {float a,b,c,d,disc,x1,x2,realpart,imagpart; scanf("%f,%f,%f",&a,&b,&c); printf("The equation"); if (fabs(a)<=1e-6) printf("is not a quadratic"); else disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("has two equal roots:%8.4f\n",-b/(2*a)); else if(disc>1e-6) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("has distinct real roots:%8.4f and %8.4f\n",x1,x2); } else {realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf("has complex roots:\n"); printf("%8.4f+%8.4fi\n",realpart,imagpart); printf("%8.4f-%8.4fi\n",realpart,imagpart); } }
结构化程序设计
第四章结构化程序设计控制结构
•
PRINT*,‘X1=’,X1,’,X2=’,X2
•
40 RETURN
• END SUBROUTINE
3. IF 块
IF 块的构造形式为:
•
IF condition THEN
•
block1
•
[ELSE
•
blockE]
•
END IF
其中,condition是一个逻辑表达式,其结果不外乎真或假。 block1 和 blockE是语句块,当条件为真,block1 被执行; 否则,blockE 被执行。ELSE 块是可选的。
•
[CASE DEFAULT
•
blockD]
•
END SELECT
其中expr 必须是整型、字符型或者逻辑型变量。Selector 可以是同一类型, 非交叉的值或值范围(:用来规定值的范围)的列表。用CASE块统计 学生得分如下:
SELECT CASE ( INT(Final))
•
CASE (90:)
•
case default
•
PRINT*,‘Consonant’
•
END SELECT
•
ELSE
•
PRINT*,‘Something else’
CASE块的构造形式为:
•
SELECT CASE (expr)
•
CASE (selector1)
•
block1
•
CASE (selector2)
•
block2
•
D=D+1
•
ELSE
•
F=F+1
•
END IF
程序执行一旦发现某个逻辑条件为真,就不会再去判断其他
结构化程序设计
结构化程序设计结构化程序设计是一种编程范式,它强调使用结构化控制语句来编写程序,以提高代码的可读性、可维护性和可靠性。
这种设计方法最早由E.W. Dijkstra和C.A.R. Hoare等人在20世纪60年代提出,并逐渐成为软件开发中的主流方法。
定义与原则结构化程序设计的核心是将程序分解为一系列结构化的单元,每个单元只执行一种逻辑功能。
这些单元通过控制语句(如顺序、选择和循环)相互连接。
其主要原则包括:1. 自顶向下设计:从整体到部分,逐步细化程序结构。
2. 模块化:将程序划分为独立的模块,每个模块完成特定的任务。
3. 逐步细化:将复杂问题分解为更小、更易于管理的问题。
4. 使用结构化控制语句:避免使用非结构化的控制语句,如GOTO。
结构化控制语句结构化程序设计主要使用以下三种控制语句:1. 顺序结构:按照代码的书写顺序执行。
2. 选择结构:根据条件选择不同的执行路径,如`if-else`语句。
3. 循环结构:重复执行一段代码直到满足特定条件,如`for`、`while`和`do-while`循环。
优点1. 提高代码可读性:结构化的代码更容易理解和维护。
2. 减少错误:结构化设计减少了程序中的错误和异常情况。
3. 易于测试和调试:模块化的设计使得测试和调试更加容易。
4. 增强代码重用性:模块化的设计允许代码重用,提高开发效率。
缺点1. 灵活性降低:严格的结构化设计可能限制了某些特定情况下的灵活性。
2. 过度设计:在某些简单问题上,结构化设计可能导致不必要的复杂性。
实践方法1. 需求分析:明确程序需要完成的功能和性能要求。
2. 设计:使用伪代码或流程图来设计程序的逻辑结构。
3. 编码:根据设计文档编写代码,确保使用结构化控制语句。
4. 测试:对每个模块进行测试,确保其正确执行。
5. 维护:对程序进行持续的维护和优化。
应用领域结构化程序设计广泛应用于软件开发的各个领域,包括但不限于:- 商业软件:如会计、库存管理等。
第4章_结构化设计方法 参考答案
第4章结构化设计方法4.1 当你“编写”程序时你设计软件吗?软件设计和编码有什么不同吗?在“编写”程序时并没有设计软件。
软件设计包括概要设计和详细设计,编码是将详细设计中的过程描述转换成用程序设计语言来描述。
4.2 举出3个数据抽象的例子和可以用来操作这些数据抽象的过程抽象的一个例子。
抽象是忽略事物的细节,获取其本质特征的过程。
抽象是一种重要的机制,使人们能够对复杂系统能够很好地理解、交流和推理。
在软件领域,可以将抽象分为两类,即数据抽象和过程抽象。
在传统的结构化程序设计语言中,就提供了这两种抽象机制。
(1) 数据抽象:在所有的结构化程序设计语言中,用户都可以自定义抽象数据类型。
如定义抽象数据类型Student(学生)、Course(课程)、ClassScoreList(班级成绩单)。
(2) 过程抽象:过程抽象也称为是基于方法的抽象。
过程抽象使我们关心处理过程的名字和它能做什么,而无需知道如何完成所有实现细节。
如求班级总平均分average(ClassScoreList)就是一个过程抽象。
在面向对象的程序设计语言中,抽象与封装的概念密切相关,数据抽象和相关的过程抽象被封装在类中,不同类中相似的过程抽象(方法)又可以进一步抽象,放在接口中。
封装是保证事物有明确内外界限的机制。
内部是受保护的,与外部事物相隔离。
4.3 应在什么时候把模块设计实现为单块集成软件?如何实现?性能是实现单块集成软件的唯一理由吗?由于模块之间的调用降低了系统的运行速度,可能会导致满足不了用户的性能要求,这时就需要将软件设计为单块集成软件。
但是在设计时,最好按照模块化的原则进行设计,只是没有显式的模块定义而已。
这样的程序也具有模块化的优点。
性能是实现单块集成软件的唯一理由。
4.4 是否存在一种情况:复杂问题需要较少的工作去解决?这样的情况对模块化观点有什么影响?通过对复杂的问题进行合理分解,分解为若干个相对简单及独立的子问题,就可以用较少的工作去解决。
结构化程序设计
结构化程序设计结构化程序设计结构化程序设计(Structured Programming)是一种编程方法学,旨在通过使用控制结构和模块化的方式来提高程序的可读性和可维护性。
它强调程序应该被分解为小而独立的、可重用的块,并且应该使用清晰的控制结构来组织代码。
结构化程序设计通过减少代码中的跳转和条件语句来降低程序的复杂性,使得程序更易于理解和调试。
1. 控制结构在结构化程序设计中,主要有三种基本的控制结构:1.1 顺序结构顺序结构是最简单的控制结构,程序按照顺序执行语句,没有任何条件或循环。
例如,下面是一个简单的顺序结构的伪代码示例:pythonStep 1: 读取输入Step 2: 处理数据Step 3: 输出结果1.2 选择结构选择结构用于根据特定条件选择不同的路径执行代码。
通常使用`if`语句或`switch`语句来实现选择结构。
例如,下面是一个使用`if`语句实现的选择结构的伪代码示例:pythonif 条件1:执行语句1elif 条件2:执行语句2else:执行语句31.3 循环结构循环结构用于重复执行一段代码,直到满足特定条件才停止。
通常使用`for`循环或`while`循环来实现循环结构。
例如,下面是一个使用`while`循环实现的循环结构的伪代码示例:pythonwhile 条件:执行语句2. 模块化设计模块化设计是结构化程序设计的另一个关键概念,它将程序分解为相互独立的模块,每个模块负责完成特定的任务。
模块化设计可以提高代码的可重用性和可维护性,并且使得程序更易于理解和测试。
在模块化设计中,每个模块应该具有清晰的输入和输出接口,尽量减少模块之间的依赖关系。
模块之间的通信可以通过参数传递、全局变量或回调函数等方式实现。
例如,一个计算矩形面积的模块可以设计如下:pythondef calculate_area(length, width):area = length widthreturn area在上述示例中,`calculate_area`是一个独立的模块,它接收矩形的长度和宽度作为参数,并返回计算的面积。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.1 基本控件和顺序结构程序设计方法
文本框控件(TextBox) 4.1.3 文本框控件(TextBox) TextBox控件是程序中用来接收用户输入, TextBox控件是程序中用来接收用户输入, 控件是程序中用来接收用户输入 或显示输出信息的主要控件 向页面中添加TextBox 的主要控件。 TextBox控 或显示输出信息的主要控件。向页面中添加TextBox控 件、调整控件的大小及位置的方法与前面介绍的方法完 全相同。 全相同。
4.1 基本控件和顺序结构程序设计方法
4.1.1 标签控件(Label) 标签控件(Label)
4.1 基本控件和顺序结构程序设计方法
4.1.2 按钮控件(Button) 按钮控件(Button) Button控件是应用程序中使用频度较高的控件, Button控件是应用程序中使用频与程序进行交互的主要手段之一。 是用户与程序进行交互的主要手段之一。在程序中用户通常可以 单击页面中的某按钮来触发实现某特定功能的程序段, 单击页面中的某按钮来触发实现某特定功能的程序段,如单击 确定】按钮将用户在表单中填写的数据保存到数据库中, 【确定】按钮将用户在表单中填写的数据保存到数据库中,单击 取消】按钮清除已填写的数据,回到初始状态,等等。 【取消】按钮清除已填写的数据,回到初始状态,等等。 1.向页面中添加按钮控件 1.向页面中添加按钮控件 2.按钮控件的常用属性 2.按钮控件的常用属性 3.按钮控件的常用事件 3.按钮控件的常用事件
4.1 基本控件和顺序结构程序设计方法
按钮控件(Button) 4.1.2 按钮控件(Button) 按钮控件的常用属性: 按钮控件的常用属性:
4.1 基本控件和顺序结构程序设计方法
按钮控件(Button) 4.1.2 按钮控件(Button) 设置控件的<Tab>键顺序: 设置控件的<Tab>键顺序: <Tab>键顺序
4.2 选择结构程序设计
if…else结构 4.2.2 if…else结构
if语句的语法格式为: 语句的语法格式为: 语句的语法格式为 if (条件表达式 条件表达式) 条件表达式 { 语句序列1 语句序列 } else { 语句序列2 语句序列 }
4.2 选择结构程序设计
if…else结构 4.2.2 if…else结构
4.1 基本控件和顺序结构程序设计方法
文本框控件(TextBox) 4.1.3 文本框控件(TextBox) 文本框控件的常用属性: 文本框控件的常用属性:
4.1 基本控件和顺序结构程序设计方法
文本框控件(TextBox) 4.1.3 文本框控件(TextBox) 文本框控件的常用属性: 文本框控件的常用属性: AutoCompleteType属性 属性: (1)AutoCompleteType属性:许多浏览器都支持自动 完成功能, 完成功能,就是帮助用户根据以前输入的值向文本框中 填充信息。 填充信息。 AutoPostBack属性 若此属性设置为true 属性: true, (2) AutoPostBack属性:若此属性设置为true,使用 户的输入和选择立即发送到服务器。 户的输入和选择立即发送到服务器。 TextMode属性 设置为MultiLine 属性: MultiLine时 Rows属性设 (3)TextMode属性:设置为MultiLine时,Rows属性设 置有效;设置为Password Password时 用于输入密码, 置有效;设置为Password时,用于输入密码,任何字符 都显示为“ 代替。 都显示为“*”代替。
第4章 结构化程序设计方法
第4章 结构化程序设计方法
C#2005采用完全面对对象的程序设计方法, C#2005采用完全面对对象的程序设计方法,尽管它 采用完全面对对象的程序设计方法 采用了事件驱动的机制,但编写程序代码时, 采用了事件驱动的机制,但编写程序代码时,对于具体 的代码块仍涉及流程控制问题。可以说,面向对象的程 的代码块仍涉及流程控制问题。可以说,面向对象的程 序设计方法包容了面向过程的结构化程序设计方法。 面向过程的结构化程序设计方法 序设计方法包容了面向过程的结构化程序设计方法。 结构化程序设计方法把程序的结构规定为顺序、选 结构化程序设计方法把程序的结构规定为顺序、 顺序 择和循环3种基本结构。 择和循环3种基本结构。
4.1 基本控件和顺序结构程序设计方法
4.1.4 顺序结构程序设计 (2)设计Web页面 (2)设计Web页面 设计Web (3)设置对象属性 (3)设置对象属性 (4)编写事件代码 (4)编写事件代码 (5)运行并检测正确性 (5)运行并检测正确性
4.2 选择结构程序设计
4.2.1 选择结构程序设计的概念 常见的判断及处理方法可分为以下两种: 常见的判断及处理方法可分为以下两种: 1) “如果某条件成立,则选择处理方法1,否则选 “如果某条件成立,则选择处理方法1 如果某条件成立 择处理方法2或不作任何处理” 择处理方法2或不作任何处理”。这种处理方式称为 单条件选择” “单条件选择”。 “如果符合条件 如果符合条件1 则按方法A处理,符合条件2 2) “如果符合条件1,则按方法A处理,符合条件2 按方法B处理,符合条件3 方法处理,……, 按方法B处理,符合条件3按C方法处理,……,所有条 件都不成立按方法N处理或不作任何处理”。这种处理 件都不成立按方法N处理或不作任何处理” 方法称为“多条件选择” 方法称为“多条件选择”。
4.1 基本控件和顺序结构程序设计方法
文本框控件(TextBox) 4.1.3 文本框控件(TextBox) 文本框控件的常用事件: 文本框控件的常用事件: TextBox控件最常用的事件是TextChanged事件, TextBox控件最常用的事件是TextChanged事件,该事件 控件最常用的事件是TextChanged事件 在文本框的内容发生变化, 在文本框的内容发生变化,并向服务器发送这一改变时 发生。也就是说,TextBox控件并非每当用户输入一个 发生。也就是说,TextBox控件并非每当用户输入一个 键击就引发TextChanged事件, TextChanged事件 键击就引发TextChanged事件,而且仅当用户离开该控 件时才引发事件。 件时才引发事件。
程序运行时,用户按<Tab>键循环切换能接收用户输入操作 程序运行时,用户按<Tab>键循环切换能接收用户输入操作 <Tab> 的控件,称为使控件得到“焦点” Web服务器控件接收焦点的 的控件,称为使控件得到“焦点”。Web服务器控件接收焦点的 顺序由每个控件的TabIndex属性确定。接收焦点的顺序: TabIndex属性确定 顺序由每个控件的TabIndex属性确定。接收焦点的顺序: 1.第一项是浏览器的地址栏; 1.第一项是浏览器的地址栏; 第一项是浏览器的地址栏 2.按每个控件的TabIndex属性值, 2.按每个控件的TabIndex属性值,从最小的非零正值开始按升序 按每个控件的TabIndex属性值 排列。 排列。 3.若将某控件的TabIndex属性设置为负值,就可以从Tab键顺序 3.若将某控件的TabIndex属性设置为负值,就可以从Tab键顺序 若将某控件的TabIndex属性设置为负值 Tab 中移除该控件。 中移除该控件。
if…else结构 4.2.2 if…else结构 (2)设计Web页面 (2)设计Web页面 设计Web (3)设置对象属性 (3)设置对象属性 (4)编写事件代码 (4)编写事件代码 (5)运行并检测正确性 (5)运行并检测正确性
4.2 选择结构程序设计
if结构 4.2.3 if…else if结构
4.1 基本控件和顺序结构程序设计方法
4.1.4 顺序结构程序设计
【例4-1】(1)设计要求:设计一个简单的算术计算器程序,用户 (1)设计要求:设计一个简单的算术计算器程序, 设计要求 在第1和第2个文本框中分别输入两个数字后,单击“ ”“在第1和第2个文本框中分别输入两个数字后,单击“+”“”“×”“÷ 中的一个, ”“×”“÷”中的一个,第3个文本框中将显示按用户选择的 方式得出的计算结果。 方式得出的计算结果。
if…else if语句的语法结构如下 语句的语法结构如下: if else if语句的语法结构如下: (条件表达式 条件表达式1) if (条件表达式1) 条件表达式1成立时执行的语句序列} {条件表达式1成立时执行的语句序列} (条件表达式 条件表达式2) else if (条件表达式2) 条件表达式2成立时执行的语句序列} {条件表达式2成立时执行的语句序列} (条件表达式 条件表达式n) else if (条件表达式n) 条件表达式n成立时执行的语句序列} {条件表达式n成立时执行的语句序列} else 所有条件都不成立时执行的语句序列} {所有条件都不成立时执行的语句序列}
第4章 结构化程序设计方法
本章讲述的主要内容 4.1 4.2 4.3 基本控件和顺序结构程序设计方法 选择结构程序设计方法 循环结构程序设计方法
第4章 结构化程序设计方法
4.1 基本控件和顺序结构程序设计方法 2.0中构成应用程序的基本控件 中构成应用程序的基本控件: 2.0中构成应用程序的基本控件:标签控 Lable)、文本框控件(TextBox)、 )、文本框控件 )、按钮控件 件(Lable)、文本框控件(TextBox)、按钮控件 Button)。 )。有了这些控件可以设计出最简单的 (Button)。有了这些控件可以设计出最简单的 2.0 Web应用程序。 Web应用程序。 应用程序
【例4-2】
设计要求:求函数值,输入x 计算y (1)设计要求:求函数值,输入x,计算y值,计算方 法为: 法为:
输入x点击“确定”按钮后,显示相应的y 输入x点击“确定”按钮后,显示相应的y值。
4.2 选择结构程序设计
if…else结构 4.2.2 if…else结构