软件编程

如题所述

硬石技术论坛共享文档--软件编程部分免费下载

链接:https://pan.baidu.com/s/1obJHRyWye00q5R9_n6n7og

提取码:yjvs

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-04
目前,有编程语言的两种常见形式:汇编语言和高级语言。

汇编语言和机器语言是相同的实质,是直接在硬件上运行,但该命令使用缩写的标识符更容易识别和记忆。它也要求程序员命令的书面形式每一步的具体操作。汇编程序通常由三部分组成:指令,指令和宏。相应的实际操作只是一个很细微的动作,如移动,自我成长,因此汇编源程序每一个汇编指令一般比较冗长,复杂,容易出错,而且使用汇编语言编程需要更多的计算机专业知识,但其优点是显而易见的汇编语言,汇编语言无法完成一般的操作可以实现高层次的语言,并通过可执行文件的编译生成的源代码,不仅比较小,而且执行速度很快。

是高级语言的程序员选择的绝大多数。和汇编语言相比,它的许多相关不仅仅为单个机器指令指令的合成,并取消了操作的具体细节,并完成相关但不相关的工作,例如使用堆栈,寄存器等,从而大大简化了指令的过程。此外,因为许多的细节被省略,程序员将不再需要太多的专业知识。

主要针对的高级语言汇编语言而言,它不是特定于某种特定的语言,而是包括了很多编程语言,如流行的VB,VC的, FoxPro中,德尔福等,语法这些语言,命令格式是不同的。 ?

编写高级语言程序不能直接被计算机识别,必须转换来执行,根据它们可以转换成两类方式:

解释类:执行一个类似我们日常生活的方式,“同声翻译”应用程序源代码一边由传译员的语言“翻译”成目标代码(机器语言),而实施的,因此效率比较低,而不能独立执行生成的可执行文件,应用程序不能脱离他的翻译,但这种方式更加灵活,可以动态地调整,应用程序。

编译的类:编译是指应用程序的源代码在执行前,源代码将被“翻译”成目标代码(机器语言),所以目标程序可以独立于它的语言环境中执行,使用更方便,更高效。但是,如果你需要你的应用程序,您必须源代码,重新编译生成新的目标文件(*。obj)来执行,无需源代码不方便只有目标文件。现在大多数编译的编程语言,如Visual C + +,Visual FoxPro中,德尔福等

[尾页]

学习编程,从哪里开始

如果你想学习编程,但我不知道从哪里开始,那么你不妨去看看,请参见以下几个学习计划,它可能会给你一些灵感!

==============================================

程序中的基本语言和Visual Basic中

(1)基本简单易学,使用方便。

(2)Visual Basic提供了强大的可视化编程功能,让您可以轻松地做出漂亮的程序。

(3)众多的控件让编程变得简单,如垒积木。

(4)Visual Basic的全部完成,我们遇到的英语对那些谁热闹的头。

(1)的Visual Basic不是真正的面向对象的开发文具。

(2)小的Visual Basic数据类型,不支持指针,这使得它非常有限的表达能力。

(3)的Visual Basic不是真正的编译语言,它产生的最终代码不是可执行的,是一种伪代码。它需要一个动态链接库来解释执行,这使得Visual Basic编译器的速度要慢得多。

摘要:一个合适的程序开始了自己编程的朋友们,不要问它的学习者,几乎每个人都可以学习VB的时间相对较短的时间编程,并用VB工程使你自己的。对于那些谁编游戏的朋友,VB是您最佳的选择。

基本/ Visual Basic中介绍

================================= =============

方案二Pascal语言和Delphi的

(1)Pascal语言结构,可以很好地培养一个人的编程的想法。

(2)Delphi是一个真正的面向对象的开发工具,并且是完全的可视化。

(3)Delphi编译器使用真正的,你可以让你的代码被编译成可执行文件,并且编译器是非常快的。

(4)德尔福有一个强大的数据库开发能力,可以让你轻松地开发数据库。

德尔福缺点几乎可以说是完美的,但人们过于严格的感觉有点烦Pascal语言。

摘要:方案二比较适合那些有一定的朋友,学会了基本的编程语言帕斯卡尔。

Pascal语言简介

德尔福简介

============================= =================

方案三C语言&的Visual C + +

(1)C语言的灵活性,效率高,可暴露于相对低级别的软件开发的东西。

(2)微软的MFC库博大精深,它允许自由地学习编程。

(3)VC是微软制造的产品,并更紧密地结合操作系统。

用户的要求

缺点是比较高的,它需要有丰富的C语言编程经验,而且还具有一定的WINDOWS编程,它太专业彩妆一般的编程爱好者学习这将是不小的难度。

摘要:VC是程序员的事情。如果你是一个人谁永不满足,并且能够把大量的精力和时间上的编程,那么学习VC,你不会后悔。

C语言简介

=================================== ===========

方案四C + +语言和C + + Builder中

(1)C + +语言,所有的优点被继承。 。

(3)强大的兼容性,对OWL,VCL和MFC三个库的支持。

(4)编译速度非常快。

由于推出的时间的缺点是太短了,各种关于它的信息并不太多。

总结:我认为这是最好的C + + Builder编程工具。它保持了C + +编程语言的优势,也做一个完整的可视化。

C语言简介

=================================== ===========

程序五个SQL语言&Power Builder中

对于一些传统的数据开发人员来说,Foxpro系列也许让他们感到更加熟悉。但对于初学者来说,PowerBuilder是也许是最好的数据库开发工具。各种各样的控件,功能强大的PowerBuilder语言将帮助您开发自己的数据库应用程序。

[尾页]

JSP简介

太阳这个新的Web应用程序开发技术后,迅速引起了关注。 JSP来创建高度动态的Web应用程序提供了一个独特的开发环境。据Sun,JSP能够适应市场的服务器产品85%包括Apache网络服务器,IIS4.0,包括。

JSP和ASP

简单的比较

JSP与Microsoft的ASP技术非常相似。两者都是在一个混合的代码,解释的语言引擎执行程序代码的能力的HTML代码提供。在ASP或JSP环境下,HTML代码主要负责描述的显示样式信息,以及程序代码是用来描述处理逻辑。普通的HTML页面只依赖Web服务器,而ASP和JSP页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML代码中,然后沿发送到浏览器。 ASP和JSP技术所面临的Web服务器,客户端浏览器无需任何额外的软件支持。

ASP的编程语言是如VBScript,JSP脚本语言使用Java,这是两者之间最明显的区别。

另外,ASP和JSP之间存在的更重要的一个区别:?两种语言引擎处理在页面中嵌入一个完全不同的程序代码。在ASP中,VBScript代码被解释ASP引擎;在JSP中,代码被编译成Java虚拟机实现的Servlet通过这种编译操作仅发生在对JSP页面的第一次请求。

运行环境需要被执行JSP引擎JSP代码在服务器上安装。在这里,我们使用的是Sun的Java服务器的Web开发工具包(JSWDK)。为了便于学习,这个软件包提供了大量可供的示例。安装JSWDK之后,只需执行startserver的命令来启动服务器。在服务器的默认配置侦听端口8080,使用访问http://localhost:8080 来打开默认页。

运行示例JSP页面之前,请注意JSWDK安装目录中,“工作”的子目录特别的内容。执行示例页面,你可以看到如何在JSP页面被转换成Java源文件在这里,然后被编译成class文件(即Servlet的)。 JSWDK软件包示例页面分为两类,它们或者是JSP文件,或包含一个表单,这些表单处理JSP代码的HTML文件。与ASP,服务器的JSP的Java代码被执行。因此,使用“查看源文件”菜单中的浏览器是无法看到JSP源代码,只能看到HTML代码的结果。所有例子的源代码是由一个单一的“实例”页。

的Java Servlet是Web应用程序开发的理想框架。 JSP中Servlet技术,已在许多方面得到改善。 JSP页面看起来像一个普通的HTML页面,但它允许嵌入代码执行,在这一点上,它是非常相似,ASP技术。用于处理逻辑和显示风格的分离中使用跨平台的JavaBean组件,JSP提供了一个卓越的解决方案。 JSP将成为一个强有力的竞争者ASP技术。

[尾页]

SQL语言简介

SQL全称是“结构化查询语言(结构化查询语言)”,IBM的圣约瑟研究的第一个查询语言对于关系数据库管理系统实验室System R的研制及其前身SQUARE语言。 SQL语言结构简单,功能强大,简单易学,所以自从1981年成立以来,IBM,SQL语言,已被广泛应用。如今,无论是像甲骨文,赛贝斯公司,Informix,SQL Server数据库管理这些大型,或像Visual Foxporo,这些常见的数据库的计算机系统的PowerBuilder开发,支持SQL语言作为查询语言系统。

结构化查询语言包含四个部分:

数据查询语言DQL,数据查询语言选择

数据操纵语言DQL,数据操纵语言的INSERT,UPDATE,DELETE BR />数据定义语言DQL,数据定义语言CREATE,ALTER,DROP

数据控制语言DQL,数据控制语言COMMIT WORK,ROLLBACK WORK

SQL历史

>在1970年代初期,EECodd首次提出了关系模型。 70年代中期,IBM公司开发的System R的关系型数据库管理系统,SQL语言的第一个(称为SEQUEL2)在1976年11月开发的R&D的IBM杂志发布了SQL语言。

1979年ORACLE公司提供了首个商用的SQL,IBM DB2和SQL / DS数据库系统中也实现了SQL。

1986在2009年10月,美国使用ANSI SQL关系数据库管理系统的标准语言(ANSI X3。135-1986)采纳为国际标准,国际标准化组织(ISO)。

1989年,美国通过了ANSI X3.135-1989的ANSI SQL关系数据库管理系统的标准语言为报表中定义,称为ANSI SQL 89,取代了标准的ANSI X3.135- 1986版本。通过以下组织的标准:

●国际标准化组织(ISO),并且通过了ISO 9075-1989报告“数据库语言SQL使用Integrity增强”

●美国联邦政府出版的联邦信息处理标准出版物(FIPS PUB)127

目前,所有主要的关系数据库管理系统都支持某种形式的SQL语言,大部分数据库打算遵守ANSI SQL89标准。

SQL的优点

SQL是表示它的优点。它使所有用户,包括应用程序员,DBA管理员和最终用户受益。

(1)非过程语言?

SQL是一种非过程化的语言,因为它处理一个记录,对数据提供自动导航。 SQL允许用户在高层数据结构的工作,而不是单个记录的,可操作的记录集进行操作。所有接受组SQL语句作为输入,并返回一个集合作为输出。 SQL允许集合功能的SQL语句的结果作为另一个输入SQL语句。 SQL不要求用户指定的数据存储方法。该功能允许用户更容易地集中于被获得的结果。所有SQL语句使用查询优化器,它是RDBMS的一部分,它通过访问指定的数据的最快捷的方式决定。查询优化器知道存在的索引,这里使用适当的,并且用户永远不需要知道表是否有索引,表有什么类型的索引。

(2)统一的语言

SQL数据库可用于所有用户的活动模型,包括系统管理员,数据库管理员,应用程序员,决策支持系统和人员的许多其它类型最终用户。很少有时间能够学习最先进的指令基本的SQL命令可以掌握在几天之内。 SQL命令提供了许多任务,包括:

表中查询数据,插入,更新和删除记录

●创建,和删除数据对象 BR />●

数据访问和数据对象的控制●保证数据库的一致性和完整性

以前的数据库管理系统提供了上述类型的操作一个单一的语言,并在整个SQL团结一种语言的任务。

(3)是一种常见的语言

所有的关系数据库

由于所有主要的关系数据库管理系统都支持SQL语言,用户可以使用SQL技能转移从一个关系型数据库到另一个。所有的程序都写在SQL可移植。

[尾页]

的Java语言简介

一。 Java的起源

之后1995年推出的SUN Java语言,全世界的目光都被语言的魔力所吸引。那么,到底是什么Java的魔力呢?

其实Java语言大部分都出生于1991年,最初称为OAK语言,SUN公司为一些消费性电子产品和公共环境的设计。他们最初的目的是建立一个独立于平台的软件技术,并出现在网络之前,OAK可以说是未知的,它几乎去。然而,互联网的出现改变了OAK的命运。

之前出现在爪哇。互联网上的信息内容都是一些无聊板的HTML文档。这简直是无法忍受的那些人痴迷WEB浏览它。他们渴望看到一些互动内容温,开发商也非常希望创建一个类的应用程序,而不考虑硬件和软件平台可以对WEB进行,当然,这些方案也有很大的保障。对于这样的要求的用户,传统的编程语言是无力回天,孙工程师面临敏锐地意识到了这一点,自1994年以来,他们开始在网上使用OAK技术,并开发的HotJava的第一个版本。 1995年的太阳升起时,公司正式推出了Java的名字,几乎所有的WEB开发者认为:哦,这就是我想要的。因此,Java已经成为一颗耀眼的明星,关于丑小鸭变成白天鹅。

2。 Java的定义

Java是一种简单的,类似对象的,分布式的,解释的关键安全性强,中性,便携,多线程性能的结构优良,动态语言。

Java开发环境有不同的版本,如Sun的Java开发工具包,简称JDK。后来,微软推出了微软的Visual J + + Java开发环境的Java规范的支持,简称VJ + +。

3。 Java功能

1。独立于平台

Java的平台无关的方式可以在不同的平台上运行。 Java虚拟机的运行原理,并在不同平台的Java接口之间的虚拟机的介绍。用Java编写的程序可以在世界各地进行共享。 Java有无关,与本机数据类型,Java虚拟机(Java虚拟机)是基于硬件和操作系统,Java的二进制代码解释执行功能,提供于不同平台的接口。

2。安全

Java编程如C + +,C + +学到的读者将很快掌握Java的精髓。丢弃了C + +的Java指的是用于存储器地址的直接操作,在程序运行时,由操作系统分配的,因此,该病毒可以通过一个指针到系统中来避免存储器。 Java提供了安全项目经理,以防止未经授权的访问程序。

3。面向对象的

爪哇学会了C + +的面向对象的概念,数据被封装在一个类中,利用类的优点,以达到维护程序性的简单性和易用性。相关的类对象封装,继承,所以只编译一次,然后重复使用上述特点的代码的特性。程序员可以用它来专注于设计和应用的类和接口。 Java提供了众多的一般对象的类,你可以通过继承使用父类的方法。在Java中,类层次结构中只有一个父类的子类的一个非多,父类的子类有一个父类。对象继承Java提供了类及其子类倒树的树,对于Object类的根类,Object类是强大的,它经常被用来推导出其他子类。

4。分布式

IP网络平台/> Java扩展。库函数提供了使用HTTP和FTP协议方法发送和接收消息。这允许程序员使用网络上的文件和使用本机文件一样容易。

5。在编译时检查和运行时的强粘结性

致力于Java的程序错误。检查出错误的类型检查,以帮助许多发展早期出现。 Java的内存降低了操纵自己的记忆错误的可能性。 Java还实现了真正的数组,以避免覆盖数据的可能性。这些功能大大增强Java应用程序开发周期的能力。 Java提供:空指针检测,数组边界检测,异常出口,字节代码验证。

4。 Java和C / C + +语言

Java提供的所有功能,一个功能强大的语言,但有一点模糊的特点。 C + +中的安全性不好,但C和C + +被大家接受,所以Java C + +的设计,形成,所以我们很容易学习。

的Java去掉了许多的C + +语言的特性,所以Java语言特性非常精致,并增加了一些有用的功能,如自动收集碎片。

的Java去掉了下面的C和C + +的功能:

指针运算结构

#定义

需要释放内存 BR p>这将增加50%,通常的错误减少。而且,Java很小,解释只有215K的RAM。

面向对象:Java的实现类的基本面C + +和面向对象技术有一定的增强功能(语言简单,删除了一些功能)。 Java数据处理方法和使用对象的数据被以同样的方式处理作为接口。

5。 Java和互联网

我们知道,早期的www只能发送文字和图片,Java的实现交互式网页的出现,是一个伟大的革命。

Java是不为因特网,万维网而设计的,它也可以用于制备独立的应用程序。 Java是一种面向对象的语言。 Java语言类似于C + +语言,所以我们已经掌握了C + +程序员的语言,学习Java语言要容易得多! Java程序需要编译。实际上有两种Java程序:一种Java应用程序是一个完整的程序,如Web浏览器。一个Java小程序是运行在Web浏览器的程序。

Java程序和它的浏览器的HotJava,提供了一个浏览器,允许你运行程序的方法。您可以从您的浏览器吸取直接播放声音。您也可以在动画播放页面。 Java也告诉浏览器如何处理新的文件类型。当我们能够在2400波特线来传输视频图像,的HotJava将能显示这些视频。

在今天的互联网的一大趋势,电子商务和互联网的安全问题是需要解决的问题,通常是大的部门应设置防火墙,以防止未经授权的访问。

电子商务是今天的热门话题,但不能做一个传统的编程语言的电子商务系统,电子商务与程序代码要求的基本要求:安全,可靠,并且要求能运行不同的平台和客户端计算机进行业务遍布全球。 Java进行其强大的安全性,平台无关,独立于硬件的体系结构,而简单的面向对象的语言,占据了网络编程语言无可比拟的优势,成为了电子商务系统的首选语言。

Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地计算机上的用户,通过浏览器运行的解释。

[尾页]

PowerBuilder的介绍

PowerBuilder的一代

PowerBuilder是美国著名的数据库应用开发工具生产厂商Powersoft的推出成功的产品,在1991年6月的第一个版本正式投放市场。它是完全按照客户机/服务器体系结构和设计,采用面向对象技术,图形化的应用开发环境,数据库前端开发工具。

PowerBuilder的功能

它支持同时访问多个数据库的应用,包括大型数据库ORACEL,Sybase和之类,这个类还包括FOXPRO支持ODBC接口的小型数据库,PowerBuilder中完全可视化的数据库开发工具,它提供了很多控件,大大加快了项目的开发速度,也使开发人员更容易掌握数据库的开发。

它使用被称为工作PowerScripr,它也是一个高层次的,结构化程序设计语言程序设计语言。的PowerScript提供了一个完整的嵌入式SQL语句,开发人员可以像使用其它语句一样自由地使用SQL语言,这样就大大提高了程序的操纵和访问数据库的能力。 PowerBuilder中,可以说既适合初学者快速掌握开发数据库,也可以让开发商经历了一个功能强大的数据库,是一个非常广泛的应用开发工具。

PowerBuilder是用来完成一个可视化的开发环境,客户机/服务器的开发。用PowerBuilder,你可以使用一个可视化和直观的方式来创建应用程序的用户界面和数据库接口。这是一个总的概念,实际上是用PowerBuilder开发人员开发应用中,由于各种应用的开发充分利用优势的图形用户界面(GUI)的,PowerBuilder的被认为是一个图形化工具。

在应用程序客户机/服务器结构的PowerBuilder具有描述和检索多个数据库连接的能力。特别是从最流行的RDBMS PowerBuilder中访问的数据,并且无论在哪里的数据被存储在的;另外,各种应用程序,并且可以是独立的RDBMS,因为PowerBuilder中可以使用标准数据库操作语言SQL(结构化查询语言)进行。

用PowerBuilder,你可以很容易地开发应用程序,功能强大的图形界面来访问服务器数据库,PowerBuilder提供了构建应用程序,以满足行业标准(如订单输入,会计及制造系统)所需的所有工具。

由窗口组成的PowerBuilder应用程序,窗口中包含了用户与控件进行交互。开发人员可以使用所有标准空间(如按钮,复选框,下拉列表框或编辑框),以及特别优惠,使PowerBuilder的应用程序更易于开发和使用控件。

通常人们把PowerBuilder中作为开发工具,实际上它比任何其他工具强得多,是一个功能强大的开发环境。开发人员可以使用它不仅制定了多种易于使用的应用程序用户通过PowerBuilder中,使用超过400个内部定义的函数也可以数据库,可以开发各种应用程序和其他应用程序可以进行。

的PowerBuilder正在成为客户/服务器应用程序开发标准。相对于其他任何客户机/服务器开发环境,PowerBuilder开发人员使工作更快,成本更低,质量更高,功能更强大。

PowerBuilder应用程序开发者提供的支持,全方位的,可以概括为以下几点如下:

事件驱动的应用

强大的编程语言面向对象规划

开放的跨平台开发的数据库链接系统

PowerBuilder开发环境

PowerBuilder的开发环境和功能由一个系列集成显卡画板(画家)组成,通过简单的鼠标操作来设计,构建,测试,和测试交互式客户/服务器应用程序的应用程序开发人员。

[尾页]

德尔福简介

德尔福这个名字来源于古希腊的城市名。它集中在第三代语言的优点。在Object Pascal为基础的,面向对象的扩展能力,以及可视化开发工具的完美结合。德尔福自1995年三月推出受到人们的关注,并在同一年,她赢得了多项殊荣。

Delphi的出现打破在V承可视化编程领域的霸主地位。直接使用本地生成技术,使程序的执行性能Delphi编译器是不是生成的程序的其他产品要高得多。这也是真正的面向对象的编程语言。再加上严格的视觉语言PASCAL的优势和强大的数据库功能,使其成为完整的资本和微软的VB叫板。很多人认为,时间是最有前途的Pascal编程语言,并预测Delphi将成为主流可视化编程环境。

德尔福已经编程后自动转换。 EXE文件,它的运行速度比VB快,但没有其他的支持编译库就可以运行。这也是非常强大的数据库功能,非常适合中型数据库软件编程工具的开发。德尔福适合于应用软件,数据库系统,系统软件和其他类型的发展。它具有几乎相同的功能和VB,并同样可以应用到API函数,它是在Windows的控制是有用的。

Delphi是全新的可视化编程环境为我们提供了一个方便,快捷的Windows应用程序开发工具。它采用了许多先进特性和设计思想的Microsoft Windows图形用户界面,使用可重复使用的面向对象的编程语言(面向对象语言),是世界上最快的编辑器,最为领先的数据库技术的充分的灵活性。为广大开发者在使用Delphi的软件应用程序的开发方面,无疑会极大地提高编程效率,而且随着应用的深入,你会发现编程不再是一个单调乏味的工作 - Delphi的每一个设计细节,会给你带来惊喜。

基本形式

德尔福/>德尔福
<br实际上是一个版本的Pascal语言,但它有一个很大的距离传统的Pascal语言。一个Delphi程序首先是应用程序框架,这个框架是应用程序的“骨架”。没有连接到骨干,如果有的话,仍然可以在严格按照设计运行。你的工作是只有加入你的程序中的“骨架”。默认值是一个空白申请表(表格),你可以运行它,结果得到了一个空白窗口。这个窗口与Windows窗口的所有属性:可缩放,移动等的最大值和最小值,但你没有写一行程序。因此,我们可以说,通过提供一个共同的东西,为用户应用程序的开发所有应用程序和应用程序框架打下了良好的基础。本回答被提问者采纳
第2个回答  2014-04-04
挑软件之前,请先挑选想学的编程语言。
不同语言侧重的功能是完全不同的。
想将来做程序员的话,c++几乎都要学的,java的话用得也很多。
如果是做网站的话,php和asp,jsp可供参考。
想从事金融相关工作的话,熟悉vb script可以给你不小的帮助。
在实际开发中,perl和python应用的也很多,方便快捷,通常会和其它语言联合使用。
简单列了些常用的语言,还有很多其它经典的语言,随着你学习的深入自然会有所了解。

这之后你才应该挑选相应的编程软件,这可以通过搜索相应语言的开发工具来找到。
学c/c++/c#的话,就用Visual Studio,配套的文档会很多。
你要学java的话经典的有jbuilder,但个人感觉有些麻烦。eclipse比较容易上手。
做php开发的话,zend studio很强大。

等你对某种语言有所了解之后,你可以自由挑选喜欢的编程工具,各人的喜好都会有所不同。
第3个回答  2022-03-23
1、电脑行业需求量大,工作很好找,而且工作环境也不错。
2、电脑行业的工作与社会接触都比较紧密,紧跟潮流,所以见识和思想都会比较开放,也有利于以后自己发展。
3、学习电脑入手比较快,学习难度不是很大。
4、现在有些学校有一些技能加学历的政策 ,不过主要看你自己的选择,上大学虽说听起来好,但是很多大学生都是毕业即失业的,还不如趁早学习门技术,毕业就可以工作,选对了好的行业,以后的发展空也会很大的。可以去学习计算机网络,现在学网络就是不错的选择
第4个回答  2014-04-07
其实用Microsoft Visual Studio挺好的,一个非常全能的软件,虽然有点大,但是带了集成开发环境的。
相似回答