填空题
阅读下列函数说明和C代码, [说明]
所谓货郎担问题,是指给定一个无向图,并已知各边的权,在这样的图中,要找一个闭合回路,使回路经过图中的每一个点,而且回路各边的权之和最小。
应用贪婪法求解该问题,程序先计算由各点构成的所有边的长度(作为边的权值),按长度大小对各边进行排序后,按贪婪准则从排序后的各边中选择组成回路的边,贪婪准则使得边的选择按各边长度从小到大选择。
函数中使用的预定义符号如下: #define M 100
typedef struct{/*x为两端点p1、p2之间的距离,p1、p2所组成边的长度*/ float x;
int p1,p2; }tdr; typedef
struct{/*p1、p2为和端点相联系的两个端点,n为端点的度*/ int n,p1,p2;
}tr; typedef struct{/*给出两点坐标*/ float
x,y; }tpd; typedef int tl[M];
int n=10; [函数] float distance(tpd a,tpd
b);/*计算端点a、b之间的距离*/ void sortArr(tdr a[M],int m);
/*将已经计算好的距离关系表按距离大小从小到大排序形成排序表,m为边的条数*/ int isCircuit(tr
r[M],int i,int j); /*判断边(i,j)选入端点关系表r[M]后,是否形成回路,若形成回路返回0*/
void selected(tr r[M],int i,int j);/*边(i,j)选入端点关系表r*/
void course(tr r [M],tl l[M]);/*从端点关系表r中得出回路轨迹表*/
void exchange(tdr a[M],int m,int b);
/*调整表排序表,b表示是否可调,即是否有长度相同的边存在*/ void travling(tpd pd
[M],int n,float dist,tl locus[M]) /*dist记录总路程*/
{ tdr dr[M];/*距离关系表*/ tr r[M];/*端点关系表*/
int i,j,k,h,m;/*h表示选入端点关系表中的边数*/ int
b;/*标识是否有长度相等的边*/ k=0; /*计算距离关系表中各边的长度*/
for(i=1;i<n; i++){ for(j=i+1;J<=n;j++){
k++; dr[k].x={{U}} (1) {{/U}};
dr[k].pl=i; dr[k].p2=j; }
} m=k;
sortArr(dr,m);/*按距离大小从小到大排序形成排序表*/ do{
b=1; dist=0; k=h=0: do{
k++; i=dr[k].p1; j=dr[k].p2;
if((r(i].n<=1)(r[j].n<=1)){/*度数不能大于2*/
if{{U}} (2) {{/U}}{
/*若边(i,j)加入r后形成回路,则不能加入*/ {{U}} (3) {{/U}};
h++; dist+=dr[k].x; }else
if{{U}} (4) {{/U}}{ /*最后一边选入r成回路,则该边必须加入且得到解*/
selected(r,i,j); h++:
dist+=dr[k].x; } }
}while((k !=n) (h !=n));
if(h==n){/*最后一边选入构成回路,完成输出结果*/ course(r,locus);
}else(/*找不到解,调整dr,交换表中边长相同的边在表中的顺序,并将b置0*/ {{U}}
(5) {{/U}}; } }while(!b);
}
填空题[说明] 设计一个计时程序。该程序用户界面由一个文本框(text 1),两个按钮——命令按钮1 (Command 1)按钮、命令按钮(Command 2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,按停止按钮,则计时停止。单击窗口则退出。 Option Explicit Dim I Private Sub Command1 _ Click( ) i=0 Timer1. Interval = 1000 (1) End Sub Private Sub Command2_ Click( ) Timer1. Enabled = False End sub Private Sub Form Click( (2) End Sub Private Sub Form _Load( ) Timer1. Enabled = False (3) End Sub Private Sub Timer1 _ Timer( ) i=i+1 (4) End Sub
填空题阅读下列说明和C程序,将应填入 (n) 处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历 过程如下: 若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。 函数中使用的预定义符号如下: typedef struct BiTNode int data; struct BiTNode *iChiid,*rChiid; BiTNode,*BiTree; typedef struct SNode/*链栈的节点类型*/ BiTree elem; struct SNode *next; SNode; [函数] int InOrderTraverse(BiTree root) BiTree P; SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/ P=root; while(p !=NULL || stop !=NULL) if( (1) ) /*不是空树*/ q=(SNode*)malloc(sizeof q); if(q==NULL)return-1; /*根节点指针入栈*/ (2) ; q->elem=P; stop=q; P= (3) ; /*进入根的左子树*/ else q=stop; (4) ; /*栈顶元素出栈*/ printf("%d|,q->elem->data); /*防问根节点*/ P= (5) ; /*进入根的右子树*/ free(q); /*释放原栈顶元素*/ /*if*/ /*while*/ return 0; /*InOrderTraverse*/
填空题阅读下列说明和E-R图,回答问题1至问题3,将解答填入对应栏内。[说明]设有下列关于学生成绩管理系统的E-R图(见图2-1)。图中矩形表示实体,圆表示属性,双圆表示关键字属性,菱形表示实体间的联系。假定已通过下列SQL语言建立了基本表:CREATETABLESTUDENT(SNoCHAR(6)NOTNULLUNIQUE,SNameCHAR(20),SexCHAR(1),DeptCHAR(20),AgeSMALLINT);CREATETABLECOURSE(CNoCHAR(6)NOTNULLUNIQUE,CNameCHAR(20),HourSMALLINT,CreditSMALLINT);CREATETABLESC(SNoCHAR(6),CNoCHAR(6),GRADESMALLINT,PRIMARYKEY(SNo,CNo));为了答题的方便,图中的实体和属性同时给出了中英文两种名字,回答问题时只须写出英文名即可。填充下列SQL程序5.1~5.4中的(1)~(6),使它们分别完成以下查询功能:程序5.1:检索选修所有课程的学生姓名。程序5.2:给出全体学生人数。程序5.3:按学号给出每个学生的平均成绩。程序5.4:按学号给出每个学生选修课程的门数。[程序5.1]SELECTSNameFROMSTUDENTWHERE(1)(SELECTFROMCOURSEWHERE(2)(SELECT*FROMSCWHERE(3)))[程序5.2]SELECT(4)FROMSTUDENT[程序5.3]SELECT(5)FROMSCGROUPBYSNO[程序5.4]SELECT(6)FROMSCGROUPBYSNO
填空题若另有表Teach(CName,TName)存储教师任课情况,Tname表示教师名。用SQL创建一个含有学号、姓名、课程名、成绩、任课教师名的“主修专业为计算机CS”的学生成绩视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。请在SQL语句空缺处填入正确的内容。 CREATE VIEW SG (1) SELECT Student.SNo,SName,Grade,Course.CName,TName FROM Student,Grade,Teach, WHERE (2) AND (3) AND Major='cs', (4) ;
填空题[说明] 设计一个计时程序。该程序用户界面由一个文本框(text 1),两个按钮——命令按钮1 (Command 1)按钮、命令按钮(Command 2)组成。程序运行后,用户按开始按钮,则开始计时,文本框中显示秒数,按停止按钮,则计时停止。单击窗口则退出。
Option Explicit
Dim I
Private Sub Command1 _ Click( )
i=0
Timer1. Interval = 1000
{{U}} (1) {{/U}}
End Sub
Private Sub Command2_ Click( )
Timer1. Enabled = False
End sub
Private Sub Form Click(
{{U}} (2) {{/U}}
End Sub
Private Sub Form _Load( )
Timer1. Enabled = False
{{U}} (3) {{/U}}
End Sub
Private Sub Timer1 _ Timer( )
i=i+1
{{U}} (4) {{/U}}
End Sub
填空题#include <stdio. h>
void main( )
{ int digit;
long in , s;
seanf(" % Id",
{{U}} (1) {{/U}};
{{U}} (2) {{/U}};
while(in >0) {
{{U}} (3) {{/U}};
s = s + digit* digit;
{{U}} (4) {{/U}};
}
pfinff( "sum = % 1dn", s );
}
填空题[说明] 这是一个用户名校验程序,如用户名正确,即输出欢迎字样,否则,弹出警告窗并直接退出程序。下面是实现上述功能的程序,请填空。“Option Explicit”此语句的作用:强制显示声明 Dim UserName (2) As String Dim Flag As Boolean (1) Private Sub Form _ Load( ) UserName (0) = "AA": UserName (1) = "BB": UserName(2) = "CC" Flag = False inputName = InputBox( “请输入名称:“,”身份确认”“,”) Dim i As Integer For i = 0 To False If inputName = UserName(i) Then (2) End If Next i If (3) Then MsgBox “用户身份确失败!退出应用”, vbOKOnly, “警告” End End If End Sub Private Sub Form_ Paint( ) (4) End Sub
填空题[说明] Huffman树又称最优二叉树,是一类带权路径长度最短的树,在编码中应用比较广泛。 构造最优二叉树的Huffman算法如下: ①根据给定的n各权值w1,w2,…,wn构成n棵二叉树的集合F=T1,T2,…,Tn,其中每棵树Ti中只有一个带权为wi的根节点,其左右子树均空。 ②在F中选取两棵根节点的权值较小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根节点的权值为其左右子树根节点的权值之和。 ③从F中删除这两棵树,同时将新得到的二叉树加入到F中。 重复②③,直到F中只剩一棵树为止。 函数中使用的预定义符号如下: #define INT_MAX 10000 #define ENCODING LENGTH 1000 typedef enum(none,left_chiid, right chiid Which; /*标记是左孩子还是右孩子*/ typedef char Elemtype; typedef struct TNode//Huffman树节点 Elemtype letter; int weight; //权值 int parent; //父节点 Which sigh; char *code; //节点对应编码 HTNode,*HuffmanTree; int n; char coding[50];//储存代码 [函数] void Select(HuffmanTree HT, int end, int *s1, int *s2) /*在0~END之间, 找出最小和次小的两个节点序号,返回s1、s2*/ int i; int min1= INT_MAX; int min2 = INT_MAX; for (i = 0; i <= end; i++) /*找最小的节点序号*/ if((______) min1 = HT[i].weight; for(i = 0; i <= end; i++) *找次小节点的序号*/ if((HT[i].parent == 0) min2 = HT[i].weight; void HuffmanTreeCreat(HuffmanTree int m = 2 * n - 1; int s1,s2; for(i = n; i < m; i++) Select(______); HT[s1].parent = i; HT[s2].parent = i; HT[s1].sigh = left_child; HT[s2].sigh = right_child; HT[i].weight = ______; void HuffmanTreeEncoding(char sen[],HuffmanTree HT) /*将句子进行编码*/ int i = 0; int j; while(sen[i] != '/0') for(j = 0; j < n; j++) if (HT[j].letter == sen[i]) /*字母匹配则用代码取代*/ strcat(coding, ______); break; i++; if (sen[i] == 32) i++; printf("/n%s",coding);
填空题
阅读下列函数说明和C++代码,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内。
[说明]
在销售系统中常常需要打印销售票据,有时需要在一般的票据基础上打印脚注。这样就需要动态地添加一些额外的职责。如下展示了Decorator(修饰)模式。SalesOrder对象使用一个SalesTicket对象打印销售票据,先打印销售票据内容,然后再打印脚注。图5-1显示了各个类间的关系。以下是C++语言实现,能够正确编译通过。
[图5-1] [C++代码]
class Component{ public: {{U}} (1)
{{/U}}void prtTicket()=0; }; class
SalesTicket:public Component{ public: void
prtTicket(){ cout<<"Sales Ticket!"<<endl; }
}; class Decorator:public Component{
public: virtual void prtTicket();
Decorator(Component *myC); private: {{U}}
(2) {{/U}}myComp; };
Decorator::Decorator(Component *myC) {
myComp=myC; } void Decorator::prtTicket()
{ myComp->prtTicket(); }
class Footer:public Decorator{ public:
Footer(Component *myC); void prtTicket();
void prtFooter(); };
Footer::Footer(Component *myC):{{U}} (3) {{/U}}{}
void Footer::prtFooter() {
cout<<"Footer"<<endl; } void
Footer::prtTicket() { {{U}} (4)
{{/U}}; prtFooter(); }
class SalesOrder{ public: void
prtTicket(); }; void SalesOrder::prtTicket()
{ Component *myST;
myST=new Footer({{U}} (5) {{/U}});
myST->prtTicket(); }
填空题阅读以下说明和C++代码,[说明]现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DP1还是DP2。为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图6-1显示了各个类间的关系。[图6-1]这样,系统始终只处理3个对象:Shape对象、Drawingg对象、DP1或DP2对象。以下是C++语言实现,能够正确编译通过。[C++代码]classDP1public:staticvoiddraw_a_line(doublex1,doubley1,doublex2,doubley2)//省略具体实现;classDP2public:staticvoiddrawline(doublex1,doublex2,doubley1,doubley2)//省略具体实现;classDrawingpublic:(1)voiddrawLine(doublex1,doubley1,doublex2,doubley2)=0;;classV1Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)DP1::draw_a_line(x1,y1,x2,y2);;classV2Drawing:publicDrawingpublic:voiddrawLine(doublex1,doubley1,doublex2,doubley2)(2);classShapeprivatc:(3)dp;public:Shape(Drawing*dp);virtualvoiddraw()=0;voiddrawLine(doublex1,doubley1,doublex2,doubley2);;Shape::Shape(Drawing*dp)_dp=dp;voidShape::drawLine(doublex1,doubley1,doublex2,doubley2)//画一条直线(4);classRectangle:publicShapeprivatc:double_x1,_y1,_x2,_y2;public:Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2);voiddraw();;Rectangle::Rectangle(Drawing*dp,doublex1,doubley1,doublex2,doubley2):(5)_x1=x1;_y1=yl;_x2=x2;_y2=y2;voidRectangle::draw()//省略具体实现
填空题
阅读以下函数说明和Java代码, [说明]
现要编写一个画矩形的程序,目前有两个画图程序:DP1和DP2,DP1用函数draw_a_line(x1,y1,x2,y2)画一条直线,DP2则用drawline(x1,x2,y1,y2)画一条直线。当实例化矩形时,确定使用DPI还是DP2。
为了适应变化,包括“不同类型的形状”和“不同类型的画图程序”,将抽象部分与实现部分分离,使它们可以独立地变化。这里,“抽象部分”对应“形状”,“实现部分”对应“画图”,与一般的接口(抽象方法)与具体实现不同。这种应用称为Bridge(桥接)模式。图7-1显示了各个类间的关系。
[图7-1]
这样,系统始终只处理3个对象:Shape对象、Drawing对象、DP1或DP2对象。以下是JAvA语言实现,能够正确编译通过。
[Java代码] //DP1.Java文件 public
class DPI{ static public void draw_a_line(double x1,double y1,
double x2,double y2){ //省略具体实现
} } //DP2.java文件 public
class DP2{ static public void drawline(double x1,double y1,
double x2,double y2){ //省略具体实现
} } //Drawing.java文件
{{U}} (1) {{/U}}public class Drawing{ abstract
public void drawLine(double x1,double y1,double x2,double y2);
} //V1Drawing.java文件 public class
V1Drawing extends Drawing{ public void drawLine(double
x1,double y1,double x2,double y2){
DP1.draw_a_line(x1,y1,x2,y2); } }
//V2Drawing.java文件 public class V2Drawing
extends Drawing{ public void drawLine(double x1,double y1,
double x2,double y2){//画一条直线 {{U}} (2)
{{/U}}; } }
//Shape.java文件 abstract public class Shape{
abstract public void draw(); private{{U}} (3)
{{/U}}dp; Shape(Drawing dp){ _dp=dp;
} protected void drawLine(double x1,double y1,
double x2,double y2){ {{U}} (4)
{{/U}}; } }
//Rectangle.java文件 public class Rectangle extends Shape{
private double_x1,_x2,_y1,_y2; public
Rectangle(Drawing dp, double x1,double y1,
double x2,double y2){ {{U}}(5) {{/U}};
_x1=x1;_x2=x2; _y1=y1;_y2=y2; }
public void draw(){ //省略具体实现
} }
填空题[说明]某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图6-1所示。其中,Duck为抽象类,描述了抽象的鸭子,而类RubberDuck、MallardDuck、CottonDuck和RedHeadDuck分别描述具体的鸭子种类,方法fly()、quack()和display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口FlyBehavior与QuackBehavior分别用于表示抽象的飞行行为与发声行为;类FlyNoWay与FlyWithWings分别描述不能飞行的行为和用翅膀飞行的行为;类Quack、Squeak与QuackNoWay分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。[Java代码](1)FlyBehaViorpublicvoidfly(););(2)QuackBehaviorpublicvoidquack();;ClassFlyWithWingsimplementsFlyBehaviorpublicvoidfly()System.out.println("使用翅膀飞行!");;ClassFlyNoWayimplementsFlyBehaViorpublicvoidfly()System.out.printin("不能飞行!");;ClassQuackimplementsQuackBehaviorpubiicvoidquack()System>out>println("发出\'嘎嘎'\声!");;classSqueakimplementsQuackBehaviorpublicvoidquack()System.out.println("发出空气与橡皮摩擦声!");;ClassQuackNoWayimplementsQuackBehaviorpublicvoidquack()(System.out.println("不能发声!');;AbstractclassDuckprotectedFlyBehavior(3);protectedQuackBehaVior(4);publicvoidfly()(5);;publicvoidquack()(6);;public(7)voiddisplay();;classRubberDuckextendsDuckpublicRubberDuck()flyBehavior=new(8);quackBehavior=new(9);publicvoiddisplay()/*此处省略显示橡皮鸭的代码*/;//其他代码省略
填空题[说明] 从键盘输入一个字符ch,输出该字符在文本文件input.txt 的每一行中出现的次数。(必须调用函数鳋统计ch的出现次数,函数ff (str,ch)的功能是统计并返回字符ch在字符串str 中出现的次数。)。
例如:如果文件input. txt 中存放了下列数据:
every
121
I am a student
运行程序,并输入e后,输出:
2
0
1
int ff( char * str, char ch)
{ int count =0;
while ({{U}} (1) {{/U}}) {
if( *str= =ch) count++;
str ++;
}
return count;
}
# include < stdio. h >
# include < stdlib. h >
void main( )
{ char ch, c, s [80];
int k;
FILE *fp;
if({{U}} (2) {{/U}}){
printf( “打不开文件!n”); return;
}
ch = getchar( );
k=0;
while( ! feof(fp) ) {
c = fgete(fp);
if{{U}} (3) {{/U}}
s[k++ ] =c;
else {
s[k]= ";
printf ( "%dn" ,ff(s, ch) );
k=0;
}
}
{{U}} (4) {{/U}}
printf( "% dn", ff( s, ch ) );
}
填空题[问题4] 用SQL语言写出操作:把数学系全体学生的成绩置零。
填空题[说明] 编写一个函数根据用户输入的偶对(以输入。表示结束)建立其有向图的邻接表。一个图的邻接表存储结构定义如下: # include < stdio. h > # define MAXVEX 30 struct edgenode int adjvex; char info; struct edgenode * next; struct vexnode char data; struct edgenode * link; typedef struct vexnode adjlist [MAXVEX]; 实现要求的函数如下: void creatadjlist ( adjlist g) int i, j, k; street vexnode * s; for( k=1; k< =n; k+ +) (1) g [k]. link = NULL; printf ( “输一个对:” ); scanf ("%d, %d", while (2) (3) s- >adjvex =j; (4) g [i].link =s; (5)
填空题[问题2] 假设上述关系模式RS上存在函数依赖:A1→A3。上述关系模式RS最高满足第几范式(在1NF~BCNF 之内)?为什么?
填空题发生缺页时,通常需要进行页面置换,页面置换算法的优劣将会影响虚拟存储系统的性能。常用的页面置换算法有理想页面置换算法(OPT:Optimal)、先进先出页面置换算法(FIFO:First-In First-Out)以及最近最少使用页面置换算法(LRU:Least Recently Used)。 某程序在内存中分配3页,初始为空,页面走向为4、3、2、1、4、3、5、4、3、2、1、5。给出采用先进先出(FIFO)、最近最少使用(LRU)和理想(OPT)页面置换算法所得到的内存中的页面变化序列。 注:缺页标记栏,用○表示没有缺页,用×表示发生了缺页。 OPT 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记 FIFO 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记 LRU 4 3 2 1 4 3 5 4 3 2 1 5 页1 页2 页3 缺页标记
填空题[说明] 编写一个学生类Student,要求: (1) 学生类Student 属性有: id: long 型,代表学号 name: String类对象,代表姓名 age: int 型,代表年龄 sex: boolen 型,代表性别(其中:true 表示男,false 表示女) phone: String 类对象,代表联系电话 (2) 学生类Student 的方法有: Student (long i,String n,int a,boolean s,String p) :有参构造函数,形参表中的参数分别初始化学号、姓名、 年龄、性别和联系电话。 int getAge ():获取年龄作为方法的返回值。 boolean getSex ():获取性别作为方法的返回值。 String getPhone ():获取联系电话作为方法的返回值。 public String to String ():以姓名:性别:学号:联系电话的形式作为方法的返 import java. applet. Applet; import java. awt.* ; public class Student extends Applet long id; String name, phone; int age; boolean sex; Student(long i, String n, int a, boolean s, String p) id=i; name = n; age = a; sex= s; phone = p; public void paint( Graphics g) Student x= new Student (5000," xiaoliu" , 89, true, " 8989898" ); (1) ; (2) g. drawstring( x. getPhone( ), 140,140); int getAge( ) return age; boolean getsex ( ) return sex; String getPhone( ) return phone; String ToString( ) (3)
填空题[说明] 编写一个完整的JavaApplet 程序使用复数类Complex 验证两个复数1+2i 和3+4i 相加产生一个新的复数4+6i。
复数类Complex 必须满足如下要求:
(1) 复数类Complex 的属性有:
RealPart: int 型,代表复数的实数部分
ImaginPart: int 型,代表复数的虚数部分
(2) 复数类Complex 的方法有:
Complex():构造函数,将复数的实部和虚部都置0
Complex (intr,inti):构造函数,形参r为实部的初值,i为虚部的初值。
ComplexeomplexAdd (Complexa):将当前复数对象与形参复数对象相加,所得的结果仍是一个复数值,返回给此方法的调用者
String ToString():把当前复数对象的实部、虚部组合成s+ bi 的字符串形式,其中a和b分别为实部和虚部的数据。
importjava. applet. * ;
importjava. awt. * ;
publicclassabcextends Applet
{
Complex a, b, c;
publi cvoid init( )
{
a = newComplex(1,2);
b = newComplex(3,4);
c = newComplex();
}
publievoidpaint (Graphicsg)
{
{{U}} (1) {{/U}}
g. drawstring( “第一个复数:” + a. toString(), 10,50);
g. drawstring( “第二个复数:” + b. toString( ), 10,70 );
g. drawstring( “两复之和:” + c. toString( ), 10,90);
}
}
class Complex
{
int RealPart;
int ImaginPart;
Complex( ) {{{U}} (2) {{/U}}}
Complex( intr , inti)
{{{U}} (3) {{/U}}}
ComplexeomplexAdd (Complexa)
{
Complextemp = newComplex( );
temp. BealPart = RealPart + a. BealPart;
{{U}}(4) {{/U}}
returntemp;
}
public StringtoString( )
{ return( RealPart + " + " + ImaginPart + " i "); }
}
