4-1可视化程序设计
- 格式:doc
- 大小:153.00 KB
- 文档页数:9
第1章软件与软件工程的概念1、1 举出您所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1、2 认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是否正确?为什么?认为“软件就就是程序,软件开发就就是编程序。
”这种观点就是错误的。
首先,软件就是计算机系统中与硬件相互依存的另一部分,它就是包括程序,数据及其相关文档的完整集合,程序只就是软件的组成部分之一;其次,在软件开发中,编程只就是软件开发过程的一个阶段。
1、3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1、4 什么就是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机就是指在计算机软件的开发与维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本与进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常就是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验与有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的就是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1、5 什么就是软件工程?软件工程就是指导计算机软件开发与维护的工程学科。
经验技巧4-1 标志变量的使用一、什么是标志变量在程序设计中,使用算法来解决实际问题。
在解决实际问题时,如果某一个实际问题有两种(及以上)可能的结果,在程序中需要根据不同的结果统一做不同的处理,这时可以使用一个变量来表示可能出现的结果,我们就把用来表示一个问题结果的各状态的变量称为标志变量。
例如:输入的年份是否是闰年?有两种可能的结果,或者是,或者不是。
如果是就输出是闰年,否则输出不是闰年。
像这样的问题就可以使用标志变量来表示结果的状态。
二、标志变量的值如果实际问题只有两个结果,那么标志变量的值通常设定为0和1,用0代表“不是”,用1代表“是”;如果实际问题有两个以上的结果,那么标志变量可设定多个值,每个值代表一种可能的结果状态。
三、标志变量的初始化通常标志变量在定义时应进行初始化,先给定标志变量一个初始值,即先认定是其中的一种结果状态。
这样做可以减少程序代码,使程序更加简单易读。
四、标志变量的使用1.确定标志变量的值标志变量定义并初始化后,需要依次判断其它可能结果的条件是否成立,来决定是否需要修改标志变量的值,如果其中的某个条件成立,就修改标志变量的值,否则,不用修改。
2.给出处理结果标志变量的值确定后,就可以根据标志变量的值给出实际问题的结果。
这里可以在本函数中直接给出处理结果,也可以将标志变量的值返回主调函数,在主调函数中给出处理结果。
在给出处理结果时,需要判断标志变量的值属于哪种结果状态,给出每种状态的处理结果。
五、应用举例【示例】判断输入年份是否闰年。
具体解释详见代码中的注释。
程序代码1:在主调函数中给出结果。
(1)#include "stdio.h"(2)int main()(3){(4)int isleapyear(int year); //函数声明(5)int year,flag;(6)printf("请输入年份:");(7)scanf("%d", &year);(8)flag=isleapyear(year); //调用结果赋给flag(9)if(flag) //flag等价于flag!=0,判断标志变量的状态是否是闰年(10)printf ("%d年是闰年。
1、Scratch程序设计语言1、Scratch程序设计语言介绍Scratch是一种由麻省理工学院媒体实验室开发的图形化编程语言。
它旨在帮助初学者学习编程,并通过创意和互动的方式激发他们的创造力。
Scratch使用可拖放的模块化积木来创建程序,使编程变得简单易懂,并降低了编程的入门门槛。
特点1. 图形化编程:Scratch使用可视化界面和积木的方式来编写程序,无需编写复杂的代码,只需要对积木进行拖拽和组合即可完成程序的搭建。
2. 互动式学习:Scratch鼓励学生通过创建自己的交互式媒体项目来学习编程,如游戏、动画、模拟等,这样可以将编程与实际应用结合起来,增加学习的趣味性和动力。
3. 社区分享:Scratch拥有一个活跃的在线社区,用户可以在这里分享自己的作品、获取灵感和反馈,与其他Scratch用户进行交流和合作。
用途Scratch可广泛应用于教育和娱乐领域:教育:Scratch是许多学校和机构用来教授编程概念和计算思维的工具。
它能帮助学生培养逻辑思维、问题解决和创新能力。
娱乐:Scratch用户可以创造各种多媒体项目,如游戏、音乐、动画等,让他们的想象力得到充分发挥,并与其他用户分享自己的作品。
优势Scratch相较于传统文本编程语言具有以下优势:易学易用:Scratch采用图形化的编程方式,不需要记忆复杂的语法和语句,降低了学习的难度。
创造性和互动性:使用Scratch可以快速创造各种有趣的项目,并通过互动方式与项目进行交互,激发创造力和想象力。
社区支持:Scratch有庞大的用户群体和活跃的社区,可以获取到丰富的学习资源和技术支持,还可以与其他用户进行合作和分享。
Scratch是一种图形化编程语言,适用于初学者学习编程和培养创造力。
它通过可视化界面和积木的方式使编程变得简单易懂,具有互动学习和社区分享的特点。
Scratch可以广泛应用于教育和娱乐领域,并与其他用户合作和分享自己的作品。
14秋学期《可视化程序设计Ⅰ》在线作业1单选题一、单选题(共20 道试题,共100 分。
)1. 关于子窗体说法正确的是A. MDI子窗体与普通窗体没有区别B. MDI子窗体与普通窗体不同,其活动区域为MDI窗体工作区,而普通窗体则没有此限制C. MDI窗体菜单和子窗体可以同时显示出来D. 当子窗体激活时仅仅显示子窗体菜单-----------------选择:B2. software and hardwarB) softwareC) hardwareD) 1(26)执行如下语句a=InputBox("Today","Tomorrow","Yesterday",,,"Day before yesterday",5)将显示一个输入对话框,在对话框的输入区中显示的信息是A. TodayB. TomorrowC. YesterdayD. Day before Yesterday-----------------选择:C3. 有如下语句:Open “f1.dat”For Random As #1 Len =15,表示文件f1.dat每个记录的长度等于()A. 15个字符B. 15个字节C. 或小于15个字符D. 或小于15个字节-----------------选择:B4. 以下能够正确计算n!的程序是A. Private Sub Command1_Click()n=5:x=1Dox=x*ii=i+1Loop While i<nPrint xEnd SubB. Private Sub Command1_Click()n=5:x=1:i=1Dox=x*ii=i+1Loop While i<nPrint xEnd SubC. Private Sub Command1_Click()n=5:x=1:i=1Dox=x*ii=i+1Loop While i<=nPrint xEnd SubD. Private Sub Command1_Click()n=5:x=1:i=1Dox=x*ii=i+1Loop While i>nPrint xEnd Sub-----------------选择:C5. (1)在设计阶段,当双击窗体上的某个控件时,所打开的窗口是A. "A) 工程资源管理器窗口B. "C. "B) 工具箱窗口"D. C) 代码窗口E.-----------------选择:C6. 目录列表框的Path属性的作用是A.B. 显示当前驱动器或指定驱动器上的某目录下的文件名。
1、Scratch程序设计语言1、Scratch程序设计语言简介Scratch是一种图形化编程语言,旨在帮助初学者学习编程。
它是由麻省理工学院媒体实验室开发的,并且可以免费使用。
通过使用Scratch,用户可以创建各种交互式媒体项目,如动画、游戏和故事。
背景Scratch的开发初衷是为了打破传统编程语言的学习障碍,使编程更易于理解和学习。
传统编程语言使用文字和符号来表达代码逻辑,这对于初学者来说可能会显得复杂和抽象。
而Scratch通过使用图形块来表示代码逻辑,降低了学习的难度,使编程变得更加有趣和可视化。
特点1. 图形化编程Scratch使用简单的图形块来表示代码逻辑。
用户只需将这些图形块拖放到工作区中,并将其连接起来,即可创建程序。
这种可视化的编程方式使得编程过程更加直观和可理解。
2. 交互式界面Scratch提供了一个交互式界面,允许用户实时预览和他们的项目。
用户可以通过或拖动角色来与项目进行交互,从而提供了一个直观的编程体验。
3. 多媒体支持使用Scratch,用户可以轻松地添加音频、图像和视频等多媒体元素到他们的项目中。
这使得用户可以创建各种各样的媒体项目,并将编程与创意结合起来。
4. 社区分享Scratch提供了一个在线社区平台,用户可以在这里分享和展示他们的项目。
这使得用户可以从其他人的作品中获得灵感,并与其他人交流和合作。
应用领域由于Scratch的易学性和可视化特点,它被广泛应用在教育领域。
许多学校和教育机构使用Scratch来教授编程基础知识,培养学生的创造力和逻辑思维能力。
,Scratch还被用于开发各种教育游戏和交互式教学工具。
使用指南以下是几个使用Scratch的基本步骤:1. 和安装Scratch软件。
2. 打开Scratch软件,进入创作环境。
3. 在工作区中选择所需的角色和背景。
4. 使用图形块拖放到工作区中,组合成程序。
5. 预览和项目,进行调试和修改。
6. 完成项目后,可以分享到Scratch社区或导出为独立应用程序。
《高级程序设计》课程实验报告【实验目的】1. 掌握可视化程序设计中常用组件和容器的使用方法。
2. 掌握事件监听及响应的方法。
【实验内容】1. 模仿windows自带的计算器功能,设计一个简单计算器;2. 至少要求实现整数和小数的加、减、乘、除、清零功能。
3. 其他计算功能,请参考windows自带的计算器,尽可能多的实现【实验方式】个人实验。
【实验设备与环境】PC机,Windows XP操作系统,Eclipse开发环境【程序设计】以下设计内容给出的只是范例,请同学们根据自己编写的程序内容进行填写1.程序功能设计(1)实现整数和小数的加、减、乘、除、清零功能(2)通过点击按钮输入运算数据和符号,点击等号计算结果,并且显示输入的数据和运算结果2.程序界面设计3.类、接口及方法的声明写出每一个类的名字,这个类中的方法的名字,以及它们各自功能作用(1)主类,完成主方法的调用{ public static void main(String[] args);//主方法,定义并实例化计算器窗口对象} (2)class Cal extends JFrame implements ActionListener //计算器窗口类,实现计算器运算功能,实现按钮的监听{ public calc ();//构造方法,实现了界面的布局,给按钮加载监听器public void actionPerformed(ActionEvent e);//实现对监听事件的响应,根据产生事件的不同数据源,做出对应的处理。
class Cut implements ActionListener{public void actionPerformed(ActionEvent e){}}//实现监听加减乘除按钮class Cal implements ActionListener{public void actionPerformed(ActionEvent e){}}//结果显示的监听【测试数据与实验结果】1.测试方案1测试数据:整数小数加法5+7.8测试结果:5+7.8=12.82.测试方案25.5*4=22.03.测试方案33、5=0.6请根据你自己的程序,设计多个测试方案,尽量展示你实现的功能【源程序清单】(请附上源程序)//Calculator.javaimport java.awt.*;import java.awt.event.*;import java.text.DecimalFormat;import javax.swing.*;public class exCalculator extends JFrame{private JPanel p1=new JPanel();private JButton numberButton[]=new JButton[11];private String buttonName[]={"1","4","7","9","2","5","8","0","3","4","."};private JButton plusButton;private JButton calButton;private JButton cutButton;private JButton divideButton;private JButton multiplyButton;private JLabel tf=new JLabel("计算结果=:");private String add1="";private String add2="";private String output="";private float calResult;private boolean plusClicked=false;private boolean cutClicked=false;private boolean divideClicked=false;private boolean multiplyClicked=false;exCalculator(){super("简易计算器");getContentPane().setLayout(null);p1.setLayout(new GridLayout(4,4,7,7));p1.setBounds(9,9,300,150);for(int i=0;i<11;i++){numberButton[i]=new JButton(buttonName[i]);numberButton[i].setPreferredSize(new Dimension(40,20));numberButton[i].addActionListener(new Number());p1.add(numberButton[i]);}calButton=new JButton("=");calButton.addActionListener(new Cal());p1.add(calButton);plusButton=new JButton("加");plusButton.addActionListener(new Plus());p1.add(plusButton);cutButton=new JButton("减");cutButton.addActionListener(new Cut());p1.add(cutButton);divideButton=new JButton("除");divideButton.addActionListener(new Divide());p1.add(divideButton);multiplyButton=new JButton("乘");multiplyButton.addActionListener(new Multiply());p1.add(multiplyButton);getContentPane().add(p1);tf.setBounds(10,230,350,20);getContentPane().add(tf);setSize(330,350);setVisible(true);setResizable(true);}class Number implements ActionListener{public void actionPerformed(ActionEvent e){i f(!plusClicked&&!cutClicked&&!divideClicked&&!multiplyClicked){add1+=e.getActionCommand();output="计算结果=:"+add1;tf.setText(output);}e lse{add2+=e.getActionCommand();output+=e.getActionCommand();tf.setText(output);}}}class Cut implements ActionListener{public void actionPerformed(ActionEvent e) {cutClicked=!cutClicked;output+="-";tf.setText(output);}}class Divide implements ActionListener{public void actionPerformed(ActionEvent e) {divideClicked=!divideClicked;output+="¡Â";tf.setText(output);}}class Multiply implements ActionListener{public void actionPerformed(ActionEvent e) {multiplyClicked=!multiplyClicked;output+="¡Á";tf.setText(output);}}class Plus implements ActionListenerpublic void actionPerformed(ActionEvent e){plusClicked=!plusClicked;output+=" + ";tf.setText(output);}}class QingChu implements ActionListener{public void actionPerformed(ActionEvent e){output="0";}}class Cal implements ActionListener{public void actionPerformed(ActionEvent e){ if(output.contains("+")){calResult=Float.parseFloat(add1)+Float.parseFloat(add2);}else if(output.contains("-")){calResult=Float.parseFloat(add1)-Float.parseFloat(add2);}else if(output.contains("¡Á")){calResult=Float.parseFloat(add1)*Float.parseFloat(add2);}else{calResult=Float.parseFloat(add1)/Float.parseFloat(add2);}output+=" = ";tf.setText(output+ calResult);plusClicked=false;cutClicked=false;divideClicked=false;multiplyClicked=false;add1="";add2="";}public static void main(String args[]){exCalculator calculator=new exCalculator();calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }}。