
A、CRL B、CLR C、CRR D、CLS
1.2、.NET平台是一个新的开发框架。 是.NET的核心部分。
A、C# B、.NET Framework C、VB.NET D、操作系统
1.3、项目文件的扩展名是 。
A、csproj B、cs C、sln D、suo
1.4、利用C#开发应用程序,通常有三种类型,不包括 。
A、控制台应用程序 B、Web应用程序 C、SQL程序 D、Windows程序
1.5、运行C#程序可以通过按 键实现
A、F2 B、F5 C、F8 D、F9
1.6、简述面向对象程序设计的特点
面向对象程序设计方法把对象作为数据和操作的组合结构,用对象分解取代了传统方法的功能分解,把所有的对象都划分为类,把若干个相关的类组织成具有层次结构的系统,即下层的子类继承上层的父类多具有的数据和操作,而对象之间通过发送消息相互联系。、
面向对象的程序设计多采用可视化的方式,通过类、对象、封装、继承和多态等机制形成一个完善的变成体系 。
1.7、简述类与对象的关系
类是对象的抽象,不能进行直接的操作。对象是类的实例,对象可以通过事件驱动实现程序的运行。对象的属性、事件和方法来自类的继承,可以进行修改和调试。
2.1、下列标识符不合法的是 。
A、abc B、abc123 C、abc-1 D、a3b
2.2、转移字符不可以表示 。
A、任何字符 B、字符串 C、字母 D、小数点
2.3、表达式5/2+5%2-1的值是 。
A、1 B、2 C、3 D、4
2.4、下列值类型的存储位最高的是 。
A、int B、float C、decimal D、ulong
2.5、常用集合类不包括 。
A、数组 B、结构 C、列表 D、字典
2.6、说明C#值类型与引用类型的区别。
从数据存储的角度,C#的类型可以分为值类型和引用类型。值类型用于存储数据的值而引用类型用于存储对数据实际的引用。C#的值类型可以进一步划分为简单类型、枚举类型和结构类型,而引用类型包括类、接口、委托、数组和字符串等。值类型数据存储与栈内存中,而引用类型数据存储于堆内存中,在栈内存中存放定位到具体值得索引编号。
2.7、简述枚举型、结构型、数组和委托4种数据类型的区别。
枚举实际上是为一组在逻辑上密不可分的整数值提供便于记忆的符号,是一些取了名字的常量集合。C#使用enum来定义一个枚举类型。
结构类型是一种可以包含不同类型数据成员的数据结构,在结构类型中可以声明多个不同数据类型的组成部分。C#中使用struct来定义一个枚举类型。
数组类型是同一类型数据组成的集合,数组元素没有名称,只能通过索引来访问
委托类型是一种定义方法签名的类型,他把一个对象实例和方法都进行封装。可以把委托理解为一种类型安全的函数指针,但它不仅存储对方法入口点的引用,还存储对用于调用方法的的对象实例的引C#使用delegate来标记一个委托。
2.8、简述集合类型的特点
常用的集合类有ArrayList、Queue、Stack、Hashtable和Sortedlist。
、动态数组(ArrayList)的大小可根据需要自动扩充,允许在其中添加、插入或移除某一范围的元素。其下限始终为0,且始终只是一维的。
、队列(Queue)是一种先进先出的数据结构,当插入或删除对象时,对象从队列的一段插入从另一端移除。
栈(Stack)是一种先进后出的数据结构,当插入或删除对象时只能在栈顶插入或删除。
散列表(Hashtable)表示键/值对的集合。在保存集合元素时,首先要根据键自动计算哈希代码,以确定该元素的保存位置,再把元素的值放入相应位置所指向的存储桶中。查找时再次通过键所对应的哈希代码到特定存储桶中搜索,这样可以极大的提高查找下一个元素的效率。
有序列表(SortedList)表示有序键/值对列表;这些键和值是按键排序,并可按照键和索引访问。SortedList最适合对一列键/值对进行排序,相当于Hashtable和Array的混合。
2.9、什么是装箱与拆箱的?
装箱是指讲一个值类型变量转换为一个引用类型变量。装箱时,首先创建一个引用类型实例,然后将值类型变量的内容复制给该引用类型实例。
拆箱是指讲一个引用类型显示的转换成一个值类型。拆箱时首先检查这个对象实例是否为给定的值类型的装箱值,然后将这个实例的值复制给相应值类型的变量。
3.1、以模式化的方式显示窗体,需要使用 方法。
A、Show B、ShowDialog C、ShowForm D、ShowFixed
3.2、决定Label控件是否可见的属性是 。
A、Hide B、Show C、Visible D、Enable
3.3、把TextBox控件的 属性改为True,可使其在运行时接受或显示多行文本。
A、WordWrap B、MultiLine C、ScrolBars D、ShowMultiLine
3.4、利用文本框的 属性,可以实现密码框的功能。
A、Password B、Passwoeds C、PasswordChar D、PasswordChars
3.5、如果要为“取消”按钮的文本Cancel创建访问键C,应该将按钮的Text属性设置为
。
A、&Cancel B、@Cancel C、%Cancel D、^Cancel
3.6、关闭窗体与隐藏窗体有什么区别?
关闭窗体和隐藏窗体的区别在于:关闭窗体是将窗体彻底销毁,之后无法对窗体进行操作;隐藏窗体只是使窗体不显示,可以使用show或showdialog方法使窗体重新显示。
3.7、模式对话框与非模式对话框有什么区别?
模式窗体与非模式窗体的区别在于:模式窗体。在其关闭或隐藏前无法切换到该应用程序的其他窗体;非模式窗体,则可以在窗体之间随意切换。
3.8、简述Label、Button和TextBox空间的作用。
Lable(标签)控件的功能是显示不能编辑的文本信息,一般用于在窗体上进行文字说明。Button(按钮)控件是应用程序中使用最多的控件对象之一,常用来接收用户的操作信息,激发相应的事件。TextBox(文本框)控件的主要功能是接收用户输入的信息,或显示系统提供的文本信息。
4.1、Windows应用程序中,最常用的输入控件是 。
A、Label B、TextBox C、Button D、PictureBox
4.2、若要显示消息框,必须调用MessageBox类的静态方法 。
A、Show B、ShowDialog C、ShowBox D、ShowMessage
4.3、PictureBox控件的 属性可以影响图像的大小及位置
A、Size B、Mode C、SizeMode D、PictureMode
4.4、下列控件中,不能与ImageList组件关联的是 。
A、Label B、Button C、RadioButton D、PictureBox
4.5、若要使一个控件与图像列表组件关联,需要将控件的的 属性设置为图像列标组件的名称。
A、Image B、Images C、IamgeList D、ImagesList
4.6、控制台应用程序有哪些输入输出方法?
控制台应用程序的数据输入可以通过Console类的静态方法Read与ReadLine实现;数据输出可以通过Console类的静态方法Write与WriteLine实现。
4.7、TextBox和Label控件的主要区别是什么?
从操作应用程序的用户角度看,TextBox和Lable控件的主要区别在于,Lable是一个只能显示数据的控件,而TextBox控件既可以让用户在其中输入数据,也可以显示输出数据。
4.8、简述消息框的作用
消息框是一个预定义对话框,用于向用户显示与应用程序相关的信息。当应用程序需要显示一段简短的信息时,使用消息框既简单又方便。只有在用户相应该消息框后,程序才能继续进行下去。
4.9、简述PictureBox和ImageList的作用。
PictureBox (图片框)控件用于显示位图、GIF、JPEG、图元文件或图标格式的图像,经常用来再窗体上显示一幅图片。ImageList(图像列表)组件相当于一个图片容器,用于存储图像,这些图像随后可有控件(如Button,Lable)显示。
5.1、if语句中的条件表达式不能是 。
A、关系表达式 B、算术表达式 C、逻辑表达式 D、布尔常量值
5.2、switch语句中,用 来处理不匹配case语句的值
A、default B、anyelse C、break D、goto
5.3、下列属性中,RadioButton与CheckedBox控件都有的是 属性。
A、ThreeState B、BorderStyle C、Checked D、CheckState
5.4、下列控件中,不属于容器控件的是 。
A、GroupBox B、Panel C、ImageList D、TabControl
5.5、switch语句中,break语句与default标签有什么作用?
Break语句用于中断选择分支的语句运行,在、switch语句中用于跳出switch语句。default标签用来处理不匹配case语句的值,定义default标签可以增强处理相应的异常。
5.6、简述RadioButton和CheckBox控件的作用
RadioButton按钮列出了可供用户选择的选项,通常作为一组来工作,同一个选项组中的多个选项是相互排斥的,主要是用于从多个选项中选择一个选择一个选项的功能,是一种多选一的控件。
CheckBox控件也列出了可供用户选择的选项,用户根据需要可以从选项组中选择一项或多项。
5.7、简述GroupBox控件的作用
GroupBox控件用于为其他控件提供可识别的分组,把其他控件用框架框起来,可以提供视觉上的区分和总体的激活或屏蔽特性。;
5.8、GroupBox与Panel控件的主要区别是什么?
只有GroundBox控件可以显示标题,只有Panel控件可以激活滚动条;GroupBox控件必须有边框,Panel控件可以没有边框。、
5.9、简述TabControl控件的作用。
TabControl(选项卡)控件用于显示多个选项卡页,每个选项卡页放置其他控件,可以利用TabControl控件生成多项对话框。
6.1、C#提供的四种跳转语句中,不推荐使用的是 。
A、return B、goto C、break D、continue
6.2、下列控件中,不能实现多项选择功能的是 。
A、ListBox B、ComboBox C、CheckBox D、CheckListBox
6.3、如果让计时器每隔10s触发一次Tick事件,需要将Interval属性设置为 。
A、10 B、100 C、1000 D、10000
6.4、已知进度条的下限是0,上限是1000,如果要让进度条显示百分之三十的分段快,需要将其Value属性设置为 。
A、30 B、30% C、300 D、0.3
6.5、循环结构中,break语句和continue语句各有什么作用?
Break语句用于终止最近的循环语句,将程序控制传递给它所终止语句的后续语句。Continue 语句用于结束本次循环,跳过continue之后的其他循环语句,将程序控制传递给循环语句的下一次循环。
6.6、简述ListBox与ComboBox控件的作用
ListBox控件为用户提供了可选的项目列表,用户可以从列表中选择一个或多个项目。ComboBox控件由一个文本框和一个列表框组成,为用户提供了可选的项目列表,用户可以从列表中选择一个项目输入,也可以直接在文本框中输入。
6.7、简述Timer组件的作用。
Timer组件是一种无需用户干预的,按一定时间间隔,周期性的触发事件的控制。Timer组件通过检查系统时间来判断是否执行某项任务,经常用于辅助其他控件来刷新显示的时间,也可以用于后台处理。
6.8、简述ProgressBar控件的作用
ProgressBar控件是一个水平放置的指示器,起内部包含多个可滚动的分段块,用于直观的显示某个操作的当前进度
7.1、类的字段和方法的默认访问修饰符是 。
A、public B、private C、protected D、internal
7.2、C#中TestClass是一个自定义类,其中有一个属性
public int Property{get;set;}
以及如下的实例化对象
TestClass obj=new TestClass();
则以下语句中正确的是 。
A、TestClass.Property; B、obj::Property; C、obj.Property; D、obj.Property();
7.3、下列关于构造函数的描述中, 是正确的。
A、构造函数名必须和类名相同 B、构造函数不能重载
C、构造函算不能带参数 D、构造函数可以声明返回类型。
7.4、不能用来定义变量的类是 。
A、sealed类 B、abstract类 C、static类 D、partial类
7.5、不能实例化对象的是 。
A、sealed类 B、abstract类 C、基类 D、partial类
7.6、不能被继承的类是 。
A、sealed类 B、abstract类 C、object D、partial类
7.7、如何理解面向对象程序设计中的类和对象?二者之间是何关系?
类是具有相同特征的对象的集合,也就是具有相同属性和行为的对象的抽象。对象是一个封装了状态和行为的实体,具有属性事件方法等要素。对象之间能够根据外界的信息进行相应的操作。类是一种定义了对象行为和外观抽象模板,对象是类一个的实例。一个类可以具有多个对象,所有类都是相关类的实例。
7.8、面向对象程序设计的主要特点有哪些?
面向对象语言的主要特性是封装性、继承性、多态性。
封装性就是把对象的属性和操作结合成一个的相同单位,并尽可能隐藏对象的内部细节,形成一个不可分割的单位。从而隐藏对象的内部细节,只保留有限的对象接口使之与外部发生联系。
继承就是不需要编写相同的代码,使得子类具有父类的各种属性和方法。
多态性是将多种不同的特殊行为进行抽象的一种能力,具体是指方法具有相同的名称,可以实现不同的操作。
7.9、类的声明格式中包含哪些部分?各有何意义?
类的声明格式中包括访问修饰符、关键字class、类名、派生于哪个基类、类体等多个部分。Class是定义类的关键字。访问修饰符是用来类的作用范围或访问级别。“类名”是访问类的标志符。冒号后面的“基类”表明所定义的类是从该类派生的一个子类。
类的主体包括类的成员,用来定义类的数据和成员。类的成员分为数据成员和方法成员,具体来说包括常量、字段、属性、索引器、方法、事件、构造函数和析构函数。
7.10、什么是实例方法?什么是静态方法?
必须创建类的实例才能调用的方法成为实例方法,其调用格式为“对象名.方法”,当方法声明中包括static修饰符时,该方法成为静态方法,其调用格式为“类名。方法”
7.11、类可意使用哪些修饰府?各代表什么意义?
7.12、简述new、this、static、ref、out、params、get、set和value这些关键词的作用。
7.13、简述构造函数与析构函数的作用。
构造函数是类的重要成员,适用于初始化一个对象状态的特殊方法。构造函数与类同名,其主要功能是初始化字段和保证对象在他的生命期里是一个可知状态。
析构函数用于销毁对象。当不再需要某个类的某个对象时,通常希望它所占的存储空间能被收回。析构函数专门用于释放对象占用的系统资源,他是类的特殊成员。
8.1、下列关于虚方法的描述中,正确的是 。
A、虚方法能在程序运行时动态确定要调用的方法,因而比非虚方法更灵活。
B、在定义虚方法时,基类和继承类的方法定义中都要带上virtual修饰符。
C、重写基类的虚方法时,为了消除隐藏基类成员的警告,需要带上new修饰符。
D、在重写虚方法时,需要同时带上override和virtual修饰符。
8.2、下列方法中, 是抽象方法。
A、static void fun(){…} B、override void fun(){…}
C、abstract void fun(){…} D、virtual void fun(){…}
8.3、下列关于接口的说法中, 是错误的。
A、一个类可以有多个基类和多个接口
B、抽象类和接口都不能实例化对象
C、抽象类可以定义成员,接口也可以。
D、类不可以多重继承,而接口可以。
8.4、下列代码的输出结果是 。
class Base
{
public void Hello()
{
Console.Write(“Hello in Base!”)
}
}
Class Derived:Base
{
public new void Hello()
{
Console.Write(“Hello in Derived!”)
}
}
Base x=new Derived();
x.Hello();
A、Hello in Base! B、Hello in Base! Hello in Derived!
C、Hello in Derived! D、Hello in Derived! Hello in Base!
8.5、什么是继承?如何定义派生类?
继承 设及到一个基类型和一个派生类型,其中基类型表示的泛例,而派生类型表示的是特例。特例从泛例中派生出来,也就是斯特里继承了泛例。被继承的类叫基类,继承后产生的类叫做派生类。
派生类隐式的继承基类的所有成员,包括方法、字段、属性和事件(基类的私有成员、构造函数、析构函数除外),同时可以添加自己的成员来进行功能拓展。
8.6、简述构造派生类对象时,构造函数的调用。
C#编译器自动在派生类构造函数中首先自顶向下的调用基类的构造函数,以初始化从基类中继承的成员,最后调用自身的构造函数。如果某个派生类中没有明确定义任何构造函数,编译器会自动为之生成一个默认的构造函数,并在其中调用其基类构造函数。
8.7、怎样定义基类的虚方法,并在派生类中重写基类虚方法。
在基类中需要使用关键字virtual将某个方法显示声明为虚拟方法,然后再在派生类中必须是使用override显示声明一个方法以重写某个虚拟方法。方法重写时,必须注意派生类中的方法应该与基类中被重写的方法有相同的方法名、返回值类型,参数列表和访问权限。
8.8、抽象方法与虚方法有何异同?
当方法前使用了virtual关键字时,它就成为了虚拟方法。虚拟方法是多态性基础,在派生类中能够改变方法的执行,改变基类中方法的过程叫重写。、或覆盖
当方法前使用abstract关键字时,它就成为了抽象方法。抽象方法是一个不完全的方法,它只有方法头没有具体的方法体。抽象方法也是一种虚拟方法(但不用virtual显示声明),是隐含的虚拟,而且必须被派生类实现重写
抽象方法与虚拟方法的区别在于:虚拟方法有实现,而抽象方法没有实现。
8.9、什么是抽象类?它有什么特点?它和接口有何异同?
抽象类是基类的一种特殊类型,必须使用关键字abstract修饰,它除了有普通的类成员之外,还有抽象类成员。抽象类成员中的方法和属性只有声明而没有实现部分。抽象类永远不能被实例化。
接口像一个抽象类,可以定义方法成员、属性成员、索引器和事件等,但接口不提供对成员的实现,而继承接口的类必须提供接口成员的实现可以将接口看做是只包含抽象方法的纯抽象类。接口最终还是需要由类或结构来实现,即要求类要实现接口的抽象方法成员,这与派生类保证要实现它的基类的抽象方法一样。
虽然接口和抽象类在句法和语义上紧密相关,但他们人有一个重要的区别:
接口只能包含抽象方法、抽象属性和抽象索引器,而抽象类还可能包含数据成员,以及完全实现的方法、属性和索引器。
8.10、简述通过委托来调用对象方法的基本过程。
使用关键字delegate声明委托类型
委托的实例化。委托是一种特殊的数据类型,必须实例化之后才能引用方法
通过委托变量调用方法。在使用委托对象调用所引用的方法时,必须保证参数类型、个数和顺序与方法声明匹配。
9.1、一般情况下,异常类存放在 中。
A、System.Diagnostics名字空间 B、System.Exception名字空间
C、System名字空间 D、Program名字空间
9.2、当输入abc时,下列程序会抛出 异常。
Int num;
try
{
num=Convert.ToInt32(Console.ReadLine());
}catch{//捕捉异常}
A、FormatException B、IndexOutOfRangeException
C、OverflowException D、TypeLoadException
9.3、用户自定义异常类应该继承 类。
A、ArgumentException B、IOException C、SystemException D、ApplicationException
9.4、.Net Fromework中,一个try代码块可以有多个catch块,最后一个catch快中捕获的应该是 类
A、Exception B、SystemException C、ApplicationException D、StackOverflowException
9.5、程序的错误有哪几种?
语法错误、运行错误、逻辑错误。
9.6、什么是异常,所有异常类都派生于什么类?
在程序运行阶段发生的错误通常称为异常,是指程序运行过程中出现的非正常事件,是程序错误的一种。所有的异常都派生自System。Exception类。
9.7、异常类中的两个基本属性是什么?
Message:string类型,获取描述当前异常的消息
Source:string类型,获取或设置导致错误的应用程序或对象的名称。
10.1、如果要禁用菜单,需要将菜单的 属性设置为false。
A、Visible B、Enable C、Checked D、DropDown
10.2、要在鼠标点击的地方显示弹出式菜单,需要调用弹出式菜单的方法Show,假定point标记鼠标点击的位置,this标记当前窗口,cttMenuStrip是一个ContextMenuStrip控件,则调用格式为 。
A、cttMenuStrip.Show(this, point); B、cttMenuStrip.Show(point);
C、cttMenuStrip.Show(point ,this); D、cttMenuStrip.Show();
10.3、下列关于RichTextBox控件的说法中,不正确的是 。
A、设计时可以直接将文本赋值给RichTextBox控件;
B、设计时可以直接将图像赋值给RichTextBox控件;
C、运行时可以直接在RichTextBox控件中输入文本;
D、运行时可以直接在RichTextBox控件嵌入图像;
10.4、MDI的相关属性中,既可在属性窗口中设置,也可通过代码设置的是 属性
A、IsMDIChild B、IsNDIContainer C、MdiChildren D、MDIParent
10.5、菜单控件有哪两个,作用是什么?
下拉式菜单和弹出式菜单,使用MenuScrip和ContextMenuScrip
10.6、简述ToolStrip控件的使用方法。
10.7、简述StatusStrip控件的使用方法与作用。
10.8、什么是模式/非模式对话框?
10.9、简述OpenFileDialog与SaveFileDialog的Filter的设置方式。
Filter属性用于获取或设置对话框中的文件名筛选器,即对话框的“文件类型”
下拉列表中出现的选择内容。对于每一个筛选器,都包含由竖线隔开的筛选器说明和筛选器模式,格式为“筛选器说明|筛选器模式”,筛选器模式中用分号来分隔文件类型。多个筛选器之间用竖线隔开。
编程题
1、创建一个Windows应用程序,在窗体上动态显示当前时间。
答:向窗体中添加一个Lable控件和Timer控件,Name属性值为timer1, Enabled属性值为true,Interval属性值为1000,点击timer1的Tick事件,向其中添加代码如下
private void timer1_Tick(object sender, EventArgs e)
{
this.label1.Text = DateTime.Now.ToString();
}
2、创建一个Windows应用程序,在窗体上用中文显示当前日期。
答:向窗体中添加一个Lable控件,点击窗体的Load事件,向其中添加代码如下
Private void Form1_Load(object sender,Event Argse)
{
Lable.Text=”今天是”+DateTime.Now.Year.ToString()+”年”+DateTime.Now.Month.
ToString()+”月”+DateTime.Now.Day.ToString()+”日”;
}
3、设计一个动物类,用多态实现不同动物,如鸡、猪以及狗等,的不同叫唤。
class Animal
{
public virtual void Voice()
{
Console.WriteLine("动的物叫声¦¨´");
}
}
class Dog : Animal
{
public override void Voice()
{
Console.WriteLine("狗的叫声:哇...哇哇...哇哇...");
}
}
class Chicken : Animal
{
public override void Voice()
{
Console.WriteLine("鸡的叫声:咯...咯?咯...咯...");
}
}
class Pig : Animal
{
public override void Voice()
{
Console.WriteLine("猪的叫声:哦 ...哦哦...哦哦...");
}
}
4、创建一个控制台应用程序,实例化一个List static void Main(string[] args) { Random rd = new Random( ); List for (int i = 0;i<10;i++ ) { ints.Add(rd.Next(-100,100)); } Console.WriteLine("排序前的整数是:"); foreach (int i in ints) Console.Write(i+" "); Console.Write("\\n"); ints.Sort(); Console.WriteLine("排序后的结果是:"); foreach (int i in ints) Console.Write(i+" "); Console.ReadLine(); } 5、创建一个Windows应用程序,在窗体上绘制一个五角星。 6、设计一个交通工具类,用多态实现不同交通工具,如货车、轿车以及出租车等,的不同添加动力的功能。 class Transpotion {public virtual void Fuel() {Console.WriteLine(“交通工具的动力”); }} class Car:Transpotion {public override void Fuel() {Console.WriteLine(“轿车的动力是:汽油发动”);} } class Truck:Transpotion {public override void Fuel() {Console.WriteLine(“货车的动力是:柴油发动”);}} class Taxi:Transpotion {public override void Fuel() {Console.WriteLine(“出租车的动力是:汽油发动”);} } 7、创建一个学生类,其属性成绩在赋值时,接受介于0到100以内的值,对于这个范围外的值抛出异常。 class Student { private int score; public int Score { get { return score; } set { try { if (value >= 0 && value <= 100) { score = value; Console.WriteLine("分数是{0}", this.Score); } else throw new Exception(); } catch (Exception) { Console.WriteLine("输入数据不在范围之内,请纠正!"); } } } public Student(int fen) { this.Score = fen; } } class Program { static void Main(string[] args) { Student stu = new Student(111); Console.ReadLine(); } 8、创建一个员工类,其属性年龄在赋值时,接受介于16到60以内的值,对于这个范围外的值抛出异常。 9、设计一个员工类,用多态实现不同员工,如总经理、经理以及一般员工等,的不同添加工酬计算标准。 10、代码填空。下面的代码利用矩形法实现函数sinx在区间[0, ]上的积分,并在屏幕上输出其积分值。填空完成代码。 namespace TestCShap { class Program { static void Main(string[] args) { Intergrate obj = new Intergrate( Math.Sin, 0, Math.PI); Console.WriteLine( obj.IntValue); } } class Intergrate { public delegate double RealFunction(double x); public RealFunction Function { get; set;} double A { get;set; } double B { get; set; } public Intergrate(RealFunction function, double a, double b) { Function = function; A = a; B = b; } public double IntValue { get { double sum = 0; double delt = 0.001; double x = A; while (x < B) { sum += Math.Sin(x)*delt; x += delt; } return sum ; } } } }
